Raspberry Pi: GPIO steuern und programmieren

Raspberry Pi: GPIO - General Purpose Input Output

Es gibt viele verschiedene Möglichkeiten um die GPIOs zu steuern und zu programmieren. Welche man verwendet hängt von den Anforderungen ab, die man hat. Oder einfach auch von den eigenen Fähigkeiten sich in bestimmte Programmiersprachen und Bibliotheken einzuarbeiten. Vorkenntnisse machen den Einstieg einfacher. Aber unter Umständen ist das dann nicht der richtige Weg für das, was man eigentlich mit den GPIOs vorhat. Deshalb hier eine kleine Auswahl zu den Möglichkeiten GPIOs zu steuern und zu programmieren.

  • Shell/Bash: sysfs
  • Shell/Bash: wiringPi
  • Shell/Bash: pigpio
  • Programmieren mit Python

Shell/Bash: sysfs

Auf der Kommandozeile (Shell) steht "sysfs" zur Verfügung. Es gehört zur Raspbian-Linux-Distribution. Im Prinzip handelt es sich um einen Verzeichnisbaum, über den sich die GPIOs ansprechen lassen.
Die Verwendung von "sysfs" ist die naheliegendste Möglichkeit, die GPIOs zu steuern. Aber, es ist kaum intuitiv bedienbar. In der Regel wird man versuchen sich selber Vereinfachungen zu bauen oder andere Lösungen ausprobieren.

Shell/Bash: wiringPi

Eine Vereinfachung auf der Kommandozeile ist "wiringPi". Über einfache Kommandos lassen sich die GPIOs steuern und programmieren. Aber, "wiringPi" ist schon etwas älter und nicht mehr die bevorzugte Methode, um GPIOs anzusprechen.

Shell/Bash: pigpio

Eine Vereinfachung auf der Kommandozeile ist "pigpio". Es ist gleichzeitig auch die bevorzugte Methode, mit der sich die GPIOs auf der Kommandozeile einfach steuern und programmieren lassen.

Python: GPIO Zero

Python ist eine einfache Programmiersprache für die es viele Bibliotheken, Erweiterungen und fertige Quelltexte gibt.
Eine solche Bibliothek ist GPIO Zero, pigpio oder RPi.GPIO, die eine einfache Schnittstelle bietet, um Bauelementen, Bauteilen und Geräten, die mit den GPIOs eines Raspberry Pi verbunden sind, anzusteuern. Es ist die einfachste Art, um mit Elektronik und dem Raspberry Pi zu arbeiten und zu programmieren.
Mit nur wenigen und verständlichen Zeilen Code kann man Bauteile funktional miteinander verbinden. Nicht nur LEDs, Taster, sondern auch Sensoren und Analog-Digital-Wandler lassen sich damit steuern.

GPIO-Belegung

Egal wie man die GPIOs programmiert, es besteht immer das selbe Problem. Welches Nummernsystem wird für die Ansteuerung der einzelnen GPIOs verwendet? Wird die GPIO-Nummer (BCM) verwendet? Oder wird die Pin-Nummer verwendet? Beides ist nicht identisch und wird von Anfängern gerne mal verwechselt. Welches Nummernsystem man verwendet ist eigentlich egal. Der einfache Weg geht über die Pin-Nummer, weil man dann im Zweifelsfall einfach nur durchzählen muss. Das vereinfacht auch die Beschaltung. Tendenziell ist jedoch die GPIO-Nummer (BCM) zu empfehlen, weil die maßgeblich ist, welcher GPIO gemeint ist.

Weitere verwandte Themen:

Hardware-nahes Programmieren mit dem Raspberry Pi, Python und GPIO Zero

Elektronik-Set Raspberry Pi Edition

Das "Elektronik-Set Raspberry Pi Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit Python und GPIO Zero.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Verschiedene Zustände auswerten und anzeigen lassen
  • LED mit Taster einschalten und ausschalten
  • Relais-Board steuern
  • LED, Relais-Board und Motor über ULN2003A steuern
  • Ampel- und Lauflicht-Steuerung
  • Herunterfahren per Taster
  • Reaktionsspiel mit Tastern und LEDs
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen

Frag Elektronik-Kompendium.de

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!