Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Jestem frajerem do oglądania zachodów słońca z domu. Tak bardzo, że mam trochę FOMO, gdy jest dobry zachód słońca i nie ma mnie w domu, żeby go zobaczyć. Kamery IP zapewniały rozczarowującą jakość obrazu. Zacząłem szukać sposobów na zmianę przeznaczenia mojej pierwszej lustrzanki cyfrowej: Canon Rebel XTi z 2007 roku, który wciąż robi przyzwoite zdjęcia. Ta instrukcja obejmuje budowanie:
- wodoodporna obudowa Pelican Case
- Wyzwalacz kamery Raspberry Pi i przesyłanie Wi-Fi
- prosty serwer WWW umożliwiający dostęp do obrazów z sieci
Istnieje kilka istniejących przewodników, które pokazują, jak zbudować wodoodporną obudowę na upływ czasu, ale zwykle koncentrują się na zestawie, który może przetrwać na wolności przez 3-4 miesiące. Ponieważ ten projekt jest u mnie w domu, parametry są nieco inne: dostępne jest zarówno zasilanie, jak i wifi. Brak konieczności martwienia się o uwolnienie energii pozwolił mi skoncentrować się na korzystaniu z Wi-Fi, aby co minutę przesyłać nowe zdjęcie do sieci, zamiast ręcznie ściągać je z karty (co jest powszechne w bardziej tradycyjnych konfiguracjach z długimi filmami poklatkowymi).
Uwaga: ten projekt został zbudowany we wrześniu 2017 r., a wkrótce potem wersja instruktażowa. Kamera działała przez bardzo solidne 4 miesiące, aż przepięcie spaliło Pi. Znalazłem dzisiaj wersję roboczą i pomyślałem, że nadal może to być fajna lektura dla ludzi.
Krok 1: Raspberry Pi przechwytuje obrazy i przesyła je do sieci
Ten aspekt miał dla mnie najwięcej niewiadomych, więc zacząłem od tego.
Początkowo podłączyłem mojego Rebela przez USB do dodatkowego laptopa i użyłem gphoto2 do programowego przechwytywania obrazów. gphoto2 umożliwia przechwytywanie zdjęć w formacie JPEG lub RAW i natychmiastowe przesyłanie ich do komputera-hosta po ich zrobieniu, co jest ważne, aby szybko przesłać zdjęcie do Internetu.
Mój dowód koncepcji był prostym skryptem nodejs dla mojego Maca Mini, który rejestrował obrazy raz na minutę i przesyłał je do Amazon S3. Aby dotrzeć z Mini na zewnątrz, kupiłem najdłuższy kabel USB, jaki udało mi się znaleźć – ale nie było to możliwe. Chociaż słyszałem, że Raspberry Pi przydałby się do czegoś takiego, nie miałem dużego doświadczenia w ich używaniu. Zainstalowałem Raspbian, skrzyżowałem palce i sprawdziłem wsparcie gphoto2 dla Raspberry Pi - pełne wsparcie!
Następna iteracja wymagała, aby Raspberry Pi z obsługą Wi-Fi całkowicie zastąpiło Mac Mini. Szerokimi pociągnięciami:
- Pobierz najnowszy obraz Raspbian
- Włóż kartę micro SD i odmontuj ją (`diskutil unmountDisk /dev/disk2`)
- Użyj narzędzia wiersza poleceń `dd`, aby zapisać obraz na karcie (`sudo dd if=2017-09-07-raspbian-stretch.img of=/dev/disk2 bs=4m` -- zajmuje 30-60 minut)
- Dotknij `/ssh` w systemie plików, aby włączyć SSH podczas rozruchu (szczegółowy przewodnik po SSH / Wifi)
- Zainstaluj gphoto2 za pomocą skryptu instalacyjnego Raspberry Pi (zajmuje 60-90 minut)
- Ustaw zadanie cron, aby uruchamiało się raz na minutę i użyj gphoto2, aby zrobić zdjęcie
- Użyj curl w tym samym zadaniu cron, aby przesłać zdjęcie na prosty serwer działający na Heroku
Konfiguracja crona jest bardzo prosta:
# m h dom mon dow polecenie
* * * * * bash /home/pi/capture-upload.sh 2&1 >> /home/pi/cron.log
#!/kosz/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
Podczas gdy oryginalny dowód koncepcji obsługiwał przesyłanie do S3, zdecydowałem, że znacznie łatwiej* jest uprościć zadania Raspberry Pi i przenieść S3 oraz kroki przetwarzania końcowego do prostego serwera WWW działającego na Heroku. To polecenie curl pobiera przechwycony obraz i wysyła go na ten serwer.
* mówiąc prościej, mam już dość czekania na skompilowanie pakietów na Pi.
Krok 2: Aparat w odpornej na warunki atmosferyczne obudowie Pelican
Teraz, gdy aparat/rozwiązanie RPi było w stanie niezawodnie robić zdjęcia i przesyłać je, zacząłem pracować nad obudową, która zabezpieczy całą elektronikę w deszczu.
Załaduj zdjęcia pojedynczo i najedź kursorem na obrysowane białe pole, aby uzyskać opis części/kroku.
Krok 3: Konfiguracja w świecie rzeczywistym
Ostatnim krokiem było zamontowanie obudowy Pelican na mojej tylnej poręczy i sprawdzenie, czy wszystko działa.