- Bouw snel Motion Capture-beveiligingscamera met Raspberry Pi:
- Media-instellingen in Motion aanpassen:
- Hoe u de videofeed via internet kunt krijgen:
Beveiliging is tegenwoordig een grote zorg en er zijn tegenwoordig veel technologieën aanwezig om uw plaats te beveiligen en te bewaken. Bewakingscamera's zijn erg handig om uw huis of kantoor in de gaten te houden. Hoewel de prijzen van dit soort camera's sinds het begin aanzienlijk zijn verlaagd, zijn IP-camera's, die de datum via het netwerk kunnen verzenden en ontvangen, erg duur. En voor True Surveillance moet een camera de mogelijkheid hebben om zijn feed over het internet te verzenden, zodat deze overal ter wereld kan worden bekeken.
Vandaag maken we een zeer goedkope Surveillance Motion Capture Camera met Raspberry Pi en een webcam. Dit is een geweldige en zeer goedkopere beveiligingstool, die veel configureerbare opties heeft en in enkele minuten kan worden gebouwd. Hier gebruiken we alleen Raspberry Pi en een USB-webcamera om deze Motion Capture-camera te bouwen. We hebben Raspbian Jessie OS geïnstalleerd op ons Raspberry Pi-bord. U moet dit artikel raadplegen om het Raspbian-besturingssysteem te installeren en aan de slag te gaan met Raspberry Pi.
Hier zullen we eerst een snelstartgids doorlopen, zodat u uw bewakingscamera binnen enkele minuten klaar kunt hebben met alle standaardconfiguraties en daarna zullen we ingaan op de andere details en configuratie-opties om deze aan te passen aan uw behoeften.
Maar laten we eerst iets weten over de Motion (Surveillance Software), de kern van dit project. Motion is gratis, open source CCTV-software voor bewegingsdetectoren, ontwikkeld voor Linux. Het detecteert de beweging en begint er video van op te nemen. Met 'Motion' geïnstalleerd in uw Raspberry Pi, kunt u uw Raspberry Pi op magische wijze in een beveiligingscamera veranderen en krijgt u de volgende functionaliteiten:
1. U kunt Live Video-feed bekijken in een webbrowser door het IP-adres van Pi samen met de poort in te voeren.
2. Het zal de video opnemen en opslaan wanneer het beweging of enige storing in het weergavegebied detecteert. Het blijft de video opnemen totdat er beweging is, daarna stopt het en slaat het bestand op, dat later kan worden bekeken.
3. Het kan een prachtige Timelapse-video maken.
4. Het kan snapshots maken met regelmatige tussenpozen of wanneer er beweging is. Momentopnamen worden ook op de schijf opgeslagen voor later gebruik.
Afgezien daarvan heeft het verschillende configuratie-opties die we binnenkort zullen bespreken en we kunnen ook door de gebruiker gedefinieerde 'triggers' instellen voor bepaalde evenementen. Motion ondersteunt momenteel alleen USB-camera uit de doos, als je Pi Camera wilt gebruiken, moet je een speciale build van Motion gebruiken.
Bouw snel Motion Capture-beveiligingscamera met Raspberry Pi:
Hier hoeft u slechts een paar opdrachten uit te voeren om uw eerste videofeed via het netwerk te krijgen. Controleer daarvoor eerst of uw Raspberry Pi is verbonden met internet, via LAN of Wi-Fi, en volg de onderstaande stappen:
Stap 1: Voer eerst de onderstaande opdracht uit om het Raspbian-besturingssysteem op Raspberry Pi bij te werken:
sudo apt-get update
Stap 2: Vervolgens installeer Library 'Motion' met behulp van de onderstaande commando:
sudo apt-get install motion
Stap 3: Nu zetten Motion daemon ja door bewerken van het bestand: / etc / default / beweging , zodat het altijd zal worden uitgevoerd. Bewerk dit bestand met de 'nano'-editor met' sudo 'zoals hieronder weergegeven:
sudo nano / etc / default / motion
Sla vervolgens het bestand op door op 'CTRL + X', vervolgens op 'Y' en Enter te drukken.
Stap 4: Nu moeten we de toestemming instellen voor de doeldirectory (/ var / lib / motion /), waarin Motion alle video-opnamen en fotobestanden opslaat. We moeten 'Motion' instellen als eigenaar van deze map door het onderstaande commando te geven:
sudo chown motion: motion / var / lib / motion /
Deze toestemming is nodig, anders krijgt u de onderstaande foutmelding wanneer u de Motion-servicestatus controleert met behulp van deze opdracht: sudo service motion status
Stap 5: Nu zijn we bijna klaar, we hoeven alleen nog maar één configuratieoptie in het Motion-configuratiebestand (/etc/motion/motion.conf ) te wijzigen, namelijk stream_localhost uit. We moeten deze lokale host-streaming uitschakelen, anders hebben we geen toegang tot de videofeed op ons netwerk en is deze alleen toegankelijk vanaf de Raspberry Pi zelf. Bewerk hiervoor het Motion Configuration-bestand met de 'nano'-editor en schakel het uit, zoals hieronder weergegeven:
sudo nano /etc/motion/motion.conf
Nu zijn we klaar en klaar om onze live feed te krijgen van de USB-webcamera die op Pi is aangesloten. Start gewoon de Motion-service met behulp van het onderstaande commando en open het IP-adres van uw Raspberry Pi, met poort 8081, in uw browser (zoals 192.168.1.103:8081):
sudo /etc/init.d/motion start
En je ziet de live feed van je webcamera zoals hieronder. Hier hebben we een goedkope USB-webcamera (Quantum-webcamera QHM500LM) gebruikt, die soepel werkte met onze Raspberry Pi, maar je kunt verder een camera van goede kwaliteit gebruiken voor een betere resolutie.
Zoals het in de browser zal laten zien, kunt u elk apparaat gebruiken om de feed te bekijken, die webbrowser ondersteunt, zoals mobiel, tablet enz. Hieronder is een momentopname van mobiele telefoon:
U kunt de Motion-service altijd starten, stoppen, opnieuw opstarten en de status van de Motion-service krijgen met behulp van de onderstaande vier opdrachten:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion herstart sudo service motion status
of u kunt de Raspberry Pi indien nodig opnieuw opstarten als stap voor probleemoplossing:
sudo opnieuw opstarten
Opmerking: als u een Raspberry Pi-model onder de versie 3 bent, hebt u mogelijk een Wi-Fi-dongle nodig om de Raspberry Pi draadloos met de router te verbinden. Raspberry Pi 3 heeft ingebouwde Wi-Fi. Hier hebben we Raspberry Pi 2 Model B met een wifi-dongle gebruikt.
Media-instellingen in Motion aanpassen:
Dus we laten nu onze bewakingscamera draaien en werken. Nu kunnen we enkele zeer nuttige configuratie-opties bekijken, waarmee we deze kunnen optimaliseren volgens onze behoefte en zeer indrukwekkende resultaten kunnen krijgen. In het Motion Configuration-bestand worden alle instellingen heel mooi uitgelegd met hun standaard en opnieuw gestarte waarde, controleer het gewoon met het onderstaande commando:
sudo nano /etc/motion/motion.conf
Behalve het ophalen van de live feed, neemt Motion videobestanden op en slaat deze op wanneer het Motion detecteert. Je kunt dus de framerate, kwaliteit, breedte / hoogte van de streaming video's aanpassen. Je kunt de framesnelheid hoog instellen voor realtime video's, maar je netwerk moet hiervoor snel genoeg zijn. Hieronder staan de waarden die we hebben gebruikt, u kunt ze dienovereenkomstig wijzigen:
# Afbeeldingsbreedte (pixels). Geldig bereik: camera-afhankelijk, standaard: 352 breedte 640 # Beeldhoogte (pixels). Geldig bereik: camera-afhankelijk, standaard: 288 hoogte 480 # Maximaal aantal op te nemen frames per seconde. # Geldig bereik: 2-100. Standaard: 100 (bijna geen limiet). framerate 50 stream_quality 90
Het is goed om enkele foto's op te slaan voor en nadat het de beweging heeft gedetecteerd en de video op te nemen. Gebruik daarvoor onderstaande instellingen:
# Specificeert het aantal vooraf vastgelegde (gebufferde) foto's van voordat beweging # werd gedetecteerd, dat wordt uitgevoerd bij bewegingsdetectie. # Aanbevolen bereik: 0 tot 5 (standaard: 0) pre_capture 0 # Aantal op te nemen frames nadat er geen beweging meer is gedetecteerd (standaard: 0) post_capture 0
Beweging neemt standaard te veel foto's wanneer het Beweging detecteert en je krijgt zoveel 'jpg'-bestanden voor een kleine beweging. Het is dus goed om deze instelling ( output_pictures off ) uit te zetten of op 'best' te zetten:
output_pictures beste
U kunt ook met regelmatige tussenpozen, door u gedefinieerde, snapshots maken door onderstaande optie te gebruiken:
# Maak elke N seconden een automatische snapshot (standaard: 0 = uitgeschakeld) snapshot_interval 0
De meest aantrekkelijke eigenschap voor mij is timelapse-video, het is een heel goed arrangement voor mooie timelapse-video's tegen zeer lage kosten. Hier kunt u het interval voor de snapshots voor timelapse-video definiëren:
# Standaardwaarde 0 = uit - anders frame opslaan elke Nde seconde ffmpeg_timelapse 2
U kunt de doeldirectory wijzigen om alle opgenomen bestanden en afbeeldingen op te slaan met 'target_dir' en vergeet niet 'Motion' in te stellen als eigenaar van deze directory, zoals eerder uitgelegd.
# Doelbasismap voor afbeeldingen en films # Aanbevolen om absoluut pad te gebruiken. (Standaard: huidige werkmap) target_dir / var / lib / motion
U kunt de webstreamingpoort wijzigen (standaard is 8081):
# De mini-http-server luistert naar deze poort voor verzoeken (standaard: 0 = uitgeschakeld) stream_port 8081
Als u geen lang videobestand wilt, kunt u Motion opdracht geven om meerdere clips van een bepaalde duur te maken in plaats van één groot bestand. U kunt de duur van de clips in seconden vermelden (0 voor oneindig):
# Maximale lengte in seconden van een film # Wanneer de waarde wordt overschreden, wordt een nieuw filmbestand gemaakt. (Standaard: 0 = oneindig) max_movie_time 30
U kunt ook beslissen hoe u een beweging definieert en het aantal pixels of frames instellen dat moet worden gewijzigd om een True Motion te detecteren:
# Drempelwaarde voor het aantal gewijzigde pixels in een afbeelding dat # bewegingsdetectie activeert (standaard: 1500) drempel 1500 # Fotolijsten moeten minstens het gespecificeerde aantal frames # achter elkaar bevatten voordat ze als ware beweging worden gedetecteerd. Bij de standaardinstelling 1 wordt alle # beweging gedetecteerd. Geldig bereik: 1 tot duizenden, aanbevolen 1-5 minimum_motion_frames 5
Standaard slaat Motions de logboeken op in 'syslog', maar u kunt een speciaal logbestand voor Motion definiëren:
# Gebruik een bestand om logboekberichten op te slaan, indien niet gedefinieerd, worden stderr en syslog gebruikt. (standaard: niet gedefinieerd) logfile /tmp/motion.log
Vergeet niet de Motion-service op te slaan en opnieuw te starten nadat u een instelling hebt gewijzigd. Om motion.conf op te slaan, drukt u op CTRL + X, vervolgens op Y en vervolgens op Enter.
Dit zijn dus enkele veelgebruikte instellingen die kunnen worden gebruikt om goede resultaten te behalen. Maar als je nieuwsgierig bent, graaf dan het configuratiebestand meer en begin met spelen met instellingen. Er zijn veel opties om helderheid, contrast, bitsnelheid, triggers, wachtwoordverificatie en nog veel meer in te stellen.
Hoe u de videofeed via internet kunt krijgen:
Hier hebben we de feed van de webcam over het lokale netwerk gecontroleerd met behulp van het lokale IP-adres van Raspberry Pi. Maar als u het overal via internet wilt monitoren, moet u Port Forwarding in uw router / modem instellen. In principe moet u poort 80 (gebruikt voor HTTP of internet) doorsturen naar uw lokale of privé IP-adres van je Raspberry Pi (zoals (192.168 * in ons geval). Na port forwarding worden alle inkomende verbindingen naar poort 80 doorgestuurd naar dit lokale adres en kun je de live feed bekijken door je openbare IP-adres op internet in te voeren met de streaming poort die we eerder hebben ingesteld (8081). Elke router heeft een andere gebruikersinterface voor het instellen van Port Forwarding, zodat u kunt inloggen op uw router (192.168.1.1) en de optie daarvoor kunt vinden. Maar onthoud dat, om toegang te krijgen tot de Raspberry Pi via internet moet u een statisch openbaar IP-adres hebben en het mag niet worden gewijzigd bij elke herstart van de modem. Statisch IP-adres wordt verstrekt door uw ISP.
Dit is dus hoe we eenvoudig een zeer goedkope bewakingscamera kunnen instellen door Raspberry Pi en een eenvoudige webcamera te gebruiken.