Node-RED nodes to control a PiFace Digital add-on board for a Raspberry-Pi using the node implementation node-pifacedigital.
Note: Some later versions of the PiFace relabelled the switch inputs to be 0 - 7
instead of 1 - 8
as on the original boards.
We cannot automatically detect this so the user will have to apply some common sense.
Please install all prequisites for node-pifacedigital before you install this node: Please consider that the current Version node-pifacedigital on npm only supports node.js >=4.x.x.
On a fresh Raspbian installation you should enable SPI. Therefor start raspi-config
and
enable SPI under "Advanced Options".
After rebooting you should add your user to the SPI-Group, e.g. for user pi:
usermod -a -G spi pi
git clone https://github.com/piface/libmcp23s17.git
cd libmcp23s17/
make
sudo make install
git clone https://github.com/piface/libpifacedigital.git
cd libpifacedigital/
make
sudo make install
Run the following command in your Node-RED user directory - typically ~/.node-red
or `/opt/iobroker/node_modules/iobroker.node-red´on a iobroker installation.
npm install node-red-contrib-piface-digital
If you get error messages during the installation, try the npm option --unsafe-perm
to avoid permission errors.
A pair of input and output Node-RED nodes for the Raspberry Pi PiFace Digital add-on board.
The hardware address the board must be set with the jumper on the board. To address the boards use the following jumper settings:
Board number | JP1 | JP2 |
---|---|---|
Address 0 | 0 | 0 |
Address 1 | 1 | 0 |
Address 2 | 0 | 1 |
Address 3 | 1 | 1 |
The PiFace output node will set the selected pin on or off
depending on the value passed in. Expects a msg.payload
with either a
1 or 0 (or true or false).
The PiFace input node generates a msg.payload
with either a 0 or 1
depending on the state of the input pin.
The msg.topic
is set to piface/{the pin number}