Inhoudsopgave:
- Stap 1: Verzamel de componenten
- Stap 2: Laad het besturingssysteem
- Stap 3: SSH invoeren en voorbereiden van het besturingssysteem
- Stap 4: Maak en test het script
- Stap 5: Automatiseer de stream
Video: IP-camera met behulp van de Raspberry Pi Zero (Home Surveillance Part 1) - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
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
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
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
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
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:
Meting van versnelling met behulp van ADXL345 en Particle Photon: 4 stappen
Meting van versnelling met behulp van ADXL345 en deeltjesfoton: De ADXL345 is een kleine, dunne, ultralaagvermogen, 3-assige versnellingsmeter met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2 C-interface. Het meet de
Upgrade de achtergrondverlichting van een VU-meter naar blauwe led met behulp van oude CFL-lamponderdelen: 3 stappen
Upgrade een VU-meterachtergrondverlichting naar blauwe led met behulp van oude CFL-lamponderdelen.: Tijdens het repareren van een oude Sony TC630 reel-to-reel bandrecorder, merkte ik dat een van de glazen bollen voor de achtergrondverlichting van de VU-meter kapot was. Geen hoeveelheid geleidende verf werkte omdat het lood onder het glasoppervlak was afgebroken. De enige vervanger die ik
Smart Home maken met behulp van Arduino-besturingsrelaismodule - Ideeën voor domotica: 15 stappen (met afbeeldingen)
Smart Home maken met behulp van Arduino-besturingsrelaismodule | Ideeën voor domotica: in dit domotica-project zullen we een smart home-relaismodule ontwerpen die 5 huishoudelijke apparaten kan bedienen. Deze relaismodule kan worden bediend vanaf mobiel of smartphone, IR-afstandsbediening of tv-afstandsbediening, handmatige schakelaar. Dit slimme relais kan ook de r
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
Hoe u gebruikersniveaus van NUMA toevoegt aan uw exemplaar van N met behulp van NumADD Firefox AddOn: 4 stappen
Gebruikersniveaus van NUMA toevoegen aan uw exemplaar van N NumADD Firefox-add-on gebruiken: Elke gebruiker van Metanet's N-database op gebruikersniveau NUMA weet hoe onhandig de interface is voor het kopiëren van door gebruikers gemaakte niveaus naar uw exemplaar van het spel. NumADD, elimineert de noodzaak van kopiëren en plakken en maakt het overzetten van niveaus het werk van één muisklik