Sadržaj:

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

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

Video: Sigurnosni sistem lasera Raspberry Pi: 13 koraka (sa slikama)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Image
Image
Image
Image

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

Da biste dovršili ovu instrukciju, morat ćete biti upoznati sa 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 od pomoći.

Ovaj projekat se sastoji od tri glavna sistema. Raspberry pi, lasersko spojno kolo i računar za posmatranje. Naš cilj je da pomoću maline pi otkrijemo promjenu napona na laserskom spoju, a zatim upozorimo posmatrački računar u obliku e -pošte i video prijenosa.

Poč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 B 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. Mnogo sam vremena proveo dijagnosticirajući loše izvor napajanja kao izvor nevolje tokom prve izgradnje. Pobrinite se da imate jaku snagu koja može napajati najmanje 2 ampera.
  3. Najjeftiniji laserski pokazivač. Našao sam svoju pored blagajne na benzinskoj pumpi. Ako želite tačan laser, možete ga pronaći ovdje. Oznaka kaže 630-680 nm za talasnu dužinu. Koji god laser dobijete, odredit će se neke druge komponente u izradi. Zato pazite da njegova oznaka identificira njegovu valnu duljinu.
  4. Web kamera u USB stilu. Ova web kamera ima podesivo stopalo koje vam omogućava 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.

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

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

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

Tokom 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 tastaturom maline pi sa drugog računara. Ovo je lijepo ako ste poput mene i ugodnije vam je na drugom računaru. Takođe, ovo je softver koji bi svi trebali imati.
  2. USB hub. Za svaku web kameru koju želite koristiti trebat će vam jedan port.
  3. Mjerač napona ili osciloskop ako ga imate.
  4. Korištenje MobaXterma za kontrolu maline pi i manipulaciju datotekama putem ssh -a. To morate imati za svakoga ko je odgojen na prozorima. Pogledajte ovaj vodič za postavljanje da ga koristite.

Korak 2: Pokrenite Pi i pokrenite ga

  • Image
    Image

    Pi sa minimalnim komponentama u prilogu

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

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

    Korak 3: Kreirajte krug za otkrivanje lasera

    Postavite komponente na ploču kao što je prikazano. Uključite matičnu ploču pomoću 5v izlaza pi ili stonog napajanja. Na slici 1 5V napajanje je spojeno na pozitivnu ploču u donjem lijevom kutu slike, a uzemljenje u gornji lijevi. Ovo kolo 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 100ohm i signalne LED diode bit će mjesto gdje uzorkujemo krug s pi.

    • Image
      Image

      Slika 1: Gornji izgled kružne ploče

    • Image
      Image

      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.

    • Image
      Image

      Slika 3: Pogled odozgo na ploču senzora

    • Image
      Image

      Slika 4: ISO ploča senzora

    • Korak 4: Promijenite laser za vanjsko napajanje

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

      - Rastavite laserski pokazivač. Pritom obratite pažnju na orijentaciju stezaljki baterije u odnosu na laserski odašiljač.- Zatim odspojite oprugu za povezivanje baterije i trenutačno dugme s lasera.- Lemite komad žice između stezaljki na kojima se nalazilo dugme. Sada kada se laser napaja, on će se automatski uključiti.- Sada lemite pozitivne i negativne vodove do lasera. Ako koristite isti laser sa popisa dijelova, pomoću donje slike možete vidjeti tačke lemljenja. Ako niste, možda ćete morati sami pronaći tačke za lemljenje. Orijentaciju baterije možete koristiti kao nagovještaj za pozitivni ili negativni vod. Da biste pronašli posljednju tačku lemljenja, možete koristiti napajanje od 5 V i ispitati krug s dva ispitna vodiča. Kada ste stvorili pravilan krug, pronašli ste tačku lemljenja i laser će zasvijetliti.

      • Image
        Image

        Narandžasta žica zamjenjuje trenutno dugme

      • Image
        Image

        Prikazivanje pozitivnih i negativnih tragova

      - Posljednji korak je izraditi usmjereni nosač za postavljanje lasera tako da se može lako prilagoditi tako da cilja u lasersku utičnicu. Otkrio sam da je većina lego bionicle kompleta odličan 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.

      • Image
        Image

        Kuglasti zglob

      • Image
        Image

        Utični spoj

      • Image
        Image

        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.

        • Image
          Image

          Radni laser sa zdravim snopom

        Kada dobijete lasersko zračenje, vrijeme je za testiranje kruga detekcije. Usmjerite laser prema fotodiodi. LED bi se trebao isključiti signalizirajući da je snop aktivan. Mahnite rukom kroz snop i LED bi se trebala uključiti signalizirajući isključenje.

        • Image
          Image

          Greda nije slomljena i LED dioda je isključena

        • Image
          Image

          Uljez prekida snop uzrokujući da se LED dioda upali

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

          Povežite svoju web kameru sa USB portom. Za prijenos 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. Započnite streaming videozapisa unosom sljedeće naredbe u terminal.

          cd /gde 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 tok na portu 8081 koristeći izvor video0. Ako želite više web kamera, ponovo unesite gornju naredbu, ali promijenite video0 u video1 i 8081 u 8082. Na ovaj sam način emitirao do 3 web kamere, a pi nije preopterećen.

          Testirajte da li veza radi tako što ćete otvoriti preglednik na drugom računaru i unijeti 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. Kliknite na karticu stream da vidite stream vaše web kamere. Ispod je snimak ekrana interfejsa.

          • Image
            Image

            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), konkretno 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 pokrenuti naš malinarski pi. Naš laser je modificiran za vanjsko napajanje. Naš krug za detekciju je izgrađen i potvrdili ste da se LED dioda isključuje na fotodiodu, a kada prekinete snop, LED bi se trebao uključiti. 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 laserskog snopa.

          Priključite krug za otkrivanje na matičnu 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 10k, ali svaki otpornik bi trebao.

          • Image
            Image

            Izgled matične ploče sa PiCobler -om

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

            Vjerovatno ćete morati instalirati zavisnosti 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 će dati skripti dozvolu za izvođenje. Zatim provjerite je li sve u redu i elegantno trčanjem

            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

          • Image
            Image

            Ispravan izlaz konzole (prikazano 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š sistem radio na različite načine.

          Korak 9: Kreirajte web stranicu za prikaz streama

          Sada moramo postaviti sučelje za gledanje web kamere. Za ovaj korak morate instalirati apache web server. Postoji mnogo vodiča o postavljanju jednog. Ali evo kratke liste s minimalnom konfiguracijom.

          sudo apt-get install apache2

          nakon instaliranja trebali biste moći upisati u svoj preglednik na malini pi

          localhost

          Trebali biste vidjeti stranicu dobrodošlice iz apachea. Ako vam 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 sistem s druge lokacije, morat ćete postaviti prosljeđivanje portova na usmjerivaču. Prošlo je dosta vremena, ali isto tako 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 učitam. Zatim postavite datoteke u svoju www mapu pozvanu u vašu apache konfiguracijsku datoteku. Zadana lokacija je

          cd /var /www

          Ako želite promijeniti lokaciju na kojoj web poslužitelj traži vaše html datoteke, možete urediti datoteku sa 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 stavio svoj u/home/pi/Desktop/www/

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

          • Image
            Image

            Snimak ekrana priloženih datoteka u funkciji

          SWEEEEET!

          Korak 10: Postavite upozorenja e -poštom

          Dobre stvari se dešavaju! Otisnimo sreću pokušavajući poslati upozorenje e -poštom sa pi -a na unaprijed definiranu adresu e -pošte. Priložena python skripta izgradit će vašu e -poštu koju želite poslati, povezati se s pružateljem usluga e -pošte, poput gmaila, i poslati e -poštu pomoću pružatelja usluga e -pošte. To se postiže upotrebom smtp paketa pythona. Predlažem da napravite lažnu adresu e -pošte samo za svoj sigurnosni sistem jer ćemo morati smanjiti sigurnost vašeg gmail računa kako bi smtp paket funkcionirao.

          Morat ćete promijeniti skriptu na nekoliko mjesta da biste uspješno prenijeli. To je jako komentirano i proizvest će mnogo izlaza na terminalu radi vaše udobnosti.

          Stvari koje ćete morati promijeniti će biti

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • send_email_username = "vaše ime 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 server koji radi na 80 pa sam postavio svoj pi da radi na 8080. Port_to_camera će biti port za koji odredite svoju kameru pokrenite pomoću mjpeg streamera.

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

          cd /folder u koji ste stavili skriptu /

          sudo python3 send_mail.py

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

          • Image
            Image

            Snimak ekrana priloženih datoteka u funkciji

          Postoji mnogo mjesta na kojima ova skripta može uspjeti. Nemojte se frustrirati ako prvi put ne uspije. Koristite tačke za otklanjanje grešaka u skripti da suzite problematična područja, a zatim se fokusirate na jedan po jedan problem.

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

          Sada kada 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 pokretanje 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 linija će pokrenuti skriptu za slanje pošte paralelno sa skriptom za lasersko otkrivanje. Ovo je poželjno jer je skripti za slanje pošte potrebno nekoliko sekundi da dovrši i blokirala bi rad skripte za lasersko otkrivanje sve dok se e -pošta ne pošalje. Ovo nije problem za jedan sistem kamera, ali ako ste imali više kamera, htjeli biste otkriti lasersko pucanje na kameri 1 čak i ako je kamera 2 pokrenula događaj e -pošte. Varijabla sm_pid će sadržati pid procesa koji je pokrenut ovom naredbom. Provjeravamo ovaj ID ako se okidač e -pošte ponovo 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

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

          Korak 12: Kreirajte glavnu skriptu za pokretanje sistema

          U ovom trenutku projekt je većinom gotov. Posljednji korak je pojednostavljenje pokretanja sistema s jednom posljednjom 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 ekstenziju datoteke i možda ćete morati urediti skriptu tako da uključi odgovarajuće staze 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!

          • Image
            Image

    Preporučuje se: