Při práci s více raspberry, jsem narazil na problém, jak pracovat na jedné hlavní jednotce, ale ovládat piny GPIO na jiných.
Zde je řešení – Remote GPIO !
Na raspberry, které chceme ovládat:
- Povolíme jej přes raspi-config > Interfacing Options > P8 Remote GPIO
- Následně nainstalujeme podporu ve formě balíku – pigpiod
sudo apt install pigpio
- Omezíme vzdálený přístup pouze z localhostu, určitých IP adres a povolíme jako deamona při startu
sudo pigpiod -n localhost -n 192.168.1.20 sudo systemctl enable pigpiod
Na hlavním raspberry, kde běží např. skripty:
- nainstalujeme podporu pro python
sudo apt-get install python3-gpiozero python3-pigpio
- ted již máme připraveno a můžeme ovládat vzdálené GPIO, stačí uložit do proměnné PIGPIO_ADDR IP adresu vzdáleného raspberry, pokud ovládáme z jiného raspi, musíme určit faktory_pin pomocí proměnné GPIOZERO_PIN_FACTORY=pigpio
GPIOZERO_PIN_FACTORY=pigpio PIGPIO_ADDR=192.168.1.10 python relay_module_test.py