2

我目前在 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;
}

这就是我在终端上获得的数据。

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

我一直在尝试在网上查看我应该如何解释或解析这些数据,但我很无能。任何帮助都会很棒!

4

1 回答 1

0

设置正确的波特率。就我而言,它是 9600。
如果你能做出类似的Serial.println(dataFromPin)东西 data.toString('ascii')

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

于 2017-11-25T09:55:43.713 回答