- Namestitev in konfiguriranje 'Motion' za pridobivanje video vira:
- Nastavitev bučke v Raspberry Pi za upravljanje robota prek spletne strani:
- Koda HTML za spletno stran:
- Nadzorni robot
- Shema vezja in nastavitev:
- Kako upravljati:
V tej seji DIY gradimo nadzorni robotski avtomobil s spletnim nadzorom z uporabo maline pi in spletne kamere. To je lahko koristno in poceni varnostno in vohunsko orodje, ki ima veliko nastavljivih možnosti in ga je mogoče zgraditi v nekaj urah. V tem projektu IoT za izdelavo tega robotskega avtomobila v glavnem uporabljamo Raspberry Pi, spletno kamero USB in dva enosmerna motorja s šasijo Robot.
Nanj je nameščena spletna kamera, preko katere bomo dobili video vir v živo, zanimiv del pa je, da lahko tega robota nadzorujemo in premikamo iz spletnega brskalnika prek interneta. Ker ga je mogoče nadzorovati s pomočjo spletne strani, pomeni, da ga je mogoče nadzorovati tudi s pomočjo spletne strani v mobilni napravi. Izdelali smo spletno stran v HTML-ju, ki ima levo, desno, naprej, nazaj povezave, s klikom na katero lahko robota premaknemo v katero koli smer. Tu smo uporabili »Motion« za pridobivanje videoposnetka v živo z USB kamere in »Flask« za pošiljanje ukazov s spletne strani na Raspberry Pi s pomočjo pythonaza premikanje robota, ki so podrobno razloženi v nadaljnjem delu te vadnice. Na naši plošči Raspberry Pi je nameščen sistem Raspbian Jessie. Ta članek si lahko ogledate, če želite namestiti OS Raspbian in začeti uporabljati Raspberry Pi.
Namestitev in konfiguriranje 'Motion' za pridobivanje video vira:
Motion (Nadzorna programska oprema) je brezplačna odprtokodna programska oprema CCTV za zaznavanje gibanja, razvita za Linux. Zazna gibanje in začne snemati videoposnetek. Z nameščenim v vašem Raspberry Pi 'Motion' lahko vaš Raspberry Pi čarobno spremenite v varnostno kamero. Uporablja se za pridobivanje videoposnetkov v živo, snemanje videoposnetkov s časovnim zamikom in redno fotografiranje. Video posname in shrani, kadar koli zazna gibanje ali kakršno koli motnjo v vidnem območju. Vir video v živo si lahko v spletnem brskalniku ogledate tako, da skupaj z vrati vnesete IP naslov Pi.
Ustvarili smo podroben Vadnik o uporabi gibanja z Raspberry Pi in USB kamero, tukaj na kratko razlagamo njegovo namestitev na Raspberry pi za našega Robota, da pošlje pretakanje video posnetkov v živo na spletno stran.
Tukaj morate zagnati le nekaj ukazov, da začnete prenašati prvi video vir po omrežju. Pred tem pravilno preverite, ali je Raspberry Pi povezan z internetom prek LAN ali Wi-Fi in sledite spodnjim korakom:
1. korak: Najprej zaženite spodnji ukaz za posodobitev OS Raspbian na Raspberry Pi:
posodobitev sudo apt-get
2. korak: Nato namestite knjižnico 'Motion' z uporabo spodnjega ukaza:
sudo apt-get namestitev gibanja
3. korak: Zdaj nastavite daemon Motion na yes z urejanjem datoteke: / etc / default / motion, tako da se bo vedno izvajala. Uredite to datoteko z urejevalnikom 'nano' z 'sudo', kot je navedeno spodaj:
sudo nano / etc / default / motion
Nato datoteko shranite s pritiskom na 'CTRL + X', nato na 'Y' in Enter.
4. korak: Zdaj moramo nastaviti dovoljenje za ciljni imenik (/ var / lib / motion /), v katerem Motion shrani vse video posnetke in slikovne datoteke. Kot lastnika tega imenika moramo nastaviti 'Motion' z izdajo spodnjega ukaza:
sudo chown motion: motion / var / lib / motion /
To dovoljenje je potrebno, sicer boste pri preverjanju stanja storitve gibanja dobili napako.
Stanje storitve lahko preverite s pomočjo tega ukaza: status gibanja storitve sudo
5. korak: Zdaj smo že skoraj končali, v konfiguracijski datoteki Motion (/etc/motion/motion.conf ) moramo spremeniti samo eno konfiguracijsko možnost, ki je izklopljena stream_localhost. To pretakanje lokalnega gostitelja moramo izklopiti, sicer ne bomo mogli dostopati do vira Video v našem omrežju in bo dostopen samo iz same Raspberry Pi. Če želite to narediti, uredite datoteko za konfiguracijo gibanja z urejevalnikom 'nano' in jo izklopite, kot je prikazano spodaj:
sudo nano /etc/motion/motion.conf
Zdaj smo končali in smo pripravljeni, da si zagotovimo vir v živo s spletne kamere USB, priključene na Pi. Preprosto zaženite (ali znova zaženite) storitev Motion s spodnjim ukazom in v brskalniku odprite IP vašega Raspberry Pi z vrati 8081 (na primer 192.168.43.199:8081). V tem projektu smo ta IP vdelali v našo kodo HTML v oznako img src .
sudo /etc/init.d/motion znova zaženi
Videli boste tudi vir v živo s spletne kamere. Tu smo uporabili poceni spletno kamero USB, ki je nemoteno delovala z našo Raspberry Pi, vendar lahko za boljšo ločljivost uporabite še kakovostno kamero. Kot bo prikazano v brskalniku, lahko za gledanje vira uporabite katero koli napravo, ki podpira spletni brskalnik, kot so mobilni, tablični računalniki itd.
Po potrebi poskusite znova zagnati Raspberry Pi kot korak za odpravljanje težav:
sudo ponovni zagon
Gre predvsem za uporabo Motion za našega nadzornega robota, poleg tega pa ima več možnosti konfiguracije, o katerih smo že govorili v prejšnji vadnici.
Opomba: Če ste model Raspberry Pi, starejši od različice 3, boste morda potrebovali ključ Wi-Fi za brezžično povezavo Raspberry Pi z usmerjevalnikom.
Nastavitev bučke v Raspberry Pi za upravljanje robota prek spletne strani:
Tu smo z uporabo bučke ustvarili spletni strežnik, ki ponuja način za pošiljanje ukazov s spletne strani na Raspberry Pi za nadzor robota prek omrežja. Flask nam omogoča zagon skriptov python prek spletne strani, podatke iz Raspberry Pi pa lahko pošiljamo in prejemamo v spletni brskalnik in obratno. Bučka je mikrookvir za Python. To orodje temelji na Unicode z vgrajenim razvojnim strežnikom in razhroščevalnikom, integrirano podporo za testiranje enot, podporo za varne piškotke in njegovo enostavno uporabo, zaradi česar je koristno za ljubitelje hobije.
V Raspberry Pi namestite paket bučke s pomočjo danega ukaza:
$ pip namestite bučko
Nato lahko bučko uporabimo tako, da jo samo uvozimo v naš program, kot smo za ta projekt uvozili naslednje pakete bučke:
iz bučke uvoz Bučka iz bučke uvoz Bučka, render_template, zahteva
Tu lahko izveste več o programiranju s pomočjo bučke, preverite tudi naše prejšnje projekte, kjer smo s pomočjo bučke poslali sporočilo s spletne strani na Raspberry Pi in poslali vrednost teže na Raspberry Pi v pametnem vsebniku.
Koda HTML za spletno stran:
Ustvarili smo spletno stran, ki uporablja jezik HTML za prikaz nadzornih povezav (levo, desno, naprej, nazaj) za premikanje robota iz spletnega brskalnika. Za klicanje funkcij v našem programu Python smo uporabili skript jQuery. Python Code ima pet funkcij za premikanje robota levo, desno, naprej, nazaj in za zaustavitev. Na koncu je podana celotna koda Python. Te funkcije se bodo izvajale s klikom na nadzorne povezave na spletni strani in motorji se bodo premikali glede na kliknjeno povezavo. Tu smo kodo napisali tako, da se bo Robot med klikom in držanjem povezave premikal v določeno smer in takoj, ko spustimo gumb miške, se Robot ustavi. Spodaj je koda HTML za spletno stran, vključno z jQuery:
Tu lahko vidite, kako smo z uporabo oznake img src v spletno stran vdelali naslov IP, na katerem se pretaka Video. Spremenite naslov IP glede na Raspberry Pi, vendar naj vrata ostanejo enaka.
Uporabnik mora zgoraj navedeno kodo HTML kopirati in prilepiti v neki urejevalnik besedil (beležnico) in datoteko shraniti s pripono.HTML (robot.html). Nato postavite to datoteko HTML v mapo / templates glede na lokacijo vašega skripta python. Pomeni, da morate ustvariti mapo z imenom predloge, kamor ste postavili svojo datoteko Python Code za tega Raspberry Surveillance Robot, nato pa v to mapo s predlogami vstavite datoteko robot.html. Ta korak je pomemben, sicer naš projekt ne bo deloval. Datoteko robot.html lahko odprete neposredno z dvojnim klikom nanjo, da vidite, kako bodo videti vaše nadzorne povezave. Nadalje preverite celoten postopek v predstavitvenem videu na koncu. Ko končamo s programiranjem in vsem drugim, lahko samo zaženemo kodo Python v Raspberry Pi in v spletnem brskalniku odpremo IP_address_of_your_Pi: 5010 (na primer
Naslov IP vašega Raspberry Pi lahko preverite z ukazom ifconfig :
ifconfig
Shema vezja in nastavitev:
Po preizkusu vira Live Video in kode HTML moramo zgraditi robota z uporabo ročno izdelanih ali že pripravljenih šasij, koles in matic. Nato namestite Power Bank nad njo za napajanje Raspberry pi in nato namestite Raspberry Pi in spletno kamero nad power bank in popravite nastavitev s trakom Cello ali gumijastimi trakovi, povežite USB kamero z Raspberry Pi.
V tem projektu IoT nam ni treba povezovati veliko, le nekaj žic moramo povezati za motor Driver IC L293D in DC Motors. Povezave so prikazane v spodnjem vezju. Tu smo uporabili PCB splošnega namena za pritrditev L293D IC za zmanjšanje prostora, lahko pa uporabite tudi majhno tablico za povezovanje enosmernih motorjev z L293D.
Kako upravljati:
Upravljanje in delo s tem nadzornim robotom je zelo enostavno. Ustvarite datoteko python (pripona.py) in v njo kopirajte spodnjo kodo, nato pa jo shranite v Raspberry Pi. Nato vstavite datoteko HTML v mapo s predlogami, kot je opisano zgoraj. Ne pozabite spremeniti naslova IP v datoteki HTML.
Nato zaženite kodo Python, tako da vnesete spodnji ukaz:
python name_of_file.py
Nato odprite svoj naslov IP Raspberry Pi z vrati 5010, kot je http://192.168.43.199:5010 (znova zamenjajte naslov IP z vašim naslovom). Zdaj boste videli spletno stran s štirimi robotskimi nadzornimi povezavami in pretočnim videom v živo. Uporabnik lahko nadzoruje robota s klikom in držanjem povezav. Če uporabnik klikne in zadrži povezave, se bo robot premaknil glede na kliknjeno povezavo in kdaj bo uporabnik izpustil povezavo, se bo robot samodejno ustavil.
Popolna koda Pythona je podana spodaj, kjer smo napisali različne funkcije za nadzor Robota ob kliku na povezave na spletni strani. Lahko jih enostavno razumete, ali če ste začetnik, preverite naše prejšnje vadnice za Raspberry Pi. Obiščete tudi naš oddelek za robotiko, kjer boste našli bolj zanimive in enostavne robote.