Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 心跳传感器使用serialport-Javascript arduino节点输出缓冲区数据_Node.js_Arduino Uno - Fatal编程技术网

Node.js 心跳传感器使用serialport-Javascript arduino节点输出缓冲区数据

Node.js 心跳传感器使用serialport-Javascript arduino节点输出缓冲区数据,node.js,arduino-uno,Node.js,Arduino Uno,我试图显示传感器数据,它应该是这样的: 0,0 0,128 0,150 120,250 代码 但我得到: 我尝试了数据[0],然后出现了一些奇怪的数据,而不是我正在寻找的数据。如果我检查数据,则显示未定义。在节点serialport的文档中找到: 事件:“数据” 数据事件将端口置于流动模式。数据一收到就发出。数据是一个缓冲区对象,其中包含不同数量的数据。readLine解析器将数据转换为字符串行。有关解析器的更多信息,请参阅parsers部分;有关数据事件的更多信息,请参阅Node.js流文

我试图显示传感器数据,它应该是这样的:

0,0
0,128
0,150
120,250
代码 但我得到:


我尝试了数据[0],然后出现了一些奇怪的数据,而不是我正在寻找的数据。如果我检查数据,则显示未定义。

在节点serialport的文档中找到:

事件:“数据”

数据事件将端口置于流动模式。数据一收到就发出。数据是一个缓冲区对象,其中包含不同数量的数据。readLine解析器将数据转换为字符串行。有关解析器的更多信息,请参阅parsers部分;有关数据事件的更多信息,请参阅Node.js流文档

种类:SerialPort发出的事件

()

这就为您指出了这一点:

()

SerialPort.parsers:对象

默认解析器是以不同方式解析数据以转换传入数据的转换流

要使用解析器,您必须创建它们,然后通过管道将Serialport传输到解析器。注意只写入SerialPort对象,而不写入解析器

文档中的示例:

范例

var SerialPort = require('serialport');
var Readline = SerialPort.parsers.Readline;
var port = new SerialPort('/dev/tty-usbserial1');
var parser = new Readline();
port.pipe(parser);
parser.on('data', console.log);
port.write('ROBOT PLEASE RESPOND\n');

// Creating the parser and piping can be shortened to
var parser = port.pipe(new Readline());
要使用ByTeleLength解析器,请提供字节数的长度:

var SerialPort = require('serialport');
var ByteLength = SerialPort.parsers.ByteLength
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(new ByteLength({length: 8}));
parser.on('data', console.log);
var SerialPort = require('serialport');
var Delimiter = SerialPort.parsers.Delimiter;
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(new Delimiter({delimiter: Buffer.from('EOL')}));
parser.on('data', console.log);
要使用分隔符分析器,请提供一个分隔符作为字符串、缓冲区或字节数组:

var SerialPort = require('serialport');
var ByteLength = SerialPort.parsers.ByteLength
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(new ByteLength({length: 8}));
parser.on('data', console.log);
var SerialPort = require('serialport');
var Delimiter = SerialPort.parsers.Delimiter;
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(new Delimiter({delimiter: Buffer.from('EOL')}));
parser.on('data', console.log);
要使用Readline解析器,请提供分隔符(默认为“\n”)

要使用Ready解析器,请提供字节开始序列。接收到字节后,将传递数据事件

var SerialPort = require('serialport');
var Ready = SerialPort.parsers.Ready;
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(Ready({data: 'READY'}));
parser.on('data', console.log); // all data after READY is received

在节点serialport的文档中找到:

事件:“数据”

数据事件将端口置于流动模式。数据一收到就发出。数据是一个缓冲区对象,其中包含不同数量的数据。readLine解析器将数据转换为字符串行。有关解析器的更多信息,请参阅parsers部分;有关数据事件的更多信息,请参阅Node.js流文档

种类:SerialPort发出的事件

()

这就为您指出了这一点:

()

SerialPort.parsers:对象

默认解析器是以不同方式解析数据以转换传入数据的转换流

要使用解析器,您必须创建它们,然后通过管道将Serialport传输到解析器。注意只写入SerialPort对象,而不写入解析器

文档中的示例:

范例

var SerialPort = require('serialport');
var Readline = SerialPort.parsers.Readline;
var port = new SerialPort('/dev/tty-usbserial1');
var parser = new Readline();
port.pipe(parser);
parser.on('data', console.log);
port.write('ROBOT PLEASE RESPOND\n');

// Creating the parser and piping can be shortened to
var parser = port.pipe(new Readline());
要使用ByTeleLength解析器,请提供字节数的长度:

var SerialPort = require('serialport');
var ByteLength = SerialPort.parsers.ByteLength
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(new ByteLength({length: 8}));
parser.on('data', console.log);
var SerialPort = require('serialport');
var Delimiter = SerialPort.parsers.Delimiter;
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(new Delimiter({delimiter: Buffer.from('EOL')}));
parser.on('data', console.log);
要使用分隔符分析器,请提供一个分隔符作为字符串、缓冲区或字节数组:

var SerialPort = require('serialport');
var ByteLength = SerialPort.parsers.ByteLength
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(new ByteLength({length: 8}));
parser.on('data', console.log);
var SerialPort = require('serialport');
var Delimiter = SerialPort.parsers.Delimiter;
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(new Delimiter({delimiter: Buffer.from('EOL')}));
parser.on('data', console.log);
要使用Readline解析器,请提供分隔符(默认为“\n”)

要使用Ready解析器,请提供字节开始序列。接收到字节后,将传递数据事件

var SerialPort = require('serialport');
var Ready = SerialPort.parsers.Ready;
var port = new SerialPort('/dev/tty-usbserial1');
var parser = port.pipe(Ready({data: 'READY'}));
parser.on('data', console.log); // all data after READY is received