Dlaczego GPIO Zero jest lepsze niż RPi.GPIO dla projektów Raspberry Pi

Dlaczego GPIO Zero jest lepsze niż RPi.GPIO dla projektów Raspberry Pi

Raspberry Pi to idealny komputer do nauki. Oparty na Linuksie system operacyjny Raspbian ma wbudowany Python, co czyni go doskonałym pierwszym systemem dla początkujących programistów. Jego piny General Purpose Input/Output (GPIO) ułatwiają początkującym producentom eksperymentowanie z projektami elektroniki DIY.





Jest to szczególnie łatwe, gdy używasz bibliotek kodu, które kontrolują te piny, a popularna biblioteka Python RPi.GPIO jest doskonałym przykładem takiej biblioteki. Ale czy to najlepsza ścieżka dla początkujących? Dołącz do nas, gdy badamy.





Co to jest zero GPIO?

Biblioteka GPIO Zero to biblioteka Pythona do pracy z pinami GPIO. To było napisane przez Menedżer społeczności Raspberry Pi Ben Nuttall . Ma być intuicyjny i „przyjazny” i usprawnia kod Pythona dla większości zwykłych przypadków użycia Raspberry Pi.





Łącząc proste praktyki nazewnictwa i funkcje opisowe, GPIO Zero jest bardziej przystępne dla początkujących do zrozumienia. Nawet doświadczeni użytkownicy biblioteki RPi.GPIO mogą ją preferować --- i aby zrozumieć dlaczego, spójrzmy, jak RPi.GPIO wypada w porównaniu z GPIO Zero.

Co jest nie tak z RPi.GPIO?

Nic. Zupełnie nic. RPi.GPIO zostało wydane na początku 2012 roku przez dewelopera Bena Crostona. Jest to solidna biblioteka pozwalająca użytkownikom kontrolować piny GPIO z kodu. Posiada w prawie każdy projekt dla początkujących omówiliśmy.



jak nagrać rozmowę telefoniczną na moim iPhonie?

Mimo szerokiego zastosowania RPi.GPIO nigdy nie został zaprojektowany z myślą o użytkownikach końcowych. Jest to świadectwo dobrego projektu RPi.GPIO, że mimo to wielu początkujących z niego korzysta.

Co jest takiego dobrego w GPIO Zero?

Kiedy jesteś nauka kodu Pythona , dowiesz się, że powinien być czytelny i jak najkrótszy. GPIO Zero ma na celu objęcie obu punktów. Zbudowany na bazie RPi.GPIO jako wrapper języka front-end, upraszcza konfigurację i użytkowanie GPIO.





Rozważmy następujący przykład, konfigurując i włączając diodę LED:

Powyższy kod powinien być dobrze znany każdemu, kto ma używał swojego Pi do sterowania diodami LED .





Importowana jest biblioteka RPi.GPIO i deklarowany jest pin dla diody. Typ układu pinów jest ustawiony (tryby BCM i BOARD są wyjaśnione w naszym przewodniku GPIO ), a pin jest ustawiony jako wyjście. Następnie pin jest włączony.

Takie podejście ma sens, ale sposób wykonania GPIO Zero jest znacznie prostszy:

GPIO Zero posiada moduł dla diod LED, sprowadzony na starcie. Oznacza to, że możesz zadeklarować numer PIN i zadzwonić do led.on() metoda.

jak pobierać muzykę z iPoda do iTunes

Dlaczego podejście GPIO Zero jest lepsze?

Jest kilka powodów, dla których ta metoda działania jest ulepszeniem RPi.GPIO.

Po pierwsze, spełnia warunek „łatwy do odczytania, możliwie najkrótszy”. Chociaż instrukcje konfiguracji RPi.GPIO są wystarczająco łatwe do zrozumienia, nie są one konieczne. Dioda LED zawsze będzie wyjściem, więc GPIO Zero ustawia piny za kulisami. Rezultatem są tylko trzy linijki kodu do skonfigurowania, a następnie zapalenie diody LED.

Możesz zauważyć, że w przykładzie GPIO Zero nie ma konfiguracji trybu płyty. Biblioteka używa tylko numeracji Broadcom (BCM) dla pinów. Projektant biblioteki Ben Nuttall wyjaśnia, dlaczego w 2015 roku Wywiad z RasPi.tv :

„Numeracja BOARD może wydawać się prostsza, ale powiedziałbym, że skłania ona nowych użytkowników do myślenia, że ​​wszystkie szpilki są ogólnego przeznaczenia — a tak nie jest. Podłącz diodę LED do pinu 11, dlaczego nie podłączyć trochę więcej do pinów 1, 2, 3 i 4? Dobrze 1 to 3V3. 2 i 4 to 5V. Brak świadomości, do czego służą szpilki, może być niebezpieczny.

Mówiąc w ten sposób, używanie liczb BCM ma absolutny sens. Biorąc pod uwagę, że GPIO Zero będzie standardem w dokumentacji Raspberry Pi, warto się tego nauczyć!

