Skip to content

Javascript lib to communicate with a unix console over a serial line

License

Notifications You must be signed in to change notification settings

eove/serial-console-com

Repository files navigation

serial-console-com Build Status npm version code style: prettier

Node.js lib to communicate with a unix-like console through a serial line

Install

Node >= 8.12.0

npm install

Usage...

...in your code

This lib exposes a communicator which may execute commands through the serial line.

import { createSerialCommunicator } from '@eove/serial-console-com';

const communicator = createSerialCommunicator({
  baudrate: 115200,
  prompt: '/ #',
  lineSeparator: '\n'
});

communicator
  .connect('/dev/ttyUSB0')
  .then(() => communicator.executeCommand('ls -al'))
  .then(({ output, errorCode }) => {
    console.log('error code:', errorCode);
    console.log('output:', output.join('\n'));
  });
  .catch(e => console.error('error when running ls -al'))
  .finally(() => communicator.disconnect())

The async executeCommand method returns an object with the following fields:

  • errorCode: a number corresponding to the error code of the command
  • output: a string array corresponding to the lines of the command output

...from a CLI 🔥

You can try it from the command line: npx @eove/serial-console-com run 'ls -al /' -p /dev/ttyUSB0 (type npx @eove/serial-console-com run --help for the full list of options)

Note: the npx command exits with the given command error code:

npx @eove/serial-console-com run 'true' -p /dev/ttyUSB0
echo $?
0
npx @eove/serial-console-com run 'false' -p /dev/ttyUSB0
echo $?
1