- Byg hurtigt Motion Capture-sikkerhedskamera med Raspberry Pi:
- Tilpasning af medieindstillinger i bevægelse:
- Sådan får du videofeed over internettet:
Sikkerhed er vigtigt i dag, og der er mange teknologier til stede i dag for at holde din plads sikker og overvåget. CCTV-kameraer er meget nyttige for at holde øje med dit hus eller kontor. Selvom priserne på disse typer kameraer er blevet reduceret markant siden starten, men IP-kameraer, der har mulighed for at sende og modtage datoen via netværket, er meget dyre. Og for ægte overvågning skal et kamera have mulighed for at sende sit feed over internettet, så det kan ses fra hvor som helst i verden.
I dag laver vi et meget billigt Surveillance Motion Capture Camera ved hjælp af Raspberry Pi og et webcam. Dette er et godt og meget billigere sikkerhedsværktøj, som har mange konfigurerbare muligheder og kan bygges på få minutter. Her bruger vi kun Raspberry Pi og et USB-webkamera til at bygge dette Motion Capture-kamera. Vi har Raspbian Jessie OS installeret på vores Raspberry Pi-kort. Du bør tjekke denne artikel for at installere Raspbian OS og komme i gang med Raspberry Pi.
Her gennemgår vi en hurtig startvejledning, så du kan have dit overvågningskamera klar på få minutter med alle standardkonfigurationer, og derefter dykker vi ned i de andre detaljer og konfigurationsmuligheder for at tilpasse det efter dit behov.
Men før det, lad os vide noget om Motion (Surveillance Software), som er kernen i dette projekt. Motion er gratis CCTV-software med open source-bevægelsesdetektor, udviklet til Linux. Den registrerer bevægelsen og begynder at optage video af den. Med 'Motion' installeret i din Raspberry Pi kan du magisk forvandle din Raspberry Pi til et sikkerhedskamera og kan få følgende funktioner:
1. Du kan se Live Video-feed i en webbrowser ved at indtaste Pi-IP-adressen sammen med porten.
2. Den optager og gemmer videoen, når den registrerer bevægelse eller forstyrrelser i synsområdet. Det fortsætter med at optage videoen, indtil der er nogen bevægelse, derefter stopper den og gemmer filen, som kan ses senere.
3. Det kan skabe en smuk Timelapse-video.
4. Det kan tage snapshots med jævne mellemrum, eller når der er nogen bevægelse. Snapshots gemmes også på disken til senere brug.
Bortset fra det har det flere konfigurationsindstillinger, som vi snart vil diskutere, og vi kan også indstille brugerdefinerede 'udløsere' på bestemte begivenheder. Motion understøtter i øjeblikket kun USB-kamera ud af kassen. Hvis du vil bruge Pi Camera, skal du bruge speciel build af Motion.
Byg hurtigt Motion Capture-sikkerhedskamera med Raspberry Pi:
Her skal du kun køre få kommandoer for at begynde at få dit første videofeed over netværket. Før det skal du kontrollere, at din Raspberry Pi har forbindelse til internettet, enten ved hjælp af LAN eller Wi-Fi, og følg derefter nedenstående trin:
Trin 1: Kør først nedenstående kommando for at opdatere Raspbian OS på Raspberry Pi:
sudo apt-get opdatering
Trin 2: Installer derefter 'Motion' -biblioteket ved hjælp af kommandoen nedenfor:
sudo apt-get installer bevægelse
Trin 3: Sæt nu Motion-dæmonen til ja ved at redigere filen: / etc / default / motion, så den altid kører. Rediger denne fil ved hjælp af 'nano' editor med 'sudo' som angivet nedenfor:
sudo nano / etc / default / motion
Gem derefter filen ved at trykke på 'CTRL + X', derefter 'Y' og Enter.
Trin 4: Nu skal vi indstille tilladelsen til Target Directory (/ var / lib / motion /), hvor Motion gemmer alle videooptagelser og billedfiler. Vi er nødt til at indstille 'Motion' som ejer af denne mappe ved at udstede kommandoen nedenfor:
sudo chown bevægelse: bevægelse / var / lib / bevægelse /
Denne tilladelse er nødvendig, ellers kommer du under fejl, når du tjekker Bevægelsestjenestestatus ved hjælp af denne kommando: sudo service bevægelsesstatus
Trin 5: Nu er vi næsten færdige, kun vi har brug for at ændre en konfigurationsindstilling i Motion-konfigurationsfil (/etc/motion/motion.conf ), som er stream_localhost fra. Vi er nødt til at slukke for denne lokale værtsstreaming, ellers kan vi ikke få adgang til videofeed på vores netværk, og det er kun tilgængeligt fra selve Raspberry Pi. For at gøre dette skal du redigere Motion Configuration-filen med 'nano' editor og slukke for den, som vist nedenfor:
sudo nano /etc/motion/motion.conf
Nu er vi færdige og klar til at få vores live feed fra USB-webkameraet tilsluttet Pi. Bare start bevægelsestjenesten ved hjælp af kommandoen nedenfor og åbn din Raspberry Pi's IP med port 8081 i din browser (som 192.168.1.103:8081):
sudo /etc/init.d/motion start
Og du vil se live-feedet fra dit webkamera som nedenfor. Her har vi brugt et billigt USB-webkamera (Quantum webkamera QHM500LM), som fungerede glat med vores Raspberry Pi, men du kan yderligere bruge et kamera i god kvalitet til bedre opløsning.
Som det vises i browseren, kan du bruge en hvilken som helst enhed til at se feedet, der understøtter webbrowser som Mobile, tablet osv. Nedenfor er et øjebliksbillede fra mobiltelefonen:
Du kan altid starte, stoppe, genstarte og få status for Motion-tjenesten ved hjælp af nedenstående fire kommandoer:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion genstart sudo service motion status
eller du kan genstarte Raspberry Pi som et fejlfindingstrin, når det er nødvendigt:
sudo genstart
Bemærk: Hvis du er Raspberry Pi-model under version 3, skal du muligvis bruge en Wi-Fi-dongle for at tilslutte raspberry Pi trådløst til routeren. Raspberry Pi 3 har indbygget Wi-Fi. Her har vi brugt Raspberry Pi 2 Model B med en Wi-Fi-dongle.
Tilpasning af medieindstillinger i bevægelse:
Så vi har nu vores overvågningskamera kørende og arbejder. Nu kan vi se på nogle meget nyttige konfigurationsindstillinger, ved hjælp af hvilke vi kan optimere det efter vores behov og kan få meget imponerende resultater. I Motion Configuration-fil forklares alle indstillinger meget pænt med deres standardværdi og genoprettede værdi, bare tjek den ved hjælp af nedenstående kommando:
sudo nano /etc/motion/motion.conf
Bortset fra at få live-feed, optager og gemmer Motion videofiler, når den registrerer Motion. Så du kan justere framerate, kvalitet, bredde / højde på streamingvideoerne. Du kan indstille billedhastigheden højt for videoer i realtid, men dit netværk skal være hurtigt nok til denne. Nedenfor er de værdier, som vi har brugt, du kan ændre dem i overensstemmelse hermed:
# Billedbredde (pixels). Gyldigt område: Kameraafhængig, standard: 352 bredde 640 # Billedhøjde (pixels). Gyldigt område: Kameraafhængig, standard: 288 højde 480 # Maksimalt antal billeder, der skal tages pr. Sekund. # Gyldigt område: 2-100. Standard: 100 (næsten ingen grænse). ramme 50 stream_quality 90
Det vil være godt at gemme nogle billeder før og efter det registrerer bevægelsen og begynder at optage videoen. Brug nedenstående indstillinger til det:
# Angiver antallet af forudfangede (bufrede) billeder fra før bevægelse # blev registreret, der vil blive udsendt ved bevægelsesdetektering. # Anbefalet interval: 0 til 5 (standard: 0) forudfangst 0 # Antal billeder, der skal optages efter bevægelse, ikke længere registreres (standard: 0) efterfangst 0
Bevægelse tager som standard for mange billeder, når den registrerer bevægelse, og du ender med så mange 'jpg'-filer til en lille bevægelse. Så det vil være godt at enten slå denne indstilling ( output_pictures fra ) fra eller indstille den til 'bedst':
output_pictures bedst
Du kan også tage snapshots med jævne mellemrum, defineret af dig, ved hjælp af nedenstående mulighed:
# Lav automatiseret øjebliksbillede hvert N sekund (standard: 0 = deaktiveret) snapshot_interval 0
De mest attraktive funktioner for mig er timelapse Video, det er et meget godt arrangement for smukke timelapse-videoer til meget lave omkostninger. Her kan du definere intervallet for snapshots til Timelapse Video:
# Standardværdi 0 = slukket - ellers gem rammen hvert Nte sekund ffmpeg_timelapse 2
Du kan ændre Target Directory for at gemme alle de optagede filer og billeder ved hjælp af 'target_dir' og glem ikke at indstille 'Motion' som ejer af denne bibliotek, som forklaret tidligere.
# Målbasekatalog for billeder og film # Anbefales at bruge absolut sti. (Standard: nuværende arbejdsmappe) target_dir / var / lib / motion
Du kan ændre webstreamingporten (standard er 8081):
# Mini-http-serveren lytter til denne port for anmodninger (standard: 0 = deaktiveret) stream_port 8081
Hvis du ikke vil have en lang videofil, kan du bede Motion om at lave flere klip af bestemt varighed i stedet for en stor fil. Du kan nævne klipvarigheden i sekunder (0 for uendelig):
# Maksimal længde i sekunder af en film # Når værdien overskrides, oprettes der en ny filmfil. (Standard: 0 = uendelig) max_movie_time 30
Du kan også beslutte, hvordan du definerer en bevægelse og kan indstille antallet af pixels eller rammer, der skal ændres for at detektere en ægte bevægelse:
# Tærskel for antal ændrede pixels i et billede, der # udløser bevægelsesdetektering (standard: 1500) tærskel 1500 # Billedrammer skal indeholde bevægelse i det mindste det angivne antal billeder # i træk, inden de registreres som ægte bevægelse. Som standard 1 registreres al # bevægelse. Gyldigt interval: 1 til tusinder, anbefales 1-5 minimum_motion_frames 5
Som standard gemmer Motions loggene i 'syslog', men du kan definere dedikeret logfil til Motion:
# Brug en fil til at gemme logfiler, hvis ikke defineret stderr og syslog bruges. (standard: ikke defineret) logfil /tmp/motion.log
Glem ikke at gemme og genstarte Motion-tjenesten efter ændring af en hvilken som helst indstilling. For at gemme motion.conf skal du trykke på CTRL + X og derefter på Y og derefter på Enter.
Så dette er nogle almindelige indstillinger, der kan bruges til at opnå gode resultater. Men hvis du er nysgerrig, skal du grave konfigurationsfilen mere og begynde at spille med indstillinger. Der er mange muligheder for at indstille lysstyrke, kontrast, bithastighed, udløsere, adgangskodeautentificering og mange flere.
Sådan får du videofeed over internettet:
Her har vi overvåget webcams feed over det lokale netværk ved hjælp af Raspberry Pi's lokale IP. Men hvis du vil overvåge det hvor som helst over internettet, skal du indstille portvideresendelse i din router / modem. Dybest set skal du videresende port 80 (bruges til HTTP eller internet) til din lokale eller private IP-adresse af dig Raspberry Pi (som (192.168 * i vores tilfælde). Efter portvideresendelse videresendes alle indgående forbindelser til port 80 til denne lokale adresse, og du kan se live-feedet ved at indtaste din offentlige IP-adresse på internettet med streaming port, som vi har indstillet tidligere (8081). Hver router har forskellige brugergrænseflader til opsætning af portvideresendelse, så du kan logge på din router (192.168.1.1) og kan finde muligheden for det samme. Men husk det, for at få adgang til Raspberry Pi over internettet skal du have en statisk offentlig IP-adresse, og den skal ikke ændres ved hver genstart af modemet. Statisk IP-adresse leveres af din internetudbyder.
Så dette er, hvordan vi nemt kan opsætte et meget lavt overvågningskamera ved hjælp af Raspberry Pi og et simpelt webkamera.