Node-RED官网:https://nodered.org/
Node-RED 是一种编程工具,用于以新颖有趣的方式将硬件设备、API 和在线服务连接在一起。它提供了一个基于浏览器的编辑器,可以使用调色板中的广泛节点轻松将流连接在一起,只需单击一下即可将其部署到其运行时。
对于物联网设备常用的树莓派设备,Node-RED增加了对树莓派IO的控制,而树莓派的软件库也增加了Node-RED的管理。
一、Node-RED安装
Node-RED官网提供安装脚本,可以很方便的在树莓派上部署最新版的Node-RED:
https://nodered.org/docs/getting-started/raspberrypi#prerequisites
在树莓派侧安装Node-RED,也可以直接使用apt包管理进行安装,由于Node-RED依赖node,所以需要首先安装依赖包。
sudo apt install npm
sudo apt install nodered
注:树莓派apt源安装的版本为“nodered/oldstable,now 2.2.3-2 armhf",在某些树莓派(硬件、OS)上安装会提示找不到依赖npm包。
二、Node-RED启动
安装完成后,可以使以下命令对node-red进行管理。
# 启动node-red
node-red-start
# 停止node-red
node-red-stop
# 重启node-red
node-red-restart
当然也可以设置为自动启动。
sudo systemctl enable nodered.service
sudo systemctl disable nodered.service
启动服务后,可以使用http://:1880方式访问使用Node-RED服务。
三、Node-RED 安全设置
Node-RED默认使用http://:1880的方式就可以直接访问,使用Node-RED的安全配置,可以增加用户权限配置和编辑保护。
官网链接:https://nodered.org/docs/user-guide/runtime/securing-node-red#editor–admin-api-security
当前我们安装的Node-RED版本为2.1.6,根据官方文档,我们可以使用以下命令生成密钥:
node-red admin hash-pw <password>
Node-RED的配置文档,默认在当前用户的./node-red/setting.json文件中,默认为:
119 // Securing Node-RED
120 // -----------------
121 // To password protect the Node-RED editor and admin API, the following
122 // property can be used. See http://nodered.org/docs/security.html for details.
123 //adminAuth: {
124 // type: "credentials",
125 // users: [{
126 // username: "admin",
127 // password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
128 // permissions: "*"
129 // }]
130 //},
默认为注释状态,即不启用鉴权控制,开启adminAuth并更新password后,重启Node-RED服务后,访问Node-RED就需要使用账号密码。
119 // Securing Node-RED
120 // -----------------
121 // To password protect the Node-RED editor and admin API, the following
122 // property can be used. See http://nodered.org/docs/security.html for details.
123 adminAuth: {
124 type: "credentials",
125 users: [{
126 username: "admin",
127 password: "$2b$08$3.bT1hgxm0n97sLuABoXCOmRtXpt..HxbyV0VDhjfszIQRpM49Mcy",
128 permissions: "*"
129 }]
130 //},
四、Node-RED Web界面
默认的Node-RED并没有web ui界面,可以通过安装dashboard节点,创建简易的web ui界面。
如下图,依次选择“节点管理”,“控制面板”,“安装”,搜索框输入“dashboard”进行检索,选择node-red-dashboard节点进行安装。
部署完成后,可以使用http://:1880/ui的方式进行访问。
四、Node-RED常用节点
1、dashboard
node-red-dashboard节点为Node-RED提供了多样的人机界面组件,包括提供图形、仪表盘、文字输出界面等输出控件,也有按键、滑动条、文字等输入界面,十分适合用于物联网系统数据的可视化展示。