Fork of node-red-contrib-gpio with updated deps for newer node versions
npm install node-red-contrib-gpio-2node-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
Search for node-red-contrib-gpio
From inside your node-red directory:
```
npm install node-red-contrib-gpio
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
Please see the embedded examples.
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.