我正在尝试创建一个身份转换网关,如此处所述。
我还阅读了很多关于他们的 IoT 解决方案的 Microsoft 文档。
我有 :
- 叶设备 (A) 通过自定义协议连接到我的网关,而不直接连接到集线器。
- 网关设备 (B) 充当连接到 A 和 IoT 中心的 IoT Edge 设备。
- 我的物联网中心。
据我所理解:
- 我的 IoT Edge 必须以这种方式在 IoT 集线器上注册每个设备,每个 A 设备都将在我的集线器上表示,我们将能够直接通过其 ID 发送消息。
- 我可以通过路由 /devices/{deviceId}/messages 在网关上发送消息并收听它们
例如,假设我有:
- 具有 ID 的 IoTEdge 设备:“Edge1”
- 具有 ID 的 IoTEdge 设备:“Edge2”
- 具有 ID 的设备:“DeviceA”连接到“Edge1”
- 具有 ID 的设备:“DeviceB”连接到“Edge2”
由于集线器和叶设备之间没有连接,我不明白的是,当我使用“ /devices/DeviceA/messages ”向“DeviceA”发送消息时,集线器将知道哪个网关地址以及如何从我的网关听。简而言之,进行(非)多路复用过程
- 有没有办法使用我看不到的 IoT Hub 自动处理它?连接字符串中的 GatewayHostName 可以解决问题吗?
- 我必须手动处理它,而是将我的所有消息发送到我的网关 ID(即设备/Edge1/消息)并在我的消息正文中发送最终的目标设备 ID 吗?如果是,我不明白在 Hub 上注册每个设备的好处
- 我必须在网关内监听每个连接的设备路由(即 Edge1 的 /devices/DeviceA/messages)吗?
谢谢你的帮助。