在serialport上获取数组中的旧数据和新数据 - Arduino uno,nodejs,socket.io和sensor

时间:2017-07-27 22:17:22

标签: javascript node.js html5 sockets arduino-uno

我已将传感器连接到arduino,我正在尝试使用串行端口将这些数据提取到Nodejs中。我将使用它来制作图表。

在终端上打印时,从串口推送的数据如下所示:

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个不同的数据集推送,以获得如下图形:

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;
  }

}

0 个答案:

没有答案