node-serialport 是一个 Node.js 的包,用来对串口数据进行读写操作。
基本示例代码:var SerialPort = require("serialport").SerialPortvar 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.