Kazalo:
- 1. korak: Nastavitev vašega Pi
- 2. korak: SSHing v vaš PI
- 3. korak: Po zagonu po e -pošti pošljite svoj IP naslov
- 4. korak: Namestitev in nastavitev gibanja
- 5. korak: pošiljanje videoposnetkov iz gibanja po zaznavanju po e -pošti
- 6. korak: Odpravljanje težav in viri
Video: Kamera za zaznavanje gibanja Raspberry Pi 3 s krmo v živo: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Uvod
V tem projektu se boste naučili, kako sestaviti kamero za zaznavanje gibanja, ki jo boste lahko uporabljali kot pasti za kamero, hišnega ljubljenčka/dojenčka, varnostno kamero in še veliko več.
Ta projekt je sestavljen iz več korakov:
- Uvod
- Nastavitev vašega Pi
- SSHing v svoj Pi
- E -poštni naslov IP pri zagonu
- Namestitev in nastavitev Motion
- Videoposnetki iz gibanja po zaznavanju po e -pošti
- Odpravljanje težav in viri
Kaj potrebujete:
- Model Raspberry Pi 3 stane ~ 35 USD
- 8 GB Micro SD kartica ~~ 10 USD
- Spletna kamera USB ~~ $ 20 (ta projekt je uporabljal Logitech HD spletno kamero c270)
- mikro usb kabel ~~ $ 5
- bodisi:
- polnilna baterija 5 V (rezervna baterija telefona), zaradi česar je vaš projekt brezžičen ~ ~ 20 USD
- ali
- USB stenski adapter ~~ $ 5
- Povezava WiFi
Do nastavitev potrebujete dostop:
- Monitor
- Miška in tipkovnica
- Računalnik z režo za kartico SD
- Pretvornik kartic Micro SD v SD (priložen mora biti vaši kartici micro SD)
1. korak: Nastavitev vašega Pi
Zdaj pa nastavimo vaš Pi
Za začetek se prepričajte, da imate vse potrebne elemente iz zadnjega koraka. Nato sledite korakom na spletnem mestu Raspberry Pi za namestitev Raspbian Jessie na kartico Microsd, ki jo najdete tukaj.
Ko namestite Raspbian na svoj Pi, je čas, da nastavite nekaj osnovnih funkcij.
Wifi
Prvi korak, da kar najbolje izkoristite svoj Pi, je, da ga povežete z internetom. Ta korak ste morda že zaključili tako, da v zgornjem desnem kotu glavnega zaslona vašega Pi poiščete simbol WiFi in se tam prijavite, ali pa storite isto, preden namestite Raspbian v zadnjem koraku. Če se ne morete prijaviti v omrežje WiFi z namiznega vmesnika vašega Pi, sledite spodnjim navodilom za nastavitev WiFi prek ukazne vrstice.
SSH
Eno zelo priročno orodje, ki vam je na voljo pri uporabi vašega Pi, je možnost izdajanja ukazov za vaš Pi v tako imenovani brezglavi nastavitvi. Z uporabo Secure SHell ali SSH lahko Pi upravljate na daljavo iz računalnika. Pri tej metodi boste za urejanje svojega Pi potrebovali le vir energije, da ga ohranite, nič več monitorja in tipkovnice!
2. korak: SSHing v vaš PI
SSHing v vaš Raspberry Pi je enostaven in zelo uporaben, saj vam postopek omogoča, da svojemu Pi pišete ukaze iz katerega koli računalnika brez povezave WiFi.
Če želite SSH v svoj Pi, morate slediti tem 3 preprostim korakom.
Najprej morate omogočiti SSH na svojem Pi. Če želite to narediti, odprite ukazno okno v svojem Pi in vnesite:
sudo raspi-config
Ta ukaz vam omogoča vstop v konfiguracijski meni. od tam boste želeli s puščicami, zavihki in tipkami za vnos najprej odpreti možnosti vmesnika, nato omogočiti SSH, pa tudi kamero, nato zapustiti in znova zagnati pi.
Nato morate poiskati naslov IP svojega Pi. V ukazni terminal vnesite:
sudo ifconfig
Vaš IP naslov mora biti v razdelku wlan0, ki se prikaže, tik pod Link encap: ethernet. Na zgornji predstavitveni sliki je naslov IP 192.168.1.10.
Nazadnje boste morali v računalniku Mac odpreti vgrajeno terminalno aplikacijo ali poiskati in upoštevati navodila za aplikacijo ssh tretje osebe za okna. V aplikacijo Terminal vnesite:
ssh pi@VAŠ IP -NASLOV
Če gesla niste spremenili v Raspi-config, bo geslo, ki ga boste morali vnesti ob pozivu, privzeto geslo: malina.
Od tam bi morali biti dobri!
3. korak: Po zagonu po e -pošti pošljite svoj IP naslov
V tem koraku se bomo osredotočili na to, kako dostopati do vašega Raspberry Pi, ne glede na omrežje, v katerem ste. Odvisno od omrežja se IP -naslov Pi spremeni. Če nimate nastavljenega monitorja, bi morali vnesti ssh v Pi, da sprožite protokol zaznavanja gibanja, spremenite nastavitve gibanja ali dostopate do česa drugega v napravi. Za rešitev tega problema bomo napisali python skript, ki nam po zagonu po e -pošti pošlje trenutni IP naslov Pi. Skript python je naslednji in je bil shranjen v imeniku z oznako "ozadje".
#start v domačem imeniku
cd ~
#create mapo v ozadju
ozadje mkdir
#create python skript
sudo nano emailip.py
#write v emailip.py
uvozna vtičnica
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 ()
uvoz smtplib
iz e -pošte. MIMEM večdelni uvoz MIMEMultipart
iz e -pošte. MIMEText uvoz MIMEText
fromaddr = "VAŠ NASLOV"
toaddr = "PREJEMANJE NASLOVA"
msg = MIMEM večdelni ()
msg ['From'] = fromaddr
msg ['Za'] = toaddr
msg ['Subject'] = "Naslov IP"
body = xmsg.attach (MIMEText (telo, 'navaden'))
strežnik = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "VAŠA GESLA")
besedilo = msg. as_string ()
server.sendmail (fromaddr, toaddr, besedilo)
server.quit ()
#potem to stori ob ponovnem zagonu
sudo nano /etc/rc.local
#enter v /etc/rc.local
medtem ! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
zaspi 3
Končano
_IP = $ (ime gostitelja -I) || prav
če ["$ _IP"]; potem
printf "Moj naslov IP je %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
izhod 0
#in končali ste
4. korak: Namestitev in nastavitev gibanja
#posodobi pi
sudo apt-get posodobitev
sudo apt-get nadgradnja
#Prenesi
sudo apt-get install motion
#Zdaj uredite to datoteko z naslednjimi spremembami
sudo nano /etc/motion/motion.conf
#spremenite, če želite nastaviti standard za to vadnico
#################
demon vklopljen
stream_localhost izklopljen
webcontrol_localhost izklopljen
ffmpeg_output_movies on
target_dir/var/lib/motion
##################
#local možnosti pretakanja v spletnem brskalniku
##################
stream_maxrate 100 #To bo omogočilo pretakanje v realnem času, vendar zahteva več pasovne širine in virov
framerate 60 #To bo omogočilo zajem 60 sličic na sekundo #višja kot je, počasnejša je obdelava videa
width 640 #To spremeni širino prikazane slike
height 480 #To spremeni višino prikazane slike
##################
#emailing video nastavitve v…/motion.conf
##################
#delete ";" pred vrstico, podpičje komentira vrstico
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astektika
##################
#choices, opisanih v datoteki
izhodne slike locate_motion_style
##################
#potem spremenite
sudo nano/etc/default/motion
#reči
start_motion_daemon = da
#nazadnje, zaženite B **** navzgor
zagon storitve sudo
#ukaz lahko spremenite v "stop" ali "restart"
5. korak: pošiljanje videoposnetkov iz gibanja po zaznavanju po e -pošti
E -pošta, ko zazna gibanje:
#začnite doma
dircd ~
#create python skript za opozarjanje na gibanje
sudo nano /home/pi/background/motionalert.py
#piši
uvoz smtplib
od datuma uvoza datetime
iz e -pošte. MIMEM večdelni uvoz MIMEMultipart
iz e -pošte. MIMEText uvoz MIMEText
fromaddr = "VAŠ NASLOV"
toaddr = "PRIJEMNIK"
msg = MIMEM večdelni ()
msg ['From'] = fromaddr
msg ['Za'] = toaddr
msg ['Subject'] = "Zaznano gibanje"
body = 'Zaznano je gibanje. / nTime: % s' % str (datetime.now ())
msg.attach (MIMEText (telo, 'navaden'))
strežnik = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOURPASSWORD")
besedilo = sporočilo as_string ()
server.sendmail (fromaddr, toaddr, besedilo)
server.quit ()
Po e -pošti Videoposnetek gibanja, ko je video shranjen:
#začnite pri homedircd ~
#create motion video python scriptsudo nano /home/pi/background/motionvid.py
uvoz smtplib
iz e -pošte. MIMEM večdelni uvoz MIMEMultipart
iz e -pošte. MIMEText uvoz MIMEText
iz e -pošte. MIMEBase uvoz MIMEBase
iz kodirnikov za uvoz e -pošte
fromaddr = "VAŠ E -POŠTA"
toaddr = "E -POŠTNI NASLOV, KI JIH POŠLJATE"
msg = MIMEM večdelni ()
msg ['From'] = fromaddr
msg ['Za'] = toaddr
msg ['Subject'] = "Motion Cam aktiviran"
body = "Videoposnetek zaznanega gibanja"
msg.attach (MIMEText (telo, 'navaden'))
uvoz os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) za f v os.listdir (rootpath)]
filelist = [f za f na seznamu datotek, če os.path.isfile (f)]
najnovejši = max (seznam datotek, ključ = lambda x: os.stat (x).st_mtime)
ime datoteke = najnovejša
uvoz os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) za f v os.listdir (rootpath)]
filelist = [f za f na seznamu datotek, če os.path.isfile (f)]
najnovejši = max (seznam datotek, ključ = lambda x: os.stat (x).st_mtime)
priloga = odprta (najnovejša, "rb")
del = MIMEBase ('aplikacija', 'oktetni tok')
part.set_payload ((priloga). read ())
kodirniki.encode_base64 (del)
part.add_header ('Content-Disposition', "attachment; filename = % s" % filename)
msg.attach (del)
strežnik = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "VAŠA GESLA")
besedilo = msg. as_string ()
server.sendmail (fromaddr, toaddr, besedilo)
server.quit ()
6. korak: Odpravljanje težav in viri
Odpravljanje težav:
Ker ima ta projekt več stopenj, je na več točkah, kjer lahko gre narobe. Spodaj je navedenih nekaj možnih napak in kako jih odpraviti.
- Ko nastavite pi, da vam po e -pošti pošlje svoj trenutni naslov IP, je ključnega pomena, da uredite datoteko rc.local, kot je prikazano prej, ker to omogoča rahlo zakasnitev, preden se program po ponovnem zagonu aktivira. V nasprotnem primeru pi še ne bo povezan z wifi in e -pošta ne bo poslana.
- Pri urejanju datoteke motion.conf izbrišite podpičje pred določenimi parametri. Podpičje zareže določeno dejanje, zato v nasprotnem primeru sprememba ne bo delovala.
- Datoteka motion.conf je zelo dobro organizirana in podrobna. Nastavitve lahko spremenite po svojih željah, vendar razumejte, da lahko vplivajo na uspeh sistema za zajemanje gibanja.
- Po nastavitvi e -poštnega opozorila in možnosti video posnetkov po e -pošti je pomembno upoštevati, da bo e -pošta videoposnetka, zaznanega pri gibanju, trajala malo dlje kot pošiljanje kot prvotno e -poštno opozorilo. To je zato, ker se videoposnetek zaključi nekaj sekund po tem, ko gibanja ni več zaznano, in ker je lahko priloga e -pošte dovolj velika, da za sprejem potrebuje nekaj minut. V nekaterih primerih, če je gibanje dolgotrajno, je morda sploh preveliko za pošiljanje. Zaradi tega je po prejemu začetnega e -poštnega opozorila vedno dobro preveriti prenos v živo.
Zakaj Motion ?:
Ko smo se prvič lotili tega projekta, smo upoštevali več različnih virov. Najprej smo razmišljali o uporabi PiCam, ki je enota kamere, izdelana posebej za malinovo pi. PiCam je vsekakor sposobna naprava in ima veliko aplikacij, vendar je omejena na uporabo programov, ki so zanj posebej zasnovani, in je relativno drag v primerjavi s poceni večnamenskimi spletnimi kamerami. Zato, da bi bil ta projekt dostopen širšemu občinstvu, smo se odločili za uporabo skupne spletne kamere USB. Naslednje vprašanje je bilo, katero programsko opremo vključiti. Sprva smo razmišljali o OpenCV, ki je brezplačna programska oprema, ki omogoča številne različne vrste projektov računalniškega vida in slikanja. Eno od vprašanj tukaj je, da je OpenCV velika datoteka, ki zavzame veliko pomnilnika in je dolgo nastavljena. Nastavitev ima tudi več stopenj, kar pušča še več prostora za napake. Ugotovili smo, da je bil za naš poseben projekt Motion enostavnejši za nastavitev in delo, vendar je pri izvedbi veliko bolj robusten.
Viri
Viri kode:
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
Zasluge za fotografije:
Polž SSH:
Logotip pošte:
Spletna kamera Logitech:
Okno SSH:
Priporočena:
Nočna svetloba: zaznavanje gibanja in teme - brez mikro: 7 korakov (s slikami)
Nočna svetloba zaznavanja gibanja in teme Lahko bi rekli, da je to zaradi vaše lastne varnosti, če ponoči vstanete in poskušate varno priti do vrat. Seveda lahko uporabite nočno svetilko ali glavno
Zaznavanje gibanja pod osvetlitvijo postelje: 16 korakov (s slikami)
Gibanje pod posteljno razsvetljavo: Ste kdaj poskušali ponoči tiho vstati iz postelje, samo da bi se kaj spotaknili in zbudili vso hišo? Nočne luči z zaznavanjem gibanja, ki so diskretno nameščene pod vašo posteljo, zagotavljajo svetlobo nizke stopnje, ki je dovolj svetla, da vas vodi okoli teh potepuških kock LEGO
SMS -alarmni sistem za zaznavanje gibanja DIY: 5 korakov (s slikami)
SMS -alarmni sistem za odkrivanje gibanja DIY: V tem projektu bom združil poceni senzor gibanja PIR z GSM modulom TC35, da bom zgradil alarmni sistem, ki vam pošlje " NEPREKIDNO OPOZORILO " SMS vsakič, ko vam kdo ukrade stvari. Začnimo
Kako zgraditi sistem za zaznavanje gibanja z Arduinom: 7 korakov
Kako zgraditi sistem za zaznavanje gibanja z Arduinom: Zgradite števec produkcije gibanja in prisotnosti s pomočjo peresa HUZZAH, ki je programirano z Arduinom in ga poganja Ubidots. Učinkovito zaznavanje fizičnega gibanja in prisotnosti v pametnih domovih in pametni proizvodnji je lahko zelo uporabno v aplikacijah, ki segajo v
Najlažja spletna kamera kot varnostna kamera - zaznavanje gibanja in slike po e -pošti: 4 koraki
Najlažja spletna kamera kot varnostna kamera - zaznavanje gibanja in slike po e -pošti: ni vam treba več nalagati ali konfigurirati programske opreme, da bi slike, zaznane z gibanjem iz spletne kamere, prešle na vaš e -poštni naslov - preprosto uporabite brskalnik. Za zajem slike uporabite posodobljen brskalnik Firefox, Chrome, Edge ali Opera v operacijskih sistemih Windows, Mac ali Android