node-serialport - Node.js 串口读写包


MIT
跨平台
JavaScript

软件简介

node-serialport 是一个 Node.js 的包,用来对串口数据进行读写操作。

基本示例代码:

var SerialPort = require("serialport").SerialPort
var serialPort = new SerialPort("/dev/tty-usbserial1", {
  baudrate: 57600
}, false); // this is the openImmediately flag [default is true]

serialPort.open(function (error) {
  if ( error ) {
    console.log('failed to open: '+error);
  } else {
    console.log('open');
    serialPort.on('data', function(data) {
      console.log('data received: ' + data);
    });
    serialPort.write("ls\n", function(err, results) {
      console.log('err ' + err);
      console.log('results ' + results);
    });
  }
});

罗列所有串口:

var serialPort = require("serialport");
serialPort.list(function (err, ports) {
  ports.forEach(function(port) {
    console.log(port.comName);
    console.log(port.pnpId);
    console.log(port.manufacturer);
  });
});

串口配置:

  • baudRate

  • dataBits

  • stopBits

  • parity

  • rtscts

  • xon

  • xoff

  • xany

  • flowControl

  • bufferSize

  • parser

  • encoding

  • dataCallback

  • disconnectedCallback

  • platformOptions - sets platform specific options, see below.

目前已有很多项目在使用这个包进行串口处理:

  • Johnny-Five - Firmata based Arduino Framework.

  • Cylon.js - JavaScript Robotics, By Your Command.

  • node-l8smartlight (source) A node library to control the L8 Smartlight via Bluetooth or USB port

  • firmata Talk natively to Arduino using the firmata protocol.

  • tmpad source - a DIY midi pad using infrared, arduino, and nodejs. Video

  • duino - A higher level framework for working with Arduinos in node.js.

  • Arduino Drinking Game Extravaganza - AKA “The Russian” a hexidecimal drinking game for geeks by Uxebu presented at JSConf EU 2011.

  • Arduino controlling popcorn.js - Controlling a popcorn.js video with an Arduino kit.

  • Robotic JavaScript - The first live presentation of the node-serialport code set as presented at JSConf EU 2010.

  • devicestack - This module helps you to represent a device and its protocol.

  • reflecta A communication protocol that combines Arduino Libraries and NodeJS into an integrated system.

  • rc4pt-node - Control Popcorntime with an Infrared receiver and Arduino.