Prosta kamera poklatkowa przy użyciu Raspberry Pi: 3 kroki
Prosta kamera poklatkowa przy użyciu Raspberry Pi: 3 kroki
Anonim
Prosta kamera poklatkowa korzystająca z Raspberry Pi
Prosta kamera poklatkowa korzystająca z Raspberry Pi

W tym poście dowiesz się, jak zbudować prostą kamerę poklatkową za pomocą Raspberry Pi. Rozdzielczość, czas trwania i czas można łatwo zaktualizować w skrypcie. Stworzyliśmy coś podobnego za pomocą płytki ESP32-CAM, ale jakość kamery Raspberry Pi jest znacznie lepsza, a zatem wyniki są również lepsze niż w poprzedniej wersji.

Powyższy film przedstawia przegląd tego, jak wszystko się łączy. Polecam go najpierw obejrzeć, aby lepiej zrozumieć, jak można stworzyć i ulepszyć ten projekt.

Krok 1: Przygotuj Raspberry Pi

Przygotuj Raspberry Pi
Przygotuj Raspberry Pi
Przygotuj Raspberry Pi
Przygotuj Raspberry Pi
Przygotuj Raspberry Pi
Przygotuj Raspberry Pi

Do tego projektu nie potrzebujesz wyświetlacza, ale postanowiłem go użyć, aby pokazać, jak działają skrypty. W tym przykładzie użyję również Raspberry Pi 3, ale będzie to działać z każdym wariantem obsługującym kamerę.

Pierwszą rzeczą, którą musisz zrobić, to pobrać obraz Raspbian. Użyłem wersji Raspbian Desktop, ponieważ chciałbym uzyskać dostęp do pulpitu Raspberry, aby wyświetlić pliki i tym podobne. Więc jeśli planujesz używać wyświetlacza, polecam go również pobrać. Następnie musisz sflashować obraz na odpowiednią kartę microSD i do tego polecam użycie Etchera. Zdecydowałem się użyć Wi-Fi zamiast połączenia Ethernet, a także zdecydowałem się na SSH do płyty, aby ją kontrolować. Zamiast tego możesz również podłączyć klawiaturę do Raspberry Pi i wykonywać wszystkie polecenia bezpośrednio z terminala. Wybór nalezy do ciebie.

Jeśli planujesz używać SSH przez Wi-Fi, musisz utworzyć plik ze szczegółami sieci. Aby rozpocząć, możesz pobrać plik szablonu z poniższego linku. Po prostu otwórz go za pomocą edytora tekstu, takiego jak notepad++ lub Sublime Text, a następnie wpisz kod kraju, nazwę sieci i hasło. Po zakończeniu zapisz plik i skopiuj go na dysk rozruchowy na Raspberry Pi. Aby włączyć SSH, wystarczy utworzyć pusty plik o nazwie ssh i umieścić go na dysku rozruchowym. Nie musisz dodawać żadnego rozszerzenia. Po zakończeniu możesz włożyć kartę microSD, podłączyć wszystko i uruchomić Raspberry Pi.

Plik szablonu WPA:

Jak widać na filmie, rozdzielczość wyświetlania była początkowo nieprawidłowa i musiałem dodać poprawną konfigurację HDMI, aby działała. Zależy to od wyświetlacza, którego używasz, więc nie będę tutaj wymieniać stwierdzeń, ale możesz odnieść się do filmu i obrazu, jeśli jesteś zainteresowany.

Następną rzeczą, którą musimy zrobić, to otworzyć terminal na komputerze i SSH do tablicy, używając jego adresu IP. Możesz użyć oprogramowania takiego jak skaner AngryIP, aby uzyskać adres IP płyty. Następnie otwórz terminal i wpisz „ssh [email protected]”, ale pamiętaj, aby zmienić adres IP, aby pasował do tego dla twojej płyty. Będziesz musiał wprowadzić hasło, a domyślne hasło to "malinowy". Następnie musimy włączyć kamerę i można to zrobić, uruchamiając polecenie „sudo raspi-config”. Opcja kamery jest wymieniona pod opcjami interfejsu i po włączeniu będziesz musiał ponownie uruchomić płytę.

Krok 2: Przetestuj kamerę i napisz skrypt

Przetestuj kamerę i napisz skrypt
Przetestuj kamerę i napisz skrypt
Przetestuj kamerę i napisz skrypt
Przetestuj kamerę i napisz skrypt
Przetestuj kamerę i napisz skrypt
Przetestuj kamerę i napisz skrypt
Przetestuj kamerę i napisz skrypt
Przetestuj kamerę i napisz skrypt

Zanim napiszemy scenariusz, warto upewnić się, że kamera działa. Aby to zrobić, po prostu SSH z powrotem do tablicy, a następnie uruchom polecenie "raspistill -o test.jpg". Spowoduje to przechwycenie obrazu i zapisanie go w bieżącym katalogu pod nazwą test.jpg. Następnie możesz uruchomić polecenie „ls”, aby sprawdzić, czy plik został utworzony. Uruchomienie polecenia „ls” spowoduje wyświetlenie listy wszystkich plików i folderów znajdujących się w bieżącym katalogu. Jeśli plik istnieje, możesz być pewien, że aparat działa poprawnie.

