Sadržaj:
- Korak 1: Postavljanje vašeg Pi -a
- Korak 2: SSHing u vaš PI
- Korak 3: Pošaljite svoju IP adresu e -poštom pri pokretanju
- Korak 4: Instaliranje i postavljanje pokreta
- Korak 5: Slanje video zapisa iz pokreta putem detekcije putem e -pošte
- Korak 6: Rješavanje problema i izvori
Video: Raspberry Pi 3 kamera za detekciju pokreta sa feedom uživo: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Uvod
U ovom projektu naučit ćete kako izgraditi kameru za detekciju pokreta koju ćete moći koristiti kao zamku za kameru, nadzor kućnih ljubimaca/beba, sigurnosnu kameru i još mnogo toga.
Ovaj projekat je organizovan u nekoliko koraka:
- Uvod
- Postavljanje vašeg Pi -a
- SSHing u vaš Pi
- Slanje vaše IP adrese pri pokretanju
- Instaliranje i postavljanje Motion -a
- Videozapisi iz Motion -a koji se šalju e -poštom pri otkrivanju
- Rješavanje problema i izvori
Šta će vam trebati:
- Model Raspberry Pi 3 košta ~ 35 USD
- 8GB Micro SD kartica ~~ 10 USD
- USB web kamera ~~ $ 20 (ovaj projekt je koristio Logitech HD web kameru c270)
- mikro usb kabel ~~ $ 5
- bilo:
- punjiva baterija od 5 volti (pomoćna baterija telefona), ovo čini vaš projekt bežičnim ~ ~ 20 USD
- ili
- USB zidni adapter ~~ $ 5
- WiFi veza
Onome što vam treba pristup za postavljanje:
- Monitor
- Miš i tastatura
- Računar sa otvorom za SD karticu
- Pretvarač Micro SD u SD karticu (trebao bi se isporučiti s mikro SD karticom)
Korak 1: Postavljanje vašeg Pi -a
Sada postavimo vaš Pi
Za početak provjerite imate li sve potrebne stavke iz posljednjeg koraka. Zatim slijedite korake na web stranici Raspberry Pi o instaliranju Raspbian Jessie na vašu Microsd karticu, koji se nalaze ovdje.
Nakon što instalirate Raspbian na svoj Pi, vrijeme je da postavite neke osnovne funkcije.
WiFi
Prvi korak da najbolje iskoristite svoj Pi je njegovo povezivanje s internetom. Možda ste već dovršili ovaj korak bilo tako što ste locirali simbol WiFi u gornjem desnom uglu glavnog ekrana vašeg Pi -a i prijavili se tamo, ili učinili istu stvar prije instaliranja Raspbiana u posljednjem koraku. Ako se ne možete prijaviti na svoju WiFi mrežu sa stolnog sučelja vašeg Pi -a, možete slijediti upute ovdje za postavljanje WiFi -a putem naredbenog retka.
SSH
Jedan vrlo zgodan alat koji vam je na raspolaganju pri korištenju vašeg Pi -a je mogućnost izdavanja naredbi vašem Pi -u u takozvanom postavljanju bez glave. Korištenjem Secure SHell -a ili SSH -a možete daljinski kontrolirati svoj Pi sa računara. Ovom metodom sve što vam je potrebno za uređivanje vašeg Pi -a je izvor napajanja koji će ga držati uključenim, nema više monitora i tastature!
Korak 2: SSHing u vaš PI
SSHing u vaš Raspberry Pi je jednostavan i vrlo koristan, jer vam proces omogućava izdavanje naredbi vašem Pi sa bilo kojeg računara sa samo WiFi vezom.
Da biste SSH unijeli u svoj Pi, morate slijediti ova 3 jednostavna koraka.
Prvo morate omogućiti SSH na svom Pi -u. Da biste to učinili, otvorite naredbeni prozor u svom Pi i upišite:
sudo raspi-config
Ova naredba vam omogućava da uđete u konfiguracijski meni. odatle ćete htjeti koristiti tipke sa strelicama, tabulatorima i tipkama za ulazak kako biste prvo ušli u opcije povezivanja, zatim omogućili SSH, kao i kameru, a zatim izašli i ponovo pokrenuli pi.
Zatim ćete morati pronaći IP adresu svog Pi -a. U komandni terminal upišite:
sudo ifconfig
Vaša IP adresa bi trebala biti u odjeljku wlan0 koji se pojavljuje, točno ispod Link encap: ethernet. Na gornjoj demonstraciji, IP adresa je 192.168.1.10.
Na kraju, morate otvoriti ugrađenu terminal aplikaciju na Mac -u ili pronaći i slijediti upute za ssh aplikaciju treće strane za Windows. U aplikaciju Terminal upišite:
ssh pi@VAŠA IP ADRESA
Ako niste promijenili lozinku dok ste u Raspi-config-u, tada će vaša lozinka koju ćete unijeti kada bude zatraženo biti zadana lozinka: malina.
Odatle biste trebali krenuti!
Korak 3: Pošaljite svoju IP adresu e -poštom pri pokretanju
U ovom koraku fokusirat ćemo se na to kako pristupiti vašem Raspberry Pi, bez obzira na mrežu na kojoj se nalazite. Ovisno o mreži, Pi -jeva IP adresa se mijenja. A ako nemate podešavanje monitora, morat ćete ssh u Pi kako biste pokrenuli protokol otkrivanja pokreta, promijenili postavke pokreta ili pristupili bilo čemu drugom na uređaju. Da bismo riješili ovaj problem, napisat ćemo python skriptu koja će nam poslati e -poruku Pi -jevu trenutnu IP adresu nakon pokretanja. Python skripta je sljedeća i pohranjena je u direktoriju s oznakom "background".
#počni u kućnom direktoriju
cd ~
#create folder u pozadini
mkdir background
#create python skriptu
sudo nano emailip.py
#write u emailip.py
utičnica za uvoz
s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)
s.connect (("8.8.8.8", 80))
print (s.getsockname () [0]) x = s.getsockname () [0] s.close ()
import smtplib
iz e -pošte. MIMEMultipart import MIMEMultipart
iz e -pošte. MIMEText uvoz MIMEText
fromaddr = "VAŠA ADRESA"
toaddr = "PRIMANJE ADRESE"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "IP adresa"
body = xmsg.attach (MIMEText (tijelo, 'običan'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "VAŠA LOZINKA")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
#onda ovo radi pri ponovnom pokretanju
sudo nano /etc/rc.local
#enter u /etc/rc.local
while! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
spavaj 3
gotovo
_IP = $ (ime hosta -I) || istinito
if ["$ _IP"]; zatim
printf "Moja IP adresa je %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
izlaz 0
#i gotovi ste
Korak 4: Instaliranje i postavljanje pokreta
#update pi
sudo apt-get update
sudo apt-get nadogradnja
#skinuti
sudo apt-get install motion
#sad uredite ovu datoteku sa sljedećim izmjenama
sudo nano /etc/motion/motion.conf
#da biste postavili standard za ovaj vodič, promijenite
#################
daemon on
stream_localhost isključen
webcontrol_localhost isključen
ffmpeg_output_movies uključen
target_dir/var/lib/motion
##################
#local opcije streaminga web preglednika
##################
stream_maxrate 100 #Ovo će omogućiti prijenos u stvarnom vremenu, ali zahtijeva veću propusnost i resurse
framerate 60 #Ovo će omogućiti snimanje 60 sličica u sekundi #što je ovo veće, sporija je obrada videa
width 640 #Ovo mijenja širinu prikazane slike
height 480 #Ovo mijenja visinu prikazane slike
##################
#emailing video postavke u…/motion.conf
##################
#delete ";" ispred retka, točka -zarez komentira red
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astectics
##################
#choices opisanih u datoteci
output_pictures locate_motion_style
##################
#potom promjene
sudo nano/etc/default/motion
#reći
start_motion_daemon = da
#nazad, pokrenite B **** prema gore
pokretanje sudo servisa
#možete promijeniti naredbu u "stop" ili "restart"
Korak 5: Slanje video zapisa iz pokreta putem detekcije putem e -pošte
E -pošta kada se detektira pokret:
#počnite od kuće
dircd ~
#create python skripta upozorenja o kretanju
sudo nano /home/pi/background/motionalert.py
#pisati
import smtplib
from datetime import datetime
iz e -pošte. MIMEMultipart uvoz MIMEMultipart
iz e -pošte. MIMEText uvoz MIMEText
fromaddr = "VAŠA ADRESA"
toaddr = "ADRESA ZA PRIMANJE"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Pokret otkriven"
body = 'Otkriveno je kretanje. / nVrijeme: % s' % str (datetime.now ())
msg.attach (MIMEText (body, 'plain'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOURPASSWORD")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
E -pošta Videozapis kretanja kada je video zapis sačuvan:
#počni na homedircd ~
#create motion video python scriptsudo nano /home/pi/background/motionvid.py
import smtplib
iz e -pošte. MIMEMultipart import MIMEMultipart
iz e -pošte. MIMEText uvoz MIMEText
iz e -pošte. MIMEBase uvoz MIMEBase
iz kodera za uvoz e -pošte
fromaddr = "VAŠA E -MAIL"
toaddr = "ADRESA E -POŠTE NA KOJU STE SLALI"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Motion Cam aktiviran"
body = "Video zapis pokreta otkriven"
msg.attach (MIMEText (body, 'plain'))
import os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) za f u os.listdir (rootpath)]
filelist = [f za f na popisu datoteka ako je os.path.isfile (f)]
najnovije = max (lista datoteka, ključ = lambda x: os.stat (x).st_mtime)
naziv datoteke = najnoviji
import os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) za f u os.listdir (rootpath)]
filelist = [f za f na popisu datoteka ako je os.path.isfile (f)]
najnovije = max (lista datoteka, ključ = lambda x: os.stat (x).st_mtime)
prilog = otvoren (najnoviji, "rb")
part = MIMEBase ('aplikacija', 'oktet-stream')
part.set_payload ((prilog).read ())
enkoderi.encode_base64 (dio)
part.add_header ('Content-Disposition', "attachment; filename = % s" % filename)
msg.attach (dio)
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "VAŠA LOZINKA")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
Korak 6: Rješavanje problema i izvori
Rješavanje problema:
Budući da ovaj projekt ima više faza, postoji nekoliko točaka u kojima stvari mogu poći po zlu. U nastavku su navedene neke od mogućih grešaka koje se mogu pojaviti i kako ih ispraviti.
- Prilikom postavljanja vašeg pi -a putem e -pošte sa trenutnom IP adresom, ključno je urediti datoteku rc.local kao što je prikazano ranije, jer to omogućuje malo kašnjenje prije nego što se program aktivira nakon ponovnog pokretanja. U suprotnom pi još neće biti spojen na WiFi i e -pošta se neće slati.
- Prilikom uređivanja datoteke motion.conf obavezno izbrišite točku -zarez ispred određenih parametara. Tačka i zarez potiskuju datu radnju, pa u protivnom promjena neće stupiti na snagu.
- Datoteka motion.conf je vrlo dobro organizirana i detaljna. Slobodno promijenite postavke po svom ukusu, ali shvatite da one mogu utjecati na uspjeh sistema za snimanje pokreta.
- Nakon postavljanja upozorenja e -poštom i opcija video zapisa putem e -pošte, važno je napomenuti da će e -pošta videozapisa s otkrivenim pokretom potrajati malo duže nego slanje od početne e -poruke s upozorenjem. To je zato što se videozapis završava nekoliko sekundi nakon što se pokret više ne detektira, i zato što bi privitak e -pošte mogao biti dovoljno velik da primi nekoliko minuta. U nekim slučajevima, ako se kretanje održava jako dugo, može biti preveliko za slanje. Zbog toga je uvijek dobra ideja provjeriti prijenos uživo nakon primitka e -pošte s početnim upozorenjem.
Zašto Motion ?:
Prilikom prvog pokretanja ovog projekta razmotrili smo nekoliko različitih resursa. Prvo smo razmišljali o korištenju PiCam -a, kamere koja je napravljena posebno za malinu pi. PiCam je svakako sposoban uređaj i ima mnogo aplikacija, ali je ograničen na korištenje programa koji su posebno dizajnirani za njega i relativno je skup u odnosu na jeftine višenamjenske web kamere. Stoga smo, kako bismo ovaj projekt učinili dostupnim široj publici, odlučili koristiti zajedničku USB web kameru. Sljedeće je pitanje bilo koji softver uključiti. U početku smo razmatrali OpenCV koji je besplatni softver koji omogućava mnoge različite vrste projekata Computer Vision i slika. Jedan od problema ovdje je da je OpenCV masivna datoteka koja zauzima puno memorije i dugo se postavlja. Postavljanje također ima više faza, ostavljajući još više prostora za greške. Utvrdili smo da je za naš specifični projekt Motion jednostavniji za postavljanje i rad, ali mnogo robusniji u izvođenju.
Izvori
Izvori koda:
www.techradar.com/how-to/computing/how-to-b…
pimylifeup.com/raspberry-pi-webcam-server/
www.pyimagesearch.com/2015/06/01/home-surve…
naelshiab.com/tutorial-send-email-python/
www.raspberrypi.org/documentation/linux/us…
learn.adafruit.com/adafruits-raspberry-pi-…
learn.adafruit.com/adafruits-raspberry-pi-…
pinout.xyz/pinout/i2c
Foto zasluge:
SSH Puž:
Logotip pošte:
Logitech web kamera:
SSH prozor:
Preporučuje se:
UREĐAJ ZA DETEKCIJU KRADE PO POVOLJNOJ CENI (Pi Home Security): 7 koraka
UREĐAJ ZA DETEKCIJU KRADE SA POVOLJNIM TROŠKOVIMA (Pi Home Security): Sistem je dizajniran za otkrivanje upada (neovlaštenog ulaska) u zgradu ili druga područja. Ovaj se projekt može koristiti u stambenim, poslovnim, industrijskim i vojnim objektima za zaštitu od provale ili oštećenja imovine, kao i
Muzički reaktivne višebojne LED svjetiljke - Arduino senzor za detekciju zvuka - RGB LED traka: 4 koraka
Muzički reaktivne višebojne LED svjetiljke | Arduino senzor za detekciju zvuka | RGB LED traka: Projekt LED svjetla u više boja koji reagira na muziku. U ovom projektu korištena je jednostavna 5050 RGB LED traka (ne adresibilna LED WS2812), Arduino senzor za detekciju zvuka i 12V adapter
Kutija za detekciju ljudi - Prototip: 4 koraka
Ljudska kutija za detekciju - prototip: Pozdrav svima! U ovom projektu učit ćemo kako napraviti kutiju za detekciju ljudi. Za ovaj projekt koristit ćemo pasivni infracrveni senzor (PIR) za detekciju pokreta, životinja ili ljudi (bilo što drugo što emitira IC zračenje). Jedan nedostatak
Najjednostavnija web kamera kao sigurnosna kamera - otkrivanje pokreta i slike poslane e -poštom: 4 koraka
Najjednostavnija web kamera kao sigurnosna kamera - Otkrivanje pokreta i slike poslane e -poštom: Više ne morate preuzimati ili konfigurirati softver da biste slike sa svoje web kamere prenijeli na svoju e -poštu - jednostavno upotrijebite svoj preglednik. Upotrijebite ažurirani preglednik Firefox, Chrome, Edge ili Opera u sustavu Windows, Mac ili Android za snimanje slike
IOT sistem za detekciju šumskih požara: 8 koraka
Sistem za detekciju šumskih požara zasnovan na IOT -u: ● Šumski požari već su decenijama hitan problem u Indiji i dolaze u središte pažnje samo kada se dogode veliki incidenti poput ovog u Uttarakhandu. ● Prema odjeljenju za šume u Uttarakhandu, 1499. uništeno je 3399 hektara šuma. za