Zero ist das neue Modewort in der Raspberry-Pi-Welt. Neben dem Zero-Modell wurde kürzlich auch die neue Python-Bibliothek gpiozero
vorgestellt, die die Steuerung von Hardware-Komponenten durch GPIOs besonders einfach macht. Die Bibliothek ist eine Alternative zur bekannten RPi.GPIO-Bibliothek.
Installation
Die Bibliothek ist momentan nicht standardmäßig installiert. Abhilfe schafft das folgende Kommando:
sudo apt-get install python-gpiozero python3-gpiozero
LED ein- und ausschalten
Das folgende Hello-World-Beispiel zeigt, wie Sie eine LED, die über einen Vorwiderstand mit Pin 16 des J8-Headers verbunden ist, für eine Sekunde ein- und dann wieder ausschalten:
#!/usr/bin/python3
from gpiozero import LED
from time import sleep
myled = LED(23) # BCM-Nummer 23 = Pin 16 des J8-Header
myled.on()
sleep(1)
myled.off()
Zwei Dinge sind hier bemerkenswert:
- Zum einen werden die GPIOs über die Nummern der BCM-Dokumentation angesprochen, nicht über Pin-Nummern des J8-Headers!
- Zum anderen enthält die Bibliothek fertige Klassen für häufig vorkommende Hardware-Komponenten. Neben
LED
gibt es auchButton
,TrafficLights
(eine Kombination aus drei LEDs),RGBLED
(eine dreifarbige LED, die über drei GPIO-Ausgänge gesteuert wird),MotionSensor
(für PIR-Bewegungssensoren),LightSensor
,Motor
(zur Steuerung von zwei GPIOs für Vorwärts- und Rückwärts-Signale),Robot
(zur Steuerung mehrere Motoren),MCP3008
(für den gleichnamigen A/D-Converter),Buzzer
etc.
Einen guten Klassenüberblick gibt diese Seite.
Dokumentation
Zu gpiozero
gibt es zwar keine man
-Seiten, aber dafür eine vorbildliche Dokumentation im Web: