Node Serialport
Working with serialports can be hard, this is a collection of projects that make it easier. We currently have the following packages.
- Serialport
serialport
the only package you need to get started. - Serialport Stream
@serialport/stream
our traditional stream interface with nothing else - Parser Byte Length
- Parser cctalk
- Parser delimiter
- Parser readline
- Parser ready
- Parser regex
- Parser slip-encoder
- Abstract Binding
@serialport/binding-abstract
as an abstract class for all bindings - Mock Binding
@serialport/binding-mock
for a mock binding package
Quick Answers to Important Questions
Intro to Node-Serialport
Imagine a world where you can write JavaScript to control blenders, lights, security systems, or even robots. That's right—robots! Thanks to Node Serialport, that world is here.
Node-Serialport provides an interface for the low-level serial port code necessary to control Arduino chipsets, X10 interfaces, Zigbee radios, highway signs, lcd screens, cash drawers, motor controllers, sensor packages, fork lifts, modems, drones, CNC machines, plotters, vending machines, ccTalk coin accecptors, SMS Gateways, RFID scanners and much more. If you have a hardware device with a UART we can speak to it. The physical world is your oyster with this goodie.
For a full breakdown of why we made Node-Serialport, please read NodeBots - The Rise of JS Robotics. It explains why one would want to program robots in JS in the first place. It's not being against firmware but we can be better than it.
Developing node serialport projects
- Clone this repo
git clone git@github.com:node-serialport/node-serialport.git
- Run
npx lerna bootstrap
to setup local package dependencies (run this any time you depend on a package local to this repo) - Run
npm test
to ensure everything is working properly - Run
npm run generate
to generate a new project
API Documentation
You can generate the docs by running
npm run docs
And browsing to ./docs/index.html
.
License
SerialPort Utilities are all MIT licensed and all it's dependencies are MIT or BSD licensed.