What is @serialport/parser-readline?
@serialport/parser-readline is a parser for the serialport library that reads data from a serial port and splits it into lines based on a delimiter. It is useful for applications that need to process data line-by-line from serial devices.
What are @serialport/parser-readline's main functionalities?
Basic Line Parsing
This feature allows you to read data from a serial port and split it into lines based on a specified delimiter. In this example, the delimiter is set to '\r\n'.
const SerialPort = require('serialport');
const Readline = require('@serialport/parser-readline');
const port = new SerialPort('/dev/tty-usbserial1', { baudRate: 9600 });
const parser = port.pipe(new Readline({ delimiter: '\r\n' }));
parser.on('data', line => {
console.log(`Received line: ${line}`);
});
Custom Delimiter
This feature allows you to specify a custom delimiter for splitting the data into lines. In this example, the delimiter is set to ';'.
const SerialPort = require('serialport');
const Readline = require('@serialport/parser-readline');
const port = new SerialPort('/dev/tty-usbserial1', { baudRate: 9600 });
const parser = port.pipe(new Readline({ delimiter: ';' }));
parser.on('data', line => {
console.log(`Received line: ${line}`);
});
Handling Errors
This feature demonstrates how to handle errors that may occur while reading data from the serial port. The error event is listened to on the port object.
const SerialPort = require('serialport');
const Readline = require('@serialport/parser-readline');
const port = new SerialPort('/dev/tty-usbserial1', { baudRate: 9600 });
const parser = port.pipe(new Readline({ delimiter: '\r\n' }));
parser.on('data', line => {
console.log(`Received line: ${line}`);
});
port.on('error', err => {
console.error('Error: ', err.message);
});
0