Eenvoudige time-lapse-camera met behulp van de Raspberry Pi - Ajarnpa
Eenvoudige time-lapse-camera met behulp van de Raspberry Pi - Ajarnpa
Anonim
Eenvoudige time-lapse-camera met behulp van de Raspberry Pi
Eenvoudige time-lapse-camera met behulp van de Raspberry Pi

Dit bericht laat je zien hoe je een eenvoudige time-lapse-camera kunt bouwen met een Raspberry Pi. De resolutie, duur en tijd kunnen eenvoudig worden bijgewerkt in het script. We hebben iets soortgelijks gemaakt met het ESP32-CAM-bord, maar de kwaliteit van de Raspberry Pi-camera is veel beter dan dat en daarom zijn de resultaten ook beter dan de vorige versie.

De video hierboven geeft je een overzicht van hoe alles samenkomt. Ik zou aanraden om het eerst te bekijken om een beter begrip te krijgen van hoe je dit project kunt maken en aanpassen.

Stap 1: Bereid de Raspberry Pi voor

Bereid de Raspberry Pi voor
Bereid de Raspberry Pi voor
Bereid de Raspberry Pi voor
Bereid de Raspberry Pi voor
Bereid de Raspberry Pi voor
Bereid de Raspberry Pi voor

Je hebt geen display nodig voor dit project, maar ik besloot er een te gebruiken om je te laten zien hoe de scripts werken. Ik zal in dit voorbeeld ook een Raspberry Pi 3 gebruiken, maar dit werkt met elke variant die het gebruik van een camera ondersteunt.

Het eerste dat u hoeft te doen, is de Raspbian-afbeelding downloaden. Ik heb de Raspbian Desktop-versie gebruikt omdat ik toegang wil tot de Raspberry-desktop om je de bestanden en dergelijke te laten zien. Dus als u van plan bent een beeldscherm te gebruiken, raad ik u aan dat ook te downloaden. Vervolgens moet u de afbeelding op een geschikte microSD-kaart flashen en hiervoor raad ik u aan Etcher te gebruiken. Ik besloot om WiFi te gebruiken in plaats van een Ethernet-verbinding en ik besloot ook om SSH naar het bord te sturen om het te bedienen. In plaats van dit te doen, kunt u ook een toetsenbord op de Raspberry Pi aansluiten en alle opdrachten rechtstreeks vanaf de terminal uitvoeren. De keuze is aan jou.

Als je van plan bent om SSH via wifi te gebruiken, moet je een bestand maken met de netwerkdetails. U kunt het sjabloonbestand downloaden via de onderstaande link om aan de slag te gaan. Open het eenvoudig met een teksteditor zoals notepad++ of Sublime Text en vul vervolgens uw landcode, netwerknaam en wachtwoord in. Als u klaar bent, slaat u het bestand op en kopieert u het naar de opstartschijf op de Raspberry Pi. Om SSH in te schakelen, hoeft u alleen maar een leeg bestand met de naam ssh te maken en dit in de opstartschijf te plaatsen. U hoeft geen extensie toe te voegen. Als je klaar bent, kun je de microSD-kaart plaatsen, alles aansluiten en de Raspberry Pi opstarten.

WPA-sjabloonbestand:

Zoals te zien is in de video, was de schermresolutie aanvankelijk onjuist en moest ik de juiste HDMI-configuratie toevoegen om het te laten werken. Dit hangt af van het scherm dat u gebruikt, dus ik zal de verklaringen hier niet vermelden, maar u kunt de video en de afbeelding raadplegen als u geïnteresseerd bent.

Het volgende dat we moeten doen, is een terminal op uw computer openen en SSH naar het bord sturen met behulp van het IP-adres. U kunt software zoals AngryIP-scanner gebruiken om het IP-adres van het bord te verkrijgen. Open vervolgens een terminal en typ "ssh [email protected]" maar zorg ervoor dat u het IP-adres wijzigt zodat het overeenkomt met dat van uw bord. U moet een wachtwoord invoeren en het standaardwachtwoord is "raspberry". Vervolgens moeten we de camera inschakelen en dit kan worden gedaan door de opdracht "sudo raspi-config" uit te voeren. De camera-optie wordt vermeld onder de interface-opties en zodra deze is ingeschakeld, moet u het bord opnieuw opstarten.

Stap 2: Test de camera en schrijf het script

Test de camera en schrijf het script
Test de camera en schrijf het script
Test de camera en schrijf het script
Test de camera en schrijf het script
Test de camera en schrijf het script
Test de camera en schrijf het script
Test de camera en schrijf het script
Test de camera en schrijf het script

Voordat we het script schrijven, is het raadzaam om te controleren of de camera werkt. Om dit te doen, SSH gewoon terug naar het bord en voer dan de opdracht "raspistill -o test.jpg" uit. Hiermee wordt een afbeelding vastgelegd en opgeslagen in de huidige map met de naam test.jpg. U kunt vervolgens de opdracht "ls" uitvoeren om te controleren of het bestand is gemaakt. Als u de opdracht "ls" uitvoert, worden alle bestanden en mappen weergegeven die aanwezig zijn in de huidige map. Als het bestand bestaat, kunt u er zeker van zijn dat de camera correct werkt.

