在Azure物联网中心中使用移动应用程序进行物联网通信

我要实现以下系统。

有用户,每个用户都有一个IoT设备。用户应该能够执行以下操作:

  1. 使用他们的电子邮件和密码登录。

  2. 实时控制IoT设备(用户将在IoT设备上执行一些操作,结果将立即显示在应用程序上。)

  3. 实时查看IoT设备的状态。如果物联网设备发生某些变化,它应该实时反映在应用程序上。

我想知道使用azure IoT中心是否可行。我遇到了一种架构,其中设备连接到IoT中心,应用程序连接到signalR。来自IoT设备的消息将转到IoT中心,后者将使用signalR更新该应用程序。

但是有什么办法我们不能拥有信号R之类的附加组件吗? IoT设备和移动应用程序能否直接连接到Azure IoT中心并在它们之间交换数据,而无需在IoT中心之外的其他实体之间?

将移动应用程序连接到IoT中心似乎是一种选择,但是我找不到任何方法来实现基于电子邮件和密码的身份验证以允许用户连接到IoT中心。

在这方面的任何帮助都将受到赞赏。

rlh834844153 回答:在Azure物联网中心中使用移动应用程序进行物联网通信

您绝对可以不用SignalR。您可以使用IoT Hub Service SDK将C2D消息从手机发送到您的设备,也可以使用相同的SDK收听设备遥测。

但是,对可以使用该SDK进行的操作设置一些限制可能是一个更好的主意。如果用户首先必须登录,我认为他们无法访问应用程序中的每台设备?使用某种基于角色的访问可能更可取,您可以为此构建一个API,然后使用Service SDK为您提供数据。

此外,即使您可以直接从手机上收听设备数据,这也意味着如果您的接收/ WiFi状况较差,则可能无法接收数据。您可能要考虑将其存储在某个地方?我不知道有关您的应用程序的详细信息,但是如果您想监听来自该存储的事件并将其发送到您的应用程序,那么SignalR可能不是最糟糕的主意。

,

“实时查看IoT设备的状态。如果IoT设备发生更改,则应实时反映在应用程序上。”

对于此EventGrid集成(https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-event-grid)将有所帮助。 Matthijs表示,对于实时遥测,SignalR是一个更好的选择。如果您稍有延迟(例如10秒),那么还可以使用Azure时间序列见解。

本文链接:https://www.f2er.com/3139995.html

大家都在问