方法が見つかりました。私はRPIにコマンドを実行するためにchild_processでnode.jsを使用しています。あなたが特定のフォルダに入れたい場合は、私は、サーバーから何かをダウンロードするために使用するコマンドは、あなたがして、それを開く必要がwget http://ipaddress:port/path_to_file/
あるcd path_to_folder
全体コード:
var express = require("express");
var app = express();
var http = require("http").Server(app);
var io = require('socket.io')(http);
var exec = require('child_process').exec;
var request = require('request');
http.listen(6669);
io.on('connection', function(socket){
socket.on("Update",function(){
update();
}
}
//////////FUNCTIONS//////////
function update() {
try {
console.log("Start updating!");
if(checkServerFile('http://ip_address:port/path_to_file')){
console.log("Starting download...");
execute('cd /home/pi/server/update/ && sudo wget http://ip_address:port/update/update.sh && sudo bash /home/pi/server/update/update.sh');
}
}
catch (err) {
console.log(err);
}
}
function checkServerFile(path){
var result = false;
result = request(path, function(err, resp){
if(resp.statusCode === 200){
return true;
}
});
console.log(result);
return result;
}
function execute(command) {
var cmd = exec(command, function(error){
console.log("error: ", error);
});
}
機能
checkserverファイル
ファイルがサーバーに存在するかどうかを確認します。