Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Moje časosběrná souprava používá první generaci Pi + velmi levnou webovou kameru USB + volný stojan (bipod). Součástí mých kritérií sestavení je opětovné použití/upcyklování věcí, které jsem již dostal, jinak bych prostě šel ven a koupil si kamerový modul Pi a použil tohoto průvodce projektem. Aha … a to vše muselo být spuštěno přes terminál - jak jsem předpokládal, že většina/veškeré následné zpracování bude provedeno vzdáleně (bez hlavy) nebo bez použití sítě.
Zásoby
Náklady a vybavení:
- RPi 1. Gen = 5:00 £
- 16 GB SD karta = 5:00 GBP
- Napájení = £ 4: 00
- Webová kamera USB = 1 GBP
- Ethernetový kabel CAT5 = zdarma
- Bipod = zdarma
Krok 1: Krok 1: Nainstalujte si Fswebcam
POZNÁMKA: Použil jsem 16 GB SD kartu s čistou instalací aktuálního OS Raspbian (desktopová verze Buster). Na flashování karet používám Etcher.
Začněte instalací fswebcam, jak je popsáno v této dokumentaci RPi.
sudo apt nainstalovat fswebcam
Připojte levnou/náhradní webovou kameru a vyzkoušejte ji pomocí:
fswebcam -r 800 x 600 image.jpg
Pokud to funguje dobře, vytvořte adresář, do kterého se vejde spousta obrázků.
webová kamera mkdir
Krok 2: Krok 2: Vytvořte Bash Script a automatizujte
Všechny příkazy se provádějí pomocí okna terminálu / příkazového řádku.
Vytvořte bash skript v nano (nazývá se webcam.sh). Vytvořte prázdný soubor zadáním:
nano webcam.sh
Hotový skript bash:
#!/bin/bash
DATE = $ (datum +"%Y-%m-%d_%H%M")
fswebcam -r 800x600 --no -banner /home/pi/webcam/$DATE.jpg
Použijte tento příkaz, aby byl spustitelný:
chmod +x webcam.sh
Otestujte skript pomocí tohoto příkazu:
./webcam.sh
Automatizujte proces pomocí cronu (dobré vysvětlení zde).
Do příkazového řádku zadejte následující příkaz, přejděte na konec souboru a zadejte druhý příkaz:
crontab -e
* * * * * /home/pi/webcam.sh 2> & 1
K dispozici je dokonce i šikovný online generátor crontab, který vše provede za vás:
Uložte a ukončete textový editor. Restartujte, nastavte webovou kameru a jděte. Tento skript nyní pořizuje obrázek každé dvě sekundy (každý den) s jedinečným časově označeným názvem souboru v rozlišení 800 x 600, které je uloženo ve složce vaší webové kamery.
Krok 3: Krok 3: Zkontrolujte své obrázky
Ve složce webové kamery zadejte:
sledovat ls
Zobrazí se obsah složky s aktualizací v reálném čase.
Chtěl jsem rychlý způsob, jak procházet (některé) obrázky pomocí příkazového řádku (zkontrolovat je před kódováním). Vepište:
sudo apt-get update
přijmout všechny výzvy
Poté zadejte:
sudo apt -get -y install fbi
Chcete -li přehrát rychlou (1 sekundu na obrázek) prezentaci obrázků, použijte syntaxi (při připojení k monitoru): fbi -a -t 1 *.jpg
Poznámka: „FBI funguje pouze z příkazového řádku, aniž by bylo spuštěno jiné grafické rozhraní. Pokud tedy spustíte přímo z příkazového řádku, bude to fungovat dobře. Pokud spustíte počítač a poté použijete okno terminálu, nebude. “
Za tuto poznámku a myšlenku fbi je třeba poděkovat špionovi Raspberrypi.
Krok 4: Krok 4: Kódování a přehrávání videa
Nainstalujte si FFMPEG - což je seriózní sada pro úpravu videa. FFMPEG lze spustit z příkazového řádku (pokud víte, co děláte!). Nainstalujte jej:
sudo apt-get install ffmpeg
Převeďte své jpegs na film pomocí syntaxe - v adresáři webové kamery:
kočka *-j.webp" />
Takže to vyfoukne seznam jpegs do ffmepg ke zpracování; při snímkové frekvenci 20, po dokončení výstupu videa. mkv nebo mpg/mp4 atd. Existuje mnoho dalších proměnných, které můžete vyladit pomocí přepínačů a upravit výstup videa!
To byla zdaleka nejjednodušší metoda, kterou jsem našel - a poděkovat musím Lukovi Smithovi za jeho video na toto téma. Existují i jiné metody a stránky nápovědy ffmpeg také poskytují dobré příklady.
K přehrávání videa z příkazového řádku používám přehrávač médií VLC.
Proveďte to zadáním:
vlc -zoom 0,5 -smyčka videa.mkv
Tím se video přehraje ve smyčce 0,5, dokud skript nepřerušíte stisknutím CTRL + C. Zjistil jsem, že to funguje nejlépe, když přejdete do režimu plochy (startx) a otevřete okno terminálu. Jinak budou starší verze pi upouštět snímky z velkých / hi rez videí. Přehrávač médií VLC má komplexní sadu příkazů - podobně jako ffmpeg, které lze spustit z okna terminálu.
Krok 5: Krok 5: Vzdálený přístup k Pi
Chcete -li spouštět skripty, zavřít pí a přenášet soubory Použil jsem dvě aplikace pro Windows a ethernetový kabel CAT 5.
Přístup k Pi byl proveden pomocí kabelu Cat 5, protože jsem si myslel, že poskytuje rychlý a snadný způsob. V některých případech jsem si představoval svůj kamerový systém v kůlně nebo venku (bez sítě). Fyzické připojení se tedy zdálo ideální, dokud jsem nenastavil statickou IP adresu a nepoužil hot spot telefonu!
Jednoduše tedy zapojte kabel do svého pi a notebooku/PC. Nainstalujte si tyto dva bezplatné programy:
- Tmel
- WinSCP
Použil jsem Putty ke spuštění skriptů ffmeg a vypnutí Pi (sudo shutdown now). Spusťte Putty na počítači se systémem Windows. Do pole Název hostitele zadejte název vašeho Pi a poté.local. tj. moje je:
pi-webcam.local
Klikněte na tlačítko Otevřít a postupujte podle pokynů pro jméno a heslo. Pak jste na úrovni terminálu, ideální pro spouštění skriptů a procházení adresářů.
K kopírování nebo přesunu videí z Pi do mého notebooku jsem použil WinSCP. Funguje to podobným způsobem, pokud jde o zadání vaší adresy pí končící na.local a podle výzvy k zadání hesla Pi.
Poté jednoduše přetáhněte soubory z počítače Pi (vpravo) do přenosného počítače se systémem Windows (vlevo).
Krok 6: Krok 6: Výstup videa
Dva příklady, se kterými jsem experimentoval, jsou uvedeny níže. Oba byly vykresleny jako *.mkv, což poskytlo dobré výsledky, stejně jako *.mp4 CODEC. Zdá se, že formát videa *.mpg/Mpeg byl nahrazen. Obě videa byla zachycena v šedých bouřlivých dnech - takže jasnost je sjízdná. Jpgs byly zachyceny při 650 x 480. Při vykreslování videí budu experimentovat s vyšším rozlišením JPEG a rozdílnými snímkovými frekvencemi.
Děkujeme Andy & Emily @ Telford Makerspace za pomoc na cestě.