- Inštalácia a konfigurácia aplikácie „Motion“ na získanie video kanálu:
- Nastavenie banky v Raspberry Pi pre riadenie robota prostredníctvom webovej stránky:
- HTML kód pre webovú stránku:
- Dohľadový robot
- Schéma zapojenia a nastavenie:
- Ako pracovať:
V tejto relácii DIY staviame webovo riadený sledovací robotický automobil pomocou maliny pi a webovej kamery. Môže to byť užitočný a lacný bezpečnostný a špionážny nástroj, ktorý má veľa konfigurovateľných možností a môže byť zostavený za pár hodín. V tomto projekte IoT na výrobu tohto robotického automobilu používame hlavne Raspberry Pi, USB webovú kameru a dva jednosmerné motory s podvozkom Robot.
Má nad sebou namontovanú webovú kameru, cez ktorú získame živé video, a zaujímavou časťou je, že tohto robota môžeme ovládať a presúvať z webového prehliadača cez internet. Pretože sa dá ovládať pomocou webovej stránky, znamená to, že sa dá ovládať aj pomocou webovej stránky v mobile. Vytvorili sme webovú stránku v HTML, ktorá má odkazy Vľavo, Vpravo, Vpred, Spätne a kliknutím na ne môžeme robotom pohybovať ľubovoľným smerom. Tu sme použili „Motion“ na získanie živého videa z USB kamery a „Flask“ na zasielanie príkazov z webovej stránky na Raspberry Pi pomocou pythonupresunúť robota, ktoré sú podrobne vysvetlené v nasledujúcej časti tohto tutoriálu. Na našej doske Raspberry Pi máme nainštalovaný Raspbian Jessie OS. V tomto článku si môžete prečítať, ako nainštalovať operačný systém Raspbian a začať s Raspberry Pi.
Inštalácia a konfigurácia aplikácie „Motion“ na získanie video kanálu:
Motion (Surveillance Software) je bezplatný open source CCTV softvér na detekciu pohybu vyvinutý pre Linux. Zistí pohyb a začne z neho nahrávať video. S programom „Motion“ nainštalovaným na vašom Raspberry Pi môžete z vášho Raspberry Pi magicky urobiť bezpečnostnú kameru. Používa sa na získavanie živého videa, vytváranie časozberných videí a snímanie snímok v pravidelných intervaloch. Zaznamenáva a ukladá video vždy, keď zistí pohyb alebo akékoľvek rušenie v oblasti zobrazenia. Živý video kanál je možné sledovať vo webovom prehliadači zadaním IP adresy Pi spolu s portom.
Vytvorili sme podrobný Výukový program o používaní pohybu s Raspberry Pi a kamerou USB, kde v krátkosti vysvetľujeme jeho inštaláciu na Raspberry pi pre nášho robota na odosielanie živého videa na webovú stránku.
Tu musíte spustiť iba niekoľko príkazov, aby ste začali dostávať prvé video kanály v sieti. Predtým poriadne skontrolujte, či je váš Raspberry Pi pripojený k internetu, a to buď pomocou LAN alebo Wi-Fi, a potom postupujte podľa nasledujúcich krokov:
Krok 1: Najskôr spustite nasledujúci príkaz na aktualizáciu operačného systému Raspbian na Raspberry Pi:
sudo apt-get aktualizácia
Krok 2: Potom nainštalujte knižnicu „Motion“ pomocou nasledujúceho príkazu:
sudo apt-get inštalovať pohyb
Krok 3: Teraz nastavte démona pohybu na áno úpravou súboru: / etc / default / motion tak, aby bol vždy spustený. Upravte tento súbor pomocou editora „nano“ s „sudo“, ako je uvedené nižšie:
sudo nano / etc / default / motion
Potom uložte súbor stlačením klávesov „CTRL + X“, potom „Y“ a kláves Enter.
Krok 4: Teraz musíme nastaviť povolenie pre cieľový adresár (/ var / lib / motion /), do ktorého Motion ukladá všetky videozáznamy a obrazové súbory. Musíme nastaviť „Motion“ ako vlastníka tohto adresára vydaním nasledujúceho príkazu:
pohyb sudo chown: pohyb / var / lib / pohyb /
Toto povolenie je potrebné, inak sa pri kontrole stavu pohybovej služby zobrazí chyba.
Stav služby môžete skontrolovať pomocou tohto príkazu: sudo service motion status
Krok 5: Teraz sme takmer hotoví, iba musíme zmeniť jednu možnosť konfigurácie v konfiguračnom súbore Motion (/etc/motion/motion.conf ), ktorý je vypnutý stream_localhost. Musíme vypnúť túto miestneho hostiteľa streaming, inak nebudeme môcť získať prístup k zdroj videa v našej sieti a bude prístupná len z Raspberry Pi sám. Ak to chcete urobiť, upravte súbor Motion Configuration pomocou editora „nano“ a vypnite ho, ako je to znázornené nižšie:
sudo nano /etc/motion/motion.conf
Teraz sme hotoví a pripravení získať živé vysielanie z webovej kamery USB pripojenej k Pi. Stačí spustiť (alebo reštartovať) službu Motion pomocou nižšie uvedeného príkazu a otvoriť vo svojom prehliadači adresu IP vášho Raspberry Pi s portom 8081 (napríklad 192.168.43.199:8081). V tomto projekte sme túto adresu IP vložili do nášho kódu HTML v značke img src .
sudo /etc/init.d/motion reštart
Uvidíte živý prenos z webovej kamery. Tu sme použili lacnú webovú kameru USB, ktorá fungovala bez problémov s našou Raspberry Pi, ale pre lepšie rozlíšenie môžete ďalej používať kvalitnú kameru. Ako sa ukáže v prehliadači, na sledovanie informačného kanála, ktorý podporuje webový prehliadač, ako je mobil, tablet atď., Môžete použiť akékoľvek zariadenie.
V prípade potreby skúste reštartovať Raspberry Pi ako krok na riešenie problémov:
sudo reštart
Toto je všetko o používaní Motion pre nášho Surveillance Robot, okrem toho má niekoľko možností konfigurácie, o ktorých sme už hovorili v našom predchádzajúcom návode.
Poznámka: Ak ste model Raspberry Pi pod verziou 3, možno budete potrebovať bezdrôtový kľúč Wi-Fi na bezdrôtové pripojenie maliny Pi k smerovaču.
Nastavenie banky v Raspberry Pi pre riadenie robota prostredníctvom webovej stránky:
Tu sme vytvorili webový server pomocou Flask, ktorý poskytuje spôsob odosielania príkazov z webovej stránky na Raspberry Pi na riadenie robota po sieti. Flask nám umožňuje spúšťať naše pythonovské skripty cez webovú stránku a my môžeme odosielať a prijímať dáta z Raspberry Pi do webového prehliadača a naopak. Flask je mikrorámik pre Python. Tento nástroj je založený na kódovaní Unicode so zabudovaným vývojovým serverom a debuggerom, podporou integrovaného testovania jednotiek, podporou zabezpečených súborov cookie a jeho ľahkým používaním, vďaka čomu sú pre fandy užitočné.
Nainštalujte balík podpory banky do Raspberry Pi pomocou zadaného príkazu:
$ pip nainštalujte banku
Potom môžeme použiť banku jednoduchým importom do nášho programu, ako keby sme pre tento projekt importovali nasledujúce balíčky banky:
z flaskového importu Flask z flaskového importu Flask, render_template, požiadavka
Tu sa dozviete viac o programovaní pomocou banky, pozrite si aj naše predchádzajúce projekty, kde sme bankou poslali správu z webovej stránky na Raspberry Pi a odoslali hodnotu hmotnosti na Raspberry Pi v inteligentnom kontajneri.
HTML kód pre webovú stránku:
Vytvorili sme webovú stránku používajúcu jazyk HTML na zobrazovanie ovládacích odkazov (doľava, doprava, dopredu, dozadu) na presun robota z webového prehliadača. Na volanie funkcií v našom pythonovskom programe sme použili skript jQuery. V kóde Python je päť funkcií na pohyb robota doľava, doprava, dopredu, dozadu a na jeho zastavenie. Na konci bol uvedený kompletný kód Pythonu. Tieto funkcie sa vykonajú kliknutím na ovládacie odkazy na webovej stránke a motory sa budú pohybovať v závislosti na kliknutí na odkaz. Tu sme napísali kód tak, že robot sa bude pohybovať určitým smerom pri kliknutí a podržaní odkazu, akonáhle uvoľníme tlačidlo myši, robot sa zastaví. Ďalej je uvedený HTML kód pre webovú stránku vrátane jQuery:
Tu vidíte, že sme vložili adresu IP, na ktorej sa video streamuje, na webovú stránku pomocou značky img src . Zmeňte adresu IP podľa vášho Raspberry Pi, ale port udržujte rovnaký.
Používateľ musí vyššie uvedený kód HTML skopírovať a vložiť do niektorého textového editora (poznámkového bloku) a uložiť súbor s príponou.HTML (robot.html). Potom vložte tento súbor HTML do priečinka / templates s ohľadom na umiestnenie skriptu v jazyku python. Znamená to, že musíte vytvoriť priečinok s názvom šablóny, do ktorého ste vložili súbor Python Code pre tento Raspberry Surveillance Robot a potom do tohto priečinka so šablónami súbor robot.html. Tento krok je dôležitý, inak náš projekt nebude fungovať. Súbor robot.html môžete otvoriť priamo dvojitým kliknutím, aby ste videli, ako budú vyzerať vaše ovládacie odkazy. Celý proces ďalej skontrolujte v ukážkovom videu nakoniec. Potom, čo sme skončili s programovaním a všetkým možným, môžeme jednoducho spustiť kód Pythonu v Raspberry Pi a otvoriť IP_adresu_vasej_Pi: 5010 vo webovom prehliadači (napríklad
IP adresu vášho Raspberry Pi môžete skontrolovať pomocou príkazu ifconfig :
ifconfig
Schéma zapojenia a nastavenie:
Po vyskúšaní informačného kanála živého videa a kódu HTML musíme postaviť robota pomocou ručne vyrobeného alebo pripraveného šasi robota, kolies a matíc. Potom na ňu umiestnite powerbanku na napájanie Raspberry pi a potom umiestnite Raspberry Pi a webovú kameru na powerbanku a nastavenie opravte pomocou pásky na violončelo alebo gumových pásikov, pripojte USB kameru k Raspberry Pi.
V tomto projekte IoT nemusíme robiť veľa pripojení, stačí len pripojiť niektoré vodiče pre IC Driver Driver L293D a DC motory. Pripojenia sú zobrazené v schéme zapojenia nižšie. Tu sme použili univerzálnu PCB na montáž integrovaného obvodu L293D, aby sme zmenšili priestor, ale môžete tiež použiť malú prepojovaciu dosku na pripojenie jednosmerných motorov k L293D.
Ako pracovať:
Prevádzka a práca tohto dozorného robota je veľmi jednoduchá. Vytvorte súbor python (prípona.py), skopírujte do neho nasledujúci kód a potom ho uložte na svoj Raspberry Pi. Potom vložte súbor HTML do priečinka so šablónami, ako je vysvetlené vyššie. Nezabudnite zmeniť IP adresu v súbore HTML.
Potom spustite kód Pythonu zadaním nasledujúceho príkazu:
python name_of_file.py
Potom otvorte svoju adresu IP Raspberry Pi s portom 5010, napríklad http://192.168.43.199:5010 (znova nahraďte adresu IP vašou adresou). Teraz uvidíte webovú stránku so štyrmi odkazmi na ovládanie robota a videom v priamom prenose. Užívateľ môže ovládať robota kliknutím a podržaním odkazov. Ak užívateľ klikne a drží odkazy, robot sa bude pohybovať podľa klikaného odkazu a kedy užívateľ odkaz uvoľní, robot sa automaticky zastaví.
Kompletný kód Pythonu je uvedený nižšie, kde sme napísali rôzne funkcie na ovládanie robota po kliknutí na odkazy na webovej stránke. Môžete im ľahko porozumieť, alebo ak ste začiatočníci, pozrite si naše predchádzajúce návody pre Raspberry Pi. Navštívte tiež našu sekciu robotiky, kde nájdete zaujímavejšie a ľahšie zostaviteľné roboty.