Piscope
Bei den vielen Möglichkeiten, die Pigs bietet, findet sich jedoch nichts, was die Funktion gpio -readall aus WiringPi abbildet. Das hat einen guten Grund: Um den Status der GPIOs auszulesen, verwendet Pigpio das Werkzeug Piscope. Dabei handelt es sich um eine GTK+3-Applikation, die auf allen Betriebssystemen läuft. Sie verbindet sich direkt mit dem Daemon Pigpiod und holt sich die Daten der GPIOs auch dann, wenn bereits andere Programme mit dem Daemon verbunden sind. Dieser Umstand erlaubt es, Projekte, die die GPIO verwenden, komfortabel zu debuggen.
Abbildung 2 vermittelt einen Eindruck davon, wie sich das Tool präsentiert. Die hier gezeigte Ausgabe wurde durch ein Programm erzeugt, das nacheinander die GPIOs 0 bis 15 an- und wieder ausschaltet. Um auch auf die GPIO 0 und 1 zugreifen zu können, startete der Autor den Daemon Pigpiod mit dem Maskierungsparameter -x 0xFFFFFFFF.

Abbildung 2: Piscope im Einsatz. Hier liest es die laufend geänderten Zustände der Pins 0 bis 15 aus.
Es gibt mehrere Möglichkeiten, Piscope zu installieren und zu verwenden. Auf zwei davon gehen wir hier etwas genauer ein. Die naheliegendste Variante besteht darin, das Werkzeug direkt auf dem Raspberry Pi zu installieren und auch die Ausgabe über den RasPi laufen zu lassen (Listing 4). Diese Vorgehensweise lädt die Quellen direkt auf den Pi herunter und kompiliert sie vor Ort. Piscope verbindet sich dann über die Localhost-Schnittstelle mit dem Daemon Pigpiod. Je nachdem, welche Basisinstallation von Raspberry Pi OS Sie verwenden, kommt es vor, dass Sie noch einige Abhängigkeiten nachziehen müssen.
Listing 4
Piscope lokal
$ wget abyz.me.uk/rpi/pigpio/piscope.tar $ tar xvf piscope.tar $ cd PISCOPE/ $ make hf $ make install $ ./piscope
Die zweite Variante fällt schon ein wenig kniffliger aus. Hierbei laden Sie die Binärversion von Piscope auf einen Linux-PC herunter und verbinden Sie über das Netzwerk mit dem Daemon auf dem Raspberry Pi. Die IP-Adresse des RasPi entnimmt Piscope in diesem Fall der Umgebungsvariablen PIGPIO_ADDR (Listing 5), die Sie entsprechend setzen müssen. Im Test ließ sich Piscope auf diese Weise unter Ubuntu problemlos betreiben.
Listing 5
Piscope via LAN
$ wget https://abyz.me.uk/rpi/pigpio/piscope.tar $ tar -xvf piscope.tar $ cd PISCOPE/ $ export PIGPIO_ADDR=raspberrypi.local $ ./piscope.x86_64
Wir eingangs erwähnt gibt es daneben noch mehrere weitere Möglichkeiten, Piscope zu verwenden. Wenn Sie sich für die zusätzlichen Installationsvarianten interessieren, finden Sie auf der Webseite Tools weitere Informationen dazu [5].
Fazit
Die Bibliothek Pigpio eignet sich uneingeschränkt als leistungsfähige Alternative zu WiringPi. Es gibt Wrapper und Module für alle gängigen Programmiersprachen. Die vorhandenen Werkzeuge erlauben ein reibungsfreies Arbeiten. Der Daemon lässt sogar das Überwachen der GPIO über das Netzwerk problemlos zu.
An die gegenüber WiringPi geänderte Namensgebung der einzelnen GPIOs gewöhnt man sich bei der Arbeit mit Pigpio schnell. Eine Kleinigkeit fiel allerdings auf: Seit etwa einem Jahr ruht das Projekt auf Github. Es bleibt zu hoffen, dass die Ursache schlicht darin liegt, dass seitdem einfach keine Änderungen nötig waren. (tle)
Der Autor
Martin Mohr erlebte die komplette Entwicklung der modernen Computertechnik live mit. Nach dem Studium entwickelte er überwiegend Java-Applikationen. Mit dem Raspberry Pi erwachte seine alte Liebe zur Elektronik wieder.
Infos
- Begründung der Projekteinstellung von WiringPi: https://web.archive.org/web/20190823214617/http://wiringpi.com/wiringpi-deprecated/
- Pigpio: https://abyz.me.uk/rpi/pigpio/
- Parameter des Pigpio-Daemon: https://abyz.me.uk/rpi/pigpio/pigpiod.html
- Parameter von Pigs: https://abyz.me.uk/rpi/pigpio/pigs.html
- Installationsoptionen Piscope: https://abyz.me.uk/rpi/pigpio/piscope.html





