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

  • Michael Cain
  • 0
  • 3667
  • 613
Reklama

Raspberry Pi to idealny komputer do nauki. Oparty na Linuksie system operacyjny Raspbian ma wbudowany Python, co czyni go świetnym pierwszym systemem dla początkujących programistów. Jego styki wejścia / wyjścia ogólnego przeznaczenia (GPIO) ułatwiają początkującym twórcom eksperymentowanie z projektami elektroniki budowlanej.

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

Co to jest GPIO Zero?

Biblioteka GPIO Zero to biblioteka Pythona do pracy z pinami GPIO. Został napisany przez menedżera społeczności Raspberry Pi Bena Nuttalla. Ma na celu być intuicyjnym i “przyjazny,” usprawnia kod Pythona w większości przypadków użycia Raspberry Pi.

Łącząc proste praktyki nazewnictwa i funkcje opisowe, GPIO Zero jest łatwiej dostępny dla początkujących. Nawet doświadczeni użytkownicy biblioteki RPi.GPIO mogą to preferować - i aby zrozumieć, dlaczego, rzućmy okiem na porównanie RPi.GPIO z GPIO Zero.

Co jest nie tak z RPi.GPIO?

Nic. W ogóle nic. RPi.GPIO został wydany na początku 2012 roku przez dewelopera Ben Croston. Jest to solidna biblioteka pozwalająca użytkownikom kontrolować piny GPIO z kodu. Występuje w prawie każdym projekcie dla początkujących Projekty Raspberry Pi dla początkujących Projekty Raspberry Pi dla początkujących Te 10 projektów Raspberry Pi dla początkujących doskonale nadaje się do zapoznania się z możliwościami sprzętowymi i programowymi Pi, a także pomoże Ci rozpocząć pracę bez czas! omówiliśmy.

Pomimo szerokiego zastosowania RPi.GPIO nigdy nie został zaprojektowany dla użytkowników 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 uczysz się kodu Pythona, dowiadujesz się, że powinien być łatwy do odczytania i możliwie najkrótszy. GPIO Zero ma na celu objęcie obu punktów. Zbudowany na bazie RPi.GPIO jako front-end dla języka, upraszcza konfigurację i użytkowanie GPIO.

Rozważ następujący przykład, konfigurowanie i włączanie diody LED:

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

Biblioteka RPi.GPIO jest importowana i deklarowany jest pin dla diody LED. Typ układu pinów jest skonfigurowany (tryb BCM i BOARD są wyjaśnione w naszym przewodniku GPIO Wszystko, co musisz wiedzieć o Raspberry Pi Piny GPIO Wszystko, co musisz wiedzieć o Raspberry Pi Piny GPIO Raspberry Pi to fantastyczny mały komputer, ale co zrobić styki GPIO (wejścia ogólnego przeznaczenia / wyjścia) działają dokładnie? Krótko mówiąc, otwierają cały świat elektronicznego majsterkowania i inwencji.), a styk jest ustawiony jako wyjście. Następnie pin jest włączony.

Takie podejście ma sens, ale sposób na zrobienie tego w GPIO Zero jest znacznie prostszy:

GPIO Zero ma moduł dla diod LED, importowany na początku. Oznacza to, że możesz zadeklarować numer PIN i zadzwonić pod numer led.on () metoda.

Dlaczego podejście GPIO Zero jest lepsze?

Istnieje kilka powodów, dla których ta metoda pracy stanowi ulepszenie RPi.GPIO.

Po pierwsze, spełnia “łatwy do odczytania, możliwie krótki” wymaganie. Chociaż instrukcje konfiguracji RPi.GPIO są wystarczająco łatwe do zrozumienia, nie są konieczne. Dioda LED zawsze będzie wyjściem, więc GPIO Zero ustawia piny za sceną. Rezultatem są tylko trzy linie kodu do skonfigurowania, a następnie zaświecenie diody LED.

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

