Zašto je GPIO Nula bolja od RPi.GPIO za Raspberry Pi projekte

  • Mark Lucas
  • 0
  • 2722
  • 605
Oglas

Raspberry Pi je savršeno računalo za učenje. Linux-ov Raspbian OS ima ugrađen Python, što ga čini odličnim prvim sustavom za početnike kodiranja. Njegovi pinovi za opću namjenu ulaza / izlaza (GPIO) olakšavaju proizvođačima koji napreduju da eksperimentiraju sa uradi sam elektroničkim projektima.

Osobito je jednostavno kada koristite biblioteke kodova koje upravljaju tim iglicama, a popularna RPi.GPIO Python knjižnica je izvrstan primjer takve biblioteke. No, je li to najbolji put za početnike? Pridružite nam se dok istražujemo.

Što je GPIO Nula?

GPIO Zero knjižnica je Python knjižnica za rad s GPIO pinovima. Napisao ga je menadžer zajednice Raspberry Pi Ben Nuttall. Cilj je biti intuitivan i “prijateljski,” pojednostavljuje Python kod za većinu slučajeva upotrebe Raspberry Pi.

Kombinacijom jednostavnih praksi imenovanja i opisnih funkcija, GPIO Zero pristupačniji je za početnike. Čak i iskusni korisnici biblioteke RPi.GPIO to možda vole - 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. Uopće ništa. RPi.GPIO objavio je početkom 2012. programer Ben Croston. To je robusna knjižnica koja korisnicima omogućuje kontrolu GPIO igle s koda. Sadrži se u gotovo svakom početničkom projektu Raspberry Pi Projekti za početnike Raspberry Pi projekti za početnike Ovi 10 Raspberry Pi projekti za početnike odlični su za upoznavanje s hardverskim i softverskim mogućnostima Pi-ja, a pomoći će vam da se podignete i pokrenete bez problema vrijeme! pokrili smo.

Unatoč širokoj upotrebi, RPi.GPIO nikada nije bio dizajniran za krajnje korisnike. To je dokaz dobrog dizajna RPi.GPIO-a da ga ipak koriste mnogi početnici.

Što je tako dobro u vezi s GPIO Nula?

Kada učite Python kod, naučite da bi ga trebalo biti lako čitati i što kraće. GPIO Zero ima za cilj pokriti obje točke. Izgrađen na vrhu RPi.GPIO kao prednji jezik omotač, pojednostavljuje podešavanje i upotrebu GPIO.

Razmotrite sljedeći primjer, postavljanje i uključivanje LED-a:

Gornji kôd trebao bi biti prilično poznat svima koji su koristili svoj Pi za kontrolu LED-ova.

Uvezeno je biblioteka RPi.GPIO, a deklariran je pin za LED. Postavljen je tip rasporeda pinova (BCM i BOARD način objašnjeni su u našem vodiču za GPIO Sve što trebate znati o Raspberry Pi GPIO iglicama sve što trebate znati o Raspberry Pi GPIO iglicama Raspberry Pi je fantastično malo računalo, ali što učiniti GPIO (General Purpose Input / Output) igle rade točno? Ukratko, otvaraju čitav svijet elektroničkog šljokanja i izuma uradi sam.), a pin se postavlja kao izlaz. Zatim se pin uključuje.

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

GPIO Zero ima modul za LED, uvezene u startu. To znači da možete proglasiti PIN broj i nazvati led.on () način.

Zašto je pristup GPIO Zero bolji?

Nekoliko je razloga zašto je ova metoda rada unapređenje na RPi.GPIO.

Prvo, zadovoljava “lako čitati, kraće moguće” zahtjev. Iako su izjave o postavljanju RPi.GPIO dovoljno jednostavne za razumijevanje, one nisu potrebne. LED će uvijek biti izlaz, pa GPIO Zero postavlja igle iza scene. Rezultat su samo tri retka koda za postavljanje, a zatim uključite LED.

Možda ćete primijetiti da na primjeru GPIO Zero nema podešavanja načina rada na ploči. Biblioteka koristi samo Broadcom (BCM) numeriranje za igle. Dizajner knjižnice Ben Nuttall objašnjava zašto u intervjuu za RasPi.tv iz 2015. godine:

“Numiranje u odboru može se činiti jednostavnijim, ali rekao bih da to vodi nove korisnike na mišljenje da su svi pribadači opće namjene - a nisu. LED spojite na pin 11, zašto ne biste povezali još neke na igle 1, 2, 3 i 4? Pa 1 je 3V3. 2 i 4 su 5V. Manjak svijesti o tome što je svrha igle može biti opasno.”

Na ovaj način, ima apsolutnog smisla koristiti BCM brojeve. S obzirom da će GPIO Zero biti standardni u Raspberry Pi dokumentaciji koja ide naprijed, to vrijedi naučiti!

Je li GPIO Zero zapravo bolji?

Iako se na površinu to čini jednostavnije, ima li nova knjižnica problema? Kao i kod svake nove biblioteke za kodiranje, to je pitanje mišljenja. S jedne strane, uklanjanje instalacijskog koda izvrsno je za početnike i iskusne kodrere. Pisanje koda je jednostavnije 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 dokumentacije:

dugme modul pojednostavljuje postavljanje za tipke. Zna da su tipke ulazi, pa za postavljanje koristi deklarirani PIN broj. Lakša je provjera pritiska na tipku i za .is_pressed za otkrivanje pritiska na tipki.

Točnu funkcionalnost iskoristili smo u vodiču s gumbima Raspberry Pi 2 načina za dodavanje gumba vašem programu Raspberry Pi 2 načina za dodavanje gumba u vaš Raspberry Pi projekt Kako spojiti gumb na Raspberry Pi? Evo dva načina za početak rada, pokazanog pomoću Pythona i LED-a. , što je sjajan način da se upoznate s razlikama u knjižnicama.

Korisnici biblioteke RPi.GPIO primijetit će da unutarnji otpornici na povlačenje / spuštanje Pi nisu postavljeni u kodu. To postavlja zanimljivo pitanje. Je li početnicima važno znati otpornike koji se podižu / spuštaju? Ben Nuttall opet ima odgovor na ovo pitanje:

“Možda ćete tvrditi da je dobro znati o potezima i padovima, i bili biste u pravu, ali zašto to moram učiti prvog dana? […] Ako želite predavati elektroniku dublje, ima dosta prostor za to - ali ne bi trebao biti obvezan ako ste tek započeli.”

U cjelini, jednostavan pristup GPIO Zero vjerojatno je dobra stvar i za početnike i za veterane. Osim toga, RPi.GPIO nigdje ne ide. Uvijek će biti tu da se prebaci natrag ako treba.

Je li Python jedina opcija?

Python je jezik po kojem je Pi poznat, ali to nije jedina opcija. Ako ste već upoznati s programiranjem na jeziku C, tada vas je pokrivao Wiring Pi.

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

Sve ove alternative, zajedno s bibliotekama na više jezika poput izvrsnog pigmenta mogu učiniti knjižnicu zbunjujućom. Ovdje se ističe vrhunski GPIO Zero: za početnike koji se pitaju kako i gdje započeti.

Ako se nalazite na mjestu gdje vam treba nešto što vam ne pruža, bit ćete više nego spremni zaroniti u te ostale knjižnice vlastitim tempom.

Početak rada s GPIO Zero Yourself

GPIO Zero najnovija je knjižnica koja pravi pljusak za Pi i s dobrim razlogom. Za većinu korisnika kodiranje GPIO igara čini jednostavnijim za čitanje i bržim pisanjem.

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

Sjajan način da započnete s GPIO Zero je snimanje početničkog projekta poput senzora za glazbena vrata. Svirajte svoju vlastitu tematsku melodiju kad uđete u sobu s malinom Pi. Svirajte svoju vlastitu temu kad uđete u sobu s maline Pi Jeste li ikad poželjeli doći kući na osobni doček? U ovom jednostavnom projektu Raspberry Pi koristit ćemo trske, kako bismo pokrenuli melodiju kada se otvore vrata. i vratite je u novu knjižnicu.




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.