簡體   English   中英

azure 物聯網集線器中的移動應用程序到物聯網通信

[英]Mobile app to iot communication in azure iot hub

我想實現以下系統。

有用戶,每個用戶都有一個物聯網設備。 用戶應該能夠執行以下操作:

  1. 使用他們的 email 和密碼登錄。

  2. 實時控制物聯網設備(用戶在物聯網設備上進行一些操作,結果會立即顯示在應用程序上)。

  3. 實時查看物聯網設備的state。 如果物聯網設備發生變化,它應該實時反映在應用程序上。

我想知道使用 azure IoT Hub 是否可行。 我遇到了一個架構,其中設備連接到 IoT 中心,而應用程序連接到 signalR。 來自 IoT 設備的消息將 go 發送到 IoT Hub,IoT Hub 將使用 signalR 更新應用程序。

但是有什么辦法我們不能擁有像 signalR 這樣的附加組件? 物聯網設備和移動應用程序是否可以直接連接到 azure 物聯網集線器並在它們之間交換數據,而不需要物聯網集線器以外的實體?

將移動應用程序連接到 IoT 中心似乎是一種選擇,但我沒有找到任何方法來實現 email 和基於密碼的身份驗證以允許用戶連接到 IoT 中心。

感謝您在這方面的任何幫助。

你絕對可以在沒有 SignalR 的情況下使用 go。 您可以使用IoT 中心服務 SDK從手機向您的設備發送 C2D 消息,還可以使用相同的 SDK 收聽設備遙測。

但是,最好對 SDK 的功能進行一些限制。 如果用戶首先必須登錄,我認為他們無法訪問您應用程序中的每個設備? 使用某種基於角色的訪問可能更可取,您將為此構建一個 API,然后使用服務 SDK 為您提供數據。

此外,即使您可以直接從手機收聽設備數據,這意味着如果您的接收/wifi 信號不佳,則可能無法接收到數據。 您可能要考慮將其存儲在某個地方? 我不知道有關您的應用程序的詳細信息,但是如果您想監聽該存儲中的事件並將其發送到您的應用程序...... SignalR 可能不是最糟糕的主意。

“實時查看物聯網設備的 state。如果物聯網設備發生變化,它應該實時反映在應用程序上。”

對於此 EventGrid 集成 ( https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-event-grid ) 將有所幫助。 對於實時遙測,正如 Matthijs 所說,SignalR 將是一個更好的選擇。如果您對一些延遲(比如 10 秒)沒問題,那么 Azure 時間序列見解也可以使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM