Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Jeg er sur for å se solnedganger hjemmefra. Så mye at jeg får litt FOMO når det er en god solnedgang og jeg ikke er hjemme for å se det. IP -webkameraer ga skuffende bildekvalitet. Jeg begynte å se på måter å gjenbruke min første DSLR: en Canon Rebel XTi fra 2007 som fortsatt tar anstendig bilder. Denne instruksen dekker bygging:
- et vanntett Pelican Case -kabinett
- Raspberry Pi kameratrigger og wifi -opplaster
- enkel webserver for å få tilgang til bildene fra nettet
Det er flere eksisterende guider som viser hvordan du bygger et vanntett kabinett for tidsforløp, men de har en tendens til å fokusere på et oppsett som kan overleve In The Wild i 3-4 måneder. Fordi dette prosjektet er hjemme hos meg, er parameterne litt forskjellige: strøm og wifi er begge tilgjengelige. Ikke å bekymre meg for strøm frigjorde tiden min til å konsentrere meg om å bruke wifi for å laste opp et nytt bilde til nettet hvert minutt i stedet for å trekke dem av kortet manuelt (som det er vanlig i mer tradisjonelle lange timelapse -oppsett).
Merk: dette prosjektet ble bygget i september 2017, og instruksjonsutkastet like etter. Kameraet gikk i veldig solide 4 måneder til en strømstød brente Pi. Jeg fant utkastet i dag og tenkte at det fortsatt kan være morsomt å lese for folk.
Trinn 1: Raspberry Pi tar bilder og laster dem opp til nettet
Dette aspektet hadde de mest ukjente for meg, så jeg begynte med her.
I utgangspunktet koblet jeg Rebel via USB til en ekstra bærbar datamaskin og brukte gphoto2 til å ta bilder programatisk. gphoto2 lar deg ta bilder i JPEG eller RAW og overføre dem umiddelbart til vertsmaskinen etter opptak, noe som er viktig for å raskt laste opp bildet til nettet.
Mitt konseptbevis var et enkelt nodejs -skript for min Mac Mini som tok bilder en gang i minuttet og lastet dem opp til Amazon S3. For å nå utendørs fra Mini kjøpte jeg den lengste USB-kabelen jeg fant-men det var ikke mulig. Selv om jeg hadde hørt at en Raspberry Pi ville være nyttig for noe slikt, hadde jeg ikke mye erfaring med å bruke dem. Jeg installerte Raspbian og krysset fingrene og sjekket om gphoto2 -støtte for Raspberry Pi - full støtte!
Den neste iterasjonen krevde at en wifi-aktivert Raspberry Pi skulle erstatte Mac Mini helt. I store trekk:
- Last ned det nyeste Raspbian -bildet
- Sett inn et micro SD -kort og avmonter det (`diskutil unmountDisk /dev /disk2`)
- Bruk kommandolinjeverktøyet `dd 'til å skrive bildet til kortet (` sudo dd if = 2017-09-07-raspbian-stretch.img of =/dev/disk2 bs = 4m'-tar 30-60min)
- Trykk på ` / ssh` på filsystemet for å aktivere SSH ved oppstart (detaljert guide til SSH / Wifi)
- Installer gphoto2 ved hjelp av Raspberry Pi installasjonsskript (tar 60-90 minutter)
- Sett en cron -jobb til å kjøre en gang i minuttet, og bruk gphoto2 til å ta et bilde
- Bruk curl i den samme cron -jobben for å laste opp bildet til en enkel server som kjører på Heroku
Cron -konfigurasjonen er veldig enkel:
# m h dom mon dow kommando
* * * * * bash /home/pi/capture-upload.sh 2 & 1 >> /home/pi/cron.log
#!/bin/bash
# capture-upload.sh set -e gphoto2 --auto-detect --capture-image-and-download --force-overwrite curl -F "[email protected]" https:// user: pass@potrerohillcam. herokuapp.com/upload
Mens det originale beviset på konseptet håndterte opplasting til S3, bestemte jeg meg for at det var langt lettere* å forenkle hva Raspberry Pi hadde ansvaret for og sparke S3 og etterbehandlingstrinn til en enkel webserver som kjører på Heroku. Denne curl -kommandoen tar det fangede bildet og legger det ut til den serveren.
* Med lettere, jeg mener jeg var lei av å vente på pakker for å kompilere på Pi.
Trinn 2: Kamera i værbestandig pelikanveske
Nå som kameraet/RPi -løsningen var pålitelig i stand til å ta bilder og laste dem opp, begynte jeg å jobbe med en sak som vil holde all elektronikken trygg i regnet.
Last inn bildene en etter en og hold markøren over den skisserte hvite boksen for en beskrivelse av delen/trinnet.
Trinn 3: Real World Setup
Det siste trinnet var å montere Pelican -saken på rygglisten og verifisere at alt fungerte.