0

我有以下设置:

  • 多个 modbus 传感器
  • 1 网关通过 ModbusTCP 连接到这些传感器。在这个网关上,一个 Azure IoT Edge 模块正在运行(使用 NodeJS SDK),它读取每个连接的传感器的所有值
  • 用于设备管理的 Azure IoT Central

在 IoT Central 中,我想用一个单独的设备模板来表示每个 modbus 传感器。这样,我可以为每个传感器配置唯一的仪表板。然后应将这些传感器设备模板配置为网关设备模板的子设备。因此,网关需要一个设备模板,每个 modbus 传感器需要一个唯一的设备模板。这样,我可以为多个网关配置不同的传感器设置,而无需为每个网关创建新的设备模板(我只需要为每个网关配置不同数量的子设备)。

然后,在网关上运行的 Azure IoT Edge modbus 模块应从每个连接的传感器读取所有值,并将它们以传感器的名称发送到 IoT Central 实例,因此看起来传感器已发送此消息。但是,我不确定如何在我的 Azure IoT Edge 模块中实现此行为。

该文档指出可以实现此行为(IoT Edge 网关设备连接到具有 IoT Edge 网关提供的身份的下游设备),但是我找不到任何有关如何实现此行为的文档。我希望有人能帮帮忙。

4

1 回答 1

1

简短的回答是:Azure IoT 堆栈中没有支持该方案的本机支持。您链接到的文档已经讨论了一段时间,并且已经创建了一个功能请求。这并不意味着它是不可能的,但它涉及一些你的用例可能无法接受的变通方法。

向传感器提供身份的一种方法是为 IoT Central 中的每个传感器创建一个设备,并将它们的连接信息传递给您需要构建的模块的模块孪生。该模块将接收传感器值,确定要使用的连接信息并将遥测数据直接发送到 IoT Central(因此不通过边缘运行时)。

更新:微软创建了一个示例模块,展示了如何提供身份转换的基本实现。除此之外,运行时还没有原生支持。

于 2020-07-02T06:44:26.383 回答