Azure IOT边缘身份转换网关:了解

时间:2018-02-14 11:28:48

标签: iot azure-iot-hub azure-iot-edge

我试图按here

中所述创建身份转换网关

我还阅读了很多有关其物联网解决方案的Microsoft文档。

我有:

  1. 叶子设备(A)通过自定义协议连接到我的网关,而不直接连接到集线器。
  2. 网关设备(B)充当连接到A和A的IoT Edge设备 物联网中心。
  3. 我的物联网中心。
  4. 据我所知:

    • 我的IoT Edge必须以这种方式在IoT Hub上注册每个设备 设备将在我的集线器上显示,我们将能够发送 消息直接通过其ID。
    • 我可以通过路线发送信息并在我的网关上收听 /设备/ {DEVICEID} /消息

    对于这个例子,让我们说:

    • 具有Id的IoTEdge设备:" Edge1"
    • 具有Id的IoTEdge设备:" Edge2"
    • 具有Id的设备:" DeviceA"连接到" Edge1"
    • 具有Id的设备:" DeviceB"连接到" Edge2"

    我不明白,因为集线器和叶子设备之间没有连接,当我向DeviceA"发送消息时,该怎么办?使用" / devices / DeviceA / messages ",集线器将知道哪个网关地址以及如何从我的网关收听它。完成(un)多路复用过程,简而言之

    • 有没有办法通过IoT Hub自动处理它,我不明白?连接字符串中的GatewayHostName可以解决这个问题吗?
    • 我必须手动处理它,将我的所有消息发送到我的网关ID(即设备/ Edge1 /消息)并在我的消息体内发送最终目标设备ID吗?如果是,我不了解在HuB上注册每个设备的好处
    • 我必须收听网关内的每个连接设备路由(即 / devices / DeviceA / Edge1的消息)?

    感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

根据我对您的方案的理解,您尝试将消息从云端发送到Edge设备上运行的模块,然后让模块将消息发送到下游设备。 Edge设备和模块不支持C2D(云到设备)消息。您可以在以下包https://www.nuget.org/packages/Microsoft.Azure.Devices/1.16.0-preview-001中使用ServiceClient提供的C2D方法,并在模块上调用方法。然后,模块可以将相关数据传递给下游设备。