Numato Lab 32 Channel USB Gpio NodeJS Module
Background
Having played with the Raspberry Pi GPIO interface for over a year, I thought I should explore options for a faster CPU/RAM and a different architecture to enable quicker device control and more complex software. The fastest option for controlling is using a standard PC and a standard CPU architecture.
The Hardware
After some research, I found this USB-controlled GPIO module from Numato Lab:
http://numato.com/32-channel-usb-gpio-module.html
It connects to your PC using a standard USB cable, and reveals itself as a serial device which routes GPIO commands between your application and pins.
The Problem
After researching how to use it with Node.js, I found Numato's sample, it relies on the serial Node.js module, which sends asynchronous commands to a serial port, resulting in a callback nightmare.
The Solution
Below is code written to allow synchronous use of this device with Node.js and Linux:
https://github.com/fgheorghe/NumatoLab32ChannelUSBGPIOModule
This enables a clear command flow to and from the device.