Zašto je GPIO Zero bolji od RPi.GPIO za projekte Raspberry Pi

Zašto je GPIO Zero bolji od RPi.GPIO za projekte Raspberry Pi

Raspberry Pi savršeno je računalo za učenje. Raspbian OS sa sustavom Linux ima ugrađen Python, što ga čini odličnim prvim sustavom za programere početnike. Njegovi GPIO ulošci općenite namjene olakšavaju početnicima eksperimentiranje s projektima elektronike 'uradi sam'.





Posebno je jednostavno kada koristite knjižnice kodova koje kontroliraju ove pinove, a popularna knjižnica RPi.GPIO Python izvrstan je primjer takve knjižnice. No, je li to najbolji put za početnike? Pridružite nam se dok istražujemo.





Što je GPIO Zero?

Knjižnica GPIO Zero knjižnica je Python za rad s GPIO pinovima. Napisao ga je Menadžer zajednice Raspberry Pi Ben Nuttall . S ciljem da bude intuitivan i 'prijateljski', pojednostavljuje Python kod za većinu uobičajenih slučajeva upotrebe Raspberry Pi.





Kombinirajući jednostavne prakse imenovanja i opisne funkcije, GPIO Zero je početnicima razumljiviji. Možda ga više vole čak i iskusni korisnici biblioteke RPi.GPIO --- i da bismo razumjeli zašto, pogledajmo kako se RPi.GPIO uspoređuje s GPIO Zero.

Što nije u redu s RPi.GPIO?

Ništa. Baš ništa. RPi.GPIO objavio je početkom 2012. programer Ben Croston. To je robusna knjižnica koja korisnicima omogućuje kontrolu GPIO pinova iz koda. Odlikuje se u gotovo svaki projekt za početnike pokrili smo.



plavo svjetlo vanjskog tvrdog diska toshiba

Unatoč velikoj upotrebi, RPi.GPIO nikada nije bio dizajniran za krajnje korisnike. To je dokaz dobrog dizajna RPi.GPIO -a da ga ipak koristi toliko početnika.

Što je dobro u GPIO Zero?

Kada si ti učenje Python koda , naučite da bi trebao biti lak za čitanje i što kraći. GPIO Zero ima za cilj pokriti obje točke. Izgrađen na vrhu RPi.GPIO-a kao omot prednjeg jezika, pojednostavljuje postavljanje i upotrebu GPIO-a.





Razmotrite sljedeći primjer postavljanja i uključivanja LED diode:

Gornji kôd trebao bi biti prilično poznat svima koji ga imaju koristili svoj Pi za upravljanje LED diodama .





Knjižnica RPi.GPIO je uvezena, a pin za LED je deklariran. Postavljen je tip rasporeda pinova (BCM i BOARD način rada su objašnjeno u našem GPIO vodiču ), a pin je postavljen kao izlaz. Zatim se pin uključi.

Ovaj pristup ima smisla, ali način na koji to čini GPIO Zero mnogo je jednostavniji:

GPIO Zero ima modul za LED diode, uvezen na početku. To znači da možete prijaviti pin broj i nazvati led.on () metoda.

kako dodati nes igre u snes classic

Zašto je pristup GPIO Zero bolji?

Postoje neki razlozi zašto je ova metoda rada poboljšanje RPi.GPIO.

Prvo, ispunjava zahtjev 'lako čitljivo, što je moguće kraće'. Iako su izrazi za postavljanje RPi.GPIO dovoljno razumljivi, oni nisu potrebni. LED dioda će uvijek biti izlaz, pa GPIO Zero postavlja pinove iza scene. Rezultat su samo tri retka koda za postavljanje, a zatim upalite LED diodu.

Možda ćete primijetiti da u primjeru GPIO Zero nema postavljenog načina rada ploče. Knjižnica koristi samo Broadcom (BCM) numeriranje za pinove. Dizajner knjižnice Ben Nuttall objašnjava zašto je 2015 RasPi.tv intervju :

'Numeriranje ploča može se činiti jednostavnijim, ali rekao bih da dovodi nove korisnike do zaključka da su sve pinove opće namjene-a nisu. Spojite LED na pin 11, zašto ne spojite još malo na pinove 1, 2, 3 i 4? Pa 1 je 3V3. 2 i 4 su 5V. Nedostatak svijesti o tome koja je svrha igle može biti opasan. '

