-
Notifications
You must be signed in to change notification settings - Fork 385
Raspberry PI
This page describes specific information related to Raspberry PI and is intended for the Raspberry PI users, which uses Node-RED Docker images.
-
As per Node-RED version 1.0, native GPIO support has been dropped (see native-gpio-support).
-
As per Node-RED version 1.0 and with manifest list support add, explicit tags for Raspberry PI are dropped. (see Image-Variations-and-Manifest-Lists)
The replacement for native GPIO is node-red-node-pi-gpiod.
Disadvantages of the native GPIO support are:
- Your Docker container needs to be deployed on the same Docker node/host on which you want to control the gpio's.
- Gain access to /dev/mem of your Docker node/host
- privileged=true is not supported for
docker stack
command
node-red-node-pi-gpiod
solves all these disadvantages. With node-red-node-pi-gpiod
it is possible to interact with gpio's of multiple Raspberry Pi's from a single Node-RED container.
- Install node-red-node-pi-gpiod through the Node-RED palette
- Install and run PiGPIOd daemon on the host Pi.
- Replace all native gpio nodes with pi gpiod nodes.
- Configure pi gpiod nodes to connect to PiGPIOd daemon. Often the host machine will have an IP 172.17.0.1 port 8888 - but not always. You can use
docker exec -it mynodered ip route show default | awk '/default/ {print $3}'
to check.
For install instruction details - please refer to the node-red-node-pi-gpiod
README
With manifest list support Docker automatically detects on which architecture your Docker runs and pulls the corresponding image for it. This means for Raspberry PI 1 and Zero it pulls arm32v6
images and for Raspberry PI 2, 3 and 4 it pulls arm32v7
images. Although Raspberry PI 3 and later have 64 bit instruction sets, their operating systems like Raspbian are 32 bit compiled and therefor Docker detects arm32v7
instead of arm64v8
.