Inhoudsopgave:

Pizero Bewegingsdetectie Webcam Beveiligingssysteem - Ajarnpa
Pizero Bewegingsdetectie Webcam Beveiligingssysteem - Ajarnpa

Video: Pizero Bewegingsdetectie Webcam Beveiligingssysteem - Ajarnpa

Video: Pizero Bewegingsdetectie Webcam Beveiligingssysteem - Ajarnpa
Video: Raspberry Pi Zero W Surveillance Camera 2024, November
Anonim
Pizero Bewegingsdetectie Webcam Beveiligingssysteem
Pizero Bewegingsdetectie Webcam Beveiligingssysteem

Dit systeem maakt gebruik van een pizero, wifi-dongle en een oude webcam in een op maat gemaakt luciferdoosje. Het neemt bewegingsdetectievideo's op met 27 fps van elke significante beweging op mijn oprit. Vervolgens uploadt het de clips naar een dropbox-account. Kan ook de logs bekijken en de configuratie wijzigen via dropbox.

Stap 1: De vereisten instellen

Image
Image

Werk eerst het besturingssysteem bij naar de nieuwste versie zoals hier beschreven.

Stel dan de wifi in zoals hier beschreven.

Dan moet u OpenCv instellen. Er zijn goede instructies om dit te doen op pyimagesearch. Als je voor versie 3.0 gaat, verwacht dan dat het lang zal duren. Een van de stappen duurt 9 uur om te maken. Je hebt ook de pythonbindingen nodig die op die pagina worden uitgelegd.

Wanneer je dit allemaal in gebruik hebt genomen, ben je klaar om de bewegingsdetectiesoftware te downloaden.

Stap 2: De bewegingsdetectiesoftware instellen

Toegang tot de video's en configuratie via Dropbox
Toegang tot de video's en configuratie via Dropbox

De code is te vinden op bitbucket. Kopieer deze bestanden met

git clone

of als u ze liever afzonderlijk downloadt.

Het belangrijkste onderdeel van dit systeem is multiMotionDetect.py. Het gebruikt veel van de multiprocessing-wachtrijen en gebeurtenissen.

Allereerst moet u beslissen waar u de videobeelden wilt opslaan MotionVideos en deze waarde instellen in het globalConfig.json-bestand. Kopieer vervolgens de config.json.txt en maskedAreas.json.txt naar de hoofdmap van deze map. De config.json.txt heeft de volgende instelling die op afstand kan worden bewerkt.

{ "frameThreshold": "4", "staticThreshold":"100", "min_area":"650", "postSeconds":"7", "readCamNice":"-6", "checkMotionNice":"5", "writeCamNice":"5", "maxqsize":"6"

}

FrameThreshold: is het aantal significante frames voordat beweging wordt gedetecteerd.

staticThreshold: is het aantal statische frames voordat we het filmen uitschakelen.

minArea: is de minimale grootte van het gebied om als significant te worden geteld.

postSeconds: dit is het aantal seconden vanaf het einde van de opname waarin de beweging door de wachtrij gaat. readCamNice: Dit is hoeveel prioriteit moet worden gegeven aan de

readCam-proces. Dit ligt tussen -20 en +20 (hoe lager het cijfer, hoe hoger de prioriteit). Maar overdrijf het niet, anders crasht het besturingssysteem.

checkMotionNice: De prioriteit voor het bewegingsdetectieproces.

writeCamNice: De prioriteit van het cameraschrijfproces.

maxqsize: Dit is het aantal seconden dat vervolgens wordt vermenigvuldigd met de frames per seconde.

Ik verander meestal alleen het min_area om rekening te houden met windomstandigheden.

Als u liever een eenvoudige logger gebruikt in plaats van de socket logger (hieronder), wijzigt u de import miaLogging in

logboekregistratie importeren

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

en verwijder de log-ontvanger uit het motionDetect-bestand en al het andere zou goed moeten werken.

Als u de bewegingsdetectie automatisch wilt laten lopen bij het opstarten.

Bewerk eerst het script en controleer of de homedir verwijst naar waar je multiMotionDetect.py hebt, kopieer dan het motionDetect-bestand naar /etc/init.d ie

cp motionDetect /etc/init.d/motionDetect

Zou al uitvoerbaar moeten zijn, maar

chmod +x /etc/init.d/motionDetect

Registreer ten slotte het script met

sudo update-rc.d motionDetect standaardinstellingen

U kunt het systeem ook starten, stoppen en herstarten met

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

Standaard start het loggen van de miaLogReceiver-socket op hetzelfde moment. De andere drie programma's zijn onafhankelijk maar gebruiken dezelfde socket logger (maar kunnen gemakkelijk worden geconverteerd). Ik noem deze allemaal met behulp van een cron-script met verschillende intervallen. Voor instructies kijk hier.

CheckRunning.py controleert of multiMotionDetect.py actief is en start opnieuw op als dat niet het geval is.

fileMaint.py doet het huishouden op de videomappen en verwijdert deze na het opgegeven aantal dagen. Het verwijdert submappen van de filmmap met bewegende beelden die in de eerste alinea is ingesteld. Het controleert of ze beginnen met "MV", dus zorg ervoor dat je geen andere belangrijke directory hebt die met dezelfde tekens in die map begint.

Stap 3: Toegang tot de video's en configuratie via Dropbox

Als je tot slot je video's, logs en configuratiebestanden op afstand wilt bekijken, moet je dropbox instellen.

Ontvang eerst een dropbox-account dat gratis is. Stel vervolgens de API in voor python -https://www.dropbox.com/developers/documentation/… Dit omvat het downloaden van de SDK en het registreren van de app om toegang te krijgen tot de API.

Als u een sleutel hebt, voert u die in het bestand globalConfig.json in. Meer informatie over het systeem is te vinden op mijn blog dani cymru - cyber renegade. Als je iets interessants of vragen vindt, plaats dan een reactie op de blog.

Aanbevolen: