Я пытаюсь создать шлюз преобразования идентификационной информации, как описано в здесь.
Я также прочитал много документации Microsoft об их решении IoT.
У меня есть :
- листовые устройства (A), подключенные к моему шлюзу по настраиваемому протоколу без прямого подключения к концентратору.
- шлюзовые устройства (B), действующие как устройство IoT Edge, подключенные к A и к IoT Hub.
- Мой Центр Интернета вещей.
Насколько я понимаю:
- мой IoT Edge должен зарегистрировать каждое устройство в Центре Интернета вещей, таким образом, каждое устройство A будет представлено в моем концентраторе, и мы сможем отправлять сообщения напрямую через его идентификатор.
- Я могу отправлять сообщения и прослушивать их на своем шлюзе через маршрут / устройства / {deviceId} / messages
Для примера скажем, что у меня есть:
- устройство IoTEdge с идентификатором: Edge1
- устройство IoTEdge с идентификатором: Edge2
- устройство с идентификатором: DeviceA, подключенное к Edge1
- устройство с идентификатором: DeviceB, подключенное к Edge2
То, что я не понимаю, поскольку нет связи между концентратором и конечными устройствами, заключается в том, как, когда я отправлю сообщение на DeviceA с помощью / devices / DeviceA / messages, концентратор будет знать, какой адрес шлюза и как слушать это из моего шлюза. Короче говоря, выполнение (раз) мультиплексирования
- Есть ли способ справиться с этим автоматически с помощью Центра Интернета вещей, которого я не вижу? GatewayHostName внутри строки подключения помогает?
- Должен ли я обрабатывать это вручную, отправляя вместо этого все мои сообщения на свой идентификатор шлюза (например, на устройства / Edge1 / messages) и отправляя окончательный идентификатор целевого устройства в теле моего сообщения? Если да, я не понимаю преимущества регистрации каждого устройства в HuB.
- Должен ли я прослушивать маршрут каждого подключенного устройства внутри моего шлюза (например, / devices / DeviceA / messages для Edge1)?
Спасибо за помощь.