Skip to content

在树莓派上运行Node-RED

客户将温湿度传感器接到了树莓派上,当然这是按我们的要求接的(哈哈),所以我们要负责将温湿度广而告之。怎么办?方案来咯:安装Node-RED,然后通过modbus RTU从USB口读数,然后通过http in节点创建web服务。

致谢

首先,要非常感谢Node-RED官方在文档中详细描述了如何将Node-RED运行在树莓派上。英文还说得过去的同学可以点这里读一下。

然而,如果真的按照文档能够轻松搞定,也许我就不会写这篇文章了。

为啥?来几个关键词,懂得都懂,不懂的也没有必要懂。

  • githubusercontent
  • npm registry
  • 卡住

自己动手吧

其实,手动安装也不麻烦。在官方脚本的加持下,很快就可以搞定。

确认一下系统版本为bullseye(因为别的版本我没测过)

cat /etc/os-release

安装node16,官方文档里说了,脚本如果发现你没装node,就会安装node16。

sh
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=16
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install nodejs -y

安装Node-RED,参考的官方脚本中的命令,registry是我加的。

sh
sudo npm i -g --unsafe-perm --no-progress --no-update-notifier --no-audit --no-fund --loglevel=error node-red --registry=https://registry.npmmirror.com

留个小尾巴

有人肯定会说,你得把registry设置到npm confi中。是的,我一开始也是这样做的。不过安装的时候一直卡住,发现直接加是可以的。

启动测试,创建服务,也是参考官方提供的service,修改一下其中的User、Group、WorkingDirectory。

至于服务开机启动,官方文档下面都有,执行一下就好,我们写文章没有字数要求,就不在这里体现了。