摘要:Node-RED平台是一款专为简化数据驱动和基于事件的应用程序开发而设计的可视化编程工具。它常用于自动化、物联网(IoT)和系统集成等领域。借助用户友好的基于浏览器的编辑器,包括开发人员、工程师和爱好者在内的用户可以将设备、网络服务和API连接起来,创建自定义
让我们开始今天的内容!
Node-RED是什么?
Node-RED平台是一款专为简化数据驱动和基于事件的应用程序开发而设计的可视化编程工具。它常用于自动化、物联网(IoT)和系统集成等领域。借助用户友好的基于浏览器的编辑器,包括开发人员、工程师和爱好者在内的用户可以将设备、网络服务和API连接起来,创建自定义流程。其设计理念是通过减少对广泛编程技能的需求来降低技术门槛。
主要特点:
▪ 可视化流程编辑器:
该平台提供了一个基于画布的界面,用户可通过连接称为节点的逻辑块来构建应用程序。每个节点代表一个特定操作(如输入处理、数据处理或输出生成),节点之间的连接则定义了应用程序的逻辑流程。
▪ 广泛的集成能力:
Node-RED提供开箱即用的多种协议支持,包括HTTP、MQTT、WebSockets、TCP/UDP和CoAP。这使得它能够高度适应各种连接设备、服务和平台的集成需求。
它可以无缝连接树莓派GPIO、Arduino和基于Zigbee的设备等硬件,以及Home Assistant等智能家居生态系统。在企业方面,它支持与AWS IoT、Microsoft Azure和Google Cloud等云平台集成,并可连接ERP和CRM系统。
▪ 可通过JavaScript函数和npm包扩展:
对于需要超出内置节点功能的任务,您可以在功能节点中使用JavaScript编写自己的逻辑。
Node-RED支持完整的Node.js生态系统,允许您安装和使用npm包以扩展功能(例如图像处理、机器学习库、高级数据操作)。
为何要在树莓派上使用Node-RED?
✔ 安装简便
✔ PIO控制
✔ 本地数据处理
✔ 离线功能
树莓派是运行Node-RED的理想平台,因其成本低、体积小且具备处理大多数边缘计算任务的足够处理能力。安装简便,加上GPIO、I2C和SPI等内置硬件接口,使其成为快速原型设计和物联网开发的优选。Node-RED即使在入门级树莓派型号上也能高效运行,并允许本地数据处理而无需依赖外部服务器,从而提高了性能并降低了延迟。
树莓派上Node-RED的常见用例
▪ 家庭自动化:
智能照明:根据运动检测、时间段或用户存在自动控制灯光。
环境控制:使用温湿度传感器管理风扇、加热器或空调。
安全防护:连接摄像头、运动传感器和门窗探测器,并通过电子邮件或消息应用发送警报。
▪ 工业物联网(IIoT):
实时监控:从工业传感器收集并跟踪温度、振动或系统压力等数据。
PLC通信:使用Modbus或OPC-UA等标准与可编程逻辑控制器接口。
预测性维护:分析传感器输出以在故障发生前检测磨损或异常。
▪ 数据存储和仪表板:
环境日志记录:记录空气质量、二氧化碳水平或温度随时间变化的数据,并将结果存储在InfluxDB或MySQL等数据库中。
可视化:使用Node-RED中的仪表板工具创建实时图表和状态指示器。
▪ 物联网网关功能:
MQTT处理:在设备和服务器之间接收和发布数据。
协议转换:在MQTT、HTTP和WebSockets之间架起通信桥梁以实现设备兼容性。
边缘分析:在将摘要转发到云服务之前在树莓派上处理数据。
▪ API自动化:
网络集成:根据来自外部API(如天气或支付网关)的数据触发工作流程。
Webhook响应:使用自动化流程响应来自GitHub或IFTTT等服务的更新。
安装步骤
要求
所有树莓派(3或更新型号)
安装在SD卡上的树莓派操作系统(最低8GB)。
互联网接入和基本终端访问(通过显示器或SSH)。
首先,确保您的树莓派系统已完全更新。打开终端并运行:
sudo apt update && sudo apt upgrade -y
接下来,安装官方Node-RED软件包。最简单的方法是使用Node-RED团队提供的官方安装脚本,该脚本还会设置Node.js:
bash
安装过程中,脚本将:
• 设置Node-RED作为系统服务运行(可选但推荐)。
安装完成后,启用Node-RED在启动时自动启动:
sudo systemctl enable nodered.service
手动启动Node-RED:
node-red-start
默认情况下,Node-RED在端口1880上运行。在浏览器中访问以下界面:
http://:1880
基本配置
使用GPIO节点(树莓派项目可选)
要控制硬件:
1.添加一个注入节点和一个rpi-gpio输出节点(用于LED等输出)。
2.使用引脚号(例如GPIO17)配置GPIO节点并将其设置为输出模式。
3.连接并部署——点击注入节点将使引脚高电平(开启)。
4.添加另一个设置为0的注入节点以关闭它。
您还可以使用rpi-gpio输入节点从按钮或传感器读取数据。
保存和导出流程
• 要导出流程,请点击菜单(右上角),然后选择导出→剪贴板。
• 要导入流程,请点击导入→粘贴您的JSON→点击导入。
• 流程会自动保存,但导出备份以供重用或共享是很好的做法。
管理流程
• 您可以为不同的项目或系统部分创建多个流程选项卡。
• 为流程命名以保持有序(右键单击选项卡→重命名)。
• 使用注释节点添加注释或解释流程的各个部分。
热门节点和扩展
GPIO节点(用于直接硬件控制)
这些节点允许您与树莓派的GPIO引脚接口以控制和监控物理组件。您可以:
• 开启和关闭LED。
• 从按钮、运动传感器或温度传感器读取数据。
• 控制继电器、电机或其他执行器。GPIO节点通常由预安装的node-red-node-pi-gpio软件包提供,是物理计算项目的必备节点。
MQTT节点(物联网消息协议)
MQTT是一种轻量级的发布/订阅协议,非常适合物联网通信。这些节点使您能够:
• 订阅来自其他设备或服务的主题。
• 向代理(如Mosquitto)发布传感器数据或命令。
• 与AWS IoT、HiveMQ或本地MQTT代理等云平台集成。
这些节点是node-red-node-mqtt软件包的一部分,支持安全连接(TLS)、身份验证和通配符主题。
仪表板节点(UI元素:图表、开关)
node-red-dashboard模块添加了一组强大的UI组件,允许您创建实时网页仪表板。
您可以构建用户界面以:
• 在图表、仪表或文本指示器中显示实时数据。
• 通过按钮、滑块和开关控制GPIO设备。
• 创建交互式表单和状态面板。仪表板可通过浏览器访问(通常在/ui路径下,例如http://:1880/ui),非常适合在平板电脑、手机或台式电脑上进行监控和控制。
安全最佳实践
▪ 1. 启用用户身份验证
默认情况下,Node-RED没有登录界面。要保护编辑器:
• 打开设置文件:
~/.node-red/settings.js
• 取消注释并配置adminAuth部分以添加用户名和哈希密码:
adminAuth: {
type: "credentials", users: [{
username: "admin",
password: "$2b$08$eW5...hashedPasswordHere...",
permissions: "*"
}]
}
• 使用以下命令生成哈希密码:
node-red-admin hash-pw
▪ 2. 使用HTTPS代替HTTP
为避免以明文传输凭据和数据:
• 获取或创建SSL证书(例如使用Let's Encrypt或自签名证书)。
• 修改settings.js以启用HTTPS:
https: {
key: fs.readFileSync('/path/to/privatekey.pem'),
cert: fs.readFileSync('/path/to/certificate.pem')
},
▪ 3. 限制网络访问
• 如果Node-RED不需要远程访问,则将其绑定到本地主机:
uiHost: "127.0.0.1"
• 或者使用防火墙(例如ufw或iptables)仅限制特定IP访问端口1880。
▪ 4. 限制权限和访问
• 使用非root用户运行Node-RED。
• 使用最小权限原则:不要给树莓派不必要的sudo访问权限。
Node-RED将树莓派转变为一个强大而灵活的自动化中心,非常适合物联网、智能家居项目和基于API的工作流程。其直观的基于流程的界面允许初学者和高级用户无需大量编码即可构建复杂系统。从控制GPIO设备到集成云服务,Node-RED使原型设计和部署变得快速而高效。无论您是在自动化家庭、构建数据仪表板还是桥接多种协议,树莓派上的Node-RED都提供了一个可访问、可扩展且安全的平台,让您的想法变为现实。
很多人一直以为树莓派(Raspberry Pi)只是创客圈子里的小玩具——一块信用卡大小的开发板,用来点亮 LED、跑个 Python 脚本、或者给中学生上一堂入门编程课。然而,事实远比想象震撼:树莓派已经悄悄完成了从“教学演示”到“工业级主力”的华丽转身,正在产线、机房、实验室甚至外太空里 7×24 小时不间断服役。下面这几篇文章或许会让你彻底刷新对树莓派的固有印象:
工业树莓派的高光时刻!树莓派工业级 HMI 列阵!
2025年树莓派最值得关注的事,树莓派CM5工业级进化!
老工厂逆袭记:破旧工厂加块屏,直接进击工业 4.0 !
这个工业触摸屏,一开始我是拒绝的,用了之后就真香了!
树莓派 PLC 提供「控制+采集+通信」三位一体的开放式解决方案!
把树莓派CM5塞进IP65相机?树莓派硬核工业相机形态曝光!
树莓派5/CM5秒变工业大脑?
树莓派官方都没告诉你的散热黑科技!
传统PLC计数模块为何被淘汰?
一块树莓派CM5抗下整条产线?工业计算机主板全面解析!
hhttps://mp.weixin.qq.com/s/5jwiM9Rjw3F_DzI02vllNA
来源:上海晶珩电子科技