Laserový zabezpečovací systém Raspberry Pi: 13 kroků (s obrázky)
Laserový zabezpečovací systém Raspberry Pi: 13 kroků (s obrázky)
Anonim
Image
Image
obraz
obraz

Děkuji, že jste si prohlédli můj návod. Na konci tohoto pokynu zkonstruujete laserový tripwire systém Raspberry Pi s funkcí upozornění na e -mail, která je zobrazena ve videu.

Chcete -li dokončit tento instruktáž, budete muset být obeznámeni s obecnými obvody a pájením, vědět, jak používat prkénko, a pohodlně používat terminál na pí. Mít zkušenosti v pythonu bude také užitečné.

Tento projekt se skládá ze tří hlavních systémů. Malinový pi, obvod laserového tripwire a pozorovací počítač. Naším cílem je použít malinu pi k detekci změny napětí na obvodu laserového tripwire a poté upozornit pozorovací počítač ve formě e -mailu a video streamu.

Pojďme začít.

Krok 1: Zaokrouhlete požadované součásti

K dokončení tohoto projektu budete potřebovat následující položky.

  1. Minimálně jeden operační Raspberry Pi. V tomto sestavení jsem použil model Pi ve stylu B s raspbian wheezy. Jsem si jistý, že tento návod bude fungovat dobře, pokud používáte raspbian jessie.
  2. Externí zdroj energie pro malinový pi. Jakmile bude vše zapojeno, budeme čerpat značné množství proudu. Strávil jsem spoustu času diagnostikováním mizerného napájecího zdroje jako zdroje problémů během mé první stavby. Ujistěte se, že máte silný výkon schopný generovat alespoň 2 ampéry.
  3. Levný laserový ukazatel. Svůj jsem našel u pokladny na benzínce. Pokud chcete přesný laser, najdete ho zde. Štítek uvádí vlnovou délku 630-680 nm. Ať už získáte jakýkoli laser, určí některé další komponenty v sestavení. Ujistěte se tedy, že jeho štítek identifikuje jeho vlnovou délku.
  4. Webová kamera ve stylu USB. Tato webová kamera má nastavitelnou nohu, která vám umožní kameru pěkně umístit. Zjistil jsem, že USB kabel dodaný s webovou kamerou je pro moji aplikaci příliš krátký, a tak jsem našel prodloužení za monoprice.
  5. Nějaká odpočinková sada pro malinový pi, abyste měli snadný přístup k pinům na procesoru.

    obraz
    obraz
    obraz
    obraz
  6. Prkénko.
  7. Páječka.
  8. Propojovací vodiče pro prkénko.
  9. Součásti obvodu. Vynásobte požadovaným počtem vypínacích vodičů.

    • Jedna pracovní LED
    • Jeden odpor 100 ohmů
    • Jeden 1k odpor
    • Jeden 10k odpor
    • Jeden odpor 200k Opravdu bude stačit jakýkoli velký odpor. Testoval jsem to s 1M odporem a fungovalo to dobře. FYI 10k bylo příliš malé.
    • Jeden PNP tranzistor PN: 2N4403-APCT-ND
    • Jedna fotodioda (přizpůsobte ji své vlnové délce laseru) PN: PDB-C142-ND

Připojím soubory kicad pro desku s obvody, ale nebudu se zabývat výrobou desky v tomto pokynu.

V průběhu tohoto projektu mi přišly vhod následující následující volitelné nástroje:

  1. Instalace synergie na Raspberry Pi. V případě, že nejste obeznámeni, tento software vám umožní ovládat myš a klávesnici Raspberry Pi pomocí jiného počítače. To je hezké, pokud jste jako já a pohodlnější jste na jiném počítači. Také toto je software, který by měl mít každý.
  2. USB rozbočovač. Pro každou webovou kameru, kterou chcete používat, budete potřebovat jeden port.
  3. Měřič napětí nebo osciloskop, pokud jej máte.
  4. Použití MobaXtermu k ovládání malinového pi a manipulaci se soubory pomocí ssh. Je to nutnost pro každého, kdo má okna. V tomto tutoriálu si můžete nastavit, jak ho používat.

Krok 2: Zapněte Pi a spusťte jej

  • obraz
    obraz

    Pi s minimálními součástmi připojeno

  • Než budeme moci střílet z jakéhokoli lasera, je třeba zkonstruovat několik vrstev softwaru. Abyste měli co největší šanci uspět, je dobré začít s čistým štítem. Chcete -li to provést, odpojte od Pi všechny nepotřebné položky. Tím se sníží šance na rušení z připojeného zařízení.

    Dále se ujistěte, že váš Raspberry Pi je v provozu s nejnovějším softwarem, zadáním následujícího do terminálu

    sudo apt-get update

    S aktuální malinou pi je čas na další krok

    Krok 3: Vytvořte laserový detekční obvod

    Umístěte součásti na prkénko podle obrázku. Napájejte prkénko pomocí 5v výstupu pí nebo stolního napájecího zdroje. Na obrázku 1 je napájení 5v připojeno k kladné liště v levé dolní části obrazu a k zemi vlevo nahoře. Tento obvod používá fotodiodu jako spínač ke spuštění tranzistoru. Tranzistor převádí malou změnu napětí ve fotodiodě na poněkud digitální signál, který pí umí přečíst. U všech následujících kroků bude bod mezi 100 ohmy a signálkou LED tam, kde vzorkujeme obvod s pí.

    • obraz
      obraz

      Obr. 1: Horní deska rozvržení obvodové desky

    • obraz
      obraz

      Obr. 2: Alternativní zobrazení rozvržení obvodového pole

    Pokud chcete čistší vzhled, připojil jsem soubory kicad pro desku, která je uvedena níže.

    • obraz
      obraz

      Obr. 3: Pohled shora na desku senzoru

    • obraz
      obraz

      Obrázek 4: ISO desky senzoru

    • Krok 4: Upravte laser na externí napájení

      V následujících krocích sestavíte sestavu laserového ukazovátka.

      - Demontujte laserové ukazovátko. Při tom si všimněte orientace vývodů baterie vzhledem k laserovému vysílači.- Dále odpojte pružinu pro připojení baterie a momentální tlačítko z laseru.- Pájecí kousek drátu mezi svorkami, kde bylo tlačítko. Nyní, když je laseru dodávána energie, automaticky se zapne.- Nyní připájejte kladné a záporné vodiče k laseru. Pokud používáte stejný laser ze seznamu dílů, můžete pomocí níže uvedeného obrázku vidět pájecí body. Pokud nejste, možná budete muset najít pájecí body sami. Orientaci baterie můžete použít jako nápovědu pro kladný nebo záporný kabel. Chcete -li najít poslední pájecí bod, můžete použít napájecí zdroj 5 V a sondu obvodu pomocí dvou testovacích vodičů. Když vytvoříte správný obvod, najdete pájecí bod a laser se rozsvítí.

      • obraz
        obraz

        Oranžový vodič nahrazuje momentální tlačítko

      • obraz
        obraz

        Ukazují pozitivní a negativní potenciální zákazníky

      - Posledním krokem je vytvoření směrového montážního sloupku pro laser, aby jej bylo možné snadno nastavit tak, aby mířil na laserovou zásuvku. Zjistil jsem, že většina stavebnic lego bionicle je vynikajícím zdrojem pro levné kulové v zásuvkových kloubech. Pomocí super lepidla přilepte jeden kus kulového kloubu na laserové ukazovátko. Nyní můžete zásuvkový spoj namontovat na jakýkoli povrch a zacvaknout laser.

      • obraz
        obraz

        Kulový kloub

      • obraz
        obraz

        Zásuvkový spoj

      • obraz
        obraz

        Sestavená koule a zásuvka

      • Krok 5: Zapněte laser a otestujte detekční obvod

        Zapojte laser do prkénka. Pozitivní bude nutné připojit k 5 V a uzemnit záporný vodič. Pokud se laser zapne skvěle, pokud ne, znovu zkontrolujte, zda máte správné napětí pomocí multimetru. Pokud to stále nefunguje, zkuste vyměnit vodiče v případě, že jste je připojili dozadu. Pokud to stále nefunguje, možná jste nepájili na správné podložky, vraťte se zpět k poslednímu kroku.

        • obraz
          obraz

          Pracovní laser se zdravým paprskem

        Jakmile máte laserové paprsky, je čas otestovat detekční obvod. Namiřte laser na fotodiodu. LED by měla vypnout signalizaci, že je paprsek aktivní. Mávněte rukou paprskem a kontrolka LED by se měla rozsvítit, což signalizuje výlet.

        • obraz
          obraz

          Paprsek není přerušený a LED nesvítí

        • obraz
          obraz

          Vetřelec rozbije paprsek a způsobí rozsvícení LED

        • Krok 6: Připojte webovou kameru a vyzkoušejte její funkčnost

          Připojte webovou kameru k portu USB. Abychom mohli streamovat video, potřebujeme nástroj mjpg-streamer. Zde je skvělý návod, jak to udělat. Jakmile máte mjpg-streamer nainstalován správně. Začněte streamovat video zadáním následujícího příkazu do terminálu.

          cd /kde jste nainstalovali mjpg-streamer /mjpg-streamer

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

          Tento příkaz nastaví stream na portu 8081 pomocí zdroje video0. Pokud chcete více webových kamer, zadejte výše uvedený příkaz znovu, ale změňte video0 na video1 a 8081 na 8082. Tímto způsobem jsem streamoval až 3 webové kamery a pi nebylo přetíženo.

          Otestujte, zda připojení funguje, otevřením prohlížeče na jiném počítači a zadejte IP adresu-of-pi: 8081 nebo na pi stačí zadat localhost: 8081. Pokud neznáte svou ip pi, zadejte do terminálu následující

          ifconfig

          Pokud vše funguje, měli byste vidět domovskou stránku mpg-streamer. Kliknutím na kartu streamu zobrazíte stream z webové kamery. Níže je snímek obrazovky rozhraní.

          • obraz
            obraz

            výstup vzorku mjpg-streamer

          Při druhém provádění tohoto tutoriálu jsem měl přístup na domovskou stránku mjpg-streamer, ale neviděl jsem stream. Abych to napravil, přečetl jsem si tento příspěvek (odkaz je nyní nefunkční), konkrétně část o formátu pixelu YUYV, pokud narazíte na prázdný stream, měli byste si jej také přečíst.

          Krok 7: Přestávka

          Dobře, takže v tomto bodě bychom měli mít náš malinový pi spuštěný. Náš laser byl upraven pro externí napájení. Náš detekční obvod byl zkonstruován a potvrdili jste, že když laserový paprsek zasáhne fotodiodu, dioda zhasne a když paprsek přerušíte, dioda by se měla rozsvítit. Nakonec byste měli mít připojenou webovou kameru a funkčně streamovat.

          Nyní je čas dát to všechno dohromady. Začněme jednoduše tím, že se pokusíme pomocí softwaru detekovat zakopnutí laserového paprsku.

          Zapojte detekční obvod na prkénko podle obrázku. V rámci přípravy na další krok nezapomeňte připojit signální vodič senzoru ke kolíku 25. Stahovací odpor není volitelný. Měl jsem kolem 10k, ale měl by to udělat jakýkoli odpor.

          • obraz
            obraz

            Rozložení na prkénku s PiCoblerem

          • Krok 8: Monitorujte laser pomocí softwaru

            Napišme krátký program, abychom poslouchali laserový signál a zveřejnili tento výstup na terminálu. Kód si můžete stáhnout jako přílohu.

            Pravděpodobně budete muset nainstalovat závislosti pro tento skript. Python a modul gpio. Chcete -li je nainstalovat, zadejte

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

            Jakmile budete mít instalaci pythonu úspěšnou, stáhněte si přiložený skript pythonu s názvem read_pin.py a spusťte jej

            cd /adresář, kam vložíte soubor /chmod 777 read_pin.py

            Příkaz chmod dá skriptu oprávnění ke spuštění. Poté spuštěním vyzkoušejte, že je vše v pořádku

            sudo python3 read_pin.py

            Pokud vše půjde dobře, měli byste vidět výstup z konzoly, jak je uvedeno níže. Pro ukončení skriptu pythonu zadejte

            Ctrl-C

          • obraz
            obraz

            Správný výstup konzoly (zobrazeno pomocí MobaXterm)

          Mávněte rukou před laserovým paprskem a na konzole byste měli vidět nějaký výstup, který vás upozorní, že paprsek byl přerušen. Nebojte se pohrát si se skriptem, aby váš systém fungoval různými způsoby.

          Krok 9: Vytvořte webovou stránku, která bude zobrazovat váš stream

          Nyní musíme nastavit rozhraní pro prohlížení webové kamery. K tomuto kroku budete muset nainstalovat webový server apache. Existuje spousta návodů, jak jeden nastavit. Zde je však krátký seznam s minimální konfigurací.

          sudo apt-get install apache2

          po instalaci byste měli být schopni zadat do svého prohlížeče malinový pi

          localhost

          Měli byste vidět uvítací stránku z apache. Pokud nastavujete webový server poprvé, pravděpodobně budete chtít nakonfigurovat svůj pi tak, aby měl statickou adresu IP, aby váš router vždy přiřadil správnou adresu IP, pokud provádíte cyklus napájení. Pokud chcete zobrazit svůj zabezpečovací systém z jiného umístění, budete muset na routeru nastavit přesměrování portů. Už to nějakou dobu trvá, ale také si myslím, že budete muset přeposlat všechny porty, na kterých je webová kamera. Existuje spousta návodů, které pokrývají tyto postupy. Pokud se rozhodnete nastavit přesměrování portů na routeru, uvědomte si, že vaši webovou kameru může vidět kdokoli.

          Přiložené soubory jsou ukázkovými webovými stránkami, které můžete použít k nastavení svého webu. Budete muset změnit příponu souboru v souboru html, protože mi nedovolí jej nahrát. Dále umístěte soubory do složky www, kterou vyvoláte do konfiguračního souboru apache. Výchozí umístění je

          cd /var /www

          Pokud chcete změnit umístění, kde webový server hledá vaše soubory html, můžete upravit soubor s povolenými stránkami zadáním

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

          Změňte libovolnou instanci/var/www/na požadované místo. Dal jsem svůj do/home/pi/Desktop/www/

          Jakmile máte soubory html ve webové složce, zadejte localhost do prohlížeče nebo IP adresu pí z jiného počítače. Měli byste vidět něco takového.

          • obraz
            obraz

            Snímek obrazovky připojených souborů v provozu

          ZAMĚSTNAT!

          Krok 10: Nastavení e -mailových upozornění

          Dějí se dobré věci! Zkusme štěstí a pokusme se odeslat e -mailové upozornění z pi na předem definovanou e -mailovou adresu. Přiložený skript pythonu vytvoří váš e -mail, který chcete odeslat, připojí se k poskytovateli e -mailu, jako je gmail, a odešle e -mail pomocí poskytovatele e -mailu. Toho je dosaženo pomocí smtp balíčku pythonu. Navrhuji, abyste si vytvořili fiktivní e -mailovou adresu pouze pro váš bezpečnostní systém, protože budeme muset snížit zabezpečení vašeho účtu gmail, aby balíček smtp fungoval.

          Aby byl přenos úspěšný, budete muset skript upravit na několika místech. Je hodně komentovaný a pro vaše pohodlí bude na terminálu produkovat spoustu výstupů.

          Věci, které budete muset změnit, budou

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • send_email_username = "vaše e -mailové uživatelské jméno"
          • send_email_password = "vaše heslo"

          your_ip_optional_port bude s největší pravděpodobností prázdný, pokud váš server Apache neběží na jiném portu, než je výchozí 80. Už jsem měl server běžící na 80, takže jsem nastavil, aby moje pi běželo na 8080. Port_to_camera bude port, na který určíte kameru spusťte pomocí mjpeg streamer.

          Jakmile změníte tyto proměnné na začátku skriptu, spusťte program zadáním následujícího příkazu do terminálu.

          cd /složka, kam vložíte skript /

          sudo python3 send_mail.py

          Pokud jsou hvězdičky správně zarovnány a všechny proměnné jsou správné, měli byste dostat e -mail podobný tomu níže.

          • obraz
            obraz

            Snímek obrazovky připojených souborů v provozu

          Existuje mnoho míst, kde tento skript může selhat. Nenechte se frustrovat, pokud to nefunguje poprvé. Pomocí bodů ladění ve skriptu zúžit problémové oblasti a poté se zaměřit na jeden problém najednou.

          Krok 11: Spusťte e -mailový skript při spuštění laseru

          Nyní, když je pí schopen odesílat e -maily, zautomatizujme to, takže pokaždé, když se laser vypne, dostaneme e -mail. Stáhněte si přiložený soubor, což je upravená verze souboru read_pin.py, který obsahuje novou funkci pro zasílání poštovního skriptu. Hlavní doplňkový řádek je následující

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

          Tento řádek spustí skript pro odesílání pošty souběžně se skriptem pro laserové snímání. To je žádoucí, protože skript pro odeslání pošty trvá několik sekund a zablokuje spuštění skriptu laserového snímání, dokud nebude odeslán e -mail. Pro jeden kamerový systém to není problém, ale pokud máte více kamer, budete chtít detekovat laserový záblesk na kameře 1, i když kamera 2 spustila e -mailovou událost. Proměnná sm_pid bude obsahovat pid procesu, který je spuštěn tímto příkazem. Toto ID zkontrolujeme, pokud se spoušť e -mailu znovu zavolá, pokud existuje, e -mail se stále odesílá, takže událost ignorujeme. Pokud neexistuje, je to pravděpodobně nová událost a odešle se e -mail.

          Otestujte, že vše funguje spuštěním

          cd /adresář, kam jste vložili soubor /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Když rozbijete laserový paprsek, měli byste dostat e -mail se snímkem pořízeným z webové kamery.

          Krok 12: Vytvořte hlavní skript pro spuštění systému

          V tuto chvíli je projekt většinou hotový. Posledním krokem je zjednodušení spuštění systému pomocí posledního skriptu. Spustí všechny podprogramy a nastaví webovou kameru s jedním skriptem. Přiložený soubor lze spustit při spuštění úpravou souboru /etc/rc.local. Pokud skripty vložíte do jiného umístění, budete muset změnit příponu souboru a případně upravit skript tak, aby zahrnoval správné cesty.

          Krok 13: Závěr

          No to je ono Doufám, že se vám tento návod líbil! Dejte mi vědět v komentářích, pokud máte nějaké dotazy nebo potřebujete podrobnější informace v jakékoli oblasti. Pokračujte v šťourání!

          • obraz
            obraz