2017-04-20 26 views
1

目標:將消息發送到通過MQTT WebSocket連接的一組Azure IoT Hub設備。我可以向通過MQTT WebSocket連接的一組Azure IoT Hub設備發送消息嗎?

初步設想:擁有一批物聯網集線器設備(X組)的訂閱信息與話題X.

問題:

Communicate with your IoT hub using the MQTT protocol文檔,我沒有看到方式訂閱設備到其他主題。我只看到訂購設備特定端點devices/{device_id}/messages/devicebound/#的示例。

頁面上繼續說「IoT Hub不是通用的pub-sub消息代理,它只支持記錄的主題名稱和主題篩選器」。我認爲,這些議題都是

  • devices/{device_id}/messages/devicebound/
  • devices/{device_id}/messages/devicebound/#

我的結論:我不能有一批物聯網集線器設備(X組)的訂閱與主題X消息。

問題:

  1. 我的結論是否正確?
  2. 如果我的結論是正確的,是否有另一種方式可以將消息發送到通過MQTT WebSocket連接的一組Azure IoT Hub設備?

回答

1

您的結論是正確的。 Azure IoT Hub本身不是MQTT經紀人。 如果要將消息發送到連接到Azure IoT Hub的一組設備(與連接的協議無關),則需要查看物聯網集線器的其中一個Cloud 2 Device features。 根據您的方案,您可以使用以下方法之一:雲2設備消息,雙胞胎或方法。 IoT Hub在後端提供API(可與服務客戶端SDK一起使用),允許使用任何這些API。

C2D消息用於將原始數據發送到設備,這意味着您可以在雲和設備之間實現自己的「協議」。如果設備未連接,則物聯網集線器將保留它們(在設置中定義的特定時間),因此C2D消息也在雲中保留。

Device Twins允許將設備的配置與Cloud同步,並允許在設備上進行批處理操作(當然您希望仔細觀察一下)。

設備直接方法允許從雲端調用在設備上運行的函數,並且像Twins支持批處理操作。

+0

有沒有計劃讓Azure IoT Hub成爲通用MQTT pub-sub消息代理?我們在AWS中擁有完全無服務器的體系結構(使用AWS IoT Gateway作爲MQTT代理),並且我們試圖在Azure中進行復制。 – mrh042

相關問題