从Node-Red发送数据到顶级IoT Central,不需要dps-keygen

时间:2019-04-23 01:28:27

标签: node-red azure-iot-central

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

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

您可能可以直接重复使用the code从设备密钥和作用域ID创建连接字符串。您肯定可以将IoT Central中的设备列表导出为CSV文件,并在Node-RED流中处理该文件,以便将每一行以及关联的设备ID /设备密钥/作用域ID转换为连接字符串吗?

答案 1 :(得分:0)

您应以编程方式使用Azure IotHub Device Provisioning Service的功能。

请参阅如何发出呼叫和读取连接信息的node.js示例-https://github.com/Azure/iotc-device-bridge