Warum GPIO Zero besser ist als RPi.GPIO für Raspberry Pi-Projekte

Warum GPIO Zero besser ist als RPi.GPIO für Raspberry Pi-Projekte

Der Raspberry Pi ist der perfekte Computer zum Lernen. Das Linux-basierte Raspbian OS hat Python eingebaut, was es zu einem großartigen ersten System für Anfänger macht. Seine Universal Input/Output (GPIO)-Pins machen es angehenden Herstellern leicht, mit DIY-Elektronikprojekten zu experimentieren.





Es ist besonders einfach, wenn Sie Codebibliotheken verwenden, die diese Pins steuern, und die beliebte Python-Bibliothek RPi.GPIO ist ein hervorragendes Beispiel für eine solche Bibliothek. Aber ist es der beste Weg für Anfänger? Begleiten Sie uns bei unseren Ermittlungen.





Was ist GPIO Zero?

Die GPIO Zero-Bibliothek ist eine Python-Bibliothek zum Arbeiten mit GPIO-Pins. Es wurde geschrieben von Raspberry Pi-Community-Manager Ben Nuttall . Es soll intuitiv und 'freundlich' sein und den Python-Code für die meisten regulären Raspberry Pi-Anwendungsfälle rationalisieren.





Durch die Kombination einfacher Benennungspraktiken und beschreibender Funktionen ist GPIO Zero für Anfänger leichter zu verstehen. Sogar erfahrene Benutzer der RPi.GPIO-Bibliothek mögen es bevorzugen – und um zu verstehen, warum, werfen wir einen Blick darauf, wie RPi.GPIO im Vergleich zu GPIO Zero abschneidet.

Was ist falsch an RPi.GPIO?

Nichts. Gar nichts. RPi.GPIO wurde Anfang 2012 vom Entwickler Ben Croston veröffentlicht. Es ist eine robuste Bibliothek, die es Benutzern ermöglicht, GPIO-Pins über Code zu steuern. Es verfügt über fast jedes Anfängerprojekt wir haben abgedeckt.



So speichern Sie Videos von Websites

Trotz seiner umfangreichen Nutzung wurde RPi.GPIO nie für Endbenutzer entwickelt. Es ist ein Beweis für das gute Design von RPi.GPIO, dass es dennoch so viele Anfänger verwenden.

Was ist so gut an GPIO Zero?

Wenn du es bist Python-Code lernen , lernen Sie, dass es leicht lesbar und so kurz wie möglich sein sollte. GPIO Zero zielt darauf ab, beide Punkte abzudecken. Aufbauend auf RPi.GPIO als Front-End-Sprachwrapper vereinfacht es die Einrichtung und Verwendung von GPIO.





Betrachten Sie das folgende Beispiel zum Einrichten und Einschalten einer LED:

Der obige Code sollte jedem bekannt sein, der es hat benutzten ihren Pi, um LEDs zu steuern .





Die Bibliothek RPi.GPIO wird importiert und ein Pin für die LED wird deklariert. Der Pin-Layout-Typ ist eingerichtet (BCM- und BOARD-Modus sind erklärt in unserem GPIO-Guide ) und der Pin wird als Ausgang eingerichtet. Dann wird der Stift eingeschaltet.

Dieser Ansatz ist sinnvoll, aber die GPIO Zero-Methode ist viel einfacher:

GPIO Zero hat ein Modul für LEDs, das beim Start importiert wird. Dies bedeutet, dass Sie die PIN-Nummer angeben und die anrufen können led.on() Methode.

wie viel platz braucht win 10

Warum ist der Ansatz von GPIO Zero besser?

Es gibt einige Gründe, warum diese Arbeitsweise eine Verbesserung gegenüber RPi.GPIO darstellt.

Erstens erfüllt es die Anforderung „leicht zu lesen, so kurz wie möglich“. Die RPi.GPIO-Setup-Anweisungen sind zwar leicht zu verstehen, aber nicht notwendig. Eine LED wird immer ein Ausgang sein, also richtet GPIO Zero die Pins hinter den Kulissen ein. Das Ergebnis sind nur drei Codezeilen, die eingerichtet werden müssen und dann eine LED zum Leuchten bringen.

Sie werden vielleicht feststellen, dass im GPIO Zero-Beispiel kein Board-Modus-Setup vorhanden ist. Die Bibliothek verwendet nur die Broadcom (BCM)-Nummerierung für die Pins. Bibliotheksdesigner Ben Nuttall erklärt warum in einem 2015 RasPi.tv-Interview :

„Die Nummerierung von BOARDs mag einfacher erscheinen, aber ich würde sagen, dass neue Benutzer denken, dass alle Pins Allzweck-Pins sind – und das sind sie nicht. Schließen Sie eine LED an Pin 11 an. Warum nicht noch mehr an Pin 1, 2, 3 und 4? Nun 1 ist 3V3. 2 und 4 sind 5V. Ein Mangel an Bewusstsein für den Zweck der Stifte kann gefährlich sein.“

So gesehen ist es absolut sinnvoll, die BCM-Nummern zu verwenden. Angesichts der Tatsache, dass GPIO Zero in Zukunft Standard in der Raspberry Pi-Dokumentation sein wird, lohnt es sich, es zu lernen!

Ist GPIO Zero tatsächlich besser?

Obwohl es auf den ersten Blick einfacher erscheint, gibt es mit der neuen Bibliothek irgendwelche Probleme? Wie bei jeder neuen Codierungsbibliothek ist es Ansichtssache. Einerseits ist das Entfernen des Setup-Codes sowohl für Anfänger als auch für erfahrene Programmierer hervorragend geeignet. Das Schreiben von Code ist einfacher und schneller.

Andererseits ist es für das Lernen wichtig, genau zu wissen, was vor sich geht. Nehmen Sie das Beispiel für das Einrichten einer Schaltfläche aus dem GPIO Zero-Dokumentation :

Die Taste Modul vereinfacht die Einrichtung für Taster. Es weiß, dass Schaltflächen Eingänge sind, und verwendet daher die deklarierte Pinnummer für die Einrichtung. Auch die Suche nach einem Tastendruck ist mit dem .wird gedrückt Tastendrücke zu erkennen.

Wir haben genau diese Funktionalität in der Raspberry Pi-Tasten-Tutorial , was eine gute Möglichkeit ist, sich mit den Unterschieden in den Bibliotheken vertraut zu machen.

Benutzer der RPi.GPIO-Bibliothek werden feststellen, dass die internen Pull-Up/Pull-Down-Widerstände des Pi nicht im Code eingerichtet sind. Dies wirft eine interessante Frage auf. Ist es für Anfänger wichtig, sich mit Pull-Up/Down-Widerständen auszukennen? Auch auf diese Frage hat Ben Nuttall eine Antwort:

„Man könnte argumentieren, dass es gut ist, über Klimmzüge und Pulldowns Bescheid zu wissen, und Sie haben Recht – aber warum muss ich das am ersten Tag unterrichten?[...] Wenn Sie die Elektronik unterrichten wollen? mehr Tiefe, dafür gibt es viel Spielraum – aber es sollte nicht obligatorisch sein, wenn Sie gerade erst anfangen.'

Im Großen und Ganzen dürfte der einfache Ansatz von GPIO Zero sowohl für Anfänger als auch für Veteranen eine gute Sache sein. Außerdem geht RPi.GPIO nirgendwo hin. Es wird immer da sein, um bei Bedarf zurückzuschalten.

Ist Python die einzige Option?

Python ist die Sprache, für die Pi bekannt ist, aber es ist nicht die einzige Option. Wenn Sie bereits mit der Programmierung in der Sprache C vertraut sind, dann Verdrahtung Mehr hat Sie abgedeckt.

Alternativ, wenn Sie bereits in JavaScript programmieren, kann Node.js problemlos auf dem Pi installiert werden. Der GPIO-Zugriff ist über das rpi-gpio npm-Bibliothek . Rubin auf Schienen kann auch auf dem Raspberry Pi installiert werden, obwohl der Pi möglicherweise nicht der beste Weg ist, um Rails zu lernen!

All diese Alternativen, zusammen mit mehrsprachigen Bibliotheken wie der ausgezeichneten billig kann die Auswahl einer Bibliothek verwirrend machen. Hier zeichnet sich GPIO Zero aus: für Anfänger, die sich fragen, wie und wo sie anfangen sollen.

Wenn Sie an einem Punkt sind, an dem Sie etwas benötigen, das es nicht bietet, sind Sie mehr als bereit, in Ihrem eigenen Tempo in diese anderen Bibliotheken einzutauchen.

Erste Schritte mit GPIO Zero selbst

GPIO Zero ist die neueste Bibliothek, die für den Pi Furore macht, und das aus gutem Grund. Für die meisten Benutzer ist die Codierung für GPIO-Pins einfacher zu lesen und schneller zu schreiben.

So finden Sie Bilder von sich selbst im Internet

Angesichts der Verwendung des Raspberry Pi im Bildungsbereich ist alles, was das Lernen natürlicher macht, eine gute Sache. Während RPi.GPIO bisher perfekt war, nimmt GPIO Zero eine gute Idee und macht sie noch besser.

Eine gute Möglichkeit, mit GPIO Zero zu beginnen, besteht darin, ein Anfängerprojekt wie den Musical Door Sensor zu nehmen und in die neue Bibliothek zu portieren.

Teilen Teilen Tweet Email 5 Tipps zum Aufladen Ihrer VirtualBox-Linux-Maschinen

Haben Sie genug von der schlechten Leistung virtueller Maschinen? Hier ist, was Sie tun sollten, um Ihre VirtualBox-Leistung zu steigern.

Weiter lesen
Verwandte Themen
  • Heimwerken
  • Programmierung
  • Himbeer-Pi
  • Python
  • GPIO
Über den Autor Ian Buckley(216 veröffentlichte Artikel)

Ian Buckley lebt als freiberuflicher Journalist, Musiker, Performer und Videoproduzent in Berlin. Wenn er nicht gerade schreibt oder auf der Bühne steht, bastelt er an DIY-Elektronik oder Code herum, in der Hoffnung, ein verrückter Wissenschaftler zu werden.

Mehr von Ian Buckley

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren