您可以找到 MQTTSubscribe 和 MQTTPublish 节点处理 MQTT 消息时所使用的值。 您也可以使用本地环境中的字段来动态更改 MQTTPublish 节点的行为。
LocalEnvironment 字段
使用
MQTTSubscribe 节点时,它会将您可以访问的信息存储在 LocalEnvironment.MQTT.Input 消息树中。 下表描述了此结构中的字段。
表 1. LocalEnvironment.MQTT.Input 子树中的元素列表
| 元素名 |
元素数据类型 |
描述 |
| Duplicate |
BOOLEAN |
此消息是否与先前消息重复。 设置为TRUE或FALSE. |
| Retained |
BOOLEAN |
此消息是否为保留的消息。 设置为TRUE或FALSE. "保留" 设置为TRUE如果该消息由服务器保留,并且现在在客户机第一次连接到服务器时正在发送。 |
| 主题 |
字符 |
这是将所接收消息发布到的 MQTT 主题的名称。 |
| QualityOfService |
INTEGER |
这是已接收到的消息的服务质量。 设置为0(最多一次) ,1(至少一次) ,或2(正好一次)。 |
此结构将使用写入
MQTTSubscribe 节点的 Out 终端的每条消息进行填充。
LocalEnvironment.Destination 字段
使用
MQTTPublish 节点时,可以使用 LocalEnvironment.Destination.MQTT.Output 消息树中的元素来覆盖某些属性。 下表描述了此结构中的字段。
表 2. LocalEnvironment.Destination.MQTT.Output 子树中的元素列表
| 元素名 |
元素数据类型 |
描述 |
| 已保留 |
BOOLEAN |
此消息是否为保留的消息。 设置为TRUE或FALSE缺省值为FALSE. 设置为TRUE如果某个主题的消息在传递到所有当前连接的客户机后必须由 MQTT 服务器保存,然后在新客户机连接到该主题时传递到新客户机。 为主题保留的每条消息将替换为该主题保留的先前消息。 这样,设备在连接到主题时将立即接收到保留的最新消息。 |
| TopicName |
字符 |
这是消息将发布到的 MQTT 主题的名称。 |
| qos |
INTEGER |
这是所发布的消息的服务质量。 设置为0(最多一次) ,1(至少一次) ,或2(正好一次)。 |
| connectionUrl |
字符 |
用于连接到 MQTT 服务器的 URL。 URL 包含协议、主机名和端口。 例如:tcp://myMQTTserver.com:1883 或者,如果连接已加密,该 URL 为:ssl://myMQTTserver.com:8883 如果已设置,那么 connectionUrl 属性的值优先于以下 MQTT 消息流节点属性的值:
|
LocalEnvironment.WrittenDestination 字段
使用
MQTTPublish 节点时,它会将您可以访问的信息存储在 LocalEnvironment.WrittenDestination.MQTT 消息树中。 下表描述了此结构中的字段。
表 3. LocalEnvironment.WrittenDestination.MQTT 子树中的元素列表
| 元素名 |
元素数据类型 |
描述 |
| ClientId |
字符 |
这是客户机的唯一名称。 |
| DeliveryToken.isComplete |
BOOLEAN |
指示消息是否已成功发布到 MQTT 主题。 设置为TRUE或FALSE. |
此结构将使用写入
MQTTPublish 节点的 Out 终端的每条消息进行填充。