【发布时间】:2018-02-26 11:52:51
【问题描述】:
我已经有一个 cumulocity 客户端通过 MQTT 与 cumulocity 代理进行通信。
我应该怎么做才能将数据从cumulocity 损坏的 MQTT 发送回mqtt 客户端? (假设客户端发送了一些数据,我想要确认数据发送成功)
由于某种原因,在仅供客户使用的 cumulocity 文档中找不到任何相关信息。
【问题讨论】:
标签: mqtt cumulocity
我已经有一个 cumulocity 客户端通过 MQTT 与 cumulocity 代理进行通信。
我应该怎么做才能将数据从cumulocity 损坏的 MQTT 发送回mqtt 客户端? (假设客户端发送了一些数据,我想要确认数据发送成功)
由于某种原因,在仅供客户使用的 cumulocity 文档中找不到任何相关信息。
【问题讨论】:
标签: mqtt cumulocity
如果您想从服务器获取数据的确认,您应该使用正常的 MQTT QoS。 http://cumulocity.com/guides/mqtt/implementation/
如果您想将数据从平台发送到您的设备,那么您正在寻找的就是客户端操作。这是目前您可以在 Cumulocity MQTT 上订阅的唯一数据。 http://cumulocity.com/guides/concepts/domain-model/#operations
您可以查看 python 示例。它包含订阅部分 http://cumulocity.com/guides/mqtt/hello-mqtt-python/
【讨论】:
您应该连接到具有 Qos 1 或更高版本的代理。这将保证数据已至少一次到达代理。一旦发生这种情况,客户端将收到 PUBACK 消息。如果连接丢失,则客户端应该重新发送设置了重复标志的 PUBLISH 消息。所以当收到 PUBACK 时,cient 应该停止发布。
有关 Qos 的更多信息,请参阅此链接 HiveMQ/blog/mqtt-essentials/QualityOfService
【讨论】: