0
私は実行可能なライブラリをC言語(sudo ./ads1256_test adc.txt)に持っていますが、データはADCから取得され、同様にこれらのデータは自動的にテキストファイル(adc。 TXT)。node.js上のサーバ内で子プロセスを発行します
一方、Webサイトのボタンを押したときにこのプログラムを実行したいnode.js(コードを参照)にサーバーがあります。このため、私はこのプロセスを子プロセスの.exec( 'sudo ./ads1256_test adc.txt')を使って実装しようとしましたが、うまくいきませんでした。明らかに実行されますが、ファイルに保存された値は常にゼロです。ターミナルで同じコマンドを実行すると、得られた結果とはまったく異なります。誰かが私を助けることができれば感謝します。
//Importing the core modules
var express = require('express');
var path = require('path');
var sys = require('sys');
var fs = require('fs');
var util = require('util');
var sleep = require('sleep');
var app = express();
var exec = require('child_process').exec;
var spawn = require('child_process').spawn;
app.get('/', function(req,res){
res.sendFile(path.join(__dirname + '/public/index.html'));
});
//Static Directories
app.use(express.static(__dirname + '/public'));
app.post('/test', function (req, res) {
exec('sudo ./ads1256_test adc.txt');
});
//Server Starting
var server = app.listen(8080, function(err){
if(err){
console.log('Error starting http server');
} else{
console.log('Sever running at http://localhost:8080 ');
}
});