1. 配置 sudo 权限
首先确保已经在 /etc/sudoers 文件中添加了这行配置:
# 使用 visudo 命令编辑(推荐)
sudo visudo
# 添加以下行
nodereduser ALL=(ALL) NOPASSWD: /sbin/shutdown, /sbin/reboot, /sbin/poweroff
2. Node-RED 中的使用方法
使用 exec 节点(推荐)
[
{
"id": "shutdown-inject",
"type": "inject",
"z": "20cd0d1a69d7d697",
"name": "关机",
"props": [
{
"p": "payload",
"v": "shutdown",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 370,
"y": 320,
"wires": [
[
"shutdown-exec"
]
]
},
{
"id": "shutdown-exec",
"type": "exec",
"z": "20cd0d1a69d7d697",
"command": "sudo shutdown -h now",
"addpay": false,
"append": "",
"useSpawn": "false",
"name": "执行关机",
"x": 570,
"y": 320,
"wires": [
[],
[],
[]
]
},
{
"id": "reboot-inject",
"type": "inject",
"z": "20cd0d1a69d7d697",
"name": "重启",
"props": [
{
"p": "payload",
"v": "reboot",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 370,
"y": 420,
"wires": [
[
"reboot-exec"
]
]
},
{
"id": "reboot-exec",
"type": "exec",
"z": "20cd0d1a69d7d697",
"command": "sudo reboot",
"addpay": false,
"append": "",
"useSpawn": "false",
"name": "执行重启",
"x": 570,
"y": 420,
"wires": [
[],
[],
[]
]
}
]