Obsah:

Laserový bezpečnostný systém Raspberry Pi: 13 krokov (s obrázkami)
Laserový bezpečnostný systém Raspberry Pi: 13 krokov (s obrázkami)

Video: Laserový bezpečnostný systém Raspberry Pi: 13 krokov (s obrázkami)

Video: Laserový bezpečnostný systém Raspberry Pi: 13 krokov (s obrázkami)
Video: BlitzWolf BW-IS22 - Сигнализация, wi-fi + GSM, Tuya Smart, интеграция и управление в Home Assistant 2024, Júl
Anonim
Image
Image
Obrázok
Obrázok

Ďakujem, že ste si prečítali moje pokyny. Na konci tohto pokynu skonštruujete laserový tripwire systém malinového pi s funkciou e -mailového upozornenia, ktorá je zobrazená vo videu.

Aby ste splnili tento návod, bude potrebné, aby ste sa zoznámili so všeobecnými obvodmi a spájkovaním, naučili ste sa používať nepájivú dosku a pohodlne používali terminál na pi. Bude tiež užitočné mať skúsenosti s pythonom.

Tento projekt pozostáva z troch hlavných systémov. Malinový pi, obvod laserového tripwire a pozorovací počítač. Našim cieľom je použiť malinu pi na detekciu zmeny napätia na obvode laserového tripwire a potom upozorniť pozorovací počítač vo forme e -mailu a videa.

Poďme začať.

Krok 1: Zaokrúhľujte požadované súčasti

Na dokončenie tohto projektu budete potrebovať nasledujúce položky.

  1. Minimálne jeden funkčný Raspberry Pi. V tejto zostave som použil model Pi v štýle B s Raspbian wheezy. Som si istý, že tento návod bude fungovať dobre, ak používate raspbian jessie.
  2. Externý zdroj energie pre malinový pi. Akonáhle to všetko bude zapojené, budeme čerpať značné množstvo prúdu. Strávil som veľa času diagnostikovaním mizerného napájania ako zdroja problémov počas prvého zostavovania. Uistite sa, že máte silnú energiu schopnú zdroja najmenej 2 ampéry.
  3. Lacné laserové ukazovátko. Svoju som našiel vedľa pokladne na benzínovej pumpe. Ak chcete presný laser, nájdete ho tu. Štítok uvádza vlnovú dĺžku 630-680 nm. Akýkoľvek laser získate, bude určovať niektoré ďalšie komponenty v zostave. Uistite sa preto, že jeho štítok identifikuje jeho vlnovú dĺžku.
  4. Webová kamera v štýle USB. Táto webová kamera má nastaviteľnú nožičku, ktorá vám umožní dobre umiestniť kameru. Zistil som, že USB kábel dodávaný s webovou kamerou je pre moju aplikáciu príliš krátky, a tak som našiel predĺženie za monoprice.

  5. Nejaký druh odpočinkovej súpravy pre malinový pi, aby ste mali ľahký prístup k kolíkom na procesore.

    Obrázok
    Obrázok
    Obrázok
    Obrázok
  6. Chlebník.
  7. Spájkovačka.
  8. Prepojovacie vodiče pre dosku na chlieb.
  9. Komponenty obvodu. Vynásobte počtom požadovaných vypínacích káblov.

    • Jedna pracovná LED dióda
    • Jeden odpor 100 ohmov
    • Jeden 1k odpor
    • Jeden 10k odpor
    • Jeden odpor 200k Naozaj postačí akýkoľvek veľký odpor. Testoval som to s 1M odporom a fungovalo to dobre. FYI 10k bol príliš malý.
    • Jeden PNP tranzistor PN: 2N4403-APCT-ND
    • Jedna fotodióda (prispôsobte ju svojej vlnovej dĺžke laseru) PN: PDB-C142-ND

Priložím kicadové súbory pre obvodovú dosku, ale nepreberiem výrobu dosky v tomto návode.

V priebehu tohto projektu som považoval za užitočné nasledujúce voliteľné nástroje:

  1. Inštalácia synergie na malinový pi. V prípade, že nie ste oboznámení, tento softvér vám umožní ovládať myš a klávesnicu Raspberry Pi iným počítačom. Je to pekné, ak ste ako ja a viac vám vyhovuje iný počítač. Toto je tiež softvér, ktorý by mal mať každý.
  2. USB rozbočovač. Pre každú webovú kameru, ktorú chcete používať, budete potrebovať jeden port.
  3. Merač napätia alebo osciloskop, ak ho máte.
  4. Používanie MobaXtermu na ovládanie malinového pi a manipuláciu so súbormi prostredníctvom ssh. Je to nevyhnutné pre každého, kto má okná. V tomto návode si nastavíte jeho používanie.

Krok 2: Spustite počítač Pi

  • Obrázok
    Obrázok

    Pi s minimálnymi komponentmi pripojené

  • Predtým, ako budeme môcť strieľať z akýchkoľvek laserov, je potrebné skonštruovať niekoľko vrstiev softvéru. Aby ste mali čo najväčšiu šancu uspieť, je dobré začať s čistým štítom. Za týmto účelom odpojte od Pi všetky nepotrebné položky. Tým sa zníži pravdepodobnosť rušenia z pripojeného zariadenia.

    Ďalej skontrolujte, či je váš Raspberry Pi v prevádzke s najnovším softvérom, a to zadaním nasledujúceho príkazu do terminálu

    sudo apt-get aktualizácia

    Keď je malinový pi aktuálny, je čas na ďalší krok

    Krok 3: Vytvorte laserový detekčný obvod

    Umiestnite komponenty na dosku na chlieb podľa obrázku. Napájajte nepájivú dosku pomocou 5V výstupu pí alebo stolného zdroja. Na obrázku 1 je napájanie 5 V pripojené k kladnej lište v spodnej ľavej časti obrázku a k zemi vľavo hore. Tento obvod používa fotodiódu ako spínač na spustenie tranzistora. Tranzistor prevádza malú zmenu napätia vo fotodióde na trochu digitálny signál, ktorý pi dokáže čítať. Pri všetkých nasledujúcich krokoch bude bod medzi 100 ohmami a signálnou diódou tam, kde vzorkujeme obvod s pí.

    • Obrázok
      Obrázok

      Obr. 1: Vrchná časť rozloženia obvodovej dosky

    • Obrázok
      Obrázok

      Obr. 2: Alternatívne zobrazenie rozloženia plošného spoja

    Ak chcete krajší vzhľad, pripojil som kicadové súbory k doske, ktorá je zobrazená nižšie.

    • Obrázok
      Obrázok

      Obr. 3: Pohľad zhora na dosku snímača

    • Obrázok
      Obrázok

      Obr. 4: Doska snímača ISO

    • Krok 4: Upravte laser na externé napájanie

      V nasledujúcich krokoch postavíte zostavu laserového ukazovateľa.

      - Demontujte laserové ukazovátko. Pri tom dbajte na orientáciu svoriek batérie vzhľadom na laserový žiarič.- Ďalej od laseru odpojte pružinu spojenia batérie a momentálne tlačidlo.- Medzi svorkami, kde bolo tlačidlo, spájkujte kus drôtu. Teraz, keď je laseru dodané napájanie, automaticky sa zapne.- Teraz spájkujte kladné a záporné vodiče k laseru. Ak používate ten istý laser zo zoznamu súčiastok, môžete použiť spájkovacie body na obrázku nižšie. Ak nie ste, možno budete musieť nájsť spájkovacie body sami. Orientáciu batérie môžete použiť ako tip na kladný alebo záporný vodič. Na nájdenie posledného spájkovacieho bodu môžete použiť 5 V napájací zdroj a sondovať obvod dvoma testovacími káblami. Keď vytvoríte správny obvod, nájdete spájkovací bod a laser sa rozsvieti.

      • Obrázok
        Obrázok

        Oranžový vodič nahrádza momentálne tlačidlo

      • Obrázok
        Obrázok

        Ukazovanie pozitívnych a negatívnych potenciálnych zákazníkov

      - Posledným krokom je vytvorenie smerového montážneho stĺpika pre laser, aby sa dal ľahko nastaviť tak, aby mieril na laserovú schránku. Zistil som, že väčšina súprav lego bionicle je vynikajúcim zdrojom pre lacné guľové spojky. Jeden kus guľového kĺbu prilepte na laserové ukazovátko pomocou superlepidla. Teraz môžete kĺb zásuvky namontovať na akýkoľvek povrch a zacvaknúť laser.

      • Obrázok
        Obrázok

        Guľový kĺb

      • Obrázok
        Obrázok

        Zásuvkový spoj

      • Obrázok
        Obrázok

        Zostavená guľa a zásuvka

      • Krok 5: Zapnite laser a otestujte detekčný obvod

        Zapojte laser do dosky na pečenie. Kladný bude potrebné pripojiť k 5 V a uzemniť záporný vodič. Ak sa laser zapne skvele, ak nie, dvakrát skontrolujte, či máte správne napätie pomocou multimetra. Ak to stále nefunguje, vymeňte elektródy v prípade, že ste ich zapojili smerom dozadu. Ak to stále nefunguje, možno ste nespájkovali na správne podložky, vráťte sa k poslednému kroku.

        • Obrázok
          Obrázok

          Pracovný laser so zdravým lúčom

        Keď máte laserové lúče, je čas otestovať detekčný obvod. Namierte laser na fotodiódu. LED dióda by mala vypnúť signalizáciu, že je lúč aktívny. Mávnite rukou cez lúč a kontrolka LED by sa mala rozsvietiť, čo signalizuje vypnutie.

        • Obrázok
          Obrázok

          Lúč nie je prerušený a LED je vypnutá

        • Obrázok
          Obrázok

          Votrelec rozbije lúč a spôsobí rozsvietenie diódy

        • Krok 6: Pripojte webovú kameru a vyskúšajte si jej funkčnosť

          Pripojte webovú kameru k portu USB. Na streamovanie videa potrebujeme nástroj mjpg-streamer. Tu je skvelý návod, ako to urobiť. Akonáhle máte mjpg-streamer nainštalovaný správne. Spustite streamovanie videa zadaním nasledujúceho príkazu do terminálu.

          cd /kde ste nainštalovali mjpg-streamer /mjpg-streamer

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

          Tento príkaz nastaví stream na porte 8081 pomocou zdroja video0. Ak chcete viac webových kamier, zadajte vyššie uvedený príkaz znova, ale zmeňte video0 na video1 a 8081 na 8082. Takto som streamoval až 3 webové kamery a pí nebolo preťažované.

          Otestujte, či pripojenie funguje, otvorte prehliadač na inom počítači a zadajte IP adresu-of-pi: 8081 alebo na pí stačí zadať localhost: 8081. Ak nepoznáte svoju ip pí, zadajte do terminálu nasledujúce

          ifconfig

          Ak všetko funguje, mali by ste vidieť domovskú stránku mpg-streamer. Kliknutím na kartu streamu zobrazíte stream z webovej kamery. Nasleduje snímka obrazovky rozhrania.

          • Obrázok
            Obrázok

            výstup vzorky mjpg-streamera

          Pri vykonávaní tohto tutoriálu po druhýkrát som mal prístup na domovskú stránku mjpg-streamer, ale nevidel som stream. Aby som to napravil, prečítal som si tento príspevok (odkaz je teraz nefunkčný), konkrétne časť o pixelovom formáte YUYV, ak narazíte na prázdny stream, mali by ste si ho tiež prečítať.

          Krok 7: Prestávka

          Dobre, takže v tomto bode by sme mali mať svoje malinové pi spustené. Náš laser bol upravený na externé napájanie. Náš detekčný obvod bol zostrojený a potvrdili ste, že keď laserový lúč zasiahne fotodiódu, dióda sa vypne a keď lúč rozbijete, dióda sa rozsvieti. Nakoniec by ste mali mať pripojenú webovú kameru a funkčne streamovať.

          Teraz je čas dať to všetko dohromady. Začnime jednoducho tým, že sa pokúsime pomocou softvéru zistiť, ako sa laserový lúč vypína.

          Zapojte detekčný obvod na vývodku podľa obrázku. V rámci prípravy na ďalší krok nezabudnite zapojiť signálny vodič snímača na kolík 25. Odporový odpor nie je voliteľný. Mal som 10k okolo, ale každý odpor by mal urobiť.

          • Obrázok
            Obrázok

            Rozloženie na doske s PiCoblerom

          • Krok 8: Monitorujte laser pomocou softvéru

            Napíšeme krátky program na počúvanie laserového signálu a zverejnenie tohto výstupu na termináli. Kód si môžete stiahnuť ako prílohu.

            Pravdepodobne budete musieť nainštalovať závislosti pre tento skript. Python a modul gpio. Ak ich chcete nainštalovať, zadajte

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

            Akonáhle máte úspešnú inštaláciu pythonu, stiahnite si priložený skript pythonu s názvom read_pin.py a spustite ho

            cd /adresár, kam vložíte súbor /chmod 777 read_pin.py

            Príkaz chmod dá skriptu povolenie na spustenie. Potom behom vyskúšajte, či je všetko v poriadku

            sudo python3 read_pin.py

            Ak všetko pôjde dobre, mali by ste vidieť výstup z konzoly, ako je uvedené nižšie. Ak chcete ukončiť skript python, zadajte

            Ctrl-C

          • Obrázok
            Obrázok

            Správny výstup konzoly (zobrazené pomocou programu MobaXterm)

          Mávnite rukou pred laserovým lúčom a na konzole by ste mali vidieť nejaký výstup, ktorý vás upozorní, že lúč bol zlomený. Nebojte sa hrať so skriptom, aby váš systém fungoval rôznymi spôsobmi.

          Krok 9: Vytvorte webovú stránku, ktorá bude zobrazovať váš stream

          Teraz musíme nastaviť rozhranie na sledovanie webovej kamery. Na tento krok budete musieť nainštalovať webový server apache. Existuje množstvo návodov na jeho zriadenie. Tu je však krátky zoznam s minimálnou konfiguráciou.

          sudo apt-get nainštalovať apache2

          po inštalácii by ste mali byť schopní napísať vo svojom prehliadači na Raspberry Pi

          localhost

          Mali by ste vidieť uvítaciu stránku z apache. Ak nastavujete webový server prvýkrát, pravdepodobne budete chcieť nakonfigurovať svoj pi tak, aby mal statickú adresu IP, aby váš smerovač vždy priradil správnu adresu IP, ak urobíte cyklus napájania. Ak chcete zobraziť svoj bezpečnostný systém z iného umiestnenia, budete musieť na serveri routera nastaviť presmerovanie portov. Trvalo to dlho, ale tiež si myslím, že budete musieť preposlať aj všetky porty, na ktorých je webová kamera. Existuje množstvo návodov, ktoré sa zaoberajú týmito postupmi. Uvedomte si, že vašu webovú kameru môže ktokoľvek vidieť, ak sa rozhodnete nastaviť presmerovanie portov na svojom smerovači.

          Priložené súbory sú ukážkovými webovými stránkami, ktoré môžete použiť na nastavenie svojej webovej stránky. Budete musieť zmeniť príponu súboru v súbore html, pretože mi nedovolili ho nahrať. Ďalej umiestnite súbory do vášho priečinka www, vyvolaného v konfiguračnom súbore apache. Predvolené umiestnenie je

          cd /var /www

          Ak chcete zmeniť umiestnenie, kde webový server hľadá vaše html súbory, môžete súbor s povolenou webovou stránkou upraviť zadaním

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

          Zmeňte ľubovoľný výskyt súboru/var/www/na požadované miesto. Dal som ten svoj do/home/pi/Desktop/www/

          Akonáhle budete mať html súbory vo webovom priečinku, zadajte localhost do prehliadača alebo ip adresu pi z iného počítača. Mali by ste vidieť niečo také.

          • Obrázok
            Obrázok

            Snímka obrazovky priložených súborov v prevádzke

          ZAMETAJTE!

          Krok 10: Nastavte e -mailové upozornenia

          Stávajú sa dobré veci! Skúsme šťastie a pokúsime sa odoslať e -mailové upozornenie z pi na vopred definovanú e -mailovú adresu. Priložený skript python zostaví váš e -mail, ktorý chcete odoslať, pripojí sa k poskytovateľovi e -mailu, ako je napríklad gmail, a odošle e -mail pomocou poskytovateľa e -mailu. To sa dosiahne pomocou balíka smtp v pythone. Navrhujem, aby ste si vytvorili fiktívnu e -mailovú adresu iba pre váš bezpečnostný systém, pretože aby balík smtp fungoval, budeme musieť znížiť zabezpečenie vášho účtu gmail.

          Aby bol prenos úspešný, budete musieť skript upraviť na niekoľkých miestach. Je silne komentovaný a pre vaše pohodlie bude na termináli produkovať veľa výstupov.

          Veci, ktoré budete musieť zmeniť, budú

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • send_email_username = "vaše e -mailové užívateľské meno"
          • send_email_password = "vaše heslo"

          your_ip_optional_port bude s najväčšou pravdepodobnosťou prázdny, pokiaľ váš server apache nebeží na inom porte ako je predvolený 80. Server som už mal spustený na 80, takže som nastavil, aby moje pi bežalo na 8080. port_to_camera bude port, na ktorý zadáte fotoaparát spustite pomocou mjpeg streamer.

          Akonáhle zmeníte tieto premenné na začiatku skriptu, spustite program zadaním nasledujúceho príkazu do terminálu.

          cd /priečinok, do ktorého vložíte skript /

          sudo python3 send_mail.py

          Ak sú hviezdičky správne zarovnané a všetky premenné sú správne, mali by ste dostať e -mail podobný nižšie uvedenému.

          • Obrázok
            Obrázok

            Snímka obrazovky priložených súborov v prevádzke

          Existuje mnoho miest, kde tento skript môže zlyhať. Nenechajte sa frustrovať, ak to nefunguje prvýkrát. Pomocou bodov ladenia v skripte zúžte problémové oblasti a potom sa zamerajte na jeden problém naraz.

          Krok 11: Spustite e -mailový skript, keď sa vypne laser

          Teraz, keď je zariadenie pi schopné odosielať e -maily, zautomatizujme to, aby sme zakaždým, keď sa vypne laser, dostali e -mail. Stiahnite si priložený súbor, ktorý je upravenou verziou súboru read_pin.py, ktorý obsahuje novú funkciu na zasielanie poštového skriptu. Hlavný dodatkový riadok je nasledujúci

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

          Tento riadok spustí skript odosielania pošty súbežne so skriptom laserového snímania. Je to žiaduce, pretože dokončenie skriptu odoslania pošty trvá niekoľko sekúnd a blokuje spustenie skriptu laserového snímania, kým nie je odoslaný e -mail. To nie je problém pre jeden kamerový systém, ale ak máte viac kamier, chceli by ste na kamere 1 detekovať laserový výlet, aj keď kamera 2 spustila e -mailovú udalosť. Premenná sm_pid bude obsahovať pid procesu, ktorý je spustený týmto príkazom. Toto ID skontrolujeme, ak sa spúšťač e -mailu znova zavolá, ak existuje, e -mail sa stále odosiela, takže udalosť ignorujeme. Ak neexistuje, je to pravdepodobne nová udalosť a odošle sa e -mail.

          Spustením vyskúšajte, či všetko funguje

          cd /adresár, kam ste vložili súbor /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Keď rozbijete laserový lúč, mali by ste dostať e -mail so snímkou nasnímanou z webovej kamery.

          Krok 12: Vytvorte hlavný skript na spustenie systému

          V tomto bode je projekt väčšinou dokončený. Posledným krokom je zjednodušenie spustenia systému pomocou posledného skriptu. Spustí všetky podprogramy a nastaví webovú kameru s jedným skriptom. Priložený súbor je možné spustiť pri spustení úpravou súboru /etc/rc.local. Ak skripty umiestnite na iné miesto, budete musieť zmeniť príponu súboru a možno budete musieť skript upraviť tak, aby zahrnoval správne cesty.

          Krok 13: Záver

          No to je ono Dúfam, že sa vám tento návod páčil! Dajte mi vedieť v komentároch, ak máte akékoľvek otázky alebo potrebujete podrobnejšie informácie v akejkoľvek oblasti. Hrajte ďalej!

          • Obrázok
            Obrázok

    Odporúča: