0.4.0 • Published 7 years ago

remote-serial-port-client v0.4.0

Weekly downloads
14
License
MIT
Repository
github
Last release
7 years ago

Introduction

Serial port over ethernet using a HTTP server with WebSockets and REST API.

NOTE: This is an early version of the script - not yet ready for production environment. Please be patient.

Getting Started

Install the package

npm install remote-serial-port-client

Make sure the server is running

npm install -g remote-serial-port-server
remote-serial-port-server --port 5147

List serial ports

var RemoteSerialPort = require('remote-serial-port-client').RemoteSerialPort;
var serialport = new RemoteSerialPort({ url: "http://localhost:5147/" });
serialport.list(function(error, ports) {
  console.log(ports);
});

Use in Node.js

Initialize

var RemoteSerialPort = require('remote-serial-port-client').RemoteSerialPort;
var serialport = new RemoteSerialPort({ url: "http://localhost:5147/" });
...

Using a TCP socket

var RemoteSerialPort = require('remote-serial-port-client').RemoteSerialPort;
var tcp = new RemoteSerialPort({ mode: "tcp", host: "127.0.0.1", port: 5147 });
tcp.open(function(error, result) {
  console.log("Connected");
  setTimeout(function() {
    tcp.write("AT;\n");
  }, 3000);
});
tcp.on("read", function(result) {
  console.log("read", result.data.toString('ascii'));
});

Similar for UDP, just change the mode to udp.

Use in browser

Reference the library

<script src="dist/RemoteSerialPort.min.js"></script>

Initialize in JavaScript

var serialport = new RemoteSerialPort({ url: "http://localhost:5147/" });
...

Methods

new RemoteSerialPort(options)

Creates a new instance.

Propreties of options argument:

Argument nameTypeDescription
verbosebooleanA value indicating whether to print details to console
modestringMode: http, tcp, udp; default: http
urlstringURL to the the HTTP of the serial port server, mode 'http' only
hoststringHost name or IP address of the serial port server, TCP and UDP only
portnumberPort number of the serial port server, TCP and UDP only

list(callback)

Lists available serial ports from the remote host.

Argument nameTypeDescription
portstringSerial port name, e.g. COM1 or ttyUSB0 (without /dev)
callbackfunctionfunction(error, ports)

status(port, callback)

Gets the specified serial port status.

Argument nameTypeDescription
portstringSerial port name, e.g. COM1 or ttyUSB0 (without /dev)
callbackfunctionfunction(error, status)

open(port, options, callback)

Opens the specified serial port.

Argument nameTypeDescription
portstringSerial port name, e.g. COM1 or ttyUSB0 (without /dev)
optionsobjectSerial port config
options.baudRatenumericBaud rate, e.g. 9600, 57600, 115200, etc.
options.dataBitsnumericData bits: 5, 6, 7 or 8
options.stopBitsnumericStop bits: 1 or 2
options.paritystringParity: none, even, mark, odd, space
callbackfunctionfunction(error, result)

close(port, callback)

Closes the specified serial port.

Argument nameTypeDescription
portstringSerial port name, e.g. COM1 or ttyUSB0 (without /dev)
callbackfunctionfunction(error, result)

write(port, data, callback)

Writes data to the serial port.

Argument nameTypeDescription
portstringSerial port name, e.g. COM1 or ttyUSB0 (without /dev)
datamixedData to be sent to serial port, String of Buffer
callbackfunctionfunction(error, result)

read(port, callback)

Reads data from the serial port receive buffer.

Argument nameTypeDescription
portstringSerial port name, e.g. COM1 or ttyUSB0 (without /dev)
callbackfunctionfunction(error, data)

available(port, callback)

Gets a number of bytes waiting in the serial port receive buffer.

Argument nameTypeDescription
portstringSerial port name, e.g. COM1 or ttyUSB0 (without /dev)
callbackfunctionfunction(error, result)

Server-side

See remote-serial-port-server script.