Raspberry Pi Zero GPIO-Pins über Raspberry Pi Desktop steuern

Veröffenticht am 13.01.2019    von     in der Kategorie LEDs, Raspberry Pi, Raspberry Pi Desktop     bisher keine Reaktionen    Zuletzt überarbeitet am 24.09.2023


Wie in meinem Beitrag “Wie man Raspberry Pi Desktop unter VirtualBox einrichtet” schon geschrieben, bietet das Raspberry Pi Desktop Betriebssystem eine Möglichkeit die GPIO-Pins eines per USB angeschlossenen Raspberry Pi Zero mit dem Tool GPIO-Expander zu steuern. In diesem Beitrag zeige ich dir, wie du eine LED am Zero über den GPIO-Expander ansteuerst.

 

Beitragsaktualisierung 16.07.2023

Den Aufbau habe ich mit Raspberry Pi Desktop, Stand July 2022 betrieben auf einer virtuellen Maschine in der VirtualBox (Version 7) getestet. Die Einrichtung der virtuellen Maschine habe ich in meinem Beitrag “Raspberry Pi Desktop in einer virtuellen Maschine unter VirtualBox einrichten” beschrieben.  Außerdem habe ich am Ende des Beitrags beschrieben, wie du dir das Testskript mittels Terminal laden kannst.

 

Der GPIO-Expander

Das Tool bietet die Möglichkeit, einen Raspberry Pi Zero bequem vom Rechner aus zu steuern. Hierzu muss der RasPi nur per USB-Kabel am PC angeschlossen werden. Hierzu ist keine SD-Karte und kein Betriebssystem notwendig. Dies ist für viele GPIO-Projekte durchaus interessant und lässt den Aufbau und die Tests dieser Projekte vereinfacht durchführen. Die ganzen Möglichkeiten findest du in der Beschreibung der verwendeten Bibliothek. ²

Der Aufbau

Für diesen kleinen Testaufbau benötigst du folgende Bauteile:

 

 

Die fritzing-Projektdatei habe ich für dich zum Download bereitgestellt.

Vorbereitung für Raspbian Desktop

Wie immer, für ein neues Projekt solltest du zuerst einmal dein Betriebssystem auf den neusten Stand bringen. Solltest du die neuste Version des Raspbian Desktop verwenden, kannst du den Schritt der Installation von usbbootgui auslassen.

 

Zugriff auf den Pi Zero

Der Zero verfügt über einen USB-OTG-Anschluss. Über diesen kann man die erforderliche Boot-Firmware über das USB-Kabel an den Zero senden. Hierzu verbindest du den Zero mit dem USB-Anschluss deines Rechners. Wenn du das Raspbian Desktop über die VirtualBox verwendest, solltest bzw. musst den Zero über Geräte-USB der VirtualBox dem Raspbian zuweisen. Im ersten Schritt erkennt das System deinen Zero und es öffnet sich das USB-Boot-GUI. Hier wählst du nun “GPIO expansion board” aus. Bei mir kam es bei der Bespielung des Zeros immer wieder zu Abbrüchen der USB-Verbindung und ich musste diese in der Gerätesteuerung der VirtualBox dem Raspbian Desktop zuweisen.

Nach dem Bespielen des Pi Zero kannst du die Verbindung über das Terminal mit folgendem Befehl testen:

 

Zugriff auf die GPIOs

Um sich bei jedem Neustart des Betriebssystems die Festlegung der Umgebungsvariablen zu sparen, tragen wir diese in die Bash-Konfiguration des aktuellen Benutzers ein. Hierzu gibst du im Terminal folgenden Befehl ein.

Am Ende der geöffneten Textdatei trägst du folgende Zeilen ein.

Für einen einfachen Test kannst du nun die von pigpio bereitgestellte Befehlszeilenschnittstelle mit folgenden Befehlen nutzen. Die Kommentare habe ich nur zum Verständnis hinzugeschrieben.

 

