Kazalo:
- 1. korak: Zaokrožite potrebne komponente
- 2. korak: Zaženite Pi in zaženite
- 3. korak: Ustvarite vezje za odkrivanje laserja
- 4. korak: Spremenite laser za zunanje napajanje
- 5. korak: Vklopite laser in preizkusite vezje za zaznavanje
- 6. korak: Povežite spletno kamero in preizkusite njeno funkcionalnost
- 7. korak: Odmor
- 8. korak: S programsko opremo spremljajte laser
- 9. korak: Ustvarite spletno stran za prikaz svojega toka
- 10. korak: Nastavite e -poštna opozorila
- 11. korak: Sproži skript po e -pošti, ko se sproži laser
- 12. korak: Ustvarite glavni skript za zagon sistema
- 13. korak: Zaključek
Video: Laserski varnostni sistem Raspberry Pi: 13 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Hvala, ker ste preverili moj pouk. Do konca tega navodila boste izdelali sistem laserske tripwire maline pi s funkcijo opozarjanja po e -pošti, ki je prikazana v videoposnetku.
Če želite dokončati ta navodila, boste morali poznati splošno vezje in spajkanje, vedeti, kako uporabljati ploščico, in biti udoben pri uporabi terminala na pi. Koristne bodo tudi izkušnje s pythonom.
Ta projekt je sestavljen iz treh glavnih sistemov. Malina pi, lasersko spojno vezje in opazovalni računalnik. Naš cilj je z malinovim pi zaznati spremembo napetosti v laserskem spojnem vezju in nato opozoriti opazovalni računalnik v obliki e -pošte in videotoka.
Začnimo.
1. korak: Zaokrožite potrebne komponente
Za dokončanje tega projekta boste potrebovali naslednje elemente.
- Vsaj ena delujoča Raspberry Pi. V tej zgradbi sem uporabil Pi model B v slogu B, ki je tekel malčansko. Prepričan sem, da bo ta vadba delovala v redu, če uporabljate raspbian jessie.
- Zunanji vir napajanja za malino pi. Ko bomo vse to priklopili, bomo potegnili znatno količino amperaže. Med prvo gradnjo sem porabil veliko časa za diagnosticiranje slabega napajanja kot vir težav. Prepričajte se, da imate močan vir napajanja vsaj 2 ampera.
- Najcenejši laserski kazalec. Svoje sem našel poleg blagajne na bencinski črpalki. Če želite natančen laser, ga lahko najdete tukaj. Oznaka za valovno dolžino pravi 630-680 nm. Ne glede na to, kateri laser dobite, bodo določene nekatere druge komponente v sestavi. Zato se prepričajte, da oznaka označuje njeno valovno dolžino.
-
Spletna kamera v usb stilu. Ta spletna kamera ima nastavljivo nogo, ki vam omogoča lepo namestitev fotoaparata. Ugotovil sem, da je USB kabel, priložen spletni kameri, prekratek za mojo aplikacijo, zato sem našel razširitev za monoprice.
-
Nekakšen prelomni komplet za malinovo pi, tako da imate enostaven dostop do nožic na procesorju.
- Tla.
- Spajkalnik.
- Mostične žice za ploščo.
-
Komponente vezja. Pomnožite z želeno količino odklopnih žic.
- Eden delovnih vodil
- En 100 ohmski upor
- En 1k upor
- En 10k upor
- En 200k upor. Res bo primeren za vsak velik upor. Testiral sem ga z 1M uporom in je dobro deloval. FYI 10k je bil premajhen.
- En tranzistor PNP PN: 2N4403-APCT-ND
- Ena fotodioda (ujemajte se z vašo lasersko valovno dolžino) PN: PDB-C142-ND
Priložil bom datoteke kicad za vezje, vendar ne bom podrobno opisal izdelave plošče v tem navodilu.
Med tem projektom sem ugotovil, da so pri roki naslednja neobvezna orodja:
- Namestitev sinergije na malinovo pi. Če niste seznanjeni, vam bo ta programska oprema omogočala upravljanje miške in tipkovnice maline pi z drugim računalnikom. To je lepo, če ste kot jaz in vam je bolj udobno na drugem računalniku. To je tudi programska oprema, ki bi jo morali imeti vsi.
- Usb zvezdišče. Za vsako spletno kamero, ki jo želite uporabljati, potrebujete ena vrata.
- Merilnik napetosti ali osciloskop, če ga imate.
- Uporaba MobaXterma za nadzor maline pi in upravljanje datotek prek ssh. To je treba imeti za vsakogar, ki je vzgojen na oknih. Za nastavitev uporabe si oglejte to vadnico.
2. korak: Zaženite Pi in zaženite
Pi z minimalnimi komponentami
Preden lahko posnamemo kateri koli laser, je treba zgraditi več plasti programske opreme. Da bi imeli najboljše možnosti za uspeh, je dobro začeti s čistimi listi. Če želite to narediti, odklopite vse nepotrebne predmete iz Pi. To bo zmanjšalo možnosti motenj povezane naprave.
Nato se prepričajte, da je vaš Raspberry Pi nameščen z najnovejšo programsko opremo, tako da v terminal vnesete naslednje
sudo apt-get posodobitev
S posodobljenim malinovim pi je čas za naslednji korak
3. korak: Ustvarite vezje za odkrivanje laserja
Sestavite komponente na ploščo, kot je prikazano. Napajajte ploščo s pomočjo 5v izhoda pi ali namiznega napajalnika. Na sliki 1 je napajanje 5V priključeno na pozitivno letev v spodnjem levem kotu slike in na tla v zgornjem levem kotu. To vezje uporablja fotodiodo kot stikalo za sprožitev tranzistorja. Tranzistor pretvori majhno spremembo napetosti na fotodiodi v nekoliko digitalni signal, ki ga pi lahko prebere. Za vse nadaljnje korake bo točka med 100ohm in signalno lučko vzorčila vezje s pi.
-
Slika 1: Zgornja postavitev vezja
-
Slika 2: Nadomestni pogled na postavitev vezja
Če želite čistejši videz, sem priložil datoteke kicad za ploščo, ki je prikazana spodaj.
-
Slika 3: Pogled od zgoraj na senzorsko ploščo
-
Slika 4: Senzorska plošča ISO
-
Oranžna žica nadomešča trenutni gumb
-
Prikaz pozitivnih in negativnih sledi
-
Kroglični zglob
-
Vtičnica
-
Krogla in vtičnica sestavljena
-
Delovni laser z zdravim žarkom
-
Žarek ni pokvarjen in led je izklopljen
-
Vsiljivec prekine žarek, zaradi česar se prižge led
-
mjpg-streamer vzorec
-
Postavitev lesene plošče s PiCoblerjem
-
Pravilen izhod konzole (prikazano z uporabo MobaXterma)
-
Posnetek zaslona priloženih datotek, ki delujejo
- your_ip = "192.168.0.177"
- your_ip_optional_port = ": 8080"
- port_to_camera = ": 8081"
- send_email_username = "vaše e -poštno uporabniško ime"
- send_email_password = "vaše geslo"
-
Posnetek zaslona priloženih datotek, ki delujejo
4. korak: Spremenite laser za zunanje napajanje
V naslednjih korakih boste izdelali sklop laserskega kazalca.
- Razstavite laserski kazalec. Pri tem bodite pozorni na usmerjenost baterijskih sponk glede na laserski oddajnik.- Nato odlepite vzmet za priključitev akumulatorja in trenuten pritisk na gumb iz laserja.- Spajajte kos žice med priključki, kjer je bil gumb. Zdaj, ko se laser napaja, se bo samodejno vklopil.- Zdaj spajkajte pozitivne in negativne vodi do laserja. Če uporabljate isti laser s seznama delov, si lahko na spodnji sliki ogledate točke spajkanja. Če niste, boste morda morali sami poiskati spajkalne točke. Usmerjenost baterije lahko uporabite kot namig za pozitiven ali negativen vod. Če želite najti zadnjo točko spajkanja, lahko uporabite napajalnik 5V in preverite vezje z dvema preskusnima vodiloma. Ko ustvarite pravilno vezje, ste našli mesto spajkanja in laser se bo prižgal.
- Zadnji korak je izdelava usmerjenega nosilca za laser, tako da ga je mogoče enostavno nastaviti tako, da cilja na lasersko posodo. Ugotovil sem, da je večina kompletov lego bionicle odličen vir za poceni žogico v vtičnih spojih. En del krogličnega sklepa z super lepilom prilepite na laserski kazalec. Zdaj lahko vtičnico pritrdite na katero koli površino in lasersko zaskočite.
5. korak: Vklopite laser in preizkusite vezje za zaznavanje
Laser priključite na svojo ploščo. Pozitivni bo treba priključiti na 5v in ozemljiti negativno žico. Če se laser dobro vklopi, če ne, dvakrat preverite, ali imate ustrezno napetost z multimetrom. Če še vedno ne deluje, poskusite zamenjati kable, če ste jih priklopili nazaj. Če še vedno ne deluje, morda niste spajkali na desne blazinice, se vrnite na zadnji korak.
Ko imate laserski žarek, je čas, da preizkusite vezje za zaznavanje. Laser usmerite proti fotodiodi. LED mora izklopiti, kar pomeni, da je žarek aktiven. Z roko pomahajte skozi žarek in LED se mora vklopiti, kar signalizira potovanje.
6. korak: Povežite spletno kamero in preizkusite njeno funkcionalnost
Spletno kamero priključite na vrata USB. Za pretakanje videoposnetka moramo dobiti pripomoček mjpg-streamer. Tukaj je odlična vadnica o tem, kako to narediti. Ko imate pravilno nameščen mjpg-streamer. Začnite pretakati video tako, da v terminal vnesete naslednji ukaz.
cd /kjer ste namestili mjpg-streamer /mjpg-streamer
./mjpg_streamer -i "./input_uvc.so -y/dev/video0" -o "./output_http.so -w./www -p 8081"
Ta ukaz bo nastavil tok na vratih 8081 z uporabo vira video0. Če želite več spletnih kamer, znova vnesite zgornji ukaz, vendar spremenite video0 v video1 in 8081 v 8082. Na ta način sem pretočil do 3 spletne kamere in pi ni bil preobremenjen.
Preverite, ali povezava deluje, tako da odprete brskalnik v drugem računalniku in vnesete ip-address-of-pi: 8081 ali na pi lahko vnesete localhost: 8081. Če ne poznate svojega ip pi, vnesite naslednje v terminal
ifconfig
Če vse deluje, bi morali videti domačo stran mpg-streamer. Kliknite zavihek tok, če si želite ogledati tok spletne kamere. Spodaj je posnetek zaslona vmesnika.
Pri drugi vadbi sem lahko dostopila do domače strani mjpg-streamer, vendar nisem videla toka. Če želite to popraviti, sem prebral to objavo (povezava je zdaj prekinjena), zlasti del o formatu slikovnih pik YUYV. Če naletite na prazen tok, se morate posvetovati tudi z njim.
7. korak: Odmor
V redu, na tem mestu bi morali imeti malinovo pi pripravljeno. Naš laser je bil spremenjen za zunanje napajanje. Naše vezje za odkrivanje je zgrajeno in potrdili ste, da se mora LED, ko laserski žarek udari v fotodiodo, izklopiti, pri prekinitvi žarka pa se mora vklopiti. Nazadnje bi morali imeti spletno kamero priključeno in funkcionalno pretakati.
Zdaj je čas, da vse skupaj sestavimo. Začnimo preprosto s poskusom zaznati sprožitev laserskega žarka s programsko opremo.
Priključite vezje zaznavanja na mizo, kot je prikazano. Pripravite na naslednji korak signalni kabel senzorja na pin 25. Spustni upor ni opcijski. Okrog sem imel 10k, vendar bi moral vsak upor.
8. korak: S programsko opremo spremljajte laser
Napišemo kratek program za poslušanje laserskega signala in objavimo ta izhod na terminalu. Kodo lahko prenesete kot prilogo.
Verjetno boste morali namestiti odvisnosti za ta skript. Python in modul gpio. Če jih želite namestiti, vnesite
sudo apt-get install python-rpi.gpio python3-rpi.gpio
Ko uspešno namestite python, prenesite priloženi skript python z imenom read_pin.py in zaženite
cd /imenik, kamor vstavite datoteko /chmod 777 read_pin.py
Ukaz chmod bo skriptu omogočil izvajanje. Nato s tekom preizkusite, ali je vse v redu in elegantno
sudo python3 read_pin.py
Če je vse v redu, bi morali videti izhod konzole, kot je prikazano spodaj. Za izhod iz skripta python vnesite
Ctrl-C
Zamahnite z roko pred laserskim žarkom in na konzoli bi morali videti nekaj izhodov, ki vas opozarjajo, da je žarek zlomljen. Ne pozabite se poigrati s skriptom, da bo vaš sistem deloval na različne načine.
9. korak: Ustvarite spletno stran za prikaz svojega toka
Zdaj moramo nastaviti vmesnik za ogled spletne kamere. Za ta korak boste morali namestiti spletni strežnik apache. Obstaja veliko vaj za nastavitev enega. Tu pa je kratek seznam z minimalno konfiguracijo.
sudo apt-get namestite apache2
ko bo nameščen, boste morali vnesti v svoj brskalnik na malino pi
lokalni gostitelj
Videti bi morali pozdravno stran apache. Če prvič nastavljate spletni strežnik, boste verjetno želeli konfigurirati svoj pi tako, da ima statični naslov ip, tako da bo usmerjevalnik vedno dodelil ustrezen ip, če izvedete cikel napajanja. Če si želite varnostni sistem ogledati z druge lokacije, boste morali na usmerjevalniku nastaviti posredovanje vrat. Minilo je že nekaj časa, vendar mislim, da boste morali posredovati tudi vsa vrata, ki imajo tudi spletno kamero. Obstaja veliko vaj, ki pokrivajo te postopke. Zavedajte se, da lahko vašo spletno kamero vidi vsak, če se odločite za nastavitev posredovanja vrat na usmerjevalniku.
Priložene datoteke so vzorčne spletne strani, s katerimi lahko nastavite svoje spletno mesto. Razširitev datoteke html datoteke boste morali spremeniti, ker mi ne dovolijo, da jo naložim. Nato postavite datoteke v mapo www, poklicano v konfiguracijski datoteki apache. Privzeta lokacija je
cd /var /www
Če želite spremeniti lokacijo, kjer spletni strežnik išče vaše datoteke html, lahko uredite datoteko z omogočenimi spletnimi mesti tako, da vnesete
sudo nano/etc/apache2/sites-enabled/000-default
Spremenite kateri koli primerek/var/www/na želeno lokacijo. Jaz sem svojega dal v/home/pi/Desktop/www/
Ko imate datoteke html v spletni mapi, vnesite localhost v brskalnik ali IP naslov pi iz drugega računalnika. Moral bi videti nekaj takega.
SWEEEEET!
10. korak: Nastavite e -poštna opozorila
Dobre stvari se dogajajo! Poskusimo poslati e -poštno opozorilo s pi na vnaprej določen e -poštni naslov. Priloženi skript python bo ustvaril vaše e -poštno sporočilo, ki ga želite poslati, vzpostavilo povezavo z ponudnikom e -pošte, kot je gmail, in poslalo e -poštno sporočilo prek ponudnika e -pošte. To se doseže z uporabo smtp paketa python. Predlagam, da naredite lažni e -poštni naslov samo za svoj varnostni sistem, saj bomo morali zmanjšati varnost vašega računa gmail, da bo paket smtp deloval.
Za uspešen prenos boste morali na več mestih spremeniti skript. Je močno komentiran in bo za vaše udobje proizvedel veliko izhodov na terminalu.
Stvari, ki jih boste morali spremeniti, bodo
your_ip_optional_port bo najverjetneje prazen, razen če vaš apache strežnik deluje na vratih, ki niso privzeta 80. Na 80 sem že imel strežnik, zato sem nastavil pi, da deluje na 8080. Port_to_camera bodo vrata, za katera določite kamero zaženite z uporabo mjpeg streamerja.
Ko spremenite te spremenljivke na začetku skripta, zaženite program tako, da v terminal vnesete naslednje.
cd /mapo, kamor ste dali skript /
sudo python3 send_mail.py
Če so zvezde pravilno poravnane in so vse spremenljivke pravilne, morate prejeti e -poštno sporočilo, podobno spodnjemu.
Obstaja veliko krajev, kjer lahko ta skript ne uspe. Ne razočarajte se, če prvič ne deluje. S točkami za odpravljanje napak v skriptu zožite problematična področja in se nato osredotočite na eno težavo naenkrat.
11. korak: Sproži skript po e -pošti, ko se sproži laser
Zdaj, ko lahko pi pošilja e -poštna sporočila, ga avtomatizirajmo, tako da ob vsakem sprožitvi laserja prejmemo e -poštno sporočilo. Prenesite priloženo datoteko, ki je spremenjena različica read_pin.py, ki vsebuje novo funkcijo za izvajanje poštnega skripta. Glavna dodatna vrstica je naslednja
sm_pid = os.spawnlp (os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")
Ta vrstica bo vzporedno s skriptom za lasersko zaznavanje sprožila skript za pošiljanje pošte. To je zaželeno, ker skript za pošiljanje pošte traja nekaj sekund in bi blokiral izvajanje skripta laserskega zaznavanja do pošiljanja e -pošte. To ni problem za en sam sistem kamer, če pa bi imeli več kamer, bi želeli zaznati laserski izklop na kameri 1, tudi če je kamera 2 sprožila e -poštni dogodek. Spremenljivka sm_pid bo vsebovala pid procesa, ki se zažene s tem ukazom. Ta ID preverimo, če se sprožilec e -pošte znova pokliče, če obstaja, e -pošta še vedno pošilja, zato dogodek prezremo. Če ne obstaja, je to verjetno nov dogodek in poslano je e -poštno sporočilo.
Preizkusi, da vse deluje tako, da teče
cd /imenik, kamor ste dali datoteko /
chmod 777 read_pin_with_mail.py
sudo python3 read_pin_with_mail.py
Ko prekinete laserski žarek, bi morali prejeti e -poštno sporočilo s posnetkom iz spletne kamere.
12. korak: Ustvarite glavni skript za zagon sistema
Na tej točki je projekt večinoma zaključen. Zadnji korak je poenostavitev zagona sistema z zadnjim skriptom. Začel bo vse podprograme in spletno kamero nastavil z enim skriptom. Priloženo datoteko lahko zaženete ob zagonu z urejanjem datoteke /etc/rc.local. Če ste skripte postavili na drugo mesto, boste morali spremeniti razširitev datoteke in morda boste morali urediti skript tako, da bo vključeval ustrezne poti.
13. korak: Zaključek
No to je to. Upam, da ste uživali v tem navodilu! Sporočite mi v komentarjih, če imate kakršna koli vprašanja ali potrebujete podrobnejše informacije na katerem koli področju. Kar nadaljuj!
Priporočena:
Laserski varnostni alarmni sistem (Dvojni način): 5 korakov
Laserski varnostni alarmni sistem (DUALNI NAČIN): Ko pride do varnosti, vsekakor potrebujemo trdno idejo in v tem primeru je laserski varnostni alarm najboljša možnost za ustvarjanje doma na zelo enostaven način. Zato se bomo v tej vadnici naučili, kako narediti ta projekt na zelo enostaven način
Samodejni laserski nadzorni varnostni sistem: 22 korakov
Samodejni varnostni sistem z laserskim nadzorom: Varnostni sistem z laserskim nadzorom je široko uporabljena zaščita za preprečevanje nepooblaščenega dostopa. Je zelo učinkovit, ki deluje na svetlobnem senzorju in laserju za zaščito naših domov, pisarn, bank, omaric in različnih pomembnih plošč
TF03 Laserski varnostni alarm za dom: 5 korakov
TF03 Laserski alarm za domačo varnost: Z razvojem družbe ljudje več pozornosti namenjajo varnosti. Tradicionalno varovanje, ki ga stalno izvajajo patrulje varnostnega osebja, zaradi visokih cen ni primerno za javnost. Medtem ko sem pred kratkim prišel v stik z
Varnostni sistem za prepoznavanje obraza za hladilnik z Raspberry Pi: 7 korakov (s slikami)
Varnostni sistem za prepoznavanje obrazov za hladilnik z Raspberry Pi: Med brskanjem po internetu sem odkril, da se cene za varnostne sisteme gibljejo od 150 $ do 600 $ in več, vendar vseh rešitev (tudi zelo dragih) ni mogoče integrirati z drugimi pametna orodja doma! Na primer, ne morete nastaviti
R-PiAlerts: Zgradite varnostni sistem na osnovi WiFi z Raspberry Pis: 8 korakov (s slikami)
R-PiAlerts: Zgradite varnostni sistem na osnovi WiFi z Raspberry Pis: Med delom za mizo nenadoma zaslišite oddaljeni hrup. Je kdo pravkar prišel domov? Moj avto je parkiran pred mojo hišo, je kdo vlomil v moj avto? Ali ne želite, da imate obvestilo v telefonu ali na mizi, da se lahko odločite, kdaj