- Bygg snabbt säkerhetskamera för Motion Capture med Raspberry Pi:
- Anpassa mediainställningar i rörelse:
- Så här får du videoflöde över internet:
Säkerhet är viktigt idag och det finns många teknologier idag för att hålla din plats säker och övervakad. CCTV-kameror är mycket användbara för att hålla ett öga på ditt hus eller kontor. Även om priserna på dessa typer av kameror har sänkts avsevärt sedan starten, men IP-kameror, som har möjlighet att skicka och ta emot datumet över nätverket, är mycket dyra. Och för sann övervakning måste en kamera ha förmåga att skicka sitt flöde över internet så att den kan ses var som helst i världen.
Idag gör vi en mycket billig Surveillance Motion Capture Camera med Raspberry Pi och en webbkamera. Detta är ett bra och mycket billigare säkerhetsverktyg, som har många konfigurerbara alternativ och kan byggas på några minuter. Här använder vi bara Raspberry Pi och en USB-webbkamera för att bygga denna Motion Capture-kamera. Vi har Raspbian Jessie OS installerat på vårt Raspberry Pi-kort. Du bör läsa den här artikeln för att installera Raspbian OS och komma igång med Raspberry Pi.
Här kommer vi att gå igenom en snabbstartsguide först, så att du kan ha din övervakningskamera klar på några minuter med alla standardkonfigurationer och efter det kommer vi att dyka in i andra detaljer och konfigurationsalternativ för att anpassa den efter ditt behov.
Men innan det, låt oss veta något om Motion (Surveillance Software), som är kärnan i detta projekt. Motion är gratis CCTV-programvara med öppen källkodsrörelse, utvecklad för Linux. Den upptäcker rörelsen och börjar spela in video av den. Med 'Motion' installerad i din Raspberry Pi kan du på ett magiskt sätt förvandla din Raspberry Pi till en säkerhetskamera och kan få följande funktioner:
1. Du kan titta på Live Video-flöde i en webbläsare genom att ange IP-adressen till Pi tillsammans med porten.
2. Den spelar in och sparar videon när den upptäcker rörelse eller störningar i utsiktsområdet. Det fortsätter att spela in videon tills det rör sig, sedan stoppar den och sparar filen, som kan ses senare.
3. Det kan skapa en vacker Timelapse-video.
4. Det kan ta ögonblicksbilder med jämna mellanrum eller när det finns någon rörelse. Ögonblicksbilder sparas också på disken för senare användning.
Bortsett från det har den flera konfigurationsalternativ som vi kommer att diskutera inom kort och vi kan också ställa in användardefinierade "triggers" för vissa händelser. Motion stöder för närvarande bara USB-kamera ur lådan, om du vill använda Pi Camera måste du använda en speciell version av Motion.
Bygg snabbt säkerhetskamera för Motion Capture med Raspberry Pi:
Här behöver du bara köra några få kommandon för att börja få ditt första videoflöde över nätverket. Innan det, kontrollera korrekt att din Raspberry Pi är ansluten till internet, antingen med LAN eller Wi-Fi och följ sedan stegen nedan:
Steg 1: Kör först kommandot nedan för att uppdatera Raspbian OS på Raspberry Pi:
sudo apt-get uppdatering
Steg 2: Sedan installera 'Motion' Library genom att använda kommandot nedan:
sudo apt-get install motion
Steg 3: Ställ nu Motion daemon till ja genom att redigera filen: / etc / default / motion så att den alltid kommer att köras. Redigera den här filen med 'nano' -redigeraren med 'sudo' som anges nedan:
sudo nano / etc / default / motion
Spara sedan filen genom att trycka på 'CTRL + X', sedan 'Y' och Enter.
Steg 4: Nu måste vi ställa in behörigheten för Target Directory (/ var / lib / motion /), där Motion sparar alla videoinspelningar och bildfiler. Vi måste ställa in 'Motion' som ägare till den här katalogen genom att utfärda kommandot nedan:
sudo chown rörelse: rörelse / var / lib / rörelse /
Denna behörighet är nödvändig annars kommer du att komma under fel när du kontrollerar rörelsestatusstatus med det här kommandot: sudo service rörelsesstatus
Steg 5: Nu är vi nästan klara, bara vi behöver ändra ett konfigurationsalternativ i Motion-konfigurationsfilen (/etc/motion/motion.conf ) som är stream_localhost off. Vi måste stänga av den här lokala värdströmningen, annars kommer vi inte att kunna komma åt videoflöden i vårt nätverk och det kommer bara att vara tillgängligt från själva Raspberry Pi. För att göra det, redigera Motion Configuration-filen med 'nano' -redigeraren och stäng av den, som visas nedan:
sudo nano /etc/motion/motion.conf
Nu är vi klara och redo att få vårt live-flöde från USB-webbkameran ansluten till Pi. Starta bara Motion-tjänsten med kommandot nedan och öppna din Raspberry Pi's IP, med port 8081, i din webbläsare (som 192.168.1.103:8081):
sudo /etc/init.d/motion start
Och du kommer att se direktsändningen från din webbkamera som nedan. Här har vi använt en billig USB-webbkamera (Quantum webbkamera QHM500LM), som fungerade smidigt med vår Raspberry Pi, men du kan vidare använda en kamera av god kvalitet för bättre upplösning.
Som det kommer att visas i webbläsaren kan du använda vilken enhet som helst, för att titta på flödet, som stöder webbläsare som mobil, surfplatta etc. Nedan är en ögonblicksbild från mobiltelefon:
Du kan alltid starta, stoppa, starta om och få status för Motion-tjänsten med hjälp av fyra kommandon:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stopp sudo service rörelse starta sudo service rörelse status
eller så kan du starta om Raspberry Pi som ett felsökningssteg vid behov:
omstart av sudo
Obs! Om du är Raspberry Pi-modell under version 3 kan du behöva en Wi-Fi-dongel för att trådlöst ansluta hallon Pi till routern. Raspberry Pi 3 har inbyggt Wi-Fi. Här har vi använt Raspberry Pi 2 Model B med en Wi-Fi-dongel.
Anpassa mediainställningar i rörelse:
Så vi har nu vår övervakningskamera igång och arbetar. Nu kan vi titta på några mycket användbara konfigurationsalternativ, med vilka vi kan optimera det efter vårt behov och kan få mycket imponerande resultat. I rörelsekonfigurationsfilen förklaras alla inställningar mycket snyggt med sitt standardvärde och rekommenderade värde, bara kontrollera det med kommandot nedan:
sudo nano /etc/motion/motion.conf
Förutom att få liveströmmen spelar Motion in och sparar videofiler när den upptäcker rörelse. Så du kan justera bildfrekvensen, kvaliteten, bredden / höjden på strömmande videor. Du kan ställa in bildfrekvensen hög för videor i realtid, men ditt nätverk måste vara tillräckligt snabbt för det här. Nedan följer de värden som vi har använt, du kan ändra dem i enlighet med detta:
# Bildbredd (pixlar). Giltigt intervall: Kameraberoende, standard: 352 bredd 640 # Bildhöjd (pixlar). Giltigt intervall: Kameraberoende, standard: 288 höjd 480 # Maximalt antal bilder som ska fångas per sekund. # Giltigt intervall: 2-100. Standard: 100 (nästan ingen gräns). framerate 50 stream_quality 90
Det kommer att vara bra att spara några bilder innan och efter det upptäcker rörelsen och börja spela in videon. Använd inställningarna nedan för det:
# Anger antalet förinspelade (buffrade) bilder från innan rörelse # detekterades som kommer att matas ut vid rörelsedetektering. # Rekommenderat intervall: 0 till 5 (standard: 0) förfångad 0 # Antal bilder att ta efter rörelse upptäcks inte längre (standard: 0) efterfångande 0
Rörelse tar som standard för många bilder när den upptäcker rörelse och du kommer att få så många "jpg" -filer för en liten rörelse. Så det kommer att vara bra att antingen ställa in den här inställningen ( output_pictures av ) eller sätta den till "bäst":
output_pictures bäst
Du kan också ta ögonblicksbilder med jämna mellanrum, definierade av dig, genom att använda alternativet nedan:
# Gör automatiserad ögonblicksbild varannan sekund (standard: 0 = inaktiverad) snapshot_interval 0
De mest attraktiva funktionerna för mig är timelapse Video, det är ett mycket bra arrangemang för vackra timelapse-videor till mycket låga kostnader. Här kan du definiera intervallet för ögonblicksbilderna för Timelapse Video:
# Standardvärde 0 = av - annars sparar du ramen var tionde sekund ffmpeg_timelapse 2
Du kan ändra målkatalogen för att spara alla inspelade filer och bilder genom att använda 'target_dir' och glöm inte att ställa in 'Motion' som ägare till den här katalogen, som förklarats tidigare.
# Målbaskatalog för bilder och filmer # Rekommenderas att använda absolut sökväg. (Standard: aktuell arbetskatalog) target_dir / var / lib / motion
Du kan ändra webbströmningsporten (standard är 8081):
# Mini-http-servern lyssnar på den här porten för förfrågningar (standard: 0 = inaktiverad) stream_port 8081
Om du inte vill ha en lång videofil kan du instruera Motion att göra flera klipp av viss varaktighet istället för en stor fil. Du kan nämna klippets varaktighet i sekunder (0 för oändlig):
# Maximal längd i sekunder av en film # När värdet överskrids skapas en ny filmfil. (Standard: 0 = oändlig) max_movie_time 30
Du kan också bestämma hur du definierar en rörelse och kan ställa in antalet pixlar eller ramar som behöver ändras för att detektera en sann rörelse:
# Tröskel för antalet ändrade pixlar i en bild som # utlöser rörelsedetektering (standard: 1500) tröskel 1500 # Bildramar måste innehålla rörelse åtminstone det angivna antalet bilder # i rad innan de detekteras som äkta rörelse. Som standard 1, upptäcks all # rörelse. Giltigt intervall: 1 till tusentals, rekommenderas 1-5 minimum_motion_frames 5
Som standard sparar Motions loggarna i 'syslog' men du kan definiera dedikerad loggfil för Motion:
# Använd en fil för att spara loggmeddelanden, om inte definierad stderr och syslog används. (standard: ej definierad) loggfil /tmp/motion.log
Glöm inte att spara och starta om Motion-tjänsten efter att du har ändrat någon inställning. För att spara motion.conf, tryck CTRL + X, sedan Y och sedan Enter.
Så det här är några vanliga inställningar som kan användas för att uppnå bra resultat. Men om du är nyfiken gräver du konfigurationsfilen mer och börjar spela med inställningar. Det finns många alternativ för att ställa in ljusstyrka, kontrast, bithastighet, utlösare, lösenordsautentisering och många fler.
Så här får du videoflöde över internet:
Här har vi övervakat webbkamerans flöde över det lokala nätverket med hjälp av Raspberry Pi: s lokala IP. Men om du vill övervaka den var som helst över internet måste du ställa in vidarebefordran av port i din router / modem. I grund och botten måste du vidarebefordra port 80 (används för HTTP eller internet) till din lokala eller privata IP-adress av dig Raspberry Pi (som (192.168 * i vårt fall). Efter att porten vidarebefordras kommer alla inkommande anslutningar till port 80 att vidarebefordras till den här lokala adressen och du kan titta på liveströmmen genom att ange din offentliga IP-adress på internet med streaming port som vi har ställt in tidigare (8081). Varje router har olika användargränssnitt för att konfigurera Port Forwarding, så att du kan logga in på din router (192.168.1.1) och kan hitta alternativet för samma. Men kom ihåg att för att komma åt Raspberry Pi via internet måste du ha en statisk offentlig IP-adress och den ska inte ändras vid varje omstart av modemet. Statisk IP-adress tillhandahålls av din ISP.
Så det här är hur vi enkelt kan ställa in en mycket låg kostnadskamera med Raspberry Pi och en enkel webbkamera.