Annons

Raspberry Pi är den perfekta datorn för lärande. Det Linuxbaserade Raspbian OS har Python inbyggt, vilket gör det till ett fantastiskt första system för nybörjarkodare. GPIO-stiften för allmänna syften gör det enkelt för spirande tillverkare att experimentera med DIY-elektronikprojekt.

Det är särskilt lätt när du använder kodbibliotek som styr dessa stift och den populära RPi. GPIO Python-bibliotek är ett utmärkt exempel på ett sådant bibliotek. Men är det den bästa vägen för nybörjare? Gå med oss ​​när vi undersöker.

Vad är GPIO Zero?

GPIO Zero-biblioteket är ett Python-bibliotek för att arbeta med GPIO-stift. Den skrevs av Raspberry Pi community manager Ben Nuttall. Syftet till att vara intuitivt och "vänligt", det effektiviserar Python-kod för de flesta vanliga Raspberry Pi-användningsfall.

Genom att kombinera enkla namngivningspraxis och beskrivande funktioner är GPIO Zero mer tillgängligt för nybörjare att förstå. Till och med erfarna användare av RPi. GPIO-bibliotek kanske föredrar det - och för att förstå varför, låt oss ta en titt på hur RPi. GPIO jämför med GPIO Zero.

instagram viewer

Vad är fel med RPi. GPIO?

Ingenting. Ingenting alls. RPI. GPIO släpptes i början av 2012 av utvecklaren Ben Croston. Det är ett robust bibliotek som låter användare styra GPIO-stift från kod. Den har in nästan varje nybörjare projekt De 11 bästa hallon Pi-projekten för nybörjareDessa Raspberry Pi-projekt för nybörjare är bra för att komma igång med alla Raspberry Pi-modeller. Läs mer vi har täckt.

Trots dess omfattande användning, RPi. GPIO designades aldrig för slutanvändare. Det är ett bevis på RPi. GPIOs bra design som så många nybörjare ändå använder den.

Vad är så bra med GPIO Zero?

När du är lära sig Python-kod, du lär dig att det ska vara lätt att läsa och så kort som möjligt. GPIO Zero syftar till att täcka båda punkterna. Byggt ovanpå RPi. GPIO som ett frontrollspråk, det förenklar GPIO-installation och användning.

Tänk på följande exempel genom att ställa in och slå på en LED:

Kod för att ställa in och LED för utgång med RPi. GPIO-bibliotek

Ovanstående kod bör vara ganska bekant för alla som har använde sina Pi för att styra lysdioder.

RPi. GPIO-bibliotek importeras och en stift för lysdioden deklareras. Typen för stiftlayout är inställd (BCM- och BOARD-läget är förklaras i vår GPIO-guide Allt du behöver veta om Raspberry Pi GPIO-stiftRaspberry Pi är en fantastisk liten dator, men vad gör GPIO-stiften (General Purpose Input / Output) exakt? Sammanfattningsvis öppnar de upp en hel värld av elektronisk tinkning och uppfinningen av DIY. Läs mer ), och stiftet ställs in som en utgång. Sedan slås stiftet på.

Den här metoden är meningsfull, men GPIO Zero-sättet att göra det är mycket enklare:

Ställa in en LED med GPIO Zero

GPIO Zero har en modul för lysdioder som importeras i början. Detta innebär att du kan ange stiftnumret och ringa till led.on () metod.

Varför är GPIO Zero: s strategi bättre?

Det finns några orsaker till att denna arbetsmetod är en förbättring av RPi. GPIO.

För det första uppfyller det kravet ”lättläst, kort som möjligt”. Medan RPi. GPIO-inställningar är enkla att förstå, de är inte nödvändiga. En LED kommer alltid att vara en utgång, så GPIO Zero sätter upp stiften bakom kulisserna. Resultatet är bara tre kodrader som ska konfigureras, tänd sedan en LED.

Du kanske märker att det inte finns någon inställning av kortläge i GPIO Zero-exemplet. Biblioteket använder endast Broadcom-nummer (BCM) för stiften. Bibliotekdesignern Ben Nuttall förklarar varför under 2015 RasPi.tv intervju:

”BOARD-numrering kanske verkar enklare men jag skulle säga att det leder till att nya användare tror att alla stift är allmänna syften - och det är de inte. Anslut en LED till stift 11, varför inte ansluta lite mer till stift 1, 2, 3 och 4? Brunn 1 är 3V3. 2 och 4 är 5V. En bristande medvetenhet om vad syftet med stiften är kan vara farligt. ”

På detta sätt är det absolut vettigt att använda BCM-siffrorna. Med tanke på att det GPIO Zero kommer att vara standard i Raspberry Pi-dokumentationen framöver, är det värt att lära sig!

Är GPIO Zero faktiskt bättre?

Även om det verkar rakt fram på ytan, har det nya biblioteket inga problem? Som med alla nya kodningsbibliotek är det en åsiktfråga. Å ena sidan är att ta bort installationskoden utmärkt för både nybörjare och rutinerade kodare. Att skriva kod är mer enkelt och snabbare.

Å andra sidan är det viktigt att lära sig att veta exakt vad som händer. Ta exemplet med att ställa in en knapp från GPIO Zero-dokumentation:

GPIO Zero Button exempelkod

De knapp modulen förenklar inställningen för tryckknappar. Det vet att knapparna är ingångar, så använder det deklarerade stiftnumret för installation. Att leta efter knapptryckning är också enklare, med .is_pressed för att upptäcka knapptryckningar.

Vi använde denna exakta funktionalitet i Raspberry Pi-knapphandledning 2 sätt att lägga till en knapp till ditt hallon Pi-projektHur ansluter du en knapp till Raspberry Pi? Här är två sätt att komma igång, demonstrerade med Python och en LED. Läs mer , vilket är ett bra sätt att bekanta dig med skillnaderna i biblioteken.

Användare av RPi. GPIO-biblioteket kommer att märka att Pi: s interna pull-up / pull-down-motstånd inte är inställda i kod. Detta väcker en intressant fråga. Är det viktigt för nybörjare att veta om pull-up / down-motstånd? Återigen har Ben Nuttall svar på denna fråga:

"Du kan hävda att det är bra att veta om pull-ups och pull-downs och att du skulle ha rätt - men varför måste jag lära det på dag ett? [...] Om du vill lära dig elektroniken mer djup, det finns gott om utrymme för det - men det borde inte vara obligatoriskt om du bara får satte igång."

Sammantaget är det enkla tillvägagångssättet med GPIO Zero sannolikt bra för både nybörjare och veteraner. Dessutom RPi. GPIO kommer inte någonstans. Den kommer alltid att vara där för att byta tillbaka till vid behov.

Är Python det enda alternativet?

Python är det språk som Pi är känt för, men det är inte det enda alternativet. Om du redan är bekant med programmering på C-språket, då Kabeldragning Pi har du täckt

Alternativt, om du redan programmerar i JavaScript, kan Node.js enkelt installeras på Pi. GPIO-åtkomst är tillgänglig via rpi-gpio npm-bibliotek. Ruby on Rails kan också installeras på Raspberry Pi, men Pi kanske inte är det bästa sättet att lära sig Rails!

Alla dessa alternativ, tillsammans med flerspråkiga bibliotek gillar det utmärkta pigpio kan göra att välja ett bibliotek förvirrande. Det är här GPIO Zero utmärker sig: för nybörjare som undrar hur och var de ska börja.

Om du befinner dig i en punkt där du behöver något som det inte ger, kommer du vara mer än redo att dyka in i dessa andra bibliotek i din egen takt.

Komma igång med GPIO Zero Yourself

GPIO Zero är det nyaste biblioteket som gör en stänk för Pi och med goda skäl. För de flesta användare gör det kodningen för GPIO-stift enklare att läsa och snabbare att skriva.

Med tanke på Raspberry Pis användning i utbildning är allt som gör lärande mer naturligt bra. Medan RPi. GPIO har varit perfekt fram till nu, GPIO Zero tar en bra idé och gör den ännu bättre.

Ett bra sätt att komma igång med GPIO Zero är att ta ett nybörjareprojekt som Musikalisk dörrsensor Spela ditt eget tematune när du kommer in i rummet med Raspberry PiHar du någonsin velat komma hem för ett personligt välkomnande? I detta enkla Raspberry Pi-projekt använder vi en reed-switch för att utlösa en melodi när en dörr öppnas. Läs mer och port den till det nya biblioteket.

Ian Buckley är frilansjournalist, musiker, artist och videoproducent bosatt i Berlin, Tyskland. När han inte skriver eller på scenen tänker han på DIY-elektronik eller kod i hopp om att bli en gal forskare.