Ovako rečeno, apsolutno je logično koristiti BCM brojeve. S obzirom da će GPIO Zero ubuduće biti standard u dokumentaciji za Raspberry Pi, vrijedi naučiti!

Je li GPIO Zero zapravo bolji?

Iako se na prvi pogled čini jednostavnijim, ima li nova knjižnica problema? Kao i kod svake nove biblioteke kodiranja, pitanje je mišljenja. S jedne strane, uklanjanje instalacijskog koda izvrsno je za početnike i iskusne programere. Pisanje koda jednostavnije je i brže.

S druge strane, za učenje je važno znati što se točno događa. Uzmite primjer postavljanja gumba iz GPIO Zero dokumentacija :

The dugme modul pojednostavljuje postavljanje tipki. Zna da su gumbi ulazi, pa za postavljanje koristi deklarirani pin broj. Lakše je provjeriti i pritiskanje gumba pomoću .pritisnut je za otkrivanje pritiska tipki.

Tu smo funkcionalnost koristili u Vodič za gumb Raspberry Pi , što je izvrstan način da se upoznate s razlikama u knjižnicama.

Korisnici biblioteke RPi.GPIO primijetit će da unutarnji pull-up/pull-down otpornici Pi nisu postavljeni u kodu. Ovo postavlja jedno zanimljivo pitanje. Je li za početnike bitno znati o pull-up/down otpornicima? Ben Nuttall opet ima odgovor na ovo pitanje:

'Mogli biste reći da je dobro znati o podizanjima i povlačenjima, i bili biste u pravu --- ali zašto moram to učiti prvog dana? [...] Ako želite poučavati elektroniku više dubine ima dosta prostora za to --- ali to ne bi trebalo biti obvezno ako tek počinjete. '

U cjelini, jednostavan pristup GPIO Zeroa vjerojatno je dobra stvar i za početnike i za veterane. Osim toga, RPi.GPIO ne ide nikamo. Uvijek će biti na raspolaganju za povratak ako je potrebno.

Je li Python jedina opcija?

Python je jezik po kojem je Pi poznat, ali nije jedina opcija. Ako ste već upoznati s programiranjem na jeziku C, onda Ožičenje Pi jesi li pokrio.

Alternativno, ako već programirate u JavaScriptu, Node.js se lako može instalirati na Pi. GPIO pristup dostupan je putem rpi-gpio npm knjižnica . Ruby on Rails može se instalirati i na Raspberry Pi, iako Pi možda nije najbolji način za učenje Rails -a!

Sve ove alternative, zajedno s višejezičnim knjižnicama, poput izvrsnih jeftino može učiniti odabir knjižnice zbunjujućim. Ovdje se ističe GPIO Zero: za početnike koji se pitaju kako i odakle započeti.

Ako ste na mjestu gdje trebate nešto što vam ne pruža, bit ćete više nego spremni zaroniti u te druge knjižnice vlastitim tempom.

Započnite s GPIO -om

GPIO Zero je najnovija knjižnica koja je napravila veliki pečat za Pi i s dobrim razlogom. Za većinu korisnika kodiranje GPIO pinova postaje jednostavnije za čitanje i brže pisanje.

kako izmijeniti wii u

S obzirom na upotrebu Raspberry Pi u obrazovanju, sve što čini učenje prirodnijim je dobra stvar. Dok je RPi.GPIO do sada bio savršen, GPIO Zero uzima dobru ideju i čini je još boljom.

Sjajan način za početak rada s GPIO Zero je uzeti projekt za početnike poput senzora glazbenih vrata i prenijeti ga u novu knjižnicu.

Udio Udio Cvrkut E -pošta 5 savjeta za nadopunu vaših VirtualBox Linux strojeva

Umorni ste od loših performansi koje nude virtualni strojevi? Evo što biste trebali učiniti kako biste povećali performanse VirtualBox -a.

Pročitajte Dalje
Povezane teme
  • Uradi sam
  • Programiranje
  • Malina Pi
  • Piton
  • GPIO
O autoru Ian Buckley(216 objavljenih članaka)

Ian Buckley je slobodni novinar, glazbenik, izvođač i video producent koji živi u Berlinu, Njemačka. Kad ne piše ili je na pozornici, petlja s DIY elektronikom ili kodom u nadi da će postati ludi znanstvenik.

Više od Iana Buckleyja

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu