【问题标题】:MQTT broker communication to MQTT ClientMQTT 代理与 MQTT 客户端的通信
【发布时间】:2018-02-26 11:52:51
【问题描述】:

我已经有一个 cumulocity 客户端通过 MQTT 与 cumulocity 代理进行通信。

我应该怎么做才能将数据从cumulocity 损坏的 MQTT 发送回mqtt 客户端? (假设客户端发送了一些数据,我想要确认数据发送成功)

由于某种原因,在仅供客户使用的 cumulocity 文档中找不到任何相关信息。

【问题讨论】:

    标签: mqtt cumulocity


    【解决方案1】:

    如果您想从服务器获取数据的确认,您应该使用正常的 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/

    【讨论】:

      【解决方案2】:

      您应该连接到具有 Qos 1 或更高版本的代理。这将保证数据已至少一次到达代理。一旦发生这种情况,客户端将收到 PUBACK 消息。如果连接丢失,则客户端应该重新发送设置了重复标志的 PUBLISH 消息。所以当收到 PUBACK 时,cient 应该停止发布。

      有关 Qos 的更多信息,请参阅此链接 HiveMQ/blog/mqtt-essentials/QualityOfService

      【讨论】: