Indholdsfortegnelse:
- Trin 1: Opsætning af din Pi
- Trin 2: SSHing i dit PI
- Trin 3: E -mail din IP -adresse ved opstart
- Trin 4: Installation og opsætning af bevægelse
- Trin 5: E -mail af videoer fra bevægelse ved registrering
- Trin 6: Fejlfinding og kilder
Video: Raspberry Pi 3 Motion Detection Camera With Live Feed: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Introduktion
I dette projekt lærer du, hvordan du bygger et bevægelsesdetekteringskamera, som du vil kunne bruge som kamerafælde, et kæledyr/babymonitor, et sikkerhedskamera og meget mere.
Dette projekt er opdelt i flere trin:
- Introduktion
- Opsætning af din Pi
- SSHing ind i din Pi
- Email din IP -adresse ved opstart
- Installation og opsætning af Motion
- E -mail af videoer fra Motion om registrering
- Fejlfinding og kilder
Det skal du bruge:
- En Raspberry Pi 3 model b ~ ~ $ 35
- 8 GB Micro SD -kort ~ ~ $ 10
- USB Webcam ~ ~ $ 20 (dette projekt brugte et Logitech HD Webcam c270)
- mikro usb -kabel ~ ~ $ 5
- enten:
- genopladeligt 5 volt batteri (telefonbatteri), gør dette dit projekt trådløst ~ ~ $ 20
- eller
- usb vægadapter ~ ~ $ 5
- En WiFi -forbindelse
Det skal du have adgang til for opsætning:
- En skærm
- En mus og et tastatur
- En computer med et SD -kort slot
- En Micro SD til SD -kortkonverter (skal leveres med dit micro SD -kort)
Trin 1: Opsætning af din Pi
Lad os nu konfigurere din Pi
For at begynde skal du sørge for at have alle de nødvendige elementer fra det sidste trin. Følg derefter trinene på Raspberry Pi -webstedet om installation af Raspbian Jessie på dit Microsd -kort, der findes her.
Når du har installeret Raspbian på din Pi, er det tid til at få opsat nogle grundlæggende funktioner.
Trådløst internet
Det første trin for at få mest muligt ud af din Pi er at forbinde din it til internettet. Du har muligvis allerede gennemført dette trin enten ved at lokalisere WiFi -symbolet i øverste højre hjørne af din Pi's hovedskærm og logge ind der, eller gøre det samme, før du installerer Raspbian i det sidste trin. Hvis du ikke kan logge ind på dit WiFi -netværk fra din Pi's desktop -grænseflade, kan du følge instruktionerne her for at konfigurere WiFi via kommandolinjen.
SSH
Et meget praktisk værktøj til rådighed for dig, når du bruger din Pi, er muligheden for at udstede kommandoer til din Pi i det, der er kendt som en hovedløs opsætning. Ved at bruge en Secure SHell eller SSH kan du fjernstyre din Pi fra en computer. Med denne metode er alt hvad du behøver for at redigere din Pi en strømkilde for at beholde den, ikke mere skærm og tastatur!
Trin 2: SSHing i dit PI
SSHing i din Raspberry Pi er let og meget nyttig, da processen giver dig mulighed for at udstede kommandoer til din Pi fra enhver computer uden andet end en WiFi -forbindelse.
For at SSH ind i din Pi skal du følge disse 3 enkle trin.
Først skal du aktivere SSH på din Pi. For at gøre dette skal du åbne et kommandovindue i din Pi og indtaste:
sudo raspi-config
Denne kommando giver dig mulighed for at gå ind i en konfigurationsmenu. derfra vil du bruge pilen, fanen og indtastningstasterne til først at gå ind i grænseflademuligheder, derefter for at aktivere SSH, såvel som kameraet, derefter afslutte og genstarte pi'et.
Dernæst skal du finde din Pi's IP -adresse. Skriv i en kommandoterminal:
sudo ifconfig
Og din IP -adresse skal være i wlan0 -sektionen, der dukker op, lige under Link encap: ethernet. I demo -billedet ovenfor er IP -adressen 192.168.1.10.
Sidst skal du enten åbne den indbyggede terminal -app på en mac eller finde og følge instruktionerne for en tredjeparts ssh -app til Windows. Skriv i Terminal -appen:
ssh pi@DIN IP -ADRESSE
Hvis du ikke har ændret adgangskoden, mens du er i Raspi-config, vil din adgangskode, der skal indtastes, når du bliver bedt om det, være standardadgangskoden: hindbær.
Derfra skulle du være god til at gå!
Trin 3: E -mail din IP -adresse ved opstart
I dette trin fokuserer vi på, hvordan du får adgang til din Raspberry Pi, uanset hvilket netværk du er på. Afhængigt af netværket ændres Pi's IP -adresse. Og hvis du ikke har en skærmopsætning, skal du ssh ind i Pi for at udløse bevægelsesdetekteringsprotokollen, ændre bevægelsespræferencer eller få adgang til noget andet på enheden. For at løse dette problem vil vi skrive et python -script, der e -mailer os Pi's aktuelle IP -adresse ved opstart. Python -scriptet er som følger og blev gemt i et bibliotek mærket "baggrund".
#start i hjemmemappen
cd ~
#create baggrundsmappe
mkdir baggrund
#create python script
sudo nano emailip.py
#skriv i emailip.py
import stikkontakt
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
fra email. MIMEMultipart import MIMEMultipart
fra e -mail. MIMETekst import MIMETekst
fromaddr = "DIN ADRESSE"
toaddr = "MODTAGER ADRESSE"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "IP -adresse"
body = xmsg.attach (MIMEText (body, 'plain'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "DIT KODEORD")
tekst = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
#derefter gør dette det ved genstart
sudo nano /etc/rc.local
#enter i /etc/rc.local
mens ! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
sov 3
Færdig
_IP = $ (værtsnavn -I) || sand
hvis ["$ _IP"]; derefter
printf "Min IP -adresse er %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
afslut 0
#og du er færdig
Trin 4: Installation og opsætning af bevægelse
#opdater pi
sudo apt-get opdatering
sudo apt-get opgradering
#Hent
sudo apt-get installere bevægelse
#rediger nu denne fil med følgende ændringer
sudo nano /etc/motion/motion.conf
#tænd for at sætte en standard for denne vejledning
#################
dæmon på
stream_localhost slukket
webcontrol_localhost slukket
ffmpeg_output_movies på
target_dir/var/lib/motion
##################
#lokale muligheder for streaming af webbrowser
##################
stream_maxrate 100 #Dette giver mulighed for streaming i realtid, men kræver mere båndbredde og ressourcer
framerate 60 #Dette gør det muligt at fange 60 billeder i sekundet #jo højere dette bliver, jo langsommere bliver videobehandlingen
bredde 640 #Dette ændrer bredden på det viste billede
højde 480 #Dette ændrer højden på det viste billede
##################
#email videoindstillinger i…/motion.conf
##################
#slet ";" foran linjen, semikolon kommenterer linjen ud
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astektik
##################
#valg beskrevet i filen
output_pictures locate_motion_style
##################
#derefter ændre
sudo nano/etc/default/motion
#at sige
start_motion_daemon = ja
#sidste, start B **** op
sudo service motion start
#du kan ændre kommandoen til "stop" eller "genstart"
Trin 5: E -mail af videoer fra bevægelse ved registrering
E -mail, når der registreres bevægelse:
#start derhjemme
dircd ~
#create motion alert python script
sudo nano /home/pi/background/motionalert.py
#skrive
import smtplib
fra datetime import datetime
fra email. MIMEMultipart import MIMEMultipart
fra e -mail. MIMETekst import MIMETekst
fromaddr = "DIN ADRESSE"
toaddr = "RECIEVINGADDRESS"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Bevægelse registreret"
body = 'Der er registreret en bevægelse. / nTid: % s' % str (datetime.now ())
msg.attach (MIMEText (brødtekst, 'almindelig'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOURPASSWORD")
tekst = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
E -mail Video af bevægelse, når videoen er gemt:
#start på homedircd ~
#create motion video python scriptsudo nano /home/pi/background/motionvid.py
import smtplib
fra email. MIMEMultipart import MIMEMultipart
fra e -mail. MIMETekst import MIMETekst
fra email. MIMEBase import MIMEBase
fra e -mail -importkodere
fromaddr = "DIN E -MAIL"
toaddr = "E -mail -adresse, du sender til"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Motion Cam aktiveret"
body = "Video of Motion Detected"
msg.attach (MIMEText (brødtekst, 'almindelig'))
import os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) for f i os.listdir (rootpath)]
filelist = [f for f i filelist hvis os.path.isfile (f)]
nyeste = max (fileliste, nøgle = lambda x: os.stat (x).st_mtime)
filnavn = nyeste
import os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) for f i os.listdir (rootpath)]
filelist = [f for f i filelist hvis os.path.isfile (f)]
nyeste = max (fileliste, nøgle = lambda x: os.stat (x).st_mtime)
vedhæftet fil = åben (nyeste, "rb")
part = MIMEBase ('applikation', 'octet-stream')
part.set_payload ((vedhæftet fil). læs ())
encoders.encode_base64 (del)
part.add_header ('Content-Disposition', "attachment; filnavn = % s" % filnavn)
msg. vedhæfte (del)
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "DIT KODEORD")
tekst = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
Trin 6: Fejlfinding og kilder
Fejlfinding:
Fordi dette projekt har flere faser, er der flere punkter, hvor tingene kan gå galt. Nedenfor er nogle af de mulige fejl, der kan opstå, og hvordan du retter dem.
- Når du konfigurerer din pi til at e -maile dig den aktuelle IP -adresse, er det afgørende at redigere rc.local -filen som vist tidligere, fordi dette giver mulighed for en lille forsinkelse, før programmet aktiveres efter genstart. Ellers vil pi'en endnu ikke være forbundet til wifi, og e -mailen vil ikke sende.
- Når du redigerer filen motion.conf, skal du sørge for at slette semikolon foran visse parametre. Semikolon undertrykker en given handling, så ændringen træder ellers ikke i kraft.
- Filen motion.conf er meget velorganiseret og detaljeret. Du er velkommen til at ændre indstillingerne efter din smag, men forstå, at de kan påvirke motion capture -systemets succes.
- Efter opsætning af e -mail -advarsel og e -mail -videoindstillinger er det vigtigt at bemærke, at e -mailen til den bevægelsesdetekterede video vil tage lidt længere tid end at sende end den oprindelige advarsels -e -mail. Dette skyldes, at videoen afsluttes et par sekunder efter, at bevægelse ikke længere er registreret, og fordi vedhæftningen af e -mail kan være stor nok til at kræve et par minutter at modtage. I nogle tilfælde kan det være for stort til overhovedet at sende hvis bevægelse opretholdes i meget lang tid. På grund af dette er det altid en god idé at tjekke livestreamen efter at have modtaget den første advarsels -e -mail.
Hvorfor bevægelse ?:
Da vi første gang gik i gang med dette projekt, overvejede vi flere forskellige ressourcer. Først overvejede vi at bruge PiCam, som er en kameraenhed bygget specielt til hindbærpi. PiCam er bestemt en dygtig enhed og har mange applikationer, men det er begrænset til at bruge programmer, der er specielt designet til det og er relativt dyre i forhold til billige multifunktionelle webkameraer. Så for at gøre dette projekt tilgængeligt for et større publikum, besluttede vi at bruge et fælles USB -webcam. Det næste nummer var, hvilken software der skulle inkorporeres. Vi overvejede oprindeligt OpenCV, som er gratis software, der giver mulighed for mange forskellige former for Computer Vision og billeddannelsesprojekter. Et af problemerne her er, at OpenCV er en massiv fil, der optager meget hukommelse og opsætter lang tid. Opsætningen har også flere trin, hvilket efterlader endnu mere plads til fejl. Vi fandt ud af, at for vores specifikke projekt var Motion enklere at konfigurere og få til at fungere, men meget mere robust i udførelsen.
Kilder
Kodekilder:
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
Billedkreditter:
SSH Snail:
Maillogo:
Logitech webcam:
SSH-vindue:
Anbefalede:
CCTV Feed Controller - Raspberry Pi: 3 trin
CCTV Feed Controller - Raspberry Pi: Hej alle sammen, velkommen til en anden Instructable by Scientify Inc.! Dette projekt optimerer, hvad et CCTV -kamera optager ved hjælp af indbygget bevægelsesregistrering ved hjælp af root mean squared (RMS) forskel mellem to på hinanden følgende billeder. Dette hjælper med at lave CCTV -feed
Raspberry Pi Motion Sensing Camera i Floodlight -hus: 3 trin
Raspberry Pi Motion Sensing Camera i Floodlight Housing: Jeg har puslet med Raspberry Pi's i et stykke tid nu og brugt dem til en række forskellige ting, men hovedsageligt som et CCTV -kamera til at overvåge mit hjem, mens jeg var væk med evnen til eksternt at se en livestream, men modtag også e -mails med billedbilleder
DIY Motion Detection SMS Alarm System: 5 trin (med billeder)
DIY Motion Detection SMS Alarm System: I dette projekt vil jeg kombinere en billig PIR -bevægelsessensor med et TC35 GSM -modul til at bygge et alarmsystem, der sender dig en " INTRUDER ALERT " SMS hver gang nogen forsøger at stjæle dine ting. Lad os komme igang
Raspberry Pi Object Detection: 7 trin
Raspberry Pi Object Detection: Denne vejledning giver trin-for-trin instruktioner til, hvordan du konfigurerer TensorFlows Object Detection API på Raspberry Pi. Ved at følge trinene i denne vejledning kan du bruge din Raspberry Pi til at udføre objektdetektering på livevideo fra en P
UNICORN CAMERA - Raspberry Pi Zero W NoIR 8MP Camera Build: 7 trin (med billeder)
UNICORN CAMERA - Raspberry Pi Zero W NoIR 8MP Camera Build: Pi Zero W NoIR 8MP Camera BuildThis Instructable blev oprettet for at hjælpe alle, der ønsker et infrarødt kamera eller et virkelig sejt bærbart kamera eller et bærbart Raspberry Pi -kamera eller bare vil have det sjovt, heheh . Dette er den mest overkommelige og konfigurerbare