Innholdsfortegnelse:
- Trinn 1: Konfigurere din Pi
- Trinn 2: SSHing inn i din PI
- Trinn 3: Send din IP -adresse på e -post ved oppstart
- Trinn 4: Installere og sette opp bevegelse
- Trinn 5: Send videoer fra bevegelse ved registrering
- Trinn 6: Feilsøking og kilder
Video: Raspberry Pi 3 kamera for bevegelsesdeteksjon med live feed: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Introduksjon
I dette prosjektet lærer du hvordan du bygger et kamera for bevegelsesdeteksjon som du kan bruke som kamerafelle, et kjæledyr/babymonitor, et sikkerhetskamera og mye mer.
Dette prosjektet er organisert i flere trinn:
- Introduksjon
- Setter opp Pi
- SSHing inn i din Pi
- Send e -post til din IP -adresse ved oppstart
- Installere og sette opp Motion
- Send videoer fra Motion på e -post ved registrering
- Feilsøking og kilder
Dette trenger du:
- En Raspberry Pi 3 -modell b ~ ~ $ 35
- 8 GB Micro SD -kort ~~ $ 10
- USB -webkamera ~ ~ $ 20 (dette prosjektet brukte et Logitech HD -webkamera c270)
- mikro usb -kabel ~~ $ 5
- enten:
- oppladbart 5 volts batteripakke (telefonbatteri), gjør dette prosjektet trådløst ~ ~ $ 20
- eller
- usb -veggadapter ~~ $ 5
- En WiFi -tilkobling
Hva du trenger tilgang til for oppsett:
- En skjerm
- En mus og et tastatur
- En datamaskin med et SD -kortspor
- En Micro SD til SD -kortomformer (skal komme med micro SD -kortet)
Trinn 1: Konfigurere din Pi
La oss nå sette opp din Pi
For å begynne, må du kontrollere at du har alle de nødvendige elementene fra det siste trinnet. Følg deretter trinnene på Raspberry Pi -nettstedet for å installere Raspbian Jessie på Microsd -kortet ditt, som du finner her.
Når du har installert Raspbian på din Pi, er det på tide å sette opp noen grunnleggende funksjoner.
WiFi
Det første trinnet for å få mest mulig ut av din Pi er å koble den til internett. Du har kanskje fullført dette trinnet enten ved å finne WiFi -symbolet i øvre høyre hjørne av Pi -hovedskjermen og logge deg på der, eller gjøre det samme før du installerer Raspbian i det siste trinnet. Hvis du ikke klarer å logge på WiFi -nettverket ditt fra Pi -skrivebordet, kan du følge instruksjonene her for å konfigurere WiFi via kommandolinjen.
SSH
Et veldig praktisk verktøy tilgjengelig for deg når du bruker din Pi, er muligheten til å utstede kommandoer til Pi i det som er kjent som et hodeløst oppsett. Ved å bruke et Secure SHell, eller SSH, kan du styre Pi eksternt fra en datamaskin. Med denne metoden er alt du trenger for å redigere din Pi en strømkilde for å beholde den, ikke mer skjerm og tastatur!
Trinn 2: SSHing inn i din PI
SSHing inn i Raspberry Pi er enkelt og veldig nyttig, siden prosessen lar deg utstede kommandoer til Pi fra hvilken som helst datamaskin uten noe mer enn en WiFi -tilkobling.
For å SSH inn i Pi -en din, må du følge disse 3 enkle trinnene.
Først må du aktivere SSH på Pi. For å gjøre dette, åpne et kommandovindu i Pi, og skriv inn:
sudo raspi-config
Denne kommandoen lar deg gå inn i en konfigurasjonsmeny. Derfra vil du bruke pilen, fanen og tastene for å gå først til grensesnittalternativer, deretter for å aktivere SSH, så vel som kameraet, og deretter avslutte og starte pi på nytt.
Deretter må du finne Pi -IP -adressen din. I en kommandoterminal skriver du inn:
sudo ifconfig
Og IP -adressen din bør være i wlan0 -delen som dukker opp, rett under Link encap: ethernet. I demobildet ovenfor er IP -adressen 192.168.1.10.
Sist må du enten åpne den innebygde terminalappen på en mac, eller finne og følge instruksjonene for en tredjeparts ssh -app for Windows. I Terminal -appen skriver du:
ssh pi@DIN IP -ADRESSE
Hvis du ikke har endret passordet mens du er i Raspi-config, vil passordet du vil angi når du blir bedt om det, er standardpassordet: bringebær.
Derfra bør du være god å gå!
Trinn 3: Send din IP -adresse på e -post ved oppstart
I dette trinnet vil vi fokusere på hvordan du får tilgang til din Raspberry Pi, uavhengig av nettverket du er på. Avhengig av nettverket endres Pi -IP -adressen. Og hvis du ikke har et skjermoppsett, må du ssh inn i Pi for å utløse bevegelsesdeteksjonsprotokollen, endre bevegelsespreferanser eller få tilgang til noe annet på enheten. For å løse dette problemet vil vi skrive et python -skript som sender oss Pi's nåværende IP -adresse via e -post ved oppstart. Python -skriptet er som følger og ble lagret i en katalog merket "bakgrunn".
#start i hjemmekatalogen
cd ~
#create bakgrunnsmappe
mkdir bakgrunn
#create python script
sudo nano emailip.py
#skrive i emailip.py
import stikkontakt
s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)
s.connect (("8.8.8.8", 80))
print (s. gutsockname () [0]) x = s.getsockname () [0] s.close ()
importer smtplib
fra e -post. MIMEMultipart import MIMEMultipart
fra e -post. MIMETekst importer MIMETekst
fromaddr = "DIN ADRESSE"
toaddr = "MOTTAR ADRESSE"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "IP -adresse"
body = xmsg.attach (MIMEText (body, 'vanlig'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "DITT PASSORD")
tekst = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
#så gjør dette det ved omstart
sudo nano /etc/rc.local
#enter i /etc/rc.local
samtidig som ! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
sov 3
gjort
_IP = $ (vertsnavn -I) || ekte
hvis ["$ _IP"]; deretter
printf "Min IP -adresse er %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
avslutte 0
#og du er ferdig
Trinn 4: Installere og sette opp bevegelse
#oppdater pi
sudo apt-get oppdatering
sudo apt-get oppgradering
#nedlasting
sudo apt-get install motion
#rediger denne filen med følgende endringer
sudo nano /etc/motion/motion.conf
#For å sette en standard for denne opplæringen, endre
#################
demon på
stream_localhost av
webcontrol_localhost av
ffmpeg_output_movies på
target_dir/var/lib/motion
##################
#lokale streamingalternativer for nettlesere
##################
stream_maxrate 100 #Dette gir rom for sanntidsstrømming, men krever mer båndbredde og ressurser
framerate 60 #Dette vil tillate 60 bilder å bli tatt i sekundet #jo høyere dette blir, jo tregere blir videobehandlingen
bredde 640 #Dette endrer bredden på bildet som vises
høyde 480 #Dette endrer høyden på bildet som vises
##################
#email videoinnstillinger i …/motion.conf
##################
#slett ";" foran linjen, semikolonet kommenterer linjen ut
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astektikk
##################
#valg beskrevet i filen
output_pictures locate_motion_style
##################
#så endres
sudo nano/etc/default/motion
#å si
start_motion_daemon = ja
#siste, start B **** opp
sudo service motion start
#du kan endre kommandoen til "stopp" eller "start på nytt"
Trinn 5: Send videoer fra bevegelse ved registrering
E -post når det oppdages bevegelse:
#start hjemme
dircd ~
#create motion alert python script
sudo nano /home/pi/background/motionalert.py
#skrive
importer smtplib
fra datetime import datetime
fra e -post. MIMEMultipart import MIMEMultipart
fra e -post. MIMETekst importer MIMETekst
fromaddr = "YOURADDRESS"
toaddr = "RECIEVINGADDRESS"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Bevegelse oppdaget"
body = 'En bevegelse er oppdaget. / nTid: % s' % str (datetime.now ())
msg. vedlegg (MIMEText (brødtekst, 'vanlig'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "DITT PASSORD")
tekst = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
Send video om bevegelse når video er lagret:
#start på homedircd ~
#create motion video python scriptsudo nano /home/pi/background/motionvid.py
importer smtplib
fra e -post. MIMEMultipart import MIMEMultipart
fra e -post. MIMETekst importer MIMETekst
fra e -post. MIMEBase import MIMEBase
fra e -postimportkodere
fromaddr = "DIN E -POST"
toaddr = "E -POSTADRESSE DU SENDER TIL"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Bevegelseskamera aktivert"
body = "Video of Motion Detected"
msg. vedlegg (MIMEText (brødtekst, 'vanlig'))
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 = maks (fileliste, nøkkel = 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 = maks (fileliste, nøkkel = lambda x: os.stat (x).st_mtime)
vedlegg = åpent (nyeste, "rb")
part = MIMEBase ('application', 'octet-stream')
part.set_payload ((vedlegg). lese ())
encoders.encode_base64 (del)
part.add_header ('Content-Disposition', "attachment; filnavn = % s" % filnavn)
msg. vedlegg (del)
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "DITT PASSORD")
tekst = msg.as_string ()
server.sendmail (fromaddr, toaddr, tekst)
server.quit ()
Trinn 6: Feilsøking og kilder
Feilsøking:
Fordi dette prosjektet har flere stadier, er det flere punkter der ting kan gå galt. Nedenfor er noen av de mulige feilene som kan oppstå og hvordan du kan fikse dem.
- Når du konfigurerer pien din for å sende deg den nåværende IP -adressen din på e -post, er det avgjørende å redigere rc.local -filen som vist tidligere, fordi dette gir en liten forsinkelse før programmet aktiveres etter omstart. Ellers vil pi ennå ikke være koblet til wifi, og e -posten vil ikke sende.
- Når du redigerer filen motion.conf, må du slette semikolonene foran visse parametere. Semikolon undertrykker en gitt handling, så ellers vil ikke endringen tre i kraft.
- Filen motion.conf er veldig godt organisert og detaljert. Du er velkommen til å endre innstillingene etter eget ønske, men forstå at de kan påvirke suksessen til bevegelsesopptakssystemet.
- Etter at du har konfigurert alternativene for e -postvarsel og e -postvideo, er det viktig å merke seg at e -posten til den oppdagede videoen vil ta litt lengre tid enn å sende enn den første varsel -e -posten. Dette er fordi videoen avsluttes et par sekunder etter at bevegelse ikke lenger blir oppdaget, og fordi e -postvedlegget kan være stort nok til å ta et par minutter å motta. I noen tilfeller kan den være for stor til å sende i det hele tatt hvis bevegelse opprettholdes i svært lang tid. På grunn av dette er det alltid en god idé å sjekke livestrømmen etter å ha mottatt den første varsel -e -posten.
Hvorfor bevegelse ?:
Da vi startet dette prosjektet, vurderte vi flere forskjellige ressurser. Først vurderte vi å bruke PiCam, som er en kameraenhet bygget spesielt for bringebær pi. PiCam er absolutt en dyktig enhet og har mange applikasjoner, men den er begrenset til å bruke programmer som er spesielt designet for den og er relativt dyre i forhold til billige flerbrukswebkameraer. Så for å gjøre dette prosjektet tilgjengelig for et større publikum, bestemte vi oss for å bruke et vanlig USB -webkamera. Det neste problemet var hvilken programvare som skulle inkluderes. Vi vurderte først OpenCV, som er gratis programvare som gir mulighet for mange forskjellige typer Computer Vision og bildeprosjekter. Et av problemene her er at OpenCV er en massiv fil som tar opp mye minne og lang tid satt opp. Oppsettet har også flere stadier, noe som gir enda mer rom for feil. Vi fant ut at for vårt spesifikke prosjekt var Motion enklere å sette opp og få arbeid, men mye mer robust i utfø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
Fotokreditt:
SSH Snail:
Maillogo:
Logitech webkamera:
SSH-vindu:
Anbefalt:
Overvåke et firbenterrarium ved hjelp av Adosia IoT WiFi -kontrolleren + bevegelsesdeteksjon: 17 trinn (med bilder)
Overvåke et firbenterrarium ved hjelp av Adosia IoT WiFi -kontrolleren + bevegelsesdeteksjon: I denne opplæringen vil vi vise deg hvordan du bygger et enkelt firbenterrarium for en håndfull skinkegg vi ved et uhell fant og forstyrret mens du haget ute.Vi vil at eggene skal klekkes trygt, så alt vi skal gjøre er å skape et trygt rom ved hjelp av en plast
Arduino Security 3G/GPRS e -postkamera med bevegelsesdeteksjon: 4 trinn
Arduino Security 3G/GPRS e -postkamera med bevegelsesdeteksjon: I denne håndboken vil jeg fortelle om en versjon av å bygge et sikkerhetsovervåkingssystem med en bevegelsesdetektor og sende bilder til postkassen via 3G/GPRS -skjold. Denne artikkelen er basert på andre instruksjoner: instruksjon 1 og instruksjon
Enkleste webkamera som sikkerhetskamera - bevegelsesdeteksjon og bilder via e -post: 4 trinn
Enkleste webkamera som sikkerhetskamera - bevegelsesdeteksjon og bilder på e -post: Du trenger ikke lenger å laste ned eller konfigurere programvare for å få bevegelsesdetekterte bilder fra webkameraet til e -posten din - bare bruk nettleseren. Bruk en oppdatert Firefox, Chrome, Edge eller Opera-nettleser på Windows, Mac eller Android for å ta bildet
Bevegelsesdeteksjon alarmsystem: 11 trinn (med bilder)
Bevegelsesdeteksjonsalarm: Merk! Reactive Blocks er ikke lenger tilgjengelig for nedlasting. Et grunnleggende USB -kamera kan brukes til å oppdage bevegelse i et rom. I de følgende trinnene viser vi deg hvordan du kan bruke reaktive blokker til å programmere et Java -program som er klart til å kjøre og sender SMS
Guardian V1.0 --- Oppgradering av dørkikkhullskamera med Arduino (opptak av bevegelsesdeteksjon og elektriske støtfunksjoner): 5 trinn
Guardian V1.0 ||| Oppgradering av dør -kikkhullskamera med Arduino (opptak av bevegelsesdeteksjon og elektriske støtfunksjoner): Jeg har bestilt et kikkhullskamera, men da jeg brukte det, innså jeg at det ikke er noen automatisk opptaksfunksjon (aktivert ved bevegelsesdeteksjon). Så begynte jeg å undersøke hvordan det fungerer. For å spille inn en video, bør du 1- holde inne strømknappen nesten 2 sekunder