我可以向通过 MQTT WebSocket 连接的一组 Azure IoT 中心设备发送消息吗?
Can I send a message to a group of Azure IoT Hub Devices connected via MQTT WebSocket?
目标: 将消息发送到一组通过 MQTT WebSocket 连接的 Azure IoT 中心设备。
初步想法:让一组 IoT 中心设备(组 X)订阅主题为 X 的消息。
问题:
在 Communicate with your IoT hub using the MQTT protocol 文档中,我没有找到让设备订阅其他主题的方法。我只看到订阅 设备特定端点 devices/{device_id}/messages/devicebound/#
.
的示例
页面继续说"IoT Hub is not a general purpose pub-sub messaging broker, it only supports the documented topic names and topic filters."我认为那些主题是
devices/{device_id}/messages/devicebound/
devices/{device_id}/messages/devicebound/#
我的结论:我不能让一组 IoT 中心设备(组 X)订阅主题为 X 的消息。
问题:
- 我的结论正确吗?
- 如果我的结论是正确的,是否有其他方法可以将消息发送到一组通过 MQTT WebSocket 连接的 Azure IoT 中心设备?
你的结论是正确的。 Azure IoT Hub 本身不是 MQTT 代理。
如果要向连接到 Azure IoT 中心的一组设备发送消息(独立于它们所连接的协议),则需要查看 IoT 中心的 Cloud 2 Device features 之一。
根据您的情况,您可以使用以下其中一项:Cloud 2 设备消息、孪生或方法。 IoT 中心在后端公开 API(可轻松与服务客户端 SDK 一起使用),允许使用其中任何一个。
C2D 消息用于将原始数据发送到设备,这意味着您可以在云和设备之间实现自己的 "protocol"。 C2D 消息也在云中持久存在,因为如果设备未连接,IoT 中心将保留它们(在设置中定义的特定时间)。
Device Twins 允许将设备的配置与云同步,并允许对设备进行批量操作(您肯定想仔细研究一下)。
Device Direct Methods 允许从云端调用设备上的函数 运行,并且像 Twins 一样支持批处理操作。
目标: 将消息发送到一组通过 MQTT WebSocket 连接的 Azure IoT 中心设备。
初步想法:让一组 IoT 中心设备(组 X)订阅主题为 X 的消息。
问题:
在 Communicate with your IoT hub using the MQTT protocol 文档中,我没有找到让设备订阅其他主题的方法。我只看到订阅 设备特定端点 devices/{device_id}/messages/devicebound/#
.
页面继续说"IoT Hub is not a general purpose pub-sub messaging broker, it only supports the documented topic names and topic filters."我认为那些主题是
devices/{device_id}/messages/devicebound/
devices/{device_id}/messages/devicebound/#
我的结论:我不能让一组 IoT 中心设备(组 X)订阅主题为 X 的消息。
问题:
- 我的结论正确吗?
- 如果我的结论是正确的,是否有其他方法可以将消息发送到一组通过 MQTT WebSocket 连接的 Azure IoT 中心设备?
你的结论是正确的。 Azure IoT Hub 本身不是 MQTT 代理。 如果要向连接到 Azure IoT 中心的一组设备发送消息(独立于它们所连接的协议),则需要查看 IoT 中心的 Cloud 2 Device features 之一。 根据您的情况,您可以使用以下其中一项:Cloud 2 设备消息、孪生或方法。 IoT 中心在后端公开 API(可轻松与服务客户端 SDK 一起使用),允许使用其中任何一个。
C2D 消息用于将原始数据发送到设备,这意味着您可以在云和设备之间实现自己的 "protocol"。 C2D 消息也在云中持久存在,因为如果设备未连接,IoT 中心将保留它们(在设置中定义的特定时间)。
Device Twins 允许将设备的配置与云同步,并允许对设备进行批量操作(您肯定想仔细研究一下)。
Device Direct Methods 允许从云端调用设备上的函数 运行,并且像 Twins 一样支持批处理操作。