我有两个脚本 - 一个是Python脚本,另一个是Node脚本。Python脚本在一个无限循环中运行并读取串行数据。一旦接收到串行数据,它必须将其传递给Node.js脚本,以便在节点服务器中进行处理。
我考虑使用node.js child_process模块从python脚本中读取数据,但由于python脚本是一个无限循环,它不会向节点脚本返回任何数据。请问有人可以告诉我如何解决这个问题吗?
Python脚本:
import serial
ser = serial.Serial('COM10', 9600, timeout =1)
while 1 :
print ser.readline()'
Node.js脚本:
var spawn = require('child_process').spawn,
ls = spawn('python',['pyserial.py']);
ls.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
ls.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
注意:我选择使用Python脚本的唯一原因是,由于串口模块存在一些问题,node.js的serialport模块目前无法在我的项目中工作。