Vervolgens moeten we het script schrijven en dit kan worden gedaan door de opdracht "sudo nano time-lapse.sh" uit te voeren, waarmee een teksteditor wordt geopend. U moet dan het volgende typen zoals weergegeven in de afbeelding:

#!/bin/bash

raspistill -t 20000 -tl 1000 -w 1920 -h 1080 -o /home/pi/images/img%05d.jpg

Dit zorgt ervoor dat het bord continu beelden vastlegt gedurende 20 seconden (20000 ms), met een interval van 1 seconde (1000 ms). Het definieert ook de resolutie van 1920x1080 en specificeert ook de locatie waar de afbeeldingen moeten worden opgeslagen. De "%05d" geeft aan dat de afbeeldingsnamen in totaal 5 cijfers met voorloopnullen moeten bevatten. Als u klaar bent, slaat u het bestand eenvoudig op door op "CTRL + X" te drukken, vervolgens op "Y" en vervolgens op de "Enter"-toets.

Vervolgens moeten we het script uitvoerbaar maken, wat kan worden gedaan door de opdracht "sudo chmod +x time-lapse.sh" uit te voeren. Voordat we het script kunnen uitvoeren, moeten we de afbeeldingsmap maken, en dit kan worden gedaan door de "mkdir-afbeeldingen' uit te voeren. U kunt het script vervolgens testen door de opdracht "./time-lapse.sh" uit te voeren. Het bord zal dan 20 afbeeldingen vastleggen en deze opslaan in de map afbeeldingen. U kunt naar de map navigeren en de opdracht "ls" uitvoeren om de bestanden te bekijken.

Vervolgens moeten we het script hiervoor automatiseren, we zullen de systemd-methode gebruiken die we in de vorige post hebben gebruikt, waar we een IP-camera hebben gemaakt. We moeten eerst de volgende opdracht "sudo nano /etc/systemd/system/time-lapse.service" uitvoeren, waarmee een teksteditor wordt geopend. U moet dan het volgende typen, maar ik raad u aan het gewoon te kopiëren.

[Eenheid]

Beschrijving=time-lapse

Na=multi-user.target

[Onderhoud]

Type=eenvoudig

ExecStart=/home/pi/time-lapse.sh

Gebruiker=pi

WorkingDirectory=/home/pi

Opnieuw opstarten = bij falen

[Installeren]

WantedBy=multi-user.target

Vervolgens hoeft u alleen het bestand zoals eerder op te slaan en vervolgens de service in te schakelen door "sudo systemctl enable time-lapse.service" uit te voeren. We herstarten het bestand dan gewoon opnieuw. Zodra het bord opstart, kun je zien dat het de afbeeldingen vastlegt en op de locatie opslaat.

Stap 3: Bewerk het script om voor onbepaalde tijd vast te leggen en op te slaan op USB

Bewerk het script om voor onbepaalde tijd vast te leggen en op te slaan op USB
Bewerk het script om voor onbepaalde tijd vast te leggen en op te slaan op USB
Bewerk het script om voor onbepaalde tijd vast te leggen en op te slaan op USB
Bewerk het script om voor onbepaalde tijd vast te leggen en op te slaan op USB
Bewerk het script om voor onbepaalde tijd vast te leggen en op te slaan op USB
Bewerk het script om voor onbepaalde tijd vast te leggen en op te slaan op USB

Het script legt momenteel alleen afbeeldingen vast gedurende de eerste 20 seconden en als we het moeten bewerken om het afbeeldingen voor onbepaalde tijd vast te leggen. Om dit te doen, SSH terug naar het bord en stop de service door "sudo systemctl stop time-lapse.service" uit te voeren. Open vervolgens het scriptbestand door "sudo nano time-lapse.sh" uit te voeren. Geef de waarde 0 door aan de vlag "-t", want hierdoor worden beelden voor onbepaalde tijd vastgelegd. Ik ging ook door en schakelde het afbeeldingsvoorbeeld uit door de vlag "-n" toe te voegen, zoals te zien is in de afbeelding. Vervolgens moet u het script opslaan en starten door "sudo systemctl start time-lapse.service" uit te voeren.

U kunt de opslaglocatie ook bijwerken naar een USB-station. Sluit eerst het USB-station aan en open het in Bestandsbeheer. Noteer de locatie die moet lijken op "/media/pi/USB_DRIVE_NAME". Stop vervolgens de service zoals hierboven en open deze om deze te bewerken. U kunt dan de opslaglocatie wijzigen. Zorg ervoor dat de map die u opgeeft bestaat, zo niet, maak deze dan eenvoudig aan met de opdracht mkdir. Als u klaar bent, start u het script opnieuw en start u het bord opnieuw op. Het zal afbeeldingen vastleggen en opslaan op de nieuwe locatie.

Zodra u de afbeeldingen hebt verkregen, kunt u verschillende toepassingen gebruiken om deze naar een video te converteren. Time Lapse Creator is zo'n applicatie die kan worden gebruikt.

Zo eenvoudig is het dus om met de Raspberry Pi een time-lapse-camera te maken. Als je dit project leuk vond, overweeg dan om ons te steunen door je te abonneren op ons YouTube-kanaal.

YouTube:

Bedankt voor het lezen.