我现在在Raspberry Pi上运行Raspbian,我想为它制作一个控制面板,所以我可以在网络浏览器中控制我的Raspberry Pi。但是我如何在NodeJS中执行命令?
答案 0 :(得分:2)
您可以使用此node.js代码在raspberry pi上运行命令(以下是在raspberry pi上执行reboot命令的示例)
var exec = require('child_process').exec;
function execute(command, callback) {
var cmd = exec(command, function(error, stdout, stderr) {
console.log("error: " + error);
callback(stdout);
});
}
function reStart() {
try {
console.log("Reboot");
execute('sudo reboot', function(callback) {
});
}
catch (err) {
console.log(err);
}
}
答案 1 :(得分:0)
您需要检查您的linux是否支持GPIO和PWM的sysfs接口。在大多数情况下,这在标准设置中是不可用的,并且控制是通过一些“专有”(不是直接专有但难以控制......)界面。
如果您有sysfs,您可以使用nodejs中的默认“fs”模块导出gpio fd并在其上书写。
我前段时间为此编写了一个节点包。但不确定它是否适用于树莓:https://www.npmjs.org/package/native-io
答案 2 :(得分:0)
首先可以使用apt-get install -y node npm来安装Node和NPM,然后使用Raspi-Io(https://www.npmjs.com/package/n)管理n(https://www.npmjs.com/package/raspi-io)的Node版本你可以直接控制Raspberry Pi。
我希望它适合你。
答案 3 :(得分:0)
安装Node.js然后编写Node Server以接受来自Web浏览器的请求。反过来,这些请求将执行前面评论中提到的子进程。
参考:https://codeforgeek.com/2016/12/raspberrypi-node-js-installation-guide/
答案 4 :(得分:0)
如果你想要一个非常简单的方法来做这件事,特别是对于开发工作,请看一下node-red
您可以为raspberry pi安装它,如果您安装ui仪表板,您可以从Web服务器上获得一大堆按钮等等。
还有一个节点红色库,可以将所有特定功能放在一起,非常简单....
它只是让一切正常运转的真正快捷方式......希望这会有所帮助......