Następnie musimy napisać skrypt i można to zrobić, uruchamiając polecenie „sudo nano time-lapse.sh”, które otworzy edytor tekstu. Następnie musisz wpisać następujące dane, jak pokazano na obrazku:

#!/kosz/bash

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

Powoduje to, że płyta rejestruje obrazy w sposób ciągły przez 20 sekund (20000ms), w odstępie 1 sekundy (1000ms). Określa również rozdzielczość 1920x1080, a także określa lokalizację, w której obrazy powinny być przechowywane. „%05d” określa, że nazwy obrazów powinny zawierać łącznie 5 cyfr z wiodącymi zerami. Po zakończeniu po prostu zapisz plik, naciskając „CTRL + X”, następnie „Y”, a następnie klawisz „Enter”.

Następnie musimy uczynić skrypt wykonywalnym, co można zrobić, uruchamiając polecenie "sudo chmod +x time-lapse.sh". Zanim będziemy mogli uruchomić skrypt, musimy utworzyć katalog obrazów, a można to zrobić, uruchamiając „mkdir images”. Następnie możesz przetestować skrypt, uruchamiając polecenie „./time-lapse.sh”. następnie przechwyci 20 obrazów i zapisze je w folderze images. Możesz przejść do folderu i uruchomić polecenie „ls”, aby wyświetlić pliki.

Następnie musimy zautomatyzować skrypt do tego, użyjemy metody systemd, której użyliśmy w poprzednim poście, w którym stworzyliśmy kamerę IP. Najpierw musimy uruchomić następujące polecenie „sudo nano /etc/systemd/system/time-lapse.service”, które otworzy edytor tekstu. Następnie musisz wpisać poniższe, ale polecam po prostu skopiować to.

[Jednostka]

Opis=upływ czasu

After=multi-user.target

[Praca]

Typ=prosty

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

Użytkownik=pi

Katalog Roboczy=/dom/pi

Restart = w przypadku awarii

[Zainstalować]

WantedBy=wielu użytkowników.cel

Następnie wystarczy zapisać plik tak jak poprzednio, a następnie włączyć usługę, uruchamiając "sudo systemctl enable time-lapse.service". Następnie po prostu ponownie uruchamiamy plik. Po uruchomieniu deski będziesz mógł zobaczyć, jak przechwytuje obrazy i zapisuje je w lokalizacji.

Krok 3: Edytuj skrypt, aby przechwycić w nieskończoność i zapisać na USB

Edytuj skrypt, aby przechwytywać w nieskończoność i zapisywać na USB
Edytuj skrypt, aby przechwytywać w nieskończoność i zapisywać na USB
Edytuj skrypt, aby przechwytywać w nieskończoność i zapisywać na USB
Edytuj skrypt, aby przechwytywać w nieskończoność i zapisywać na USB
Edytuj skrypt, aby przechwytywać w nieskończoność i zapisywać na USB
Edytuj skrypt, aby przechwytywać w nieskończoność i zapisywać na USB

Skrypt obecnie przechwytuje obrazy tylko przez pierwsze 20 sekund i jeśli musimy go edytować, aby przechwytywał obrazy w nieskończoność. Aby to zrobić, SSH z powrotem do tablicy, a następnie zatrzymaj usługę, uruchamiając "sudo systemctl stop time-lapse.service". Następnie otwórz plik skryptu, uruchamiając „sudo nano time-lapse.sh”. Przekaż wartość 0 do flagi „-t”, ponieważ spowoduje to przechwytywanie obrazów w nieskończoność. Poszedłem też dalej i wyłączyłem podgląd obrazu, dodając flagę "-n", jak widać na obrazku. Następnie musisz zapisać skrypt i uruchomić go, uruchamiając "sudo systemctl start time-lapse.service".

Możesz także zaktualizować lokalizację przechowywania na dysku USB. Najpierw podłącz dysk USB i otwórz go w Menedżerze plików. Zanotuj lokalizację, która powinna być podobna do „/media/pi/USB_DRIVE_NAME”. Następnie po prostu zatrzymaj usługę jak powyżej i otwórz ją, aby ją edytować. Następnie możesz zmienić lokalizację przechowywania. Upewnij się, że określony folder istnieje, jeśli nie, po prostu utwórz go za pomocą polecenia mkdir. Po zakończeniu uruchom ponownie skrypt i zrestartuj płytę. Przechwytuje i zapisuje obrazy w nowej lokalizacji.

Po uzyskaniu obrazów możesz użyć kilku różnych aplikacji, aby przekonwertować je na wideo. Jedną z takich aplikacji, z której można korzystać, jest Time Lapse Creator.

Tak łatwo jest stworzyć kamerę poklatkową za pomocą Raspberry Pi. Jeśli podobał Ci się ten projekt, rozważ wsparcie nas, subskrybując nasz kanał YouTube.

YouTube:

Dziękuję za przeczytanie.