node-red-contrib-gpio
v0.51.0
Published
A set of node-red nodes for using Johnny-Five and IO plugins
Downloads
439
Maintainers
Readme
node-red-contrib-gpio
A set of input and output nodes for controlling General Purpose Input and Outputs (GPIOs) though the use of Johnny-Five I/O Plugins as well as running Johnny-Five scripts!
- Support for NodeJS 12 and serialport 8.
- Johnny-Five 1.3
Install via Node-RED Palette Manager
Search for node-red-contrib-gpio
Install via NPM
From inside your node-red directory:
npm install node-red-contrib-gpio
Control I/O for Analog, Digital, PWM and Servos
Read and Write I2C devices
Full Johnny-Five script support!
Supported Hardware
node-red-contrib-gpio supports several Johnny-Five I/O classes:
| Device | IO Plugin | |----------|-------------| |Arduino/Firmata|firmata| |Raspberry Pi|raspi-io| |BeagleBone Black, Green, Pocket|beaglebone-io| |C.H.I.P.|chip-io| |Galileo/Edison|galileo-io| |Blend Micro|blend-micro-io| |LightBlue Bean|bean-io| |ble-io(esp32, curie)|ble-io| |Circuit Playground(classic)|playground-io| |Electirc Imp|imp-io| |Particle(Spark) Core|particle-io| |Odroid C2|odroid-io|
Arduino is supported out of the box, but for other devices, you'll need to install their IO plugin.
For example to install the Raspberry Pi plugin:
npm install raspi-io
How to use
Please see the embedded examples.
Remote Arduino Support
If you're using Arduino/Firmata, you can connect to a remote device via a raw tcp socket, or an MQTT connection.
For example, if you wanted to connect using tcp, in node-red you could specify an ip and port. On another machine with an Arduino plugged in you could run a server that relays a tcp socket to a serial port such as: tcpSerialRelay.js
If you wanted to connect an Arduino to an MQTT server you can use a script such as: bindSerialToMQTT.js. In node-red you can connect to the same MQTT server and subscribe to the topic the arduino is publishing on, while publishing to the topic that the arduino is subscribed to.