“Numeracja BOARD może wydawać się prostsza, ale powiedziałbym, że prowadzi nowych użytkowników do myślenia, że ​​wszystkie piny są ogólnego przeznaczenia - a nie są. Podłącz diodę LED do styku 11, dlaczego nie podłączyć więcej do styków 1, 2, 3 i 4? Cóż 1 to 3V3. 2 i 4 to 5 V. Brak świadomości tego, jaki jest cel pinów, może być niebezpieczny.”

Mówiąc w ten sposób, absolutnie sensowne jest używanie liczb BCM. Biorąc pod uwagę, że GPIO Zero będzie standardem w dokumentacji Raspberry Pi w przyszłości, warto się jej nauczyć!

Czy GPIO Zero jest rzeczywiście lepszy?

Choć na pozór wydaje się to prostsze, czy nowa biblioteka ma jakieś problemy? Podobnie jak w przypadku każdej nowej biblioteki kodowania, 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 na temat tego, co się dzieje, jest ważna dla nauki. Weź przykład konfiguracji przycisku z dokumentacji GPIO Zero:

The przycisk moduł upraszcza konfigurację przycisków. Wie, że przyciski są wejściami, więc używa zadeklarowanego numeru pinu do konfiguracji. Sprawdzanie 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 samouczku przycisku Raspberry Pi. 2 sposoby dodawania przycisku do projektu Raspberry Pi. 2 sposoby dodawania przycisku do projektu Raspberry Pi. Jak podłączyć przycisk do Raspberry Pi? Oto dwa sposoby rozpoczęcia pracy, przedstawione za pomocą Pythona i diody LED. , co jest doskonałym sposobem na zapoznanie się z różnicami w bibliotekach.

Użytkownicy biblioteki RPi.GPIO zauważą, że wewnętrzne rezystory podwyższające / obniżające Pi nie są ustawione w kodzie. Rodzi to interesujące pytanie. Czy początkujący powinni wiedzieć o opornikach podciągających / opadających? Ponownie Ben Nuttall ma odpowiedź na to pytanie:

“Możesz argumentować, że dobrze jest wiedzieć o podciąganiu i zwijaniu, i miałbyś rację - ale dlaczego muszę tego uczyć pierwszego dnia? […] Jeśli chcesz nauczyć się elektroniki bardziej szczegółowo, jest mnóstwo zakres tego - ale nie powinno to być obowiązkowe, jeśli dopiero zaczynasz.”

Ogólnie rzecz biorąc, proste podejście GPIO Zero jest prawdopodobnie dobrą rzeczą zarówno dla początkujących, jak i weteranów. Poza tym RPi.GPIO nigdzie się nie wybiera. Zawsze będzie tam, aby w razie potrzeby wrócić do.

Czy Python jest jedyną opcją?

Python jest językiem znanym z Pi, ale nie jest to jedyna opcja. Jeśli znasz już programowanie w języku C, to Wiring Pi ma to wszystko.

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

Wszystkie te alternatywy, wraz z bibliotekami wielojęzycznymi, takimi jak doskonały pigpio, mogą powodować, że wybór biblioteki jest mylący. Tutaj wyróżnia się GPIO Zero: dla początkujących zastanawiających się, jak i od czego zacząć.

Jeśli jesteś w miejscu, w którym potrzebujesz czegoś, czego nie zapewnia, będziesz bardziej niż gotowy do nurkowania w tych innych bibliotekach we własnym tempie.

Pierwsze kroki w GPIO Zero Yourself

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

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

Świetnym sposobem na rozpoczęcie pracy z GPIO Zero jest wzięcie udziału w projekcie dla początkujących, takim jak muzyczny czujnik drzwi. Odtwórz własną melodię motywu, gdy wchodzisz do pokoju z Raspberry Pi Odtwórz własną melodię motywacyjną, gdy wchodzisz do pokoju z Raspberry Pi, czy kiedykolwiek chciałeś przyjechać do domu na osobiste powitanie? W tym prostym projekcie Raspberry Pi użyjemy przełącznika kontaktronowego, aby uruchomić melodię po otwarciu drzwi. i przenieś go do nowej biblioteki.




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.