nod-red可视化流编辑器,Node-RED是一种基于流的编程工具,它有一个可视化编辑器,允许将节点连接在一起创建流。
Node-RED擅长于快速应用程序开发,并充当连接事件到动作或传感器到执行器的粘合剂。然而,当应用程序达到一定的规模时,通过Node-RED来可视化编程和管理变得非常复杂。
Node-red基于node.js
参考文章:
https://zhuanlan.zhihu.com/p/27565460
https://zhuanlan.zhihu.com/p/27658237
1.三种类型的节点
输入节点(inject)
输出节点(debug)
处理节点(function)
function节点可以通过js代码来自定义处理输入、输出消息。
nod-red消息结构:是一个包含payload参数的js对象,对象名为msg。
msg{
payload:‘some msg or other parameter‘
parameter1:
paramteter2:
...
}
parameter1,parameter2是你想要添加的其他参数。
触发器节点是Node-RED色中的另一个内置节点,其默认行为是等待其输入的任何消息。当它收到一条消息时,它就会触发,输出值“1”,以消息体发送消息。然后等待1秒,然后在消息正文中发送值为“0”,作为第二条消息。
交换节点执行一个简单的测试,检查输入消息值与设定值的偏差,如果测试是真的,则发送一个值为“1”的消息。
sitewhere扩展接口
https://flows.nodered.org/node/node-red-contrib-sitewhere
允许运行nod-red的设备通过mqtt协议使用json来和物联网平台sitewhere交互。
交互类型:
注册新设备
向sitewhere发送设备的测量、警告、地点等信息
接收来自sitewhere的系统命令或自定义命令
树莓派上运行node-red
https://nodered.org/docs/hardware/raspberrypi
在树莓派上安装node-red有两种方法:
2015.11之后的树莓派系统镜像raspbian预装了node-red
手动安装
raspbian系统中的node-red升级
如果你的树莓派系统中预装的node.js版本过低,或者你的其他linux系统中没有node-red,可以使用以下脚本来安装或升级
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
注意:使用此脚本升级node-red和node.js的话就不能再用apt-get来升级了
运行node-red
桌面: Menu -> Programming -> Node-RED
命令行: node-red-start
命令
关闭窗口或者ctrl+c关闭命令行并不能结束运行,node-red会继续运行。
结束node-red请使用: node-red-stop
命令
查看日志请使用:node-red-log
命令
设置开机运行node-red:
sudo systemctl enable nodered.service
Adding nodes to preloaded version (Jessie only)