Cuprins:

Sistem de securitate laser Raspberry Pi: 13 pași (cu imagini)
Sistem de securitate laser Raspberry Pi: 13 pași (cu imagini)

Video: Sistem de securitate laser Raspberry Pi: 13 pași (cu imagini)

Video: Sistem de securitate laser Raspberry Pi: 13 pași (cu imagini)
Video: FEMEIA De 399 De ANI ! #shorts 2024, Noiembrie
Anonim
Image
Image
Imagine
Imagine

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.

  1. 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.
  2. 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.
  3. 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ă.
  4. 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.
  5. Un fel de set de breakout pentru raspberry pi, astfel încât să puteți avea acces ușor la pinii de pe procesor.

    Imagine
    Imagine
    Imagine
    Imagine
  6. O placă de măsurare.
  7. Un fier de lipit.
  8. Sârme jumper pentru panou.
  9. 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ă:

  1. 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ă.
  2. Un hub USB. Pentru fiecare cameră web pe care doriți să o utilizați, veți avea nevoie de un singur port.
  3. Tensimetru sau osciloscop dacă îl aveți.
  4. 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

  • Imagine
    Imagine

    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.

    • Imagine
      Imagine

      Fig 1: Partea superioară a aspectului plăcii de circuit

    • Imagine
      Imagine

      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.

    • Imagine
      Imagine

      Fig 3: vedere de sus a plăcii senzorilor

    • Imagine
      Imagine

      Fig 4: placa senzor ISO

    • 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.

      • Imagine
        Imagine

        Firul portocaliu înlocuiește butonul momentan

      • Imagine
        Imagine

        Afișarea potențialelor pozitive și negative

      - 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.

      • Imagine
        Imagine

        Articulație sferică

      • Imagine
        Imagine

        Articulație cu soclu

      • Imagine
        Imagine

        Minge și soclu asamblate

      • 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.

        • Imagine
          Imagine

          Lucrul cu laser cu un fascicul sănătos

        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.

        • Imagine
          Imagine

          Grinda nu este ruptă și ledul este oprit

        • Imagine
          Imagine

          Intrusul rupe fasciculul, provocând lumina ledului

        • 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.

          • Imagine
            Imagine

            ieșire eșantion mjpg-streamer

          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ă.

          • Imagine
            Imagine

            Aspectul panoului de calcul cu PiCobler

          • 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

          • Imagine
            Imagine

            Ieșire corectă a consolei (afișată folosind MobaXterm)

          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.

          • Imagine
            Imagine

            Captură de ecran a fișierelor atașate în funcțiune

          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 = "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"

          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.

          • Imagine
            Imagine

            Captură de ecran a fișierelor atașate în funcțiune

          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!

          • Imagine
            Imagine

    Recomandat: