Sadržaj:

Sigurnosni sustav lasera Raspberry Pi: 13 koraka (sa slikama)
Sigurnosni sustav lasera Raspberry Pi: 13 koraka (sa slikama)

Video: Sigurnosni sustav lasera Raspberry Pi: 13 koraka (sa slikama)

Video: Sigurnosni sustav lasera Raspberry Pi: 13 koraka (sa slikama)
Video: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Srpanj
Anonim
Image
Image
Slika
Slika

Hvala što ste provjerili moju instrukciju. Do kraja ovog uputstva izradit ćete malinski pi laser tripwire sustav s funkcijom upozorenja putem e -pošte koja je prikazana u videu.

Da biste dovršili ovu instrukciju, morat ćete biti upoznati s općim sklopovima i lemljenjem, znati koristiti ploču za kruh i biti ugodni u korištenju terminala na pi. Iskustvo u pythonu također će biti korisno.

Ovaj se projekt sastoji od tri glavna sustava. Raspinski pi, laserski sklopni spoj i računalo za promatranje. Naš je cilj upotrijebiti malinu pi za detekciju promjene napona na krugu laserske spojne žice, a zatim upozoriti promatračko računalo u obliku e -pošte i videotoka.

Započnimo.

Korak 1: Zaokružite potrebne komponente

Za dovršetak ovog projekta trebat će vam sljedeće stavke.

  1. Najmanje jedan operativni Raspberry Pi. U ovoj verziji koristio sam model Pi u stilu Pi koji je vodio raspbian wheezy. Siguran sam da će ovaj vodič dobro funkcionirati ako vodite raspbian jessie.
  2. Vanjski izvor napajanja za malinu pi. Povući ćemo značajnu količinu amperaže kad se sve ovo spoji. Puno sam vremena proveo dijagnosticirajući iscrpljeno napajanje kao izvor problema tijekom prve izgradnje. Provjerite imate li snažnu snagu za napajanje najmanje 2 ampera.
  3. Najjeftiniji laserski pokazivač. Svoju sam pronašao pored blagajne na benzinskoj pumpi. Ako želite točan laser, možete ga pronaći ovdje. Oznaka kaže 630-680 nm za valnu duljinu. Koji god laser dobijete, odredit će se neke druge komponente u izgradnji. Stoga pazite da njegova oznaka identificira njezinu valnu duljinu.
  4. Web kamera u USB stilu. Ova web kamera ima podesivo stopalo koje vam omogućuje da lijepo postavite kameru. Otkrio sam da je USB kabel koji je isporučen s web kamerom prekratak za moju aplikaciju pa sam našao produžetak za monoprice.
  5. Neka vrsta kompleta za probijanje za malinu pi, tako da možete imati lak pristup pinovima na procesoru.

    Slika
    Slika
    Slika
    Slika
  6. Matična ploča.
  7. Lemilica.
  8. Kratkospojne žice za ploču.
  9. Komponente kruga. Pomnožite s količinom spojnih žica koju želite.

    • Jedan radni vodio
    • Jedan otpornik od 100 ohma
    • Jedan 1k otpornik
    • Jedan 10k otpornik
    • Jedan otpornik od 200 ks Zaista će poslužiti svaki veliki otpornik. Testirao sam ga s 1M otpornikom i dobro je radio. FYI 10k je bilo premalo.
    • Jedan PNP tranzistor PN: 2N4403-APCT-ND
    • Jedna fotodioda (uskladi ovo s valnom duljinom lasera) PN: PDB-C142-ND

Priložit ću kicad datoteke za pločicu, ali neću prelaziti na proizvodnju ploče u ovom uputstvu.

Tijekom ovog projekta otkrio sam da su sljedeći izborni alati pri ruci:

  1. Instaliranje sinergije na malini pi. U slučaju da niste upoznati, ovaj softver će vam omogućiti upravljanje mišem i tipkovnicom maline pi s drugog računala. Ovo je lijepo ako ste poput mene i ugodnije vam je na drugom računalu. Također, ovo je softver koji bi svatko trebao imati.
  2. USB hub. Za svaku web kameru koju želite koristiti trebat će vam jedan priključak.
  3. Mjerač napona ili osciloskop ako ga imate.
  4. Korištenje MobaXterma za kontrolu maline pi i upravljanje datotekama putem ssh -a. To mora imati svatko tko je odgojen na prozorima. Pogledajte ovaj vodič za postavljanje da ga koristite.

Korak 2: Pokrenite Pi i pokrenite ga

  • Slika
    Slika

    Pi s minimalnim priključenim komponentama

  • Prije nego što možemo snimiti bilo koji laser, potrebno je izgraditi nekoliko slojeva softvera. Da biste imali najbolje šanse za uspjeh, dobra je praksa početi s čistim planom. Da biste to učinili, odvojite sve nepotrebne stavke od Pi. To će smanjiti šanse za smetnje povezanog uređaja.

    Zatim provjerite radi li vaš Raspberry Pi s najnovijim softverom unošenjem sljedećeg u terminal

    sudo apt-get ažuriranje

    S ažuriranom malinom pi vrijeme je za sljedeći korak

    Korak 3: Stvorite krug za otkrivanje lasera

    Komponente stavite na ploču kao što je prikazano. Uključite matičnu ploču pomoću 5v izlaza pi ili stolnog napajanja. Na slici 1 napajanje od 5 V spojeno je na pozitivnu ploču u donjem lijevom kutu slike, a na tlo u gornji lijevi. Ovaj krug koristi fotodiodu kao prekidač za pokretanje tranzistora. Tranzistor pretvara malu promjenu napona na fotodiodi u donekle digitalni signal koji pi može pročitati. Za sve naredne korake točka između 100 ohma i signalnog voda bit će mjesto gdje uzorkujemo krug s pi.

    • Slika
      Slika

      Slika 1: Gornji izgled kružne ploče

    • Slika
      Slika

      Slika 2: Alternativni prikaz rasporeda kružne ploče

    Ako želite čistiji izgled, priložio sam kicad datoteke za ploču koja je prikazana ispod.

    • Slika
      Slika

      Slika 3: Pogled odozgo na ploču senzora

    • Slika
      Slika

      Slika 4: ISO osjetljiva ploča

    • Korak 4: Izmijenite laser za vanjsko napajanje

      U sljedećim koracima izradit ćete sklop laserskog pokazivača.

      - Rastavite laserski pokazivač. Pritom obratite pozornost na orijentaciju stezaljki baterije u odnosu na laserski odašiljač.- Zatim odspojite oprugu za povezivanje baterije i trenutni gumb s lasera.- Lemite komad žice između stezaljki na kojima se nalazio gumb. Sada kada se laser napaja, on će se automatski uključiti.- Sada lemite pozitivne i negativne vodiče do lasera. Ako koristite isti laser s popisa dijelova, pomoću donje slike možete vidjeti mjesta lemljenja. Ako niste, možda ćete morati sami pronaći točke lemljenja. Orijentaciju baterije možete koristiti kao nagovještaj za pozitivni ili negativni vod. Za pronalaženje posljednje točke lemljenja možete upotrijebiti napajanje od 5 V i ispitati krug s dva ispitna vodiča. Kada ste stvorili pravilan krug, pronašli ste lemnu točku i laser će zasvijetliti.

      • Slika
        Slika

        Narančasta žica zamjenjuje trenutni gumb

      • Slika
        Slika

        Prikazivanje pozitivnih i negativnih tragova

      - Posljednji korak je izraditi usmjereni nosač za postavljanje lasera tako da se može lako namjestiti tako da cilja u lasersku utičnicu. Otkrio sam da je većina lego bionicle kompleta izvrstan izvor za jeftine kugle u spojevima utičnica. Zalijepite jedan dio kuglastog zgloba na laserski pokazivač pomoću super ljepila. Sada možete montirati utični spoj na bilo koju površinu i umetnuti laser.

      • Slika
        Slika

        Kuglasti zglob

      • Slika
        Slika

        Utični spoj

      • Slika
        Slika

        Kugla i utičnica sastavljeni

      • Korak 5: Uključite laser i testirajte krug za otkrivanje

        Uključite laser u matičnu ploču. Pozitivnu stranu treba spojiti na 5v i uzemljiti negativnu žicu. Ako se laser sjajno uključi, ako ne, dvaput provjerite imate li odgovarajući napon multimetrom. Ako i dalje ne radi, pokušajte zamijeniti elektrode u slučaju da ste ih spojili unatrag. Ako i dalje ne radi, možda niste lemili na desne jastučiće, vratite se na posljednji korak.

        • Slika
          Slika

          Radni laser sa zdravim snopom

        Nakon što lasersko zračenje dođe, vrijeme je za testiranje kruga detekcije. Usmjerite laser prema fotodiodi. LED bi se trebala isključiti signalizirajući da je snop aktivan. Mahnite rukom kroz snop i LED bi se trebala uključiti signalizirajući putovanje.

        • Slika
          Slika

          Greda nije slomljena i LED dioda je isključena

        • Slika
          Slika

          Uljez prekida snop uzrokujući da LED zasvijetli

        • Korak 6: Povežite svoju web kameru i testirajte njezinu funkcionalnost

          Spojite svoju web kameru na USB priključak. Za streaming videozapisa potrebno je nabaviti uslužni program mjpg-streamer. Evo sjajnog vodiča o tome kako to učiniti. Nakon što ste pravilno instalirali mjpg-streamer. Pokrenite streaming videozapisa unosom sljedeće naredbe u terminal.

          cd /gdje ste instalirali mjpg-streamer /mjpg-streamer

          ./mjpg_streamer -i "./input_uvc.so -y/dev/video0" -o "./output_http.so -w./www -p 8081"

          Ova naredba će postaviti stream na portu 8081 pomoću izvora video0. Ako želite više web kamera, ponovno unesite gornju naredbu, ali promijenite video0 u video1 i 8081 u 8082. Na ovaj sam način emitirao do 3 web kamere, a pi se nije preopteretio.

          Testirajte da li veza radi otvaranjem preglednika na drugom računalu i unesite ip-adresu-od-pi: 8081 ili na pi možete samo unijeti localhost: 8081. Ako ne znate svoj ip pi, unesite sljedeće u terminal

          ifconfig

          Ako sve radi, trebali biste vidjeti početnu stranicu mpg-streamer. Pritisnite karticu stream da biste vidjeli stream svoje web kamere. Ispod je snimka zaslona sučelja.

          • Slika
            Slika

            mjpg-streamer uzorak izlaz

          Radeći ovaj vodič po drugi put, mogao sam pristupiti mjpg-streamer početnoj stranici, ali nisam vidio stream. Da bih to ispravio, pročitao sam ovaj post (veza je sada prekinuta), točnije dio o YUYV formatu piksela, ako naiđete na prazan tok, trebali biste ga i konzultirati.

          Korak 7: Pauza

          U redu, u ovom trenutku trebali bismo imati svoj malin pi spreman za rad. Naš laser je modificiran za vanjsko napajanje. Naš krug za otkrivanje je izgrađen i potvrdili ste da se LED svjetlo isključuje kada laserska zraka udari u fotodiodu, a kada prekinete snop. Na kraju, trebali biste imati povezanu web kameru i funkcionalno strujati.

          Sada je vrijeme da sve to spojimo. Počnimo jednostavno pokušavajući softverom otkriti okidanje laserske zrake.

          Spojite krug detekcije na ploču kao što je prikazano. Uključite signalnu žicu senzora na pin 25 u pripremi za sljedeći korak. Otpor za povlačenje nije opcionalan. Imao sam oko 10.000 ležaja, ali svaki otpornik bi trebao.

          • Slika
            Slika

            Izgled tlocrta s PiCoblerom

          • Korak 8: Nadgledajte laser pomoću softvera

            Napisimo kratki program za preslušavanje laserskog signala i postavimo taj izlaz na terminal. Kôd možete preuzeti kao privitak.

            Vjerojatno ćete morati instalirati ovisnosti za ovu skriptu. Python i gpio modul. Da biste ih instalirali, unesite

            sudo apt-get install python-rpi.gpio python3-rpi.gpio

            Nakon što uspješno instalirate python, preuzmite priloženu python skriptu pod nazivom read_pin.py i pokrenite je

            cd /direktorij u koji stavljate datoteku /chmod 777 read_pin.py

            Naredba chmod dat će skripti dopuštenje za pokretanje. Zatim trčanjem provjerite je li sve u redu i uredno

            sudo python3 read_pin.py

            Ako sve ide dobro, trebali biste vidjeti izlaz konzole kao što je prikazano ispod. Za izlaz iz python skripte unesite

            Ctrl-C

          • Slika
            Slika

            Ispravan izlaz konzole (prikazan pomoću MobaXterma)

          Mahnite rukom ispred laserskog snopa i trebali biste vidjeti izlaz na konzoli koji vas upozorava da je snop slomljen. Slobodno se poigrajte sa skriptom kako bi vaš sustav radio na različite načine.

          Korak 9: Izradite web stranicu za prikaz streama

          Sada moramo postaviti sučelje za gledanje web kamere. Za ovaj korak morate instalirati apache web poslužitelj. Postoji mnogo vodiča o postavljanju jednog. Ali evo kratkog popisa s minimalnom konfiguracijom.

          sudo apt-get install apache2

          nakon instalacije trebali biste moći upisati u svoj preglednik na maline pi

          localhost

          Trebali biste vidjeti stranicu dobrodošlice iz apachea. Ako vam je ovo prvi put da postavljate web poslužitelj, vjerojatno ćete htjeti konfigurirati svoj pi da ima statičku IP adresu tako da će vaš usmjerivač uvijek dodijeliti odgovarajući IP ako radite ciklus napajanja. Ako želite pregledati svoj sigurnosni sustav s drugog mjesta, morat ćete postaviti prosljeđivanje portova na usmjerivaču. Prošlo je dosta vremena, ali također mislim da ćete morati proslijediti sve portove koji imaju i web kameru. Postoji mnogo vodiča koji pokrivaju ove postupke. Imajte na umu da svatko može vidjeti vašu web kameru ako odlučite postaviti prosljeđivanje portova na usmjerivaču.

          Priložene datoteke su uzorci web stranica koje možete koristiti za postavljanje web stranice. Morat ćete promijeniti ekstenziju datoteke na html datoteci jer mi ne dopuštaju da je prenesem. Zatim postavite datoteke u svoju www mapu pozvane u konfiguracijsku datoteku apache. Zadano mjesto je

          cd /var /www

          Ako želite promijeniti lokaciju na kojoj web poslužitelj traži vaše html datoteke, možete urediti datoteku s omogućenim web lokacijama tako da unesete

          sudo nano/etc/apache2/sites-enabled/000-default

          Promijenite bilo koju instancu/var/www/na željenu lokaciju. Ja sam svoj stavio u/home/pi/Desktop/www/

          Nakon što imate html datoteke u web mapi, unesite localhost u preglednik ili ip adresu pi s drugog računala. Trebali biste vidjeti ovako nešto.

          • Slika
            Slika

            Snimka zaslona priloženih datoteka u radu

          SLATKO!

          Korak 10: Postavite upozorenja e -poštom

          Dobre stvari se događaju! Pokušajmo poslati sreću pokušavajući poslati upozorenje e -poštom s pi na unaprijed definiranu adresu e -pošte. Priložena python skripta izgradit će vašu e -poštu koju želite poslati, povezati se s davateljem usluga e -pošte, poput gmaila, i poslati e -poštu pomoću davatelja usluga e -pošte. To se postiže pomoću smtp paketa pythona. Predlažem da napravite lažnu adresu e -pošte samo za svoj sigurnosni sustav jer ćemo morati smanjiti sigurnost vašeg gmail računa kako bi smtp paket radio.

          Morat ćete promijeniti skriptu na nekoliko mjesta kako biste uspješno prenijeli. Jako je komentiran i proizvest će mnogo izlaza na terminalu radi vaše udobnosti.

          Stvari koje ćete morati promijeniti bit će

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • send_email_username = "korisničko ime vaše e -pošte"
          • send_email_password = "vaša lozinka"

          your_ip_optional_port će najvjerojatnije biti prazan osim ako vaš apache poslužitelj radi na portu koji nije zadani 80. Već sam imao poslužitelj na 80 pa sam postavio svoj pi da radi na 8080. Port_to_camera bit će port na koji ćete odrediti kameru pokrenite pomoću mjpeg streamera.

          Nakon što promijenite ove varijable na početku skripte, pokrenite program unošenjem sljedećeg u terminal.

          cd /mapa u koju ste stavili skriptu /

          sudo python3 send_mail.py

          Ako su zvjezdice ispravno poravnate i sve su varijable točne, trebali biste dobiti e -poruku sličnu onoj u nastavku.

          • Slika
            Slika

            Snimka zaslona priloženih datoteka u radu

          Postoji mnogo mjesta na kojima ova skripta može propasti. Nemojte se razočarati ako prvi put ne uspije. Pomoću točaka za ispravljanje pogrešaka u skripti suzite problematična područja, a zatim se usredotočite na jedan po jedan problem.

          Korak 11: Pokrenite skriptu e -pošte pri aktiviranju lasera

          Sada kad pi može slati e -poštu, automatizirajmo ga tako da svaki put kad se laser spotakne dobijemo e -poruku. Preuzmite priloženu datoteku koja je izmijenjena verzija read_pin.py koja sadrži novu funkciju za izvršavanje skripte pošte. Glavna dodatna linija je sljedeća

          sm_pid = os.spawnlp (os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")

          Ova će linija pokrenuti skriptu za slanje pošte paralelno sa skriptom za lasersko otkrivanje. To je poželjno jer skripti slanja pošte treba nekoliko sekundi da dovrši i blokirala bi pokretanje skripte laserskog otkrivanja sve dok se e -pošta ne pošalje. To nije problem za jedan sustav kamera, ali ako ste imali više kamera, htjeli biste otkriti lasersko putovanje na kameri 1 čak i ako je kamera 2 aktivirala događaj e -pošte. Varijabla sm_pid sadržavat će pid procesa koji je pokrenut ovom naredbom. Provjeravamo postoji li ovaj ID ako se okidač e -pošte ponovno pozove ako postoji, e -poruka se još uvijek šalje pa zanemarujemo događaj. Ako ne postoji, vjerojatno je riječ o novom događaju i bit će poslana e -poruka.

          Testirajte da sve radi trčanjem

          cd /direktorij u koji ste stavili datoteku /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Kad prekinete laserski zrak, trebali biste dobiti e -poruku sa snimkom snimljenom s web kamere.

          Korak 12: Izradite glavnu skriptu za pokretanje sustava

          U ovom trenutku projekt je većinom gotov. Posljednji korak je pojednostaviti pokretanje sustava s jednom zadnjom skriptom. Pokrenut će sve potprograme i postaviti web kameru s jednom skriptom. Priložena datoteka može se pokrenuti pri pokretanju uređivanjem vaše /etc/rc.local datoteke. Morate promijeniti datotečni nastavak i možda ćete morati urediti skriptu tako da uključi odgovarajuće putove ako svoje skripte postavite na drugo mjesto.

          Korak 13: Zaključak

          Pa to je to. Nadam se da ste uživali u ovom uputstvu! Javite mi u komentarima ako imate pitanja ili trebate detaljnije informacije iz bilo kojeg područja. Nastavite petljati!

          • Slika
            Slika

    Preporučeni: