Pojďme programovat elektroniku: Proměníme Raspberry Pi Zero W v 5MPix fotoaparát

V dnešním pokračování našeho seriálu Pojďme programovat elektroniku opustíme svět nejdrobnějších čipů a elektrosoučástek a vyzkoušíme si práci s populárním mikropočítačem Raspberry Pi a kamerou.

Nepoužiji přitom běžnou USB webkameru, ale kameru pro dedikovaný konektor CSI (Camera Serial Input), který je nedílnou součástí každého Raspberry Pi a odlišuje jej od mnoha jeho klonů.

Díky nativní podpoře kamery se může Raspberry pochlubit hromadou knihoven pro snadnou práci s obrazem. Výkonnější verze Raspberry Pi si pak poradí i s etalonem počítačového zpracovávání vizuálních dat – knihovnou OpenCV (Open Source Computer Vision Library), takže s trochou píle a doslova na několika málo řádcích kódu postavíte třeba bezpečnostní Wi-Fi kameru, která v místnosti detekuje pohyb, zjistí, jestli se jedná o člověka, a výřez tváře vám pak pošle třeba na e-mail nebo jej porovná se svou databází známých osob.

Klepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázek
Klepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázek
Levná čínská kamera pro Raspberry Pi s FFC kabelem pro konektor CSI. Kabel pro malé Raspberry Pi Zero je o něco užší než pro to velké, nejsou tedy kompatibilní. Není ale třeba kupovat novou kameru. Stačí prohodit kabeláž, kterou na webu seženete za pár dolarů.

Tak daleko dnes ale nepůjdeme a vyzkoušíme si pouze skvělou knihovnu Picamera pro Python, která je ideálním vstupem do hrátek s CSI kamerou na Raspberry Pi. Kratičké ukázky kódu níže vás o tom zaručeně přesvědčí.

Nejprve ale budete potřebovat tu kameru. Nejlépe samozřejmě uděláte, pokud si koupíte oficiální Raspberry Pi Camera Module V2 s osmimegapixelovým snímačem Sony IMX219 a podpoříte tak i celý projekt. Na stranu druhou, není to zrovna nejlevnější záležitost – na českých e-shopech se cena pohybuje okolo tisícikoruny, a tak nejspíše nakonec skončíte na eBayi, kde najdete čínské klony první generace kamery s pětimegapixelovým snímačem OmniVision OV5647 za zlomek ceny. Já ji letos na jaře pořídil zhruba za dvě stovky. Tyto kamery nemusejí umět všechny funkce, ale jako základní snímače poslouží dobře.

Vedle standardních kamer na internetu najdete i verze s širokoúhlým rybím okem, noční IR kamery nebo třeba kamery s optickým zoomem.

Raspberry Pi Zero W

Kameru bez problému utáhne i nejnovější a nejúspornější verze Raspberry Pi Zero W, jejíž spotřeba v nečinnosti se pohybuje okolo 100 mA, s aktivní Wi-Fi poskočí na 170 mA a s připojenou a aktivní kamerou pak na 230 mA.

Jistě, oproti Arduinu, na které jsme v tomto seriálu zvyklí, se jedná o řád vyšší spotřebu, nicméně srovnávat Zero W s Arduinem je asi tak smysluplné, jako srovnávat s vaším domácím laptopem čínský superpočítačový cluster.

Klepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázek
Klepněte pro větší obrázekKlepněte pro větší obrázek
Maličké Raspberry Pi Zero W s 802.11n Wi-Fi, 1GHz CPU a 512 MB RAM. Na textový Linux, internetovou komunikaci a nějaký ten webový server to bohatě stačí.

Suma sumárum, i při snímání obrazu webkamerou a zasílání snímků kamsi na server to není se spotřebou tak hrozivé, abychom nemohli uvažovat třeba o solárním napájení s baterií a provozu třeba kdesi v exteriéru, na zahradě aj.

Klepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázek
Během hrátek s kamerou poháněl malé RPi Zero W Li-Po modul s 3 800 mAh baterií – v podstatě vykuchaný battery pack s montážní přípravou pro velké Raspberry Pi.
Klepněte pro větší obrázekKlepněte pro větší obrázek
Pokud začnete bastlit, brzy zjistíte, že 3D tiskárna vlastně není vůbec špatný nápad, protože izolační páska má své estetické limity. V každém případě, vše je připraveno, takže hurá fotit.

Oživujeme kameru

No dobrá, dost bylo teoretické omáčky. Jdeme oživit kameru. Na micro SD jsem nahrál oficiální linuxovou distribuci Raspbian Jessie Lite, připojil se k Wi-Fi a povolil SSH. Raspberry je klasický linuxový počítač, takže k němu stačí přes USB připojit klávesnici, myš a pomocí HDMI monitor, nicméně díky tomu, že je veškerý systém na micro SD, můžete vše nastavit i tzv. headless způsobem. V podstatě na SD vytvoříte drobný soubor s konfigurací Wi-Fi, mikropočítač se podle něj po startu připojí, aktivuje SSH a následně jej smaže. Vy se pak skrze SSH připojíte výchozím účtem pi, který pak můžete změnit. Stejně jako konfiguraci Wi-Fi.

Klepněte pro větší obrázek
SSH spojení s RPi Zero W pomocí linuxového subsystému ve Windows 10

V dalším kroku musíme aktivovat samotné rozhraní CSI kamery. Slouží k tomu utilita raspi-config a její sekce 5. Interfacing Option, kde vedle kamery najdete i aktivaci dalších periferií, třeba sběrnic I2C a SPI, se kterými jsme se v našem seriálu už setkali.

Klepněte pro větší obrázekKlepněte pro větší obrázek
Aktivace rozhraní kamery pomocí utility raspi-config

Po případném restartu by již měl být ovladač kamery korektně načtený a mohou s ním pracovat další programy včetně Pythonu a knihovny Picamera. Pokud by nebyla nainstalovaná, stačí stáhnout její balíček příkazy:

sudo apt-get update
sudo apt-get install python-picamera

Kamera je připravená k chodu. Jak napsat první jednoduchý program, který pořídí fotku, se dočtete v následující kapitole.

Témata článku: Microsoft, Pojďme programovat elektroniku, Programování, Linux, Open source, Arduino, Slunce, USB, Fotografování, Visual Studio, Raspberry Pi, Stavebnice, Sony, Modulární PC, Python, JPEG, Import, Micro SD, Print, Raspberry, Dolar, Soubor, Český e-shop, První generace, První snímek

7 komentářů

Nejnovější komentáře

  • PD 17. 8. 2017 11:47:20
    Na HB je teď akce na knihy pro Arduino a Lego...
  • PavelP 14. 8. 2017 14:25:33
    Tak. A teď k tomu hodit mikrovlnný senzor pohybu a hodit to ke krmelci :)
  • ehlo 14. 8. 2017 7:14:34
    pane Čížku, smekám! Čtivě napsané, užitečné, přehledné, bez zbytečných...
Určitě si přečtěte

Jak převést PDF do Wordu: 3 způsoby, které můžete použít

Jak převést PDF do Wordu: 3 způsoby, které můžete použít

** Využít můžete přímo Word v rámci balíčku Office ** Zdarma lze využít Google Dokumenty, neporadí si ale s formátováním ** Obrátit se také můžete na specializované stránky

11.  8.  2017 | Vladislav Kluska | 9

USB zařízení je možné odposlouchávat ze sousedního portu

USB zařízení je možné odposlouchávat ze sousedního portu

** Crosstalk byl dřív problém paralelních portů, dnes se ho pokusili prověřit na USB ** Zařízení ze sousedního USB portu může odposlouchávat to vedlejší ** Mohou vznikat záškodnické flašky nebo třeba USB lampičky

14.  8.  2017 | Adam Harmada | 18

Zrušený evropský roaming je brutální vražda virtuálních operátorů

Zrušený evropský roaming je brutální vražda virtuálních operátorů

** Když EU rušila roaming, šla přes mrtvoly ** Tou největší jsou virtuální operátoři ** Vlastně je překvapivé, že už nepadají jeden po druhém

12.  8.  2017 | Filip Kůžel | 85

Obrněná raketová vozidla Stryker budou bojovat proti dronům a letadlům

Obrněná raketová vozidla Stryker budou bojovat proti dronům a letadlům

** Původně kanadská obrněná bojová vozidla Stryker od společnosti General Dynamics existují v celé řadě verzí ** Některá slouží k průzkumu, jiná jsou vybavena těžkými zbraněmi ** Nyní bylo představeno nové raketové vozidlo Stryker, které je vyzbrojeno raketami Sidewinder a Hellfire

11.  8.  2017 | Stanislav Mihulka | 1

Co je realita a fikce? Brzy to nepoznáme. A.I. ze Stanfordu tvoří fotky z neexistujících měst

Co je realita a fikce? Brzy to nepoznáme. A.I. ze Stanfordu tvoří fotky z neexistujících měst

** Fotografii každý vnímá jako jednoznačný důkaz ** časem to ale přestane platit ** Strojové učení se totiž neustále zdokonaluje

Včera | Jakub Čížek | 7


Aktuální číslo časopisu Computer

Velký test NVMe a SATA SSD

Máte slabý signál
Wi-Fi? Poradíme!

Jak umělá inteligence opravuje fotky

Kupujete dron? Ty levné se nevyplatí