Inhoudsopgave:

IP-camera met behulp van de Raspberry Pi Zero (Home Surveillance Part 1) - Ajarnpa
IP-camera met behulp van de Raspberry Pi Zero (Home Surveillance Part 1) - Ajarnpa

Video: IP-camera met behulp van de Raspberry Pi Zero (Home Surveillance Part 1) - Ajarnpa

Video: IP-camera met behulp van de Raspberry Pi Zero (Home Surveillance Part 1) - Ajarnpa
Video: Hacking IP Cameras with master hacker OccupyTheWeb 2024, November
Anonim
IP-camera met behulp van de Raspberry Pi Zero (Home Surveillance Part 1)
IP-camera met behulp van de Raspberry Pi Zero (Home Surveillance Part 1)

Dit is de eerste post in een nieuwe miniserie, waarin we een thuisbewakingssysteem bouwen, voornamelijk met Raspberry Pis. In dit bericht gebruiken we een Raspberry PI zero en maken we een IP-camera die video streamt via RTSP. De output video is van een veel hogere kwaliteit in vergelijking met het vorige voorbeeld en zelfs het esp32-cam board. Standaard is het ingesteld om 1080-video uit te voeren met 30 fps met een bitsnelheid van 2 Mbps, maar deze kunnen allemaal worden bijgewerkt om aan uw behoeften te voldoen.

De video hierboven leidt je door het hele proces en ik raad je aan die eerst te bekijken om een overzicht te krijgen van hoe het allemaal in elkaar steekt.

Stap 1: Verzamel de componenten

Verzamel de componenten
Verzamel de componenten

We zullen hier een Raspberry Pi zero gebruiken, vooral omdat deze compact en goedkoper is in vergelijking met de andere varianten. Dit werkt echter ook met elke andere Raspberry Pi-variant.

Dit zijn de belangrijkste componenten die we nodig hebben:

  • Raspberry Pi-bord
  • micro SD kaart
  • Cameramodule
  • Geschikte camerakabel
  • Geschikte stroombron:
  • USB-kaartlezer om toegang te krijgen tot de kaart en de inhoud ervan

Stap 2: Laad het besturingssysteem

Laad het besturingssysteem
Laad het besturingssysteem
Laad het besturingssysteem
Laad het besturingssysteem
Laad het besturingssysteem
Laad het besturingssysteem

Het eerste dat we moeten doen, is een besturingssysteem op de microSD-kaart laden. Ga hiervoor naar het downloadgedeelte van de Raspberry Pi-website en download het Raspbian Lite OS.

www.raspberrypi.org/downloads/raspbian/

Download en installeer vervolgens Etcher, als je dit nog niet hebt. Selecteer de afbeelding die je hebt gedownload, zorg ervoor dat je de microSD-kaart hebt geselecteerd en klik vervolgens op de knop Flash. Wacht tot het is voltooid.

Vervolgens moeten we wifi-netwerken inschakelen door het bestand wpa_supplicant.conf in de opstartschijf te maken. U kunt ook de volgende sjabloon downloaden en bijwerken met uw gegevens - landcode, netwerknaam en wachtwoord. Het wordt aanbevolen om hiervoor een teksteditor zoals notepad++ of sublime te gebruiken.

www.bitsnblobs.com/wp-content/uploads/2020/05/wpa_supplicant.txt

Het laatste dat u nog moet doen, is SSH inschakelen. Dit stelt ons in staat om op afstand toegang te krijgen tot de Raspberry Pi en deze te bedienen, via een netwerk. Dit doen is eenvoudig. Gebruik gewoon een van de hierboven genoemde teksteditors om een nieuw bestand aan te maken en sla het vervolgens op op de bootdrive met de naam "ssh". U hoeft geen extensie aan het bestand toe te voegen.

We zijn nu klaar om het bord AAN te zetten, dus plaats de microSD-kaart in het bord en sluit de camera aan met behulp van de kabel. Wees voorzichtig met de connectorlipjes, ze zijn een beetje delicaat. Als u klaar bent, plaatst u een microUSB-kabel en zet u het bord AAN. Het duurt ongeveer een minuut om volledig op te starten, dus geef het wat tijd.

Om met het bord te communiceren via ssh, hebben we het IP-adres van het bord nodig. Download en installeer AngryIP-scanner omdat dit ons zal helpen het te verkrijgen. U kunt zelfs de oudere versie downloaden op Windows, waarvoor geen installatie nodig is. Als u klaar bent, voert u het IP-bereik in zoals weergegeven in de afbeelding en drukt u op de startknop. Wacht tot het het bord detecteert en noteer dan het IP-adres. Het IP-adres van mijn bord is 192.168.1.35

Stap 3: SSH invoeren en voorbereiden van het besturingssysteem

Open een opdrachtpromptvenster door "cmd' in het startmenu in te typen. U kunt de terminal gebruiken als u Mac OS gebruikt. Typ vervolgens "ssh [email protected]" en druk op enter. Vergeet niet het IP-adres te gebruiken adres dat overeenkomt met uw bord. Het zal u vragen of u de sleutel wilt authenticeren/opslaan. Typ ja en druk op de enter-toets. Het zal u dan om een wachtwoord vragen, dus voer "raspberry" in, wat het standaardwachtwoord is, en druk dan nogmaals op enter. Hiermee log je in op het bord.

Voordat we aan het eigenlijke script kunnen werken, moeten we de cameramodule inschakelen. Dit kan gedaan worden door de opdracht "sudo raspi-config" uit te voeren. Navigeer naar de "Interfacing-opties", dan "Camera" en druk op enter. Selecteer "ja" wanneer u wordt gevraagd of u de camera wilt inschakelen en navigeer vervolgens naar de optie "Voltooien". Het zal u vragen of u opnieuw wilt opstarten. Selecteer "ja" en wacht tot het bord opnieuw is opgestart. Geef het bord een minuut en ssh er dan weer in zoals voorheen.

Vervolgens is het een goed idee om het besturingssysteem bij te werken, dus typ "sudo apt update" en druk op enter. Typ vervolgens sudo apt full-upgrade" en druk op enter. Volg de prompt op het scherm om de updates te installeren. Dit kan even duren, afhankelijk van je internetverbinding, dus heb wat geduld.

Ten slotte moeten we vlc installeren en dit kan worden gedaan door de opdracht "sudo apt-get install vlc" uit te voeren. Volg eventuele aanwijzingen en wacht tot het is voltooid. U kunt nu verder gaan met het maken van het script.

Stap 4: Maak en test het script

Het script maken en testen
Het script maken en testen
Het script maken en testen
Het script maken en testen

Om het script te maken, voert u de volgende opdracht "sudo nano rtsp-stream.sh" uit. Dit opent een teksteditor en u kunt vervolgens de inhoud van het script typen dat hieronder wordt weergegeven:

#!/bin/bash

raspivid -o - -t 0 -rot 180 -w 1920 -h 1080 -fps 30 -b 2000000 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/stream}':demux=h264

We creëren eenvoudig een videostream met behulp van de opdracht raspivid en maken deze vervolgens beschikbaar via het netwerk met behulp van VLC. U kunt de resolutie, framesnelheid en bitrate naar wens bijwerken. De volgende link brengt u naar de relevante pagina die enige documentatie bevat.

www.raspberrypi.org/documentation/usage/camera/raspicam/raspivid.md

Zodra dit is gebeurd, drukt u op de toetsen "CTRL+X" en wordt u gevraagd om het bestand op te slaan. Typ "y" en druk op enter om op te slaan. We moeten dit script dan uitvoerbaar maken en dat kan door het commando "chmod +x rtsp-stream.sh" uit te voeren. Om het script uit te voeren, typt u gewoon "./rtsp-stream.sh" en drukt u op enter. Hierdoor wordt de stream ingeschakeld.

Om de stream te bekijken, moet je VLC downloaden en gebruiken. Als u klaar bent, selecteert u de optie "Open netwerk" in het menu Bestand en voert u de volgende URL in:

"rtsp://192.168.1.35:8554/stream"

Nogmaals, zorg ervoor dat u het IP-adres van uw bord gebruikt. Druk vervolgens op de open-knop en je zou de stream moeten kunnen bekijken.

Als u het resourcegebruik wilt controleren, kunt u een nieuw opdrachtpromptvenster openen, SSH in het bord en vervolgens de opdracht "top" uitvoeren. Bekijk de video voor meer details.

Stap 5: Automatiseer de stream

Automatiseer de stream
Automatiseer de stream

Nu we weten dat de stream werkt, hoeven we hem alleen maar zo te automatiseren dat hij bij het opstarten wordt uitgevoerd. Dit doen is eenvoudig, voer gewoon het volgende commando "sudo nano /etc/systemd/system/rtsp-stream.service" uit. Hierdoor wordt de teksteditor geopend en moet u de volgende inhoud typen:

[Eenheid]

Beschrijving=automatische start stream

Na=multi-user.target

[Onderhoud]

Type=eenvoudig

ExecStart=/home/pi/rtsp-stream.sh

Gebruiker=pi

WorkingDirectory=/home/pi

Opnieuw opstarten = bij falen

[Installeren]

WantedBy=multi-user.target

Als u klaar bent, slaat u het bestand op door op de toetsen "CTRL + X" te drukken, vervolgens op Y en vervolgens op Enter. Vervolgens moeten we de service inschakelen door de volgende opdracht "sudo systemctl enable rtsp-stream.service" uit te voeren. Dat is alles wat we hoeven te doen. De volgende keer dat het bord opstart, zal het automatisch de service uitvoeren die het script zal aanroepen. U kunt de service ook handmatig bedienen met de volgende opdrachten:

Om te beginnen: "sudo systemctl start rtsp-stream.service"

Om te stoppen: "sudo systemctl stop rtsp-stream.service"

Bekijk Status: "sudo systemctl status rtsp-stream.service"

Start het bord opnieuw op door de opdracht "sudo reboot" uit te voeren. Geef het een minuut om op te starten en open vervolgens VLC om de stream te bekijken.

En zo creëer je met de Raspberry Pi zero een IP-camera. Elke keer dat het bord opstart, wordt automatisch de stream gemaakt en kunt u deze op afstand bekijken. In een volgende post zullen we leren hoe we een NVR kunnen maken waarmee we meerdere streams kunnen bekijken en opslaan in een opslagruimte. Als je van dit soort projecten houdt, overweeg dan om je te abonneren op ons YouTube-kanaal, omdat het ons helpt door te gaan met het maken van projecten zoals deze.

YouTube:

Bedankt voor het lezen!

Aanbevolen: