GPIO Zero allows you to create objects representing GPIO devices. As well as running it on a Raspberry Pi, you can also install GPIO Zero on a PC and create objects referencing GPIO pins on a Pi over the network.
To do this, you'll need to do a few things to get set up:
Enable Remote GPIO on the Pi in the Raspberry Pi Configuration Tool.
Run the pigpio daemon on the Pi:
Get the Pi's IP address:
Install gpiozero and pigpio on your host machine (not necessary on Raspbian or x86 PIXEL):
sudo apt install python3-pip
- Install gpiozero and pigpio:
sudo pip3 install gpiozero pigpio
Run your Python environment with the
PIGPIO_ADDRenvironment variable set, e.g one of the following:
PIGPIO_ADDR=192.168.1.4 idle3 &
If running on a Raspberry Pi, you also need to set the pin factory to
GPIOZERO_PIN_FACTORY=PiGPIOPin PIGPIO_ADDR=192.168.1.4 ipython3
GPIOZERO_PIN_FACTORY=PiGPIOPin PIGPIO_ADDR=192.168.1.4 python3
GPIOZERO_PIN_FACTORY=PiGPIOPin PIGPIO_ADDR=192.168.1.4 idle3 &
Now use GPIO Zero like normal, and the devices will be controlled by GPIO pins on the remote Pi:
>>> from gpiozero import LED >>> led = LED(2) >>> led.blink() # LED on remote Pi's pin 2 now blinking
Alternatively, use pin objects as described in the pins documentation.