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, Visual Studio, USB, Raspberry Pi, Fotografování, Slunce, Sony, Python, Stavebnice, JPEG, Modulární PC, Ostré slunce, Nová kamera, Naprostý základ, Jednoduchá metoda, Nedílná součást, Kamera, Celá série, Import, Klávesová zkratka

Určitě si přečtěte

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

** Tesla představila elektrický kamion ** Má obdivuhodný výkon i dojezd ** Prodávat by se měl už za dva roky

17.  11.  2017 | Vojtěch Malý | 198

30 počítačových brzd, které vám zpomalí Windows

30 počítačových brzd, které vám zpomalí Windows

Na webu najdete hromadu rad, jak zrychlit počítač a Windows. My jsme na to šli opačně a naopak jsme hledali činnosti, které ho nejvíce zpomalují. Toto je třicítka těch základních.

12.  11.  2017 | Jakub Čížek | 91

Elektronika, která nepotřebuje kabel ani baterii. Živí se rádiovým šumem

Elektronika, která nepotřebuje kabel ani baterii. Živí se rádiovým šumem

** Každá elektrická krabička má konektor pro napájení nebo baterii ** Jenže pozor, jednou by to tak nemuselo být ** Drobná elektronika se může živit rádiovými vlnami

14.  11.  2017 | Jakub Čížek | 15

Nejlepší notebooky do 10 tisíc, které si teď můžete koupit

Nejlepší notebooky do 10 tisíc, které si teď můžete koupit

** I pod hranicí desíti tisíc korun existují dobře použitelné notebooky ** Mohou plnit roli pracovního stroje i zařízení pro zábavu ** Nejlevnější použitelný notebook koupíte za pět a půl tisíce

16.  11.  2017 | Stanislav Janů | 53


Aktuální číslo časopisu Computer

Otestovali jsme 5 HDR 4K televizorů

Jak natáčet video zrcadlovkou

Vytvořte si chytrou domácnost

Radíme s koupí počítačového zdroje