Node.js 串口读写包 node-serialport
node-serialport 是一个 Node.js 的包,用来对串口数据进行读写操作。
基本示例代码:
varSerialPort=require("serialport").SerialPort
varserialPort=newSerialPort("/dev/tty-usbserial1",{
baudrate:57600
},false);//thisistheopenImmediatelyflag[defaultistrue]
serialPort.open(function(error){
if(error){
console.log('failedtoopen:'+error);
}else{
console.log('open');
serialPort.on('data',function(data){
console.log('datareceived:'+data);
});
serialPort.write("ls\n",function(err,results){
console.log('err'+err);
console.log('results'+results);
});
}
});
罗列所有串口:
varserialPort=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 portfirmata Talk natively to Arduino using the firmata protocol.tmpad source - a DIY midi pad using infrared, arduino, and nodejs. Videoduino - 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.