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

  • Mark Lucas
  • 41
  • 1979
  • 126
reklama

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

Je to obzvláště snadné, když používáte knihovny kódů, které tyto kolíky ovládají, a oblíbená knihovna RPi.GPIO Python je vynikajícím příkladem takové knihovny. Ale je to 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 Python pro práci s kolíky GPIO. Napsal ji komunitní manažer Raspberry Pi Ben Nuttall. Zaměřeno na to, že je intuitivní a “přátelský,” zefektivňuje kód Python pro většinu běžných případů použití Raspberry Pi.

Kombinace jednoduchých pojmenovacích postupů a popisných funkcí je GPIO Zero přístupnější pro začátečníky. Dokonce i ostřílení uživatelé knihovny RPi.GPIO to mohou preferovat - a abychom pochopili proč, pojďme se podívat, jak se RPi.GPIO porovnává s GPIO Zero.

Co je špatného na RPi.GPIO?

Nic. Vůbec nic. RPi.GPIO byl propuštěn na začátku roku 2012 vývojářem Benem Crostonem. Jedná se o robustní knihovnu, která uživatelům umožňuje ovládat piny GPIO z kódu. Je součástí téměř každého projektu pro začátečníky Projekty Raspberry Pi pro začátečníky Projekty Raspberry Pi pro začátečníky Těchto 10 projektů Raspberry Pi pro začátečníky je skvělé pro získání seznámení s hardwarovými a softwarovými schopnostmi softwaru Pi a pomůže vám začít a pracovat v ne čas! pokryli jsme.

Navzdory jeho rozsáhlému použití nebyl RPi.GPIO nikdy určen pro koncové uživatele. Je to svědectví o dobrém designu RPi.GPIO, který jej přesto používá tolik začátečníků.

Co je tak dobrého na GPIO Zero?

Když se učíte Python kód, zjistíte, že by mělo být snadno čitelné a co nejkratší. Cílem GPIO Zero je pokrýt oba body. Postavený na vrcholu RPi.GPIO jako front-end 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 docela známý každému, kdo použil svůj Pi k ovládání LED.

Knihovna RPi.GPIO je importována a je deklarován pin pro LED. Je nastaven typ rozvržení pinů (režim BCM a BOARD je vysvětlen v našem průvodci GPIO Vše, co potřebujete vědět o Raspberry Pi GPIO Pins Vše, co potřebujete vědět o Raspberry Pi GPIO Pins Raspberry Pi je fantastický malý počítač, ale co dělat kolíky GPIO (univerzální vstup / výstup) fungují přesně? Stručně řečeno, otevírají celý svět DIY elektronického drotářství a vynálezů.) a pin 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á na začátku importovaný modul pro LED diody. To znamená, že můžete zadat číslo PIN a zavolat led.on () metoda.

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

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

Za prvé, splňuje “snadno čitelné, co nejkratší” požadavek. Zatímco příkazy nastavení RPi.GPIO jsou dostatečně srozumitelné, nejsou nutné. LED bude vždy výstupem, takže GPIO Zero nastavuje kolíky za scénami. Výsledkem je nastavení pouze tří řádků kódu, poté rozsvítí LED.

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

“Číslování BOARD se může zdát jednodušší, ale řekl bych, že to vede nové uživatele k tomu, aby si mysleli, že všechny kolíky jsou obecným účelem - a nejsou. Připojte LED ke kolíku 11, proč nepřipojovat více ke kolíkům 1, 2, 3 a 4? Jamka 1 je 3V3. 2 a 4 jsou 5V. Nedostatek povědomí o tom, jaký je účel špendlíků, může být nebezpečný.”

Tímto způsobem má absolutní smysl používat čísla BCM. Vzhledem k tomu, že GPIO Zero bude standardem v dokumentaci Raspberry Pi, stojí za to se ji naučit!

Je GPIO nula skutečně lepší?

I když se zdá být na povrchu přímější, má nová knihovna nějaké problémy? Stejně jako u každé nové kódovací knihovny je to otázka názoru. Na jedné straně je odstranění instalačního kódu vynikající pro začátečníky i zkušené kodéry. Psaní kódu je jednodušší a rychlejší.

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

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

Tuto přesnou funkci jsme použili v tutoriálu tlačítka Raspberry Pi 2 způsoby, jak přidat tlačítko do projektu Raspberry Pi 2 způsoby, jak přidat tlačítko do projektu Raspberry Pi Jak připojit tlačítko k Raspberry Pi? Zde jsou dva způsoby, jak začít, demonstrované pomocí Pythonu a LED. , 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 interní pull-up / pull-down rezistory Pi nejsou nastaveny v kódu. To vyvolává zajímavou otázku. Je nezbytné, aby začátečníci věděli o pull-up / down rezistory? Ben Nuttall má opět na tuto otázku odpověď:

“Můžete tvrdit, že je dobré vědět o výkyvech a výkyvech, a měli byste pravdu - ale proč to musím učit v první den? […] Pokud chcete učit elektroniku hlouběji, existuje spousta prostor pro to - ale nemělo by být povinné, pokud jste právě začínají.”

Obecně lze říci, že jednoduchý přístup k GPIO Zero je vhodný pro začátečníky i veterány. Kromě toho RPi.GPIO nikam nevede. V případě potřeby bude vždy k dispozici přepnutí zpět.

Je Python jedinou možností?

Python je jazyk, o kterém je Pi známo, ale není to jediná možnost. Pokud jste již obeznámeni s programováním v jazyce C, probral vás program Wiring Pi.

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

Všechny tyto alternativy spolu s vícejazyčnými knihovnami, jako je vynikající pigpio, mohou znamenat, že výběr knihovny bude matoucí. To je místo, kde GPIO Zero vyniká: pro začátečníky přemýšlel, jak a kde začít.

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

Začínáme s GPIO Zero Yourself

GPIO Zero je nejnovější knihovna, která se postará o úvodní stránku Pi, a to z dobrého důvodu. Pro většinu uživatelů to usnadňuje čtení a rychlejší psaní pro GPIO piny.

Vzhledem k tomu, že Raspberry Pi používá ve vzdělávání, je všechno, co činí učení přirozenějším, dobré. Zatímco RPi.GPIO bylo doposud perfektní, GPIO Zero má dobrý nápad a je ještě lepší.

Skvělý způsob, jak začít s GPIO Zero, je začít s projektem pro začátečníky, jako je například hudební senzor dveří, hrát si vlastní téma naladit, když vstoupíte do místnosti s Raspberry Pi hrát si vlastní téma, naladit, když vstoupíte do místnosti s Raspberry Pi Už jste někdy chtěli přijít domů k osobnímu přivítání? V tomto jednoduchém projektu Raspberry Pi použijeme jazýčkový spínač ke spuštění melodie při otevření dveří. a přenést ji do nové knihovny.




08.03.24 03:06
buy atorvastatin 40mg online <a href="https://lipiws.top/">lipitor 10mg canada</a> atorvastatin 10mg price
yizjpypbm ([email protected])
27.02.24 07:24
UneDose | Proč je GPIO Zero lepší než RPi.GPIO pro projekty Raspberry Pi [url=http://www.g0n03qd1s68qx4z895s1i91y0j7zjm7hs.org/]uyizjpypbm[/url] <a href="http://www.g0n03qd1s68qx4z895s1i91y0j7zjm7hs.org/">ayizjpypbm</a> yizjpypbm http://www.g0n03qd1s68qx4z895s1i91y0j7zjm7hs.org/
26.04.23 10:49
UneDose | Proč je GPIO Zero lepší než RPi.GPIO pro projekty Raspberry Pi shssmc http://www.g43at3a396r22r8dwr5h0m71oh6h2m6hs.org/ <a href="http://www.g43at3a396r22r8dwr5h0m71oh6h2m6hs.org/">ashssmc</a> [url=http://www.g43at3a396r22r8dwr5h0m71oh6h2m6hs.org/]ushssmc[/url]
23.04.23 02:31
UneDose | Proč je GPIO Zero lepší než RPi.GPIO pro projekty Raspberry Pi <a href="http://www.gx874222397n9g3ypibg8u9llw36waz9s.org/">agefgfco</a> gefgfco http://www.gx874222397n9g3ypibg8u9llw36waz9s.org/ [url=http://www.gx874222397n9g3ypibg8u9llw36waz9s.org/]ugefgfco[/url]
21.04.23 21:42
UneDose | Proč je GPIO Zero lepší než RPi.GPIO pro projekty Raspberry Pi [url=http://www.g9ynj3496u18jzpr146szc029sp503izs.org/]uwfkvfyp[/url] wfkvfyp http://www.g9ynj3496u18jzpr146szc029sp503izs.org/ <a href="http://www.g9ynj3496u18jzpr146szc029sp503izs.org/">awfkvfyp</a>
O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.