Proč je GPIO Zero lepší než RPi.GPIO pro projekty Raspberry Pi

Proč je GPIO Zero lepší než RPi.GPIO pro projekty Raspberry Pi

Raspberry Pi je perfektní počítač pro učení. Operační systém Raspbian založený na Linuxu má vestavěný Python, což z něj dělá skvělý první systém pro začátečníky. Jeho piny GPIO (General Purpose Input/Output) usnadňují začínajícím tvůrcům experimentovat s elektronickými projekty DIY.





Je to obzvláště snadné, když používáte knihovny kódů, které tyto piny ovládají, a oblíbená knihovna RPi.GPIO Python je vynikajícím příkladem takové knihovny. Je to ale nejlepší cesta pro začátečníky? Připojte se k nám při vyšetřování.





Co je GPIO Zero?

Knihovna GPIO Zero je knihovna Pythonu pro práci s piny GPIO. Napsal to Ben Nuttall, komunitní manažer Raspberry Pi . Cílem je být intuitivní a „přátelský“ a zefektivňuje kód Pythonu pro většinu běžných případů použití Raspberry Pi.





Díky kombinaci jednoduchých postupů pojmenování a popisných funkcí je GPIO Zero pro začátečníky přístupnější. I zkušení uživatelé knihovny RPi.GPIO ji mohou upřednostňovat-a abychom pochopili proč, pojďme se podívat na to, jak si RPi.GPIO stojí ve srovnání s GPIO Zero.

Co je špatného na RPi.GPIO?

Nic. Vůbec nic. RPi.GPIO byl vydán na začátku roku 2012 vývojářem Benem Crostonem. Je to robustní knihovna, která uživatelům umožňuje ovládat piny GPIO z kódu. Vyznačuje se v téměř každý začátečník projekt pokryli jsme.



aby Windows 10 vypadal jako Windows XP

Navzdory rozsáhlému použití nebyl RPi.GPIO nikdy určen pro koncové uživatele. Je důkazem dobrého designu RPi.GPIO, že jej přesto používá tolik začátečníků.

Co je tak dobrého na GPIO Zero?

Když jsi učení kódu Pythonu , dozvíte se, že by měl být snadno čitelný a co nejkratší. Cílem GPIO Zero je pokrýt oba body. Postaven na RPi.GPIO jako front-endový jazykový obal, zjednodušuje nastavení a použití GPIO.





Zvažte následující příklad, nastavení a zapnutí LED:

Výše uvedený kód by měl být dobře známý každému, kdo má používali své Pi k ovládání LED diod .





Importuje se knihovna RPi.GPIO a je deklarován pin pro LED. Je nastaven typ rozložení pinů (režim BCM a BOARD jsou vysvětleno v našem průvodci GPIO ) a kolík je nastaven jako výstup. Poté je kolík zapnutý.

Tento přístup má smysl, ale způsob GPIO Zero je mnohem jednodušší:

GPIO Zero má modul pro LED diody, importovaný na začátku. To znamená, že můžete deklarovat číslo PIN a zavolat led.on () metoda.

jak přidat obrys k textu ve Photoshopu

Proč je přístup GPIO Zero lepší?

Existuje několik důvodů, proč je tato metoda práce vylepšení na RPi.GPIO.

Za prvé splňuje požadavek „snadno čitelný, co nejkratší“. Přestože jsou příkazy nastavení RPi.GPIO dostatečně snadno pochopitelné, nejsou nutné. Výstupem bude vždy LED, takže GPIO Zero nastaví kolíky v zákulisí. Výsledkem jsou pouze tři řádky kódu k nastavení a poté rozsvítí LED.

Můžete si všimnout, že v příkladu GPIO Zero neexistuje žádné nastavení režimu desky. Knihovna používá pro piny pouze číslování Broadcom (BCM). Návrhář knihovny Ben Nuttall vysvětluje, proč v roce 2015 Rozhovor RasPi.tv :

„Číslování desek se může zdát jednodušší, ale řekl bych, že vede nové uživatele k názoru, že všechny kolíky jsou obecné účely-a nejsou. Připojte LED ke kolíku 11, proč nepřipojit další k pinům 1, 2, 3 a 4? No 1 je 3V3. 2 a 4 jsou 5V. Nedostatečné povědomí o tom, jaký je účel kolíků, může být nebezpečné. '

Když to vezmeme takto, je naprosto logické používat čísla BCM. Vzhledem k tomu, že GPIO Zero bude v budoucnu v dokumentaci k Raspberry Pi standardem, stojí za to se to naučit!

Je GPIO Zero skutečně lepší?

I když to na první pohled vypadá přímočařeji, má nová knihovna nějaké problémy? Jako u každé nové kódovací knihovny je to věc názoru. Odstranění instalačního kódu je na jedné straně vynikající pro začátečníky i zkušené kodéry. Psaní kódu je jednodušší a rychlejší.

Na druhou stranu, vědět přesně, co se děje, je pro učení důležité. Vezměte si příklad nastavení tlačítka z Dokumentace GPIO Zero :

The knoflík modul zjednodušuje nastavení pro tlačítka. Ví, že tlačítka jsou vstupy, takže pro nastavení používá deklarované číslo PIN. Kontrola stisknutí tlačítka je také jednodušší pomocí .is_pressed detekovat stisknutí tlačítek.

Tuto přesnou funkci jsme použili v Kurz tlačítka Raspberry Pi , což je skvělý způsob, jak se seznámit s rozdíly v knihovnách.

Uživatelé knihovny RPi.GPIO si všimnou, že vnitřní vytahovací/stahovací odpory Pi nejsou nastaveny v kódu. To vyvolává zajímavou otázku. Je pro začátečníky důležité vědět o vytahovacích/spoušťových odporech? Ben Nuttall má opět odpověď na tuto otázku:

„Můžete namítnout, že je dobré vědět o vytahování a stahování, a měli byste pravdu --- ale proč to musím učit v první den? [...] Pokud chcete učit elektroniku v více hloubky, na to je spousta prostoru-ale nemělo by to být povinné, pokud právě začínáte. '

Celkově je jednoduchý přístup GPIO Zero pravděpodobně dobrou věcí pro začátečníky i veterány. Kromě toho RPi.GPIO nikam nechodí. V případě potřeby bude vždy k dispozici pro přepnutí zpět.

Je Python jedinou možností?

Python je jazyk, kterým je Pi známý, ale není to jediná možnost. Pokud jste již obeznámeni s programováním v jazyce C, pak Zapojení Pi pokryl jsi

Alternativně, pokud již programujete v JavaScriptu, lze Node.js snadno nainstalovat na Pi. Přístup GPIO je k dispozici prostřednictvím knihovna rpi-gpio npm . Ruby on Rails lze také nainstalovat na Raspberry Pi, i když Pi nemusí být nejlepší způsob, jak se naučit Rails!

Všechny tyto alternativy spolu s vícejazyčnými knihovnami mají rády vynikající levný může být výběr knihovny matoucí. Tady GPIO Zero vyniká: pro začátečníky, kteří přemýšlejí, jak a kde začít.

Pokud jste v místě, kde potřebujete něco, co neposkytuje, budete více než připraveni ponořit se do těchto ostatních knihoven svým vlastním tempem.

Začínáme s GPIO Zero Yourself

GPIO Zero je nejnovější knihovna, která udělá úvod pro Pi, a to z dobrého důvodu. Pro většinu uživatelů je kódování pro piny GPIO jednodušší na čtení a rychlejší zápis.

zjistit IP adresu tiskárny Windows 10

Vzhledem k využití Raspberry Pi ve vzdělávání je vše, co dělá učení přirozenější, dobrá věc. Zatímco RPi.GPIO byl až dosud perfektní, GPIO Zero má dobrý nápad a ještě ho vylepšuje.

Skvělý způsob, jak začít s GPIO Zero, je vzít si projekt pro začátečníky, jako je Musical Door Sensor, a přenést jej do nové knihovny.

Podíl Podíl tweet E-mailem 5 tipů, jak přeplnit své počítače VirtualBox Linux

Jste unaveni špatným výkonem, který nabízejí virtuální stroje? Zde je to, co byste měli udělat, abyste zvýšili výkon svého VirtualBoxu.

Číst dále
Související témata
  • DIY
  • Programování
  • Raspberry Pi
  • Krajta
  • GPIO
O autorovi Ian Buckley(216 publikovaných článků)

Ian Buckley je nezávislý novinář, hudebník, performer a producent videa žijící v Berlíně v Německu. Když nepíše nebo není na jevišti, pohrává si s elektronikou nebo DIY v naději, že se stane šíleným vědcem.

Více od Iana Buckleyho

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru