- Instalarea și configurarea „Motion” pentru obținerea fluxului video:
- Configurarea balonului în Raspberry Pi pentru controlul robotului prin intermediul paginii web:
- Cod HTML pentru pagina web:
- Robot de supraveghere
- Schema și configurarea circuitului:
- Cum să operezi:
În această sesiune de bricolaj construim o mașină robotică de supraveghere controlată de web folosind pi zmeură și o cameră web. Acesta ar putea fi un instrument de securitate și spionaj util și ieftin, care are multe opțiuni configurabile și poate fi construit în câteva ore. În acest proiect IoT, folosim în principal Raspberry Pi, cameră web USB și două motor DC cu șasiu Robot pentru a construi această mașină robotică.
Are o cameră web montată peste ea, prin intermediul căreia vom primi fluxuri video live, iar partea interesantă aici este că putem controla și muta acest robot dintr-un browser web pe internet. Deoarece poate fi controlat folosind pagina web, înseamnă că poate fi controlat și utilizând pagina web în mobil. Am construit o pagină web în HTML care are legături Stânga, Dreapta, Înainte, Înapoi, făcând clic pe care putem muta robotul în orice direcție. Aici am folosit „Motion” pentru a obține flux video live de pe camera USB și am folosit „Flask” pentru a trimite comenzi de pe pagina web către Raspberry Pi folosind pythonpentru a muta robotul, care sunt explicate în detaliu în partea următoare a acestui tutorial. Avem Raspbian Jessie OS instalat pe placa noastră Raspberry Pi. Puteți verifica acest articol pentru a instala sistemul de operare Raspbian și pentru a începe să utilizați Raspberry Pi.
Instalarea și configurarea „Motion” pentru obținerea fluxului video:
Motion (software de supraveghere) este un software CCTV cu detector de mișcare open source, dezvoltat pentru Linux. Acesta detectează mișcarea și începe să înregistreze videoclipuri ale acesteia. Cu „Motion” instalat în Raspberry Pi, puteți transforma magic Raspberry Pi într-o cameră de securitate. Este folosit pentru a obține fluxuri video live, pentru a face videoclipuri timelapse și pentru a face instantanee la intervale regulate. Înregistrează și salvează videoclipul ori de câte ori detectează mișcare sau orice perturbare în zona de vizualizare. Feedul video live poate fi vizionat pe browserul web prin introducerea adresei IP a Pi împreună cu portul.
Am creat un tutorial detaliat privind utilizarea Motion cu Raspberry Pi și cameră USB, aici explicăm pe scurt instalarea acestuia pe Raspberry pi pentru ca robotul nostru să trimită streaming video live pe pagina web.
Aici trebuie să rulați doar câteva comenzi pentru a începe să primiți primul flux video prin rețea. Înainte de aceasta, verificați corect dacă Raspberry Pi este conectat la internet, fie utilizând LAN, fie Wi-Fi, apoi urmați pașii de mai jos:
Pasul 1: Rulați mai întâi comanda de mai jos pentru a actualiza sistemul de operare Raspbian pe Raspberry Pi:
sudo apt-get update
Pasul 2: Apoi instalați Biblioteca „Motion” folosind comanda de mai jos:
sudo apt-get install motion
Pasul 3: Acum setați Motion daemon la da editând fișierul: / etc / default / motion astfel încât acesta să fie întotdeauna rulat. Editați acest fișier folosind editorul „nano” cu „sudo”, așa cum este prezentat mai jos:
sudo nano / etc / default / motion
Apoi salvați fișierul apăsând „CTRL + X”, apoi „Y” și Enter.
Pasul 4: Acum trebuie să setăm permisiunea pentru Directorul țintă (/ var / lib / motion /), în care Motion salvează toate înregistrările video și fișierele imagine. Trebuie să setăm „Motion” ca proprietar al acestui director prin emiterea comenzii de mai jos:
mișcare sudo chown: mișcare / var / lib / mișcare /
Această permisiune este necesară altfel veți primi erori atunci când verificați Starea serviciului Motion.
Puteți verifica starea serviciului utilizând această comandă: sudo service motion status
Pasul 5: Acum am terminat, doar că trebuie să schimbăm o opțiune de configurare în fișierul de configurare Motion (/etc/motion/motion.conf ) care este stream_localhost dezactivat. Trebuie să oprim acest flux de gazdă locală, altfel nu vom putea accesa fluxul video din rețeaua noastră și va fi accesibil doar din Raspberry Pi în sine. Pentru aceasta, editați fișierul Motion Configuration cu editorul „nano” și opriți-l, așa cum se arată mai jos:
sudo nano /etc/motion/motion.conf
Acum am terminat și suntem gata să obținem fluxul nostru live de la camera web USB conectată la Pi. Pur și simplu porniți (sau reporniți) serviciul Motion folosind comanda de mai jos și deschideți adresa Raspberry Pi, cu portul 8081, în browserul dvs. (cum ar fi 192.168.43.199:8081). În acest proiect am încorporat acest IP în codul nostru HTML în eticheta img src .
sudo /etc/init.d/motion restart
Și veți vedea fluxul live de pe camera dvs. web. Aici am folosit o cameră web USB cu cost redus, care a funcționat fără probleme cu Raspberry Pi, dar puteți utiliza în continuare o cameră de bună calitate pentru o rezoluție mai bună. După cum se va afișa în browser, puteți utiliza orice dispozitiv, pentru a viziona fluxul, care acceptă browserul web, cum ar fi mobil, tabletă etc.
Încercați să reporniți Raspberry Pi ca pas de depanare atunci când este necesar:
sudo reboot
Este vorba despre utilizarea Motion pentru robotul nostru de supraveghere, în afară de aceasta, are mai multe opțiuni de configurare pe care le-am discutat deja în tutorialul nostru anterior.
Notă: Dacă sunteți modelul Raspberry Pi sub versiunea 3, este posibil să aveți nevoie de un dongle Wi-Fi pentru a conecta wireless Raspberry Pi la router.
Configurarea balonului în Raspberry Pi pentru controlul robotului prin intermediul paginii web:
Aici, am creat un server web folosind Flask, care oferă o modalitate de a trimite comenzile de pe pagina web către Raspberry Pi pentru a controla robotul prin rețea. Flask ne permite să rulăm scripturile noastre python printr-o pagină web și putem trimite și primi date de la Raspberry Pi către browserul web și invers. Flask este un microframe pentru Python. Acest instrument este bazat pe Unicode, având un server și un depanator de dezvoltare încorporat, suport integrat pentru testarea unității, suport pentru cookie-uri sigure și ușor de utilizat, aceste lucruri îl fac util pentru pasionat.
Instalați un pachet de suport pentru balon în Raspberry Pi utilizând comanda dată:
$ pip instala Flask
Apoi putem folosi balonul doar importându-l în programul nostru, așa cum am importat următoarele pachete de balon pentru acest proiect:
din flask import Flask from flask import Flask, render_template, request
Puteți afla mai multe despre programare folosind Flask aici, puteți verifica și proiectele noastre anterioare în care am folosit Flask pentru a trimite mesajul de la pagina web către Raspberry Pi și pentru a trimite valoarea greutății către Raspberry Pi în Smart Container.
Cod HTML pentru pagina web:
Am creat o pagină web folosind limbajul HTML pentru afișarea linkurilor de control (stânga, dreapta, înainte, înapoi) pentru a muta robotul din browserul web. Am folosit scriptul jQuery pentru a apela funcțiile din programul nostru Python. Există cinci funcții în Codul Python pentru a muta robotul la stânga, la dreapta, înainte, înapoi și pentru a-l opri. Codul complet Python a fost dat la sfârșit. Aceste funcții vor fi executate făcând clic pe link-urile de control de pe pagina web și motoarele se vor deplasa în funcție de linkul pe care se face clic. Aici am scris codul în așa fel încât Robotul să se deplaseze într-o anumită direcție în timp ce faceți clic și țineți apăsat linkul și, de îndată ce eliberăm butonul mouse-ului, robotul se va opri. Mai jos este codul HTML pentru pagina web, inclusiv jQuery:
Aici puteți vedea în care am încorporat adresa IP, pe care se difuzează videoclipul, în pagina web utilizând eticheta img src . Schimbați adresa IP în funcție de Raspberry Pi, dar păstrați același port.
Utilizatorul trebuie să copie-lipească codul HTML de mai sus într-un editor de text (notepad) și să salveze fișierul cu extensia.HTML (robot.html). Apoi puneți acest fișier HTML în folderul / templates în ceea ce privește locația scriptului dvs. Python. Înseamnă că trebuie să creați un folder numit șabloane, unde ați plasat fișierul dvs. Cod Python pentru acest robot Raspberry Surveillance Robot, apoi puneți fișierul robot.html în acest folder șabloane. Acest pas este important, altfel proiectul nostru nu va funcționa. Puteți deschide direct fișierul robot.html făcând dublu clic pe el pentru a vedea cum vor arăta linkurile dvs. de control. Verificați în continuare întregul proces în Video demonstrativ la sfarsit. După ce am terminat programarea și toate acestea, putem rula codul Python în Raspberry Pi și putem deschide adresa IP_address_of_your_Pi: 5010 în browserul web (cum ar fi
Puteți verifica adresa IP a Raspberry Pi utilizând comanda ifconfig :
ifconfig
Schema și configurarea circuitului:
După testarea fluxului video live și a codului HTML, trebuie să construim un robot folosind șasiul, roțile și șuruburile robotului realizate manual sau gata făcute. Apoi puneți Power Bank deasupra acestuia pentru a alimenta Raspberry pi, apoi așezați Raspberry Pi și camera web peste banca de alimentare și fixați configurarea utilizând bandă de violoncel sau benzi de cauciuc, conectați camera USB cu Raspberry Pi.
În acest proiect IoT, nu este nevoie să facem multe conexiuni, trebuie doar să conectăm câteva fire pentru driverul de motor IC L293D și motoarele de curent continuu. Conexiunile sunt prezentate în schema de circuit de mai jos. Aici am folosit un PCB de uz general pentru montarea IC L293D pentru a reduce spațiul, dar puteți utiliza și Breadboard mic pentru conectarea motoarelor de curent continuu cu L293D.
Cum să operezi:
Funcționarea și funcționarea acestui robot de supraveghere sunt foarte ușoare. Creați un fișier python (extensia.py) și copiați codul de mai jos în acesta, apoi salvați-l pe Raspberry Pi. Apoi puneți fișierul HTML în folderul șabloane așa cum s-a explicat mai sus. Nu uitați să schimbați adresa IP în fișierul HTML.
Apoi rulați codul Python introducând comanda de mai jos:
python name_of_file.py
Apoi deschideți adresa IP Raspberry Pi cu portul 5010, cum ar fi http://192.168.43.199:5010 (înlocuiți din nou adresa IP cu adresa dvs.). Acum veți vedea pagina web cu patru link-uri de control al robotului și video live streaming. Utilizatorul poate controla robotul făcând clic și menținând apăsat linkurile. Dacă utilizatorul va face clic și ține apăsat linkurile, atunci robotul se va deplasa în funcție de linkul făcut clic și când utilizatorul va elibera linkul, robotul se va opri automat.
Codul complet Python este prezentat mai jos, unde am scris diverse funcții pentru a controla robotul făcând clic pe linkurile de pe pagina web. Le puteți înțelege cu ușurință sau dacă sunteți începător, consultați tutorialele noastre anterioare despre Raspberry Pi. De asemenea, vizitați secțiunea noastră de robotică pentru roboți mai interesanți și mai ușor de construit.