This is a tutorial on how to install the AndinoIO Controller script. For a tutorial on how to connect to the TCP server established by the script via NodeRed, please refer to Andino X1: Digital Inputs and Relay Output custom node


The AndinoIO controller script allows the user to easily use read the inputs and control the relays of the AndinoIO board from other applications. Other boards than the Andino IO are not supported! For the X1, the serial connection with the microcontroller can be used. For the Andino XIO, similar functionality as this script can be achieved from within Node-Red by using GPIO nodes in conjunction with a TCP stack. The script establishes a TCP server on port 1997 by default.

Controller Script Diagram

First, make sure that you have python3 installed on your RaspberryPi

sudo apt-get install -y python3 python3-pil python3-pip

You also need to install fontconfig:

sudo apt-get install -y fontconfig

After the installation is complete, we need to install some drivers and other dependencies for the OLED:

sudo pip3 install adafruit_ssd1306
sudo pip3 install gpiozero
sudo pip3 install rpi.gpio

Navigate to the pi home directory

cd /home/pi

and download the script from Github

wget https://raw.githubusercontent.com/andino-systems/Andino/master/Andino-Common/src/NodeRed/AndinoIONode/python/v2/oee-tcp-multiple.py

make sure the script is executable

chmod 755 oee-tcp-multiple.py

The script can now be started using

python3 oee-tcp-multiple.py

To start the script on boot, first edit the rc.local file

sudo nano /etc/rc.local

Right before exit 0, add the following line

/home/pi/io-controller-scripts.sh

Press Ctrl + O to save and Ctrl + X to exit. Then, create the new script in the pi home directory

nano /home/pi/io-controller-scripts.sh

Add the following content in the file:

#!/bin/bash

pkill python3
cd /home/pi/
/usr/bin/python3 oee-tcp-multiple.py &

Save and quit, then make sure the script is executable

chmod 755 /home/pi/io-controller-scripts.sh

When rebooting, the controller script should now start automatically.