在串口上获取新旧数据 – Arduino uno,nodejs,socket.io和传感器
我已经附加了一个传感器到arduino,我试图把这些数据使用一个串口进入Nodejs。 我将用它来制作图表。
从串口推送的数据,在terminal上打印时看起来像这样:
1,2 1,2 1,3 1,2 1,3 1,4 1,2 1,3 1,4 1,5
正如你可以看到所有以前的数据再次推动:/我不想要的
预期产出
1,2 1,3 1,4 1,5 1,6
格式在这里: <value 1> , <value 2>
稍后我将分解这些传入的数据,并将其推送为2个不同的数据集,以便得到如下graphics:
http://www.chartjs.org/samples/latest/charts/line/multi-axis.html
代码 – nodejs
var SerialPort = require("serialport"); var serialport = new SerialPort("COM4"); var received = ""; serialport.on('open', function(){ console.log('Serial Port Opend'); serialport.on('data', function(data){ received += data.toString(); console.log("incoming data: " + received); nsp.emit('live-data', received); }); });
来自arduino的串行输出代码
void serialOutput(){ // Decide How To Output Serial. switch(outputType){ case PROCESSING_VISUALIZER: sendDataToSerial('S', Signal); // goes to sendDataToSerial function break; case SERIAL_PLOTTER: // open the Arduino Serial Plotter to visualize these data Serial.print(BPM); Serial.print(","); Serial.println(Signal); break; default: break; } }