Obsah:
- Krok 1: Zaokrouhlete požadované součásti
- Krok 2: Zapněte Pi a spusťte jej
- Krok 3: Vytvořte laserový detekční obvod
- Krok 4: Upravte laser na externí napájení
- Krok 5: Zapněte laser a otestujte detekční obvod
- Krok 6: Připojte webovou kameru a vyzkoušejte její funkčnost
- Krok 7: Přestávka
- Krok 8: Monitorujte laser pomocí softwaru
- Krok 9: Vytvořte webovou stránku, která bude zobrazovat váš stream
- Krok 10: Nastavení e -mailových upozornění
- Krok 11: Spusťte e -mailový skript při spuštění laseru
- Krok 12: Vytvořte hlavní skript pro spuštění systému
- Krok 13: Závěr
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
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.
- 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.
- 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.
- 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.
- 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.
-
Nějaká odpočinková sada pro malinový pi, abyste měli snadný přístup k pinům na procesoru.
- Prkénko.
- Páječka.
- Propojovací vodiče pro prkénko.
-
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:
- 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ý.
- USB rozbočovač. Pro každou webovou kameru, kterou chcete používat, budete potřebovat jeden port.
- Měřič napětí nebo osciloskop, pokud jej máte.
- 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
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í.
-
Obr. 1: Horní deska rozvržení obvodové desky
-
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.
-
Obr. 3: Pohled shora na desku senzoru
-
Obrázek 4: ISO desky senzoru
-
Oranžový vodič nahrazuje momentální tlačítko
-
Ukazují pozitivní a negativní potenciální zákazníky
-
Kulový kloub
-
Zásuvkový spoj
-
Sestavená koule a zásuvka
-
Pracovní laser se zdravým paprskem
-
Paprsek není přerušený a LED nesvítí
-
Vetřelec rozbije paprsek a způsobí rozsvícení LED
-
výstup vzorku mjpg-streamer
-
Rozložení na prkénku s PiCoblerem
-
Správný výstup konzoly (zobrazeno pomocí MobaXterm)
-
Snímek obrazovky připojených souborů v provozu
- 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"
-
Snímek obrazovky připojených souborů v provozu
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í.
- 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.
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.
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.
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í.
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.
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
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.
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_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.
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í!