Innehållsförteckning:

Pizero Motion Detect Webcam Security System: 3 steg
Pizero Motion Detect Webcam Security System: 3 steg

Video: Pizero Motion Detect Webcam Security System: 3 steg

Video: Pizero Motion Detect Webcam Security System: 3 steg
Video: cctv server MotionEye on Ubuntu 18.04 LTS ESP32 Cam - Part3 (Subtittled) 2024, November
Anonim
Pizero Motion Detect Webcam Security System
Pizero Motion Detect Webcam Security System

Detta system använder en pizero, wifi -dongel och en gammal webbkamera i ett anpassat matchbox -fodral. Det spelar in videor för rörelsedetektering vid 27 bps av någon betydande rörelse på min uppfart. Det laddar sedan upp klippen till ett dropbox -konto. Kan också se loggarna och ändra konfigurationen via dropbox.

Steg 1: Konfigurera förutsättningarna

Image
Image

Uppdatera först operativsystemet till den senaste versionen enligt beskrivningen här.

Ställ sedan in wifi enligt beskrivningen här.

Då måste du konfigurera OpenCv. Det finns bra instruktioner om hur du gör detta på pyimagesearch. Om du går för version 3.0 förväntar du dig att det tar lång tid. Ett av stegen tar 9 timmar att göra. Du behöver också pythonbindningarna som förklaras på den sidan.

När allt är igång är du redo att ladda ner programvaran för rörelsedetektering.

Steg 2: Konfigurera programmet Motion Detect

Få tillgång till videor och konfiguration via Dropbox
Få tillgång till videor och konfiguration via Dropbox

Koden finns på bitbucket. Kopiera dessa filer med

git -klon

eller om du föredrar ladda ner dem individuellt.

Huvuddelen av detta system är multiMotionDetect.py. Den använder många av multiprocessing -köerna och händelserna.

Först och främst måste du bestämma var du vill att videobilderna ska lagras MotionVideos och ställa in detta värde i filen globalConfig.json. Kopiera sedan config.json.txt och maskedAreas.json.txt till roten i den här mappen. Config.json.txt har följande inställning som kan redigeras på distans.

}

FrameThreshold: är antalet betydande bildrutor innan rörelse detekteras.

staticThreshold: är antalet statiska bildrutor innan vi stänger av filmning.

minArea: är områdets minsta storlek för att räknas som signifikant.

postSeconds: Detta är antalet sekunder från filmens slut för att rörelsen ska gå igenom kön. readCamNice: Detta är hur mycket prioritet som ska ges till

readCam -process. Detta är mellan -20 och +20 (ju lägre siffra desto högre prioritet). Men överdriv inte, annars kraschar du operativsystemet.

checkMotionNice: Prioriteten för rörelsedetekteringsprocessen.

writeCamNice: Prioriteten för kamerans skrivprocess.

maxqsize: Detta är antalet sekunder som sedan multipliceras med bildrutor per sekund.

Jag ändrar mestadels min_området för att ta hänsyn till vindförhållandena.

Om du hellre vill använda en enkel logger än socketloggern (nedan) ändrar du importmiaLogging till

importera loggning

logging.basicConfig (filename = 'example.log', level = logging. DEBUG)

och ta bort loggmottagaren från motionDetect -filen och allt annat ska fungera bra.

Om du vill köra rörelsedetektorn automatiskt vid start.

Redigera först skriptet och kontrollera att homedir pekar dit du har multiMotionDetect.py, kopiera sedan motionDetect -filen till /etc/init.d ie

cp motionDetect /etc/init.d/motionDetect

Bör redan köras men

chmod +x /etc/init.d/motionDetect

Slutligen registrera manuset med

sudo update-rc.d motionDetect standardvärden

Du kan också starta, stoppa och starta om systemet med

sudo /etc/init.d/motionDetect start | stop | restart

Som standard startar miaLogReceiver -uttagsloggen samtidigt. De andra tre programmen är oberoende men använder samma socket -logger (men kan enkelt konverteras). Jag kallar alla dessa med ett cron -skript med olika intervall. För instruktioner, titta här.

CheckRunning.py kontrollerar att multiMotionDetect.py körs och startar om om inte.

fileMaint.py gör hushållning på videomapparna och tar bort dessa efter det angivna antalet dagar. Det tar bort underkataloger i rörelsevideomappen som anges i första stycket. Det kontrollerar att de börjar med "MV" så se till att du inte har en annan katalog med betydelse som börjar med samma tecken i den mappen.

Steg 3: Få tillgång till videor och konfiguration via Dropbox

Slutligen, om du vill se dina videor, loggar och konfigurationsfiler på distans måste du konfigurera dropbox.

Skaffa först ett dropbox -konto som är gratis. Ställ sedan in API för python -https://www.dropbox.com/developers/documentation/… Detta inkluderar nedladdning av sdk och registrering av appen för att komma åt API: et.

När du har en nyckel anger du den i filen globalConfig.json. Mer information om systemet finns på min blogg dani cymru - cyber renegade Om du hittar något av intresse eller några frågor vänligen kommentera bloggen.

Rekommenderad: