在rockpis上安装node-red 1.2.7

node-red 1.0.x 的时候重新安装过。上篇里有错误描述的地方,以此篇中改正。

rockpis是一款低功耗的小板子,arm-cortex a35架构,4核心。不到1瓦的功耗中,有线网卡占了一半。某宝上购买,建议买不带存储的型号,70元的价位。

树莓派则是功耗高,发烫。

恩智浦的 i.mx6ull 是上一代低功耗架构 A7的芯片,老了,太慢。米家网关(第二款)用过这个芯片。

系统的准备。用balenaEtcher-Portable 将官方提供的系统镜像烧写到卡里。用 rock 作为用户名和密码登录。

登陆后显示 Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.4.143-55-rockchip-g6b7accbc999b aarch64 

修改为root登录,密码设为 rock 吧。

rock@rockpis:~$ sudo passwd root
Enter new UNIX password: rock
Retype new UNIX password: rock
passwd: password updated successfully

修改sshd(不是ssh)配置文件,允许root登录。

rock@rockpis:~$ su root
Password: rock

root@rockpis:~# vi /etc/ssh/sshd_config
按下 insert 键,添加下行内容。
PermitRootLogin yes
按 esc键,输入  :wq  (冒号 wq)保存和退出

apt update -y
apt clean

这里不是 apt upgrade。显示内存卡容量和内容容量如下。

root@rockpis:/usr/local# df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 210M 0 210M 0% /dev
tmpfs tmpfs 43M 304K 43M 1% /run
/dev/mmcblk0p2 ext4 15G 541M 14G 4% /
tmpfs tmpfs 213M 0 213M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 213M 0 213M 0% /sys/fs/cgroup
tmpfs tmpfs 43M 0 43M 0% /run/user/0


root@rockpis:/usr/local# free -h
          total  used    free   shared   buff/cache   available
Mem: 425M   36M   166M   304K   222M   378M
Swap: 0B   0B   0B

安装解压缩算法。

node-v14.15.4-linux-arm64.tar.xz

用 winSCP将 node-v14.15.4-linux-arm64.tar.xz 上传到 /usr/local/目录下(非必须)

回到命令行,cd /usr/local,运行

node-v14.15.4-linux-arm64.tar.xz

mv node-v14.15.4-linux-arm64 ./node

rm -f node-v14.15.4-linux-arm64.tar.xz

ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/lib/node_modules/npm/bin/npm-cli.js /usr/bin/npm
ln -s /usr/local/node/lib/node_modules/npm/bin/npx-cli.js /usr/bin/npx

这里没有在修改环境变量path。在systemd中path不好用,所以用软连方式。启动脚本red.js里,path也不好用。

不用重启,也不用source变量。查看下

root@rockpis:/usr/local# npm -v
6.14.10
root@rockpis:/usr/local# node -v
v14.15.4
root@rockpis:/usr/local# npx -v
6.14.10

root@rockpis:/usr/local# mkdir nodered
root@rockpis:/usr/local# cd nodered
建目录,存放nodered的程序。先完善编译环境。

root@rockpis:/usr/local/nodered# apt install gcc g++ make -y
root@rockpis:/usr/local/nodered# apt install python3 -y

npm install --save node-pre-gyp --registry=https://registry.npm.taobao.org

nodejs中已经内置了 node-gyp,这个算是是编译的管理方式。

npm install --save node-pre-gyp --registry=https://registry.npm.taobao.org

剩下的各项,基本上是上一篇中的内容。

这次,串口似乎没有问题了,不用单独安装了。(安装 modbus就行)

安装完成,启动后,占用空间如下

root@rockpis:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 210M 0 210M 0% /dev
tmpfs 43M 300K 43M 1% /run
/dev/mmcblk0p2 15G 1.2G 13G 9% /
tmpfs 213M 0 213M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 213M 0 213M 0% /sys/fs/cgroup
tmpfs 43M 0 43M 0% /run/user/0


root@rockpis:~# free -h
total used free shared buff/cache available
Mem: 425M 122M 105M 300K 197M 292M
Swap: 0B 0B 0B

systemd的脚本 nodered.service,内容如下

[Unit]
Description=Node-RED graphical event wiring tool
Wants=network.target
Documentation=http://nodered.org/docs/hardware/raspberrypi.html

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/var/nodered/

Nice=5
Environment="NODE_OPTIONS=--max_old_space_size=256"
ExecStart=/usr/local/nodered/node_modules/node-red/red.js
# Use SIGINT to stop
KillSignal=SIGINT
# Auto restart on crash
Restart=on-failure
# Tag things in the log
SyslogIdentifier=Node-RED
#StandardOutput=syslog

[Install]
WantedBy=multi-user.target

原文地址:https://www.cnblogs.com/htsky/p/14326120.html