GPIO Steuerung mit Python3

Um die LED-Ansteuerung mit Python einfach zu testen, starte im Terminal Python mit python3 und gib folgende Befehle ein:

Mit STRG+C kannst du das Skript abbrechen.

 

Damit du dir den Code für später speicherst, erzeuge eine Textdatei mit einem Texteditor wie zum Beispiel Nano oder Leafpad.

Den Editor öffnest du über die Terminalbefehle sudo nano ledtest.py oder sudo leafpad ledtest.py.

 

Schreibe oder kopiere in die Textdatei folgende Befehlszeilen.

Du kannst natürlich auch zum Schreiben die IDLE3 verwenden. Allerdings funktioniert die Bibliothek nicht über die grafische Benutzeroberfläche. Daher musst du das Skript über das Terminal starten. Verwende hierzu den Befehl python3 ledtest.py.

 

Wenn du dir das Abtippen oder Kopieren des Codes sparen möchtest, steht dir der Code als Textdatei zum Download bereit.

Gib im Terminal folgenden Befehl ein, dieser lädt die Textdatei herunter und speichert diese als Python-Datei ab.

 

 

Danach kannst du diese mit python3 ledtest.py aufrufen oder in Thonny bearbeiten.

 

Informationen zur gpiozero Bibliothek:

1 python-gpiozero, die GitHub-Seite der Bibliothek

² Gpiozero Documentation, PDF-Beschreibung von Ben Nuttall

3 Gpiozero Docs, die Online Beschreibung der Bibliothek


Transparenz-Hinweis:

Die auf dieser Seite verwendeten Produktlinks sind sogenannte Affiliate-Links zu einem Partnerprogramm. Für dich entstehen dadurch keine Mehrkosten, ich erhalte durch deinen Kauf über den Link eine kleine Provision.


Wolfgang Raab – Betreiber von webnist.de

Mein Name ist Wolfgang, ich beschäftige mich nun schon seit 1985 mit der EDV und im Besonderen mit der Software- und Webentwicklung.

Auf diesem Blog schreibe ich über Dinge, die mich begeistern, beschäftigen und ich der Meinung bin, es könnte für andere interessant und hilfreich sein.

Als großer Fan des Raspberry Pi finde ich es spannend, wie man den kleinen Computer in Verbindung mit dem IoT und Smart Home nutzen kann. Deshalb behandeln viele Beiträge auch genau dieses Thema.

Ich bin ein leidenschaftlicher Leser und Fotograf. Wenn ich nicht gerade in einem spannenden Roman versinke, bin ich oft unterwegs, um die Schönheit der Welt mit meiner Kamera einzufangen und zu teilen.

Weitere Infos und Fotos findest du auf einem der folgenden Plattformen.






Mehr erfahren?

Besuche die "About"-Seite meines Blogs und finde heraus, wie du mit mir in den Bereichen Web- und Mobile-Programmierung und Raspberry Pi zusammenarbeiten kannst. Hier beginnt deine digitale Reise.


Unterstützen

Dieser Beitrag hat dir gefallen und konnte dir bei deinem Projekt oder Problem behilflich sein? Dann würde ich mich sehr freuen, wenn du dich mit einer noch so kleinen Spende erkenntlich zeigen möchtest.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Notwendige Felder sind mit * markiert.

 

Kleiner Hinweis, alle Kommentare werden moderiert.

Dies bedeutet, der Kommentar wird vor der Veröffentlichung durchgelesen und von mir geprüft. Auch behalte ich mir vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen.

Entdecke die Welt von Webnist.de

Erfahre mehr über die Hintergründe meines Blogs und wie ich dich bei deinen digitalen Projekten unterstützen kann.

Aktuelles Video auf YouTube

Beschreibung der Verwendung eines TTP223B Touch Sensors am GPIO Port des Raspberry Pi mit Python.