如何读取使用nodejs时从arduino获得的缓冲区数据?

我目前正在arduino上使用脉冲传感器,并试图从传感器获取数据,并试图在浏览器上显示它。 这就是我的nodejs代码的样子。

var SerialPort = require("serialport").SerialPort var serialPort = new SerialPort("/dev/cu.usbserial-DA011OXR", { baudrate: 57600 }); serialPort.on('open', showPortOpen); serialPort.on('data', saveLatestData); serialPort.on('close', showPortClose); serialPort.on('error', showError); function showPortOpen() { console.log('port open. Data rate: ' + serialPort.options.baudRate); } function showPortClose() { console.log('port closed.'); } function showError(error) { console.log('Serial port error: ' + error); } function saveLatestData(data) { console.log(data); latestData = data; } 

这是我在terminal上获得的那种数据。

 <Buffer 53 35 31 34 0d 0a> <Buffer 53 35 31 33 0d 0a> <Buffer 53 35 31 31 0d 0a> <Buffer 53 35 31 30 0d 0a> <Buffer 53 35 31 31 0d 0a> <Buffer 53 35 31 31 0d 0a> <Buffer 53 35 31 31 0d 0a> <Buffer 53 35 31 32 0d 0a> <Buffer 53 35 31 32 0d 0a> <Buffer 53 35 31 33 0d 0a> <Buffer 53 35 31 34 0d 0a> <Buffer 53 35 31 34 0d 0a> <Buffer 53 35 31 34 0d 0a> <Buffer 53 35 31 34 0d 0a> <Buffer 53 35 31 34 0d 0a> <Buffer 53 35 31 33 0d 0a> <Buffer 53 35 31 32 0d 0a> <Buffer 53 35 31 31 0d 0a> 

我一直试图在网上看我应该如何解释或parsing这些数据,但我很无能。 任何帮助将是伟大的!

设置正确的波特率。 在我的情况下是9600。
如果你使用Serial.println(dataFromPin)你可以使用data.toString('ascii')

你怎么能猜到编码: data[0].toString()并与来自Arduino IDE串行监视器的值进行比较。