- Bygg raskt bevegelseskamera med Raspberry Pi:
- Tilpasse medieinnstillinger i bevegelse:
- Slik får du videofeeden over internett:
Sikkerhet er viktig bekymring nå dager, og det er mange teknologier tilstede i dag for å holde stedet trygt og overvåket. CCTV-kameraer er veldig nyttige for å holde et øye med huset eller kontoret. Selv om prisene på denne typen kameraer har blitt redusert betydelig siden starten, men IP-kameraer, som har mulighet til å sende og motta datoen over nettverket, er veldig dyre. Og for ekte overvåking må et kamera ha muligheten til å sende feeden sin over internett slik at den kan sees fra hvor som helst i verden.
I dag lager vi et veldig billig Surveillance Motion Capture Camera ved hjelp av Raspberry Pi og et webkamera. Dette er et flott og veldig billigere sikkerhetsverktøy, som har mange konfigurerbare alternativer og kan bygges på få minutter. Her bruker vi bare Raspberry Pi og et USB-webkamera for å bygge dette Motion Capture-kameraet. Vi har Raspbian Jessie OS installert på vårt Raspberry Pi-kort. Du bør sjekke denne artikkelen for å installere Raspbian OS og komme i gang med Raspberry Pi.
Her vil vi først gjennom en hurtigstartguide, slik at du kan ha overvåkningskameraet ditt klart på få minutter med alle standardkonfigurasjonene, og etter det vil vi dykke ned i de andre detaljene og konfigurasjonsalternativene for å tilpasse det etter ditt behov.
Men før det, la oss få vite noe om Motion (Surveillance Software), som er hjertet i dette prosjektet. Motion er gratis, åpen kildekode bevegelsesdetektor CCTV-programvare, utviklet for Linux. Den oppdager bevegelsen og begynner å spille inn video av den. Med 'Motion' installert i Raspberry Pi, kan du magisk gjøre Raspberry Pi til et sikkerhetskamera og få følgende funksjoner:
1. Du kan se Live Video-feed i en nettleser ved å skrive inn IP-adressen til Pi sammen med porten.
2. Den tar opp og lagrer videoen når den oppdager bevegelse eller forstyrrelser i visningsområdet. Det vil fortsette å ta opp videoen til det er noe bevegelse, så stopper den og lagrer filen, som kan sees senere.
3. Det kan skape en vakker Timelapse-video.
4. Det kan ta øyeblikksbilder med jevne mellomrom eller når det er noe bevegelse. Stillbilder lagres også på disken for senere bruk.
Bortsett fra det, har den flere konfigurasjonsalternativer som vi snart vil diskutere, og vi kan også angi brukerdefinerte 'utløsere' på visse hendelser. Motion støtter for øyeblikket bare USB-kamera ut av esken, hvis du vil bruke Pi Camera, må du bruke spesiell build av Motion.
Bygg raskt bevegelseskamera med Raspberry Pi:
Her trenger du bare å kjøre få kommandoer for å begynne å få din første videofeed over nettverket. Før det må du kontrollere at Raspberry Pi er koblet til internett, enten ved hjelp av LAN eller Wi-Fi, og følg deretter trinnene nedenfor:
Trinn 1: Kjør først kommandoen nedenfor for å oppdatere Raspbian OS på Raspberry Pi:
sudo apt-get oppdatering
Trinn 2: Installer deretter 'Motion' Library ved å bruke kommandoen nedenfor:
sudo apt-get installer bevegelse
Trinn 3: Sett nå bevegelsesdemonen til ja ved å redigere filen: / etc / standard / bevegelse slik at den alltid vil kjøre. Rediger denne filen ved å bruke 'nano' editor med 'sudo' som gitt nedenfor:
sudo nano / etc / standard / bevegelse
Lagre deretter filen ved å trykke 'CTRL + X', deretter 'Y' og Enter.
Trinn 4: Nå må vi sette tillatelsen til Target Directory (/ var / lib / motion /), der Motion lagrer alle videoopptakene og bildefilene. Vi må sette 'Motion' som eier av denne katalogen ved å utstede kommandoen nedenfor:
sudo chown bevegelse: bevegelse / var / lib / bevegelse /
Denne tillatelsen er nødvendig, ellers vil du få feil under når du sjekker bevegelsestjenestestatus ved hjelp av denne kommandoen: sudo service bevegelsesstatus
Trinn 5: Nå er vi nesten ferdige, bare vi trenger å endre ett konfigurasjonsalternativ i bevegelseskonfigurasjonsfilen (/etc/motion/motion.conf ) som er stream_localhost av. Vi må slå av denne lokale vertstrømmingen, ellers vil vi ikke få tilgang til videofeeden på nettverket vårt, og det vil bare være tilgjengelig fra selve Raspberry Pi. For å gjøre det, rediger bevegelseskonfigurasjonsfilen med 'nano' editor og slå den av, som vist nedenfor:
sudo nano /etc/motion/motion.conf
Nå er vi ferdige og klare til å få vår live feed fra USB-webkameraet koblet til Pi. Bare start bevegelsestjenesten med kommandoen nedenfor og åpne Raspberry Pi's IP, med port 8081, i nettleseren din (som 192.168.1.103:8081):
sudo /etc/init.d/motion start
Og du vil se live-strømmen fra webkameraet ditt som nedenfor. Her har vi brukt et billig USB-webkamera (Quantum web camera QHM500LM), som fungerte jevnt med vår Raspberry Pi, men du kan videre bruke et kamera av god kvalitet for bedre oppløsning.
Som det vil vises i nettleseren, kan du bruke hvilken som helst enhet for å se på strømmen, som støtter nettleser som mobil, nettbrett etc. Nedenfor er et øyeblikksbilde fra mobiltelefonen:
Du kan alltid starte, stoppe, starte på nytt og få status for bevegelsestjeneste ved å bruke nedenfor fire kommandoer:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion starte sudo service motion status
eller du kan starte Raspberry Pi på nytt som et feilsøkingstrinn når det er nødvendig:
sudo omstart
Merk: Hvis du er Raspberry Pi-modellen under versjon 3, kan det hende du trenger en Wi-Fi-dongle for å koble raspberry Pi trådløst til ruteren. Raspberry Pi 3 har innebygd Wi-Fi. Her har vi brukt Raspberry Pi 2 Model B med en Wi-Fi-dongle.
Tilpasse medieinnstillinger i bevegelse:
Så vi har nå overvåkningskameraet vårt i gang og fungerer. Nå kan vi se på noen veldig nyttige konfigurasjonsalternativer, ved hjelp av hvilke vi kan optimalisere det etter vårt behov og kan få veldig imponerende resultater. I bevegelseskonfigurasjonsfilen blir alle innstillingene forklart veldig pent med standard og anbefalt verdi, bare sjekk den ved hjelp av kommandoen nedenfor:
sudo nano /etc/motion/motion.conf
Bortsett fra å få live-feed, registrerer og lagrer Motion videofiler når den oppdager bevegelse. Så du kan justere framerate, kvalitet, bredde / høyde på streamingvideoene. Du kan stille bildefrekvensen høyt for sanntidsvideoer, men nettverket ditt må være raskt nok for dette. Nedenfor er verdiene vi har brukt, du kan endre dem tilsvarende:
# Bildebredde (piksler). Gyldig område: Kameraavhengig, standard: 352 bredde 640 # Bildehøyde (piksler). Gyldig rekkevidde: Kameraavhengig, standard: 288 høyde 480 # Maksimalt antall bilder som skal tas per sekund. # Gyldig område: 2-100. Standard: 100 (nesten ingen grense). ramme 50 stream_quality 90
Det vil være bra å lagre noen bilder før og etter at den oppdager bevegelsen og begynner å spille inn videoen. Bruk innstillingene nedenfor for det:
# Spesifiserer antall forhåndsfangede (bufrede) bilder fra før bevegelse # ble oppdaget som vil bli sendt ut ved bevegelsesdeteksjon. # Anbefalt område: 0 til 5 (standard: 0) pre-fangst 0 # Antall bilder å ta etter bevegelse blir ikke lenger oppdaget (standard: 0) post_capture 0
Bevegelse tar som standard for mange bilder når den oppdager bevegelse, og du vil ende opp med så mange 'jpg' -filer for en liten bevegelse. Så det vil være bra å enten slå denne innstillingen ( output_pictures av ) av eller sette den til "best":
output_pictures best
Du kan også ta øyeblikksbilder med jevne mellomrom, definert av deg, ved å bruke alternativet nedenfor:
# Lag automatisert øyeblikksbilde hvert N sekund (standard: 0 = deaktivert) snapshot_interval 0
De mest attraktive funksjonene for meg er timelapse Video, det er et veldig bra arrangement for vakre timelapse-videoer til svært lave kostnader. Her kan du definere intervallet for øyeblikksbildene for Timelapse Video:
# Standardverdi 0 = av - ellers lag ramme hvert nte sekund ffmpeg_timelapse 2
Du kan endre målkatalogen for å lagre alle de innspilte filene og bildene ved å bruke 'target_dir' og ikke glem å sette 'Motion' som eier av denne katalogen, som forklart tidligere.
# Målbasekatalog for bilder og filmer # Anbefales for å bruke absolutt sti. (Standard: gjeldende arbeidskatalog) target_dir / var / lib / motion
Du kan endre web streaming port (standard er 8081):
# Mini-http-serveren lytter til denne porten for forespørsler (standard: 0 = deaktivert) stream_port 8081
Hvis du ikke vil ha en lang videofil, kan du be Motion å lage flere klipp av bestemt varighet i stedet for en stor fil. Du kan nevne klippens varighet i sekunder (0 for uendelig):
# Maksimal lengde i sekunder av en film # Når verdien overskrides, opprettes en ny filmfil. (Standard: 0 = uendelig) max_movie_time 30
Du kan også bestemme hvordan du skal definere en bevegelse, og kan angi antall piksler eller rammer som må endres for å oppdage en ekte bevegelse:
# Terskel for antall endrede piksler i et bilde som # utløser bevegelsesdeteksjon (standard: 1500) terskel 1500 # Bilderammer må inneholde bevegelse minst det angitte antall bilder # på rad før de blir oppdaget som ekte bevegelse. Som standard 1 blir all # bevegelse oppdaget. Gyldig område: 1 til tusen, anbefalt 1-5 minimum_motion_frames 5
Som standard lagrer Motions loggene i 'syslog', men du kan definere dedikert loggfil for Motion:
# Bruk en fil til å lagre loggmeldinger, hvis ikke definert stderr og syslog brukes. (standard: ikke definert) logfile /tmp/motion.log
Ikke glem å lagre og starte Motion-tjenesten på nytt etter at du har endret noen innstillinger. For å lagre motion.conf, trykk CTRL + X og deretter Y og deretter Enter.
Så dette er noen vanlige innstillinger som kan brukes til å oppnå gode resultater. Men hvis du er nysgjerrig, kan du grave konfigurasjonsfilen mer og begynne å spille med innstillinger. Det er mange alternativer for å stille inn lysstyrke, kontrast, bithastighet, utløsere, passordgodkjenning og mange flere.
Slik får du videofeeden over internett:
Her har vi overvåket webkams feed over det lokale nettverket ved hjelp av den lokale IP-en til Raspberry Pi. Men hvis du vil overvåke den hvor som helst over internett, må du stille Port Forwarding i ruteren / modemet ditt. I utgangspunktet må du videresende port 80 (brukt til HTTP eller internett) til din lokale eller private IP-adresse av deg Raspberry Pi (som (192.168 * i vårt tilfelle). Etter portvideresending vil alle innkommende tilkoblinger til port 80 bli videresendt til denne lokale adressen, og du kan se live-feeden ved å skrive inn din offentlige IP-adresse på internett med streaming porten som vi har angitt tidligere (8081). Hver ruter har forskjellige brukergrensesnitt for å konfigurere Port Forwarding, slik at du kan logge deg på ruteren din (192.168.1.1) og kan finne muligheten for det samme. Men husk at for å få tilgang til Raspberry Pi over internett må du ha en statisk offentlig IP-adresse, og den bør ikke endres ved hver omstart av modemet. Statisk IP-adresse leveres av din ISP.
Så dette er hvordan vi enkelt kan sette opp et meget lavt overvåkningskamera ved å bruke Raspberry Pi og et enkelt webkamera.