【问题标题】:Azure topic and sending message over MQTTAzure 主题和通过 MQTT 发送消息
【发布时间】:2018-06-29 15:00:41
【问题描述】:

是否可以通过 mqtt 将消息发送到 azure 到任何自定义主题。到目前为止,我发现的所有示例都适用于标准主题

'devices/' + hubName + '/messages/events/'
'devices/' + hubName + '/messages/devicebound/#'

顺便说一句,我尝试使用 MQTT.fx 应用程序发送/订阅上述主题/订阅,但从未收到消息,尽管连接成功。

【问题讨论】:

  • “从未收到消息”是什么意思?是说后端收不到MQTT.fx(Device-To-Cloud)发来的消息,还是MQTT.fx收不到service(Cloud-To-Device)发来的消息?
  • MQTT.fx 在 devices/mydevice/messages/devicebound/# 上订阅,从未收到从 MQTT.fx 发送到 devices/mydevice/messages/events/ 的消息(我使用应用程序作为发送方和接收方)。连接建立(绿灯亮)

标签: azure mqtt azure-iot-hub azure-servicebus-topics


【解决方案1】:

devices/{device_id}/messages/devicebound/# 的主题过滤器是订阅从 IoT Hub 接收消息(云到设备消息),它认为您需要了解设备到云消息和云到设备消息的区别heredevices/{device_id}/messages/events/ 的主题是从设备发送设备到云端的消息。

您可以使用Device Explorer 来测试这个问题。当您使用该工具向设备发送消息时,MQTT.fx 将收到该消息。

【讨论】:

  • 感谢您对 MQTT.fx 的澄清。昨天我能够从 Python 源代码(使用 paho.mqtt)向 devices/{device_id}/messages/events/ 发送消息。作为参考,我使用了来自github.com/gloveboxes/Azure-IoT-Hub-with-Python-and-MQTT/blob/… 的代码。现在我需要发布到自定义主题。我已经创建了端点,分配给主题和端点的路由。但我无法发布。我应该使用哪个网址?谢谢!
  • @amplifier,IoT Hub 不是通用的发布-订阅消息代理,它仅支持文档化的主题名称和主题过滤器,不支持自定义主题。更多信息请查看document
  • 最后我使用了路由。请看这里stackoverflow.com/questions/51160000/…
  • @amplifier,我看过你提到的线程。在此线程中,topicName 不是 IoT 中心的自定义主题过滤器,$.ct=application%2Fjson&$.ce=utf-8 只是参数。我很困惑与custom topic 的关系以及将消息路由到上述评论中的端点?
  • @amplifier,除了上面的评论。在某种程度上,您可以将带有设备 id 的主题名称作为自定义主题引用。但实际上,mqtt broker的自定义topic是不同的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-05
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多