Sadržaj:
- Korak 1: Zaokružite potrebne komponente
- Korak 2: Pokrenite Pi i pokrenite ga
- Korak 3: Stvorite krug za otkrivanje lasera
- Korak 4: Izmijenite laser za vanjsko napajanje
- Korak 5: Uključite laser i testirajte krug za otkrivanje
- Korak 6: Povežite svoju web kameru i testirajte njezinu funkcionalnost
- Korak 7: Pauza
- Korak 8: Nadgledajte laser pomoću softvera
- Korak 9: Izradite web stranicu za prikaz streama
- Korak 10: Postavite upozorenja e -poštom
- Korak 11: Pokrenite skriptu e -pošte pri aktiviranju lasera
- Korak 12: Izradite glavnu skriptu za pokretanje sustava
- Korak 13: Zaključak
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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.
- 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.
- 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.
- 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.
- 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.
-
Neka vrsta kompleta za probijanje za malinu pi, tako da možete imati lak pristup pinovima na procesoru.
- Matična ploča.
- Lemilica.
- Kratkospojne žice za ploču.
-
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:
- 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.
- USB hub. Za svaku web kameru koju želite koristiti trebat će vam jedan priključak.
- Mjerač napona ili osciloskop ako ga imate.
- 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
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 1: Gornji izgled kružne ploče
-
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 3: Pogled odozgo na ploču senzora
-
Slika 4: ISO osjetljiva ploča
-
Narančasta žica zamjenjuje trenutni gumb
-
Prikazivanje pozitivnih i negativnih tragova
-
Kuglasti zglob
-
Utični spoj
-
Kugla i utičnica sastavljeni
-
Radni laser sa zdravim snopom
-
Greda nije slomljena i LED dioda je isključena
-
Uljez prekida snop uzrokujući da LED zasvijetli
-
mjpg-streamer uzorak izlaz
-
Izgled tlocrta s PiCoblerom
-
Ispravan izlaz konzole (prikazan pomoću MobaXterma)
-
Snimka zaslona priloženih datoteka u radu
- 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"
-
Snimka zaslona priloženih datoteka u radu
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.
- 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.
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.
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.
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.
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.
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
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.
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_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.
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!