简介
node-red-contrib-ovia-os 是一个基于 Node.js 的开源项目,是一个简化了 Node-RED 业务逻辑的插件。它提供了许多基础的工具,涵盖了许多通讯协议和设备类型,为 Node-RED 用户提供了便捷的快速接入途径。本文将为读者详细介绍 node-red-contrib-ovia-os 的使用方法。
安装
这个 npm 包可以通过 npm 命令来安装:
npm install node-red-contrib-ovia-os
使用示例
我们来看一个简单的例子来介绍 node-red-contrib-ovia-os 的使用方法。
首先,我们需要为 Node-RED 安装 node-red-contrib-ovia-os 插件包。接下来,我们需要在 Node-RED 上创建一个新的工作流,并添加一个 Ovia-OS 控制节点。
我们第一步是创建一个输入节点,以确保我们的 Ovia-OS 控制节点可以得到数据流。
然后,我们在“输入”节点下添加一个“定时”节点,以便我们可以控制 Ovia-OS 设备执行某些动作。在Node-RED编辑器中,选择输入节点,然后从“节点库”菜单中拖动和放置“时间”节点。
我们现在需要将时间节与 Ovia-OS 控制节点进行连接,以确保它可以收到时间的输入数据。
接下来,我们需要向 Ovia-OS 控制节点发送一些数据。在这种情况下,我们将发送一个完整的 JSON 消息,如下所示:
{ "device": "led", "action": "on", "delay": "2" }
通过配置 Ovia-OS 控制节点的选项,我们可以指定要发送的 JSON 数据,以及要向其发送数据的设备和应该执行的操作(这里是开启/关闭 LED)。
我们还可以在消息中指定一个延迟,以便命令可以在一段时间后被执行。在这个例子中,我们设置它为两秒。
最后,我们需要添加一个输出节点,以便我们可以检查 Ovia-OS 设备是否按照我们的预期工作。在 Node-RED 编辑器中,选择输出节点,打开配置界面,然后将它连接到 Ovia-OS 控制节点。
[{"id":"52678a.48564dbc","type":"inject","z":"82a33a3e.3f9c9","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"device\":\"led\",\"action\":\"on\",\"delay\":\"2\"}","payloadType":"json","x":180,"y":200,"wires":[["a30798d0.03482"]]},{"id":"a30798d0.03482","type":"Ovia OS Control","z":"82a33a3e.3f9c9","name":"","device":"led","action":"{\"name\":\"on\"}","delay":"{{delay}}","broker":"616bd68e.acf16c","x":450,"y":200,"wires":[["4ad2faf1.0bc"]]},{"id":"4ad2faf1.0bc","type":"debug","z":"82a33a3e.3f9c9","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":740,"y":200,"wires":[]},{"id":"616bd68e.acf16c","type":"Ovia OS Broker","hostname":"192.168.1.2","port":"1883","pin":"7833","dataOut":"buffer","tls":false,"protocolVersion":"4","name":"Ovia OS MQTT Broker"}]
以上是完整的配置代码。其中的 Ovia OS Control
节点允许我们通过 MQTT 序列化数据发送给一个 Ovia OS 设备。Ovia OS Broker
节点作为 MQTT 的中间代理,允许将消息发送到对应的 Ovia OS 设备上。
总结
在本文中,我们概述了如何使用 node-red-contrib-ovia-os 插件包来编写一个简单的工作流程,以控制 Ovia-OS 设备。此插件提供了许多基础工具,以便 Node-RED 用户接入途径,使其更加便捷。希望读者能够通过此教程,学习到使用该插件的关键点,以便在日常工作中更加得心应手。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572c481e8991b448e8df1