如何配置Raspberry Pi上Node-RED开机自动运行指定flow
树莓派环境下Node-RED固定指定Flow开机自启配置方法
你已经配置好Node-RED程序本身开机自启的前提下,不需要额外编写启动脚本,只需要修改Node-RED主配置文件即可实现固定加载指定Flow,具体操作如下:
- 第一步:定位配置文件
树莓派通过官方脚本安装的Node-RED,默认配置文件路径为/home/pi/.node-red/settings.js,如果你修改过Node-RED的运行用户,将路径中的pi替换为实际运行用户名即可。 - 第二步:修改固定Flow配置项
用文本编辑器打开settings.js,找到flowFile配置项,该项默认是被注释状态,或者自动读取和设备主机名绑定的默认flow文件。直接取消注释并将值改为你需要固定运行的目标flow文件名即可:// 示例:指定加载名为my_project_flow.json的flow文件 flowFile: 'my_project_flow.json',注意:如果你的目标flow文件没有存放在
.node-red默认用户目录下,直接填写文件绝对路径即可,例如flowFile: '/home/pi/flows/factory_line1.json' - 第三步:验证配置有效性
配置修改完成后不需要重启树莓派,直接执行树莓派Node-RED内置的重启命令即可生效:
重启后执行日志查看命令确认加载的目标flow正确:node-red-restart
日志输出中出现node-red-logStarted flows: [你指定的flow文件名]字样即代表配置生效,后续设备开机自启Node-RED时会固定加载该flow,不会因为Web端操作切换flow导致开机加载错误。
常见注意事项
- 确保Node-RED运行用户对你指定的flow文件有读取权限,否则启动时会因读不到文件自动生成新的空白flow
- 如果你的指定flow依赖第三方自定义节点,需要提前将对应节点安装到
.node-red目录下,否则flow启动后对应节点会显示为缺失状态 - 如果你需要完全隔离flow的运行依赖(包括节点、配置凭据等),可以额外修改
userDir配置项指向独立的用户数据目录,单flow固定场景下不需要修改该项 - 不建议通过修改systemd启动参数的方式指定flow,后续升级Node-RED时可能被服务配置覆盖,修改
settings.js的方式是官方兼容的永久配置方案
内容的提问来源于stack exchange,提问作者Rick Bronx
相关产品推荐
相关产品推荐