Czy GPIO Zero jest rzeczywiście lepsze?

Choć na pierwszy rzut oka wydaje się to prostsze, czy nowa biblioteka ma jakieś problemy? Jak w przypadku każdej nowej biblioteki kodującej, jest to kwestia opinii. Z jednej strony usunięcie kodu instalacyjnego jest doskonałe zarówno dla początkujących, jak i doświadczonych programistów. Pisanie kodu jest prostsze i szybsze.

Z drugiej strony, wiedza dokładnie, co się dzieje, jest ważna dla nauki. Weźmy na przykład ustawienie przycisku z Dokumentacja GPIO Zero :

ten przycisk moduł upraszcza konfigurację przycisków. Wie, że przyciski są wejściami, więc używa zadeklarowanego numeru pinu do konfiguracji. Sprawdzenie naciśnięcia przycisku jest również łatwiejsze dzięki .jest_wciśnięty do wykrywania naciśnięć przycisków.

Wykorzystaliśmy tę dokładną funkcjonalność w Samouczek dotyczący przycisków Raspberry Pi , który jest świetnym sposobem na zapoznanie się z różnicami w bibliotekach.

Użytkownicy biblioteki RPi.GPIO zauważą, że wewnętrzne rezystory pull-up/pull-down Pi nie są ustawione w kodzie. Rodzi to interesujące pytanie. Czy dla początkujących ważne jest, aby wiedzieć o rezystorach pull-up/down? Ponownie, Ben Nuttall ma odpowiedź na to pytanie:

„Możesz argumentować, że dobrze jest wiedzieć o podciąganiu i opuszczaniu, i miałbyś rację – ale dlaczego mam uczyć tego pierwszego dnia? [...] Jeśli chcesz uczyć elektroniki w więcej głębi, jest na to dużo miejsca — ale nie powinno to być obowiązkowe, jeśli dopiero zaczynasz.

Ogólnie rzecz biorąc, proste podejście GPIO Zero jest prawdopodobnie dobre zarówno dla początkujących, jak i weteranów. Poza tym RPi.GPIO nigdzie się nie wybiera. W razie potrzeby zawsze będzie tam, do którego można się przełączyć.

Czy Python jest jedyną opcją?

Python to język, z którego słynie Pi, ale nie jest to jedyna opcja. Jeśli znasz już programowanie w języku C, to Okablowanie czy pokryłeś.

Alternatywnie, jeśli już programujesz w JavaScript, Node.js można łatwo zainstalować na Pi. Dostęp GPIO jest dostępny za pośrednictwem rpi-gpio npm library . Ruby on Rails można również zainstalować na Raspberry Pi, chociaż Pi może nie być najlepszym sposobem na naukę Railsów!

Wszystkie te alternatywy, wraz z wielojęzycznymi bibliotekami, takimi jak doskonała tani może sprawić, że wybór biblioteki będzie mylący. W tym GPIO Zero przoduje: dla początkujących, którzy zastanawiają się, jak i od czego zacząć.

Jeśli jesteś w punkcie, w którym potrzebujesz czegoś, czego nie zapewnia, będziesz bardziej niż gotowy, aby zanurzyć się w tych innych bibliotekach we własnym tempie.

Pierwsze kroki z GPIO Zero samodzielnie

GPIO Zero to najnowsza biblioteka, która robi plusk dla Pi i nie bez powodu. Dla większości użytkowników sprawia, że ​​kodowanie pinów GPIO jest prostsze do odczytania i szybsze do pisania.

całkowita dostępna pamięć graficzna okien 10

Biorąc pod uwagę wykorzystanie Raspberry Pi w edukacji, wszystko, co czyni naukę bardziej naturalną, jest dobrą rzeczą. Podczas gdy RPi.GPIO było do tej pory idealne, GPIO Zero ma dobry pomysł i czyni go jeszcze lepszym.

Świetnym sposobem na rozpoczęcie pracy z GPIO Zero jest przeniesienie projektu dla początkujących, takiego jak Musical Door Sensor, i przeniesienie go do nowej biblioteki.

Udział Udział Ćwierkać E-mail 5 wskazówek, jak doładować swoje maszyny VirtualBox Linux

Masz dość słabej wydajności oferowanej przez maszyny wirtualne? Oto, co powinieneś zrobić, aby zwiększyć wydajność VirtualBox.

Czytaj dalej
Powiązane tematy
  • majsterkowanie
  • Programowanie
  • Malina Pi
  • Pyton
  • GPIO
O autorze Ian Buckley(216 opublikowanych artykułów)

Ian Buckley jest niezależnym dziennikarzem, muzykiem, performerem i producentem wideo mieszkającym w Berlinie w Niemczech. Kiedy nie pisze ani nie występuje na scenie, majstruje przy elektronice DIY lub kodowaniu w nadziei, że zostanie szalonym naukowcem.

Więcej od Iana Buckleya

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować