我已经编写了一个nodejs应用程序并将其放在我的raspberry pi上。这一切都很好。但是,我现在想通过React中内置的Web浏览器界面/网站来控制我的nodejs应用程序。我该怎么做?该网站将在互联网上,但需要以某种方式访问我的覆盆子pi计算机并修改那里的东西。
答案 0 :(得分:2)
我认为有两种方法可以做到这一点:
我不知道你是否知道如何做一个React网站,但是网上有很多教程,比如this one。
此处的目标是在NodeJS应用程序和您的网站之间创建 API关系。 NodeJS服务器必须侦听端口(例如8080)和与命令相对应的特定URL(例如,/ api / reboot将重新启动应用程序)。在您的网站中,您只需在按下按钮后调用这些URL(例如,“重新启动”按钮将向http://raspberrypi:8080/api/reboot发送POST请求)。
基本上,将您要执行的每个命令与NodeJS应用程序链接到一个网址,并将其链接到您的网站中。
如果你想安全传输(所以没有人可以重启你的应用程序),只需要包含一些密码和HTTPS:)
见啊!
答案 1 :(得分:0)
以下是链接:MyExample
还建议添加模块子进程以使用这样的执行命令:
var exec = require('child_process').exec;
execute('sudo reboot'); use this when receiving socket
function execute(command) {
var cmd = exec(command, function(error, stdout, stderr){
console.log("error: ", error);
});
}
有了这个你可以使客户端与“终端”(文本持有人)和按钮单击客户端将使用您的命令在文本持有者发送信息到RPI。