0

我正在使用 Node-Red 从 SCADA 系统获取 MQTT 数据。通过订阅外部 MQTT 代理上的主题来摄取数据,它包含来自特定资产的遥测和错误/事件。

我想使用 IoT Central 中的规则配置引擎来设置遥测和事件数据的触发器。IoT Central 目前的一个明显缺点是,每个事件都必须手动添加,这对于具有 300 多个事件的资产来说是乏味的。

在 Node-Red 中,我对传入数据进行了大量的数据转换,然后再将其发送。我将其发送到 Azure 订阅中的“普通”物联网中心也没有问题。

在阅读 oT Central 时,我确实找到了一种方法,可以在 Windows 上使用 dps-keygen 为创建的真实设备使用三个特定字段,以创建在 Node-Red 的 Azure IoT Hub 节点中工作的扩展连接字符串。

使用它,数据实际上是在 IoT Central 中接收的。

问题是我需要将 100 个资产中的数据发送到 IoT Central。似乎从 Node-Red 将数据发送到 IoT Central 的唯一方法是使用 dps-keygen 为每个设备繁琐地创建连接字符串,然后手动将该字符串添加到 Node-Red 中的节点。在 Node-Red 中不能以编程方式设置传入的连接字符串(即使用功能节点)是非常有问题的。

有什么方法可以让添加到 IoT Central 的设备更易于在 Node-Red 中使用?有一个导出设备选项可以导出 NodeJS 客户端的 SAS 密钥。不能直接在 Node-Red 中使用吗?

4

2 回答 2

0

您可能可以直接重用代码来从设备密钥和范围 ID 创建连接字符串。您肯定可以将 IoT Central 中的设备列表导出为 CSV 文件,并在 Node-RED 流程中处理此文件,以便将每一行和关联的设备 ID/设备密钥/范围 ID 转换为连接字符串?

于 2019-04-23T13:04:35.150 回答
0

您应该利用Azure IotHub 设备预配服务的编程功能。

请参阅 node.js 示例,了解如何发出调用和读取连接信息 - https://github.com/Azure/iotc-device-bridge

于 2019-05-21T17:54:13.287 回答