![Node-RED物联网应用开发技术详解](https://wfqqreader-1252317822.image.myqcloud.com/cover/937/50688937/b_50688937.jpg)
2.4.3 运行Node-RED
1.在终端窗口运行Node-RED
安装后,你就可以运行Node-RED了。运行Node-RED的简单方法是利用命令提示符:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/30_04.jpg?sign=1739416492-gngpZKd82cmZNl7gD74KRNgqkiPz3n1f-0-8af29c5ab549d53f5edc57f7b34d901e)
出现图2-7所示界面,表示Node-RED启动成功:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/31_01.jpg?sign=1739416492-uXL3qPLwbaznMgwoihPrWZqLDfd6Th9f-0-4578f0e07cc4d56709b011c8db284a50)
图2-6 Windows下Node-RED的安装目录位置
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/31_02.jpg?sign=1739416492-N8fGbJtTDcWpdkEA5Xvk4Snj3l1DaEWn-0-453893740781eabf0d9187dd25a45ca7)
图2-7 Node-RED启动成功界面
注意:
Node-RED日志将输出到终端。只有终端保持打开状态,才能使Node-RED保持运行。终端窗口关闭或者用鼠标选中文字,都将导致Node-RED停止运行。另一种手动停止Node-RED的方式是使用“Ctrl+C”组合键直接关闭此进程。
约定:
安装Node-RED将在你的%HOMEPATH%文件夹中创建一个名为.node-red的文件夹。这是你的userDir文件夹,可视为当前用户的Node-RED配置的主文件夹。“~”是类Unix系统上用户主文件夹的简写。约定~/.node-red在后文均指userDir的位置,无论Windows还是Linux操作系统。
2.在Windows后台运行Node-RED
按照上文的介绍,在Windows环境中运行的Node-RED还是依赖终端窗口,但是在实际环境中,需要将Node-RED作为Windows的后台服务进行启动,并且可以将日志写入文件而不是显示在终端窗口。这里采用PM2工具完成此任务。PM2是一个进程管理工具,可以管理Node进程,并查看Node进程的状态,也具有性能监控、进程守护、负载均衡等功能。PM2可以在后台启动、停止、管理Node.js的程序。
安装PM2:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_01.jpg?sign=1739416492-RKPnN1Cxu6FxJ5NvKuZhqie8flW5vsjw-0-978bc6c93708d00e044ad33b7e90768a)
使用PM2启动Node-RED:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_02.jpg?sign=1739416492-B2mW0aFBasGArjYg9BrnVjBI2juL9J83-0-2b317011cf2265c24a825d28980b8062)
使用PM2停止Node-RED:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_03.jpg?sign=1739416492-WgrDcCwwCaEpdhpThZniePvOOEWll5S3-0-4acbbc0acaca22995d8ced342b0a1a05)
使用PM2重启Node-RED:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_04.jpg?sign=1739416492-Nrg39mOFqXIa3jgAM42zsSwyVRDIAzHZ-0-d8a6ec9974804906ead5a2cf80941eb5)
使用PM2查看Noed-RED日志:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/32_05.jpg?sign=1739416492-hoViUeNOGGj95kKlZLevg4DH82eaPAFo-0-2b4c37d4c76a7642baadbd38f0994732)
3.在Windows启动时运行Node-RED
如果你想将Windows作为Node-RED的生产平台,你需要设置Windows任务计划程序作业,可以按照以下步骤完成。
● 单击“开始”菜单并键入“任务计划程序”,然后回车。
● 单击右侧菜单中的“创建任务...”,出现图2-8所示界面后按提示步骤创建新任务。
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/33_01.jpg?sign=1739416492-1CY4nlAhUZaXKGPVEVv5Nlazbb8ZPtIp-0-8a5b8622dabc0bad4d7400f79bb45d0b)
图2-8 任务计划程序界面
创建任务窗口界面如图2-9所示。
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/33_02.jpg?sign=1739416492-bfNge2iD1qHQlsakksWEObOD0eQDcUNk-0-7f73c55aa2019014094e9ce30de7ab17)
图2-9 创建任务窗口界面
新建触发器界面如图2-10所示。
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/34_01.jpg?sign=1739416492-jgvRopyQgop6AUYjO6R2oCumCcwddsgR-0-b6d07c30cf11b84cb6c9bbb6758350c4)
图2-10 新建触发器界面
在图2-10所示界面中输入以下内容:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/34_02.jpg?sign=1739416492-SDEUyj58BlttwlinfeWJDlgANnfDc9NZ-0-15bac313999ba6b3fffc5e2aac64ead0)
注意:
node-red.cmd是Node-RED安装后生成的Windows系统中使用的脚本文件。
node-red.cmd的脚本内容如下:
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/34_03.jpg?sign=1739416492-XWiLvlt57rmck2rns61bed8obV8GmRDz-0-588405556a35376f9c37f4c26f66dafc)
![](https://epubservercos.yuewen.com/BD017A/29863269804269406/epubprivate/OEBPS/Images/35_01.jpg?sign=1739416492-qq8WfPwPFfkUaaY4Lv8L1SCPGzMsfvq8-0-1173dac6e0c05799920ca9f10d3353d4)
你不需要马上理解上面的内容,不过如果你需要实现以下需求,可以尝试学习CMD脚本的规则,然后按照规则编辑node-red.cmd文件。
● 希望确保Node-RED仅在网络可用时启动。
● 如果启动失败,你可能还希望重新启动,且每分钟重新启动一次,但只重新启动3次,如果到那时还没有启动,表示是严重系统级错误,此时记录日志并提醒管理员进行干预。
● 通过查看日志文件来检查故障。如果你想以这种方式在运行时访问日志,你应该修改node-red.cmd文件以将std和错误输出重定向到一个文件。创建一个替代启动文件会更好,这样它就不会在更新时被覆盖。