Werbung

Der Raspberry Pi ist der perfekte Computer zum Lernen. Das Linux-basierte Raspbian-Betriebssystem verfügt über Python, was es zu einem großartigen ersten System für Anfänger-Codierer macht. Die GPIO-Pins (General Purpose Input / Output) erleichtern angehenden Herstellern das Experimentieren mit DIY-Elektronikprojekten.

Dies ist besonders einfach, wenn Sie Codebibliotheken verwenden, die diese Pins und das beliebte RPi steuern. Die GPIO Python-Bibliothek 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 für die Arbeit mit GPIO-Pins. Es wurde geschrieben von Raspberry Pi Community Manager Ben Nuttall. Mit dem Ziel, intuitiv und „freundlich“ zu sein, wird Python-Code für die meisten regulären Raspberry Pi-Anwendungsfälle optimiert.

GPIO Zero kombiniert einfache Benennungspraktiken und beschreibende Funktionen und ist für Anfänger leichter zugänglich. Auch erfahrene Benutzer des RPi. Die GPIO-Bibliothek mag es vorziehen - und um zu verstehen, warum, schauen wir uns an, wie RPi funktioniert. GPIO ist mit GPIO Zero vergleichbar.

instagram viewer

Was stimmt nicht mit RPi? GPIO?

Nichts. Gar nichts. RPi. GPIO wurde Anfang 2012 vom Entwickler Ben Croston veröffentlicht. Es ist eine robuste Bibliothek, mit der Benutzer GPIO-Pins über Code steuern können. Es verfügt über in fast jedes Anfängerprojekt Die 11 besten Himbeer-Pi-Projekte für AnfängerDiese Raspberry Pi-Projekte für Anfänger eignen sich hervorragend, um mit den Funktionen jedes Raspberry Pi-Modells zu beginnen. Weiterlesen Wir haben abgedeckt.

Trotz seiner umfangreichen Verwendung ist RPi. GPIO wurde nie für Endbenutzer entwickelt. Es ist ein Testament für RPi. Das gute Design von GPIO, das so viele Anfänger trotzdem verwenden.

Was ist so gut an GPIO Zero?

Wenn Sie es sind Python-Code lernenSie lernen, dass es leicht zu lesen und so kurz wie möglich sein sollte. GPIO Zero zielt darauf ab, beide Punkte abzudecken. Gebaut auf RPi. GPIO als Front-End-Wrapper vereinfacht die Einrichtung und Verwendung von GPIO.

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

Code zum Einrichten und LED zum Ausgeben über das RPi. GPIO-Bibliothek

Der obige Code sollte jedem ziemlich vertraut sein, der hat benutzte ihren Pi, um LEDs zu steuern.

Das RPi. Die GPIO-Bibliothek 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-Handbuch Alles, was Sie über Raspberry Pi GPIO Pins wissen müssenDer Raspberry Pi ist ein fantastischer kleiner Computer, aber was genau machen die GPIO-Pins (General Purpose Input / Output)? Kurz gesagt, sie eröffnen eine ganze Welt des elektronischen Bastelns und Erfindens. Weiterlesen ) und der Pin wird als Ausgang eingerichtet. Dann wird der Stift eingeschaltet.

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

Einrichten einer LED mit GPIO Zero

GPIO Zero verfügt über ein Modul für LEDs, das zu Beginn importiert wird. Dies bedeutet, dass Sie die PIN-Nummer deklarieren und die anrufen können led.on () Methode.

Warum ist der Ansatz von GPIO Zero besser?

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

Erstens erfüllt es die Anforderung „einfach zu lesen, so kurz wie möglich“. Während das RPi. GPIO-Setup-Anweisungen sind leicht zu verstehen und nicht erforderlich. Eine LED ist immer ein Ausgang, daher richtet GPIO Zero die Pins hinter den Kulissen ein. Das Ergebnis sind nur drei Codezeilen, die eingerichtet werden müssen. Anschließend leuchtet eine LED auf.

Möglicherweise stellen Sie fest, dass im GPIO Zero-Beispiel kein Board-Modus eingerichtet 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 BOARD-Nummerierung mag einfacher erscheinen, aber ich würde sagen, dass neue Benutzer glauben, dass alle Pins für allgemeine Zwecke bestimmt 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 anschließen? Gut 1 ist 3V3. 2 und 4 sind 5V. Ein mangelndes Bewusstsein für den Zweck der Stifte kann gefährlich sein. “

Auf diese Weise 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 zu lernen!

Ist GPIO Zero tatsächlich besser?

Hat die neue Bibliothek Probleme, obwohl sie an der Oberfläche einfacher zu sein scheint? Wie bei jeder neuen Codierungsbibliothek ist dies 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 wichtig zu wissen, was genau vor sich geht, um zu lernen. Nehmen Sie das Beispiel des Einrichtens einer Schaltfläche aus dem GPIO Zero-Dokumentation:

Beispielcode für den GPIO Zero Button

Das Taste Modul vereinfacht die Einrichtung von Drucktasten. Es weiß, dass Tasten Eingänge sind, und verwendet daher die deklarierte Pin-Nummer für die Einrichtung. Das Überprüfen auf Knopfdruck ist mit dem ebenfalls einfacher .wird gedrückt um Tastendrücke zu erkennen.

Wir haben genau diese Funktionalität in der Raspberry Pi Button Tutorial 2 Möglichkeiten, Ihrem Raspberry Pi-Projekt eine Schaltfläche hinzuzufügenWie verbindest du eine Taste mit deinem Raspberry Pi? Hier sind zwei Möglichkeiten, um mit Python und einer LED zu beginnen. Weiterlesen Dies ist eine großartige Möglichkeit, sich mit den Unterschieden in den Bibliotheken vertraut zu machen.

Benutzer des RPi. Die GPIO-Bibliothek wird 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, über Pull-Up / Down-Widerstände Bescheid zu wissen? Wieder hat Ben Nuttall eine Antwort auf diese Frage:

"Sie könnten argumentieren, dass es gut ist, über Klimmzüge und Klimmzüge Bescheid zu wissen, und Sie hätten Recht - aber warum muss ich das am ersten Tag unterrichten? […] Wenn Wenn Sie die Elektronik vertiefen möchten, gibt es dafür viel Spielraum - aber es sollte nicht obligatorisch sein, wenn Sie nur lernen gestartet."

Insgesamt ist der einfache Ansatz von GPIO Zero wahrscheinlich sowohl für Anfänger als auch für Veteranen eine gute Sache. Außerdem RPi. GPIO geht nirgendwo hin. Es wird immer da sein, um bei Bedarf zurückzuschalten.

Ist Python die einzige Option?

Python ist die Sprache, für die der Pi bekannt ist, aber nicht die einzige Option. Wenn Sie bereits mit der Programmierung in der Sprache C vertraut sind, dann Verkabelung Pi hat dich gedeckt.

Wenn Sie bereits in JavaScript programmieren, kann Node.js alternativ einfach auf dem Pi installiert werden. Der GPIO-Zugang ist über das verfügbar rpi-gpio npm Bibliothek. Ruby on Rails kann auch auf dem Raspberry Pi installiert werden, obwohl der Pi möglicherweise nicht der ist beste Weg, um Rails zu lernen!

Alle diese Alternativen, zusammen mit mehrsprachigen Bibliotheken wie die ausgezeichnete Pigpio 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 angelangt 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 Yourself

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

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

Ein guter Einstieg in GPIO Zero ist ein Anfängerprojekt wie das Musiktürsensor Spielen Sie Ihr eigenes Thema, wenn Sie den Raum mit Raspberry Pi betretenWollten Sie schon immer einmal zu einem persönlichen Empfang nach Hause kommen? In diesem einfachen Raspberry Pi-Projekt verwenden wir einen Reed-Schalter, um eine Melodie auszulösen, wenn eine Tür geöffnet wird. Weiterlesen und portieren Sie es in die neue Bibliothek.

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