Cuprins:
- Pasul 1: rotunjiți componentele necesare
- Pasul 2: Puneți Pi în funcțiune
- Pasul 3: Creați circuitul de detectare a laserului
- Pasul 4: Modificați laserul pentru alimentare externă
- Pasul 5: Porniți laserul și testați circuitul de detecție
- Pasul 6: Conectați-vă camera web și testați-i funcționalitatea
- Pasul 7: Intermitere
- Pasul 8: Monitorizați laserul cu software
- Pasul 9: Creați o pagină web pentru a vă afișa fluxul
- Pasul 10: configurați alertele prin e-mail
- Pasul 11: Declanșați scriptul de e-mail când laserul este declanșat
- Pasul 12: Creați un script master pentru a iniția sistemul
- Pasul 13: Concluzie
Video: Sistem de securitate laser Raspberry Pi: 13 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Vă mulțumesc că ați verificat instrucțiunile mele. Până la sfârșitul acestei instrucțiuni, veți construi sistemul tripwire cu laser raspberry pi cu funcționalitate de alertă prin e-mail, care este afișat în videoclip.
Pentru a finaliza acest instructable, va trebui să vă familiarizați cu circuitele generale și cu lipirea, să știți cum să folosiți o placă și să vă simțiți confortabil folosind terminalul de pe pi. Având experiență în python va fi de asemenea util.
Acest proiect constă din trei sisteme principale. Raspberry pi, circuitul laser tripwire și un computer de observare. Obiectivul nostru este să folosim raspberry pi pentru a detecta o schimbare de tensiune pe circuitul laser tripwire și apoi să alertăm un computer de observare sub forma unui flux de e-mail și video.
Sa incepem.
Pasul 1: rotunjiți componentele necesare
Pentru a finaliza acest proiect, veți avea nevoie de următoarele elemente.
- Cel puțin un Raspberry Pi operațional. În această construcție am folosit un model B stil Pi care rulează șuierător raspbian. Sunt sigur că acest tutorial va funcționa foarte bine dacă executați raspbian jessie.
- O sursă de alimentare externă pentru zmeura pi. Vom atrage o cantitate semnificativă de amperaj odată ce toate acestea sunt conectate. Am petrecut mult timp diagnosticând o sursă de energie neplăcută ca sursă de probleme în timpul primei mele construcții. Asigurați-vă că aveți o putere puternică capabilă să obțină cel puțin 2 amperi.
- Un indicator laser ieftin. Am găsit-o pe a mea lângă casa de marcat la o benzinărie. Dacă doriți laserul exact, îl puteți găsi aici. Eticheta indică 630-680 nm pentru lungimea de undă. Orice laser obțineți va determina unele dintre celelalte componente din construcție. Deci, asigurați-vă că eticheta identifică lungimea de undă.
- O cameră web în stil USB. Această cameră web are un picior reglabil care vă permite să poziționați frumos camera. Am constatat că cablul USB care a venit cu camera web era prea scurt pentru aplicația mea, așa că am găsit o extensie pe monoprice.
-
Un fel de set de breakout pentru raspberry pi, astfel încât să puteți avea acces ușor la pinii de pe procesor.
- O placă de măsurare.
- Un fier de lipit.
- Sârme jumper pentru panou.
-
Componentele circuitului. Înmulțiți cu cantitatea de fire de călătorie dorite.
- Un condus de lucru
- Un rezistor de 100 ohmi
- Un rezistor de 1k
- Un rezistor de 10k
- Un rezistor de 200k Într-adevăr, orice rezistor mare va face. L-am testat cu un rezistor de 1M și a funcționat bine. FYI 10k a fost prea mic.
- Un tranzistor PNP PN: 2N4403-APCT-ND
- O fotodiodă (potriviți-o cu lungimea de undă a laserului) PN: PDB-C142-ND
Voi atașa fișierele kicad pentru placa de circuit, dar nu voi trece peste fabricarea plăcii în acest instructable.
De-a lungul acestui proiect, am găsit următoarele instrumente opționale la îndemână:
- Instalarea sinergiei pe raspberry pi. În cazul în care nu sunteți familiarizați, acest software vă va permite să controlați mouse-ul și tastatura raspberry pi cu un alt computer. Acest lucru este frumos dacă sunteți ca mine și sunteți mai confortabil pe un computer diferit. De asemenea, acesta este un software pe care toată lumea ar trebui să îl aibă.
- Un hub USB. Pentru fiecare cameră web pe care doriți să o utilizați, veți avea nevoie de un singur port.
- Tensimetru sau osciloscop dacă îl aveți.
- Utilizarea MobaXterm pentru a controla raspberry pi și a manipula fișiere prin ssh. Este un must have pentru oricine ridicat pe ferestre. Consultați acest tutorial pentru a configura utilizarea acestuia.
Pasul 2: Puneți Pi în funcțiune
Pi cu componente minime atașate
Înainte de a putea realiza orice laser, există mai multe straturi de software care trebuie construite. Pentru a avea cele mai mari șanse de succes, este o bună practică să începeți cu o ardezie curată. Pentru a face acest lucru, deconectați orice element inutil de la Pi. Acest lucru va reduce șansele de a avea interferențe de la un dispozitiv conectat.
Apoi, asigurați-vă că Raspberry Pi funcționează cu cel mai recent software introducând următoarele în terminal
sudo apt-get update
Cu zmeura pi actualizată, este timpul pentru următorul pas
Pasul 3: Creați circuitul de detectare a laserului
Așezați componentele pe panou după cum se arată. Alimentați placa de masă utilizând ieșirea de 5v a pi sau o sursă de alimentare de pe bancă. În figura 1, sursa de 5v este conectată la șina pozitivă a panoului din partea din stânga jos a imaginii și la sol la partea din stânga sus. Acest circuit folosește fotodioda ca comutator pentru a declanșa tranzistorul. Tranzistorul convertește mica modificare a tensiunii din fotodiodă într-un semnal oarecum digital pe care pi îl poate citi. Pentru toți pașii ulteriori, punctul dintre 100ohm și ledul de semnal va fi locul în care probăm circuitul cu pi.
-
Fig 1: Partea superioară a aspectului plăcii de circuit
-
Fig 2: Vedere alternativă a aspectului plăcii de circuit
Dacă doriți un aspect mai curat, am atașat fișierele kicad pentru placa care este prezentată mai jos.
-
Fig 3: vedere de sus a plăcii senzorilor
-
Fig 4: placa senzor ISO
-
Firul portocaliu înlocuiește butonul momentan
-
Afișarea potențialelor pozitive și negative
-
Articulație sferică
-
Articulație cu soclu
-
Minge și soclu asamblate
-
Lucrul cu laser cu un fascicul sănătos
-
Grinda nu este ruptă și ledul este oprit
-
Intrusul rupe fasciculul, provocând lumina ledului
-
ieșire eșantion mjpg-streamer
-
Aspectul panoului de calcul cu PiCobler
-
Ieșire corectă a consolei (afișată folosind MobaXterm)
-
Captură de ecran a fișierelor atașate în funcțiune
- your_ip = "192.168.0.177"
- your_ip_optional_port = ": 8080"
- port_to_camera = ": 8081"
- Send_email_username = "numele dvs. de utilizator prin e-mail"
- sending_email_password = "parola ta"
-
Captură de ecran a fișierelor atașate în funcțiune
Pasul 4: Modificați laserul pentru alimentare externă
În următorii pași veți construi ansamblul indicatorului laser.
- Demontați indicatorul laser. Atunci când faceți acest lucru, observați orientarea bornelor bateriei față de emițătorul laser. - Apoi, desoldați arcul de conectare a bateriei și butonul momentan de la laser. Acum, când este furnizat curent laserului, acesta se va porni automat. Acum lipiți cablurile pozitive și negative ale laserului. Dacă utilizați același laser din lista pieselor, puteți utiliza imaginea de mai jos pentru a vedea punctele de lipit. Dacă nu sunteți, poate fi necesar să găsiți singur punctele de lipit. Puteți utiliza orientarea bateriei ca indiciu pentru cablul pozitiv sau negativ. Pentru a găsi ultimul punct de lipit, puteți utiliza o sursă de alimentare de 5V și testați circuitul cu două cabluri de testare. Când ați creat circuitul adecvat, ați găsit punctul de lipire și laserul se va aprinde.
- Ultimul pas este realizarea unui stâlp de montare direcțional pentru laser, astfel încât acesta să poată fi ajustat cu ușurință pentru a viza receptacula laserului. Am constatat că majoritatea kiturilor de bionicule lego sunt o sursă excelentă de bilă ieftină în articulațiile de soclu. Lipiți o bucată din articulația sferică pe indicatorul laser folosind super lipici. Acum puteți monta articulația de soclu pe orice suprafață și introduceți laserul.
Pasul 5: Porniți laserul și testați circuitul de detecție
Conectați laserul la panoul de testare. Pozitivul va trebui conectat la 5v și împământarea firului negativ. Dacă laserul se aprinde excelent, dacă nu, verificați de două ori dacă aveți tensiunea corectă cu un multimetru. Dacă tot nu funcționează, încercați să schimbați cablurile în cazul în care l-ați conectat înapoi. Dacă tot nu funcționează, este posibil să nu fi lipit pe tampoanele potrivite, reveniți la ultimul pas.
Odată ce aveți laserul, este timpul să testați circuitul de detectare. Îndreptați laserul către fotodiodă. LED-ul ar trebui să se oprească semnalând faptul că fasciculul este activ. Faceți mâna prin fascicul și LED-ul ar trebui să se aprindă pentru a semnaliza o declanșare.
Pasul 6: Conectați-vă camera web și testați-i funcționalitatea
Conectați-vă camera web la portul USB. Pentru a transmite în flux videoclipul, trebuie să obținem utilitarul mjpg-streamer. Iată un tutorial minunat despre cum să faci exact asta. Odată ce ați instalat corect mjpg-streamer. Începeți streaming video introducând următoarea comandă în terminal.
cd / unde ați instalat mjpg-streamer / mjpg-streamer
./mjpg_streamer -i "./input_uvc.so -y / dev / video0" -o "./output_http.so -w./www -p 8081"
Această comandă va configura un flux pe portul 8081 utilizând sursa video0. Dacă doriți mai multe camere web, introduceți din nou comanda de mai sus, dar schimbați video0 la video1 și 8081 la 8082. Am transmis până la 3 camere web în acest fel și pi nu a fost supraîncărcat.
Testați dacă conexiunea funcționează deschizând un browser pe un alt computer și introduceți adresa IP-of-pi: 8081 sau pe pi puteți introduce doar localhost: 8081. Dacă nu vă cunoașteți ip-ul, introduceți următoarele în terminal
ifconfig
Dacă totul funcționează, ar trebui să vedeți pagina de pornire mpg-streamer. Faceți clic pe fila flux pentru a vedea fluxul camerei Web. Mai jos este o captură de ecran a interfeței.
Făcând acest tutorial pentru a doua oară am putut accesa pagina de pornire mjpg-streamer, dar nu am văzut un flux. Pentru a remedia acest lucru, am citit acest post (linkul este acum rupt), în special partea despre formatul de pixeli YUYV, dacă întâlniți un flux gol ar trebui să îl consultați și.
Pasul 7: Intermitere
Bine, așa că, în acest moment, ar trebui să avem zmeura pi în funcțiune. Laserul nostru a fost modificat pentru alimentare externă. Circuitul nostru de detecție a fost construit și ați confirmat că atunci când fasciculul laser lovește fotodiodul, ledul se oprește și când spargeți fasciculul, ledul ar trebui să se aprindă. În cele din urmă, ar trebui să aveți camera web conectată și să funcționați în flux funcțional.
Acum este timpul să punem totul împreună. Să începem simplu încercând să detectăm declanșarea fasciculului laser cu ajutorul software-ului.
Conectați circuitul de detecție la panoul de verificare așa cum se arată. Asigurați-vă că conectați firul de semnal al senzorului la pinul 25 în pregătirea pentru pasul următor. Rezistența de tragere nu este opțională. Am avut o depunere de 10k, dar orice rezistență ar trebui să o facă.
Pasul 8: Monitorizați laserul cu software
Să scriem un program scurt pentru a asculta semnalul laser și pentru a posta ieșirea la terminal. Puteți descărca codul ca atașament.
Probabil va trebui să instalați dependențele pentru acest script. Python și modulul gpio. Pentru a le instala, introduceți
sudo apt-get install python-rpi.gpio python3-rpi.gpio
Odată ce ați instalat cu succes Python, descărcați scriptul Python atașat numit read_pin.py și rulați
directorul cd / unde puneți fișierul / chmod 777 read_pin.py
Comanda chmod va da scriptului permisiunea de a rula. Apoi testați că totul este bine și dandy alergând
sudo python3 read_pin.py
Dacă totul merge bine, ar trebui să vedeți o ieșire a consolei așa cum se arată mai jos. Pentru a ieși din scriptul python, introduceți
Ctrl-C
Agitați mâna în fața fasciculului laser și ar trebui să vedeți o ieșire pe consolă care vă avertizează că fasciculul a fost rupt. Simțiți-vă liber să jucați cu scriptul pentru a face ca sistemul dvs. să funcționeze în moduri diferite.
Pasul 9: Creați o pagină web pentru a vă afișa fluxul
Acum trebuie să configurăm o interfață de vizualizare webcam. Pentru acest pas va trebui să instalați serverul web apache. Există o mulțime de tutoriale acolo despre configurarea unuia. Iată însă lista scurtă cu o configurație minimă.
sudo apt-get install apache2
odată instalat, ar trebui să puteți scrie în browserul dvs. pe raspberry pi
gazdă locală
Ar trebui să vedeți pagina de întâmpinare de la apache. Dacă este prima dată când configurați un server web, probabil că veți dori să vă configurați pi-ul pentru a avea o adresă IP statică, astfel încât routerul dvs. să atribuie întotdeauna ip-ul corect dacă faceți un ciclu de alimentare. Dacă doriți să vizualizați sistemul de securitate dintr-o altă locație, va trebui să configurați redirecționarea porturilor pe router. A trecut ceva timp, dar cred, de asemenea, că va trebui să redirecționați orice porturi care au și o cameră web pe ele. Există o mulțime de tutoriale care acoperă aceste proceduri. Rețineți că oricine vă poate vedea camera web dacă alegeți să configurați redirecționarea porturilor pe router.
Fișierele atașate sunt exemple de pagini web pe care le puteți utiliza pentru a vă configura site-ul web. Va trebui să modificați extensia de fișier din fișierul html, deoarece nu mi-ar permite să o încărc. Apoi plasați fișierele în folderul www chemat în fișierul de configurare apache. Locația implicită este
cd / var / www
Dacă doriți să modificați locația în care serverul web caută fișierele dvs. html, puteți edita fișierul activat de site-uri prin introducere
sudo nano / etc / apache2 / sites-enabled / 000-default
Schimbați orice instanță din / var / www / în locația dorită. Am pus-o pe a mea în / home / pi / Desktop / www /
Odată ce aveți fișierele html în folderul web, introduceți localhost în browser sau adresa IP a pi de pe alt computer. Ar trebui să vezi așa ceva.
DREPT!
Pasul 10: configurați alertele prin e-mail
Se întâmplă lucruri bune! Să ne presăm norocul încercând să trimitem o alertă de e-mail de la pi la o adresă de e-mail predefinită. Scriptul python atașat vă va construi adresa de e-mail pe care doriți să o trimiteți, se va conecta la un furnizor de e-mail, cum ar fi Gmail și va trimite e-mailul utilizând furnizorul de e-mail. Acest lucru se realizează folosind pachetul smtp de python. Vă sugerez să creați o adresă de e-mail falsă doar pentru sistemul dvs. de securitate, deoarece va trebui să reducem securitatea contului dvs. Gmail pentru ca pachetul SMTP să funcționeze.
Va trebui să modificați scriptul în mai multe locuri pentru a obține o transmisie de succes. Este foarte comentat și va produce o mulțime de ieșiri pe terminal pentru confortul dumneavoastră.
Lucrurile pe care va trebui să le schimbi vor fi
your_ip_optional_port va fi cel mai probabil gol, cu excepția cazului în care serverul dvs. apache rulează pe un alt port decât cel implicit 80. Am avut deja un server care rulează pe 80, așa că am setat pi-ul să ruleze pe 8080. Port_to_camera va fi portul pe care îl specificați camera dvs. rulați folosind mjpeg streamer.
După ce ați schimbat aceste variabile la începutul scriptului, rulați programul introducând următoarele în terminal.
cd / folder în care puneți scriptul /
sudo python3 send_mail.py
Dacă stelele sunt aliniate corect și toate variabilele sunt corecte, ar trebui să primiți un e-mail similar cu cel de mai jos.
Există multe locuri în care acest script poate eșua. Nu vă lăsați frustrat dacă nu funcționează prima dată. Utilizați punctele de depanare din script pentru a restrânge zonele cu probleme și apoi concentrați-vă pe o problemă la un moment dat.
Pasul 11: Declanșați scriptul de e-mail când laserul este declanșat
Acum că pi poate trimite e-mailuri, să-l automatizăm astfel încât de fiecare dată când laserul este declanșat să primim un e-mail. Descărcați fișierul atașat, care este o versiune modificată a read_pin.py, care are o funcție nouă pentru a lansa scriptul de e-mail. Linia suplimentară majoră este următoarea
sm_pid = os.spawnlp (os. P_NOWAIT, "/ usr / bin / python3", "python3", "/home/pi/Desktop/security/send_mail.py")
Această linie va lansa scriptul de trimitere e-mail în paralel cu scriptul de detectare laser. Acest lucru este de dorit, deoarece scriptul de trimitere a e-mailului durează câteva secunde pentru a se finaliza și ar bloca scriptul de detectare a laserului să ruleze până la trimiterea e-mailului. Aceasta nu este o problemă pentru un singur sistem de cameră, dar dacă ați avea mai multe camere, ați dori să detectați o declanșare laser pe camera 1, chiar dacă camera 2 a declanșat un eveniment de e-mail. Variabila sm_pid va conține pid-ul procesului lansat de această comandă. Verificăm acest id dacă declanșatorul de e-mail este apelat din nou dacă există, e-mailul încă este trimis, astfel încât să ignorăm evenimentul. Dacă nu există, este probabil un eveniment nou și se trimite un e-mail.
Testați totul funcționează rulând
cd / directorul unde ați pus fișierul /
chmod 777 read_pin_with_mail.py
sudo python3 read_pin_with_mail.py
Când spargeți fasciculul laser, ar trebui să primiți un e-mail cu instantaneul preluat de pe camera web.
Pasul 12: Creați un script master pentru a iniția sistemul
În acest moment, proiectul este în mare parte realizat. Un ultim pas este simplificarea pornirii sistemului cu un ultim script. Va lansa toate subprogramele și va configura camera web cu un singur script. Fișierul atașat poate fi lansat la pornire editând fișierul /etc/rc.local. Trebuie să modificați extensia de fișier și poate fi necesar să editați scriptul pentru a include căile corespunzătoare dacă puneți scripturile într-o altă locație.
Pasul 13: Concluzie
Ei bine, asta este. Sper că ți-a plăcut acest instructabil! Spuneți-mi în comentarii dacă aveți întrebări sau aveți nevoie de informații mai detaliate în orice domeniu. Continuă să joci!
Recomandat:
Sistem de alarmă de securitate laser (MOD DUAL): 5 pași
Sistem de alarmă de securitate cu laser (MOD DUAL): Când se întâmplă ceva cu privire la securitate, avem cu siguranță nevoie de orice idee solidă și, în acest caz, alarma de securitate cu laser este cea mai bună opțiune pentru a crea acasă într-un mod foarte ușor. Deci, în acest tutorial vom învăța cum pentru a face acest proiect într-un mod foarte ușor
Sistem automat de securitate controlat cu laser: 22 de pași
Sistem automat de securitate controlat cu laser: Sistemul de securitate controlat cu laser este protecția utilizată pe scară largă pentru prevenirea accesului neautorizat. Este extrem de eficient, care funcționează pe senzor și laser bazat pe lumină pentru a ne proteja casele, birourile, băncile, dulapurile și diversele locuri importante
Sistem de securitate la domiciliu Arduino: 7 pași (cu imagini)
Sistem de securitate la domiciliu Arduino: Acesta este un sistem de securitate la domiciliu care utilizează Arduino Mega 2560, care va declanșa alarma atunci când se deschide orice ușă sau se detectează mișcare în cameră când sistemul este activat. Este un proiect frumos pentru oricine în ultimul an în universitate. îl puteți actualiza ev
Sistem de securitate de recunoaștere facială pentru un frigider cu Raspberry Pi: 7 pași (cu imagini)
Recunoaștere facială Sistem de securitate pentru un frigider cu Raspberry Pi: Navigând pe internet Am descoperit că prețurile pentru sistemele de securitate variază de la 150 $ la 600 $ și peste, dar nu toate soluțiile (chiar și cele foarte scumpe) pot fi integrate cu alte instrumente inteligente la tine acasă! De exemplu, nu puteți seta
R-PiAlerts: Construiți un sistem de securitate bazat pe WiFi cu Raspberry Pis: 8 pași (cu imagini)
Alerte R-Pi: Construiți un sistem de securitate bazat pe WiFi cu Raspberry Pis: În timp ce lucrați la birou, auziți brusc un zgomot îndepărtat. A venit cineva acasă? Mașina mea este parcată în fața casei mele, cineva mi-a spart mașina? Nu vrei să primești o notificare pe telefon sau la birou, ca să poți decide ce