Jak zprovoznit kamery Raspberry Pi 3 s Octoprintem
V poslední době jsme zaznamenali značné množství dotazů, jak dát dohromady kamery Raspberry Pi 3 + Octoprint. V následujícím článku najdete podrobný návod, jak tento open-source systém pro vzdálené ovládání nainstalovat. Ničeho se nebojte, není to žádná věda.
Zdroj: Solution on Octoprint
1. SD karta
2. Systémové informace
pi@octopi:~ $ uname -a
Linux octopi 5.10.92-v7l+ #1514 SMP Mon Jan 17 17:38:03 GMT 2022 armv7l GNU/Linux
pi@octopi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
3. Instalace
3. 1. Instalace ovladače a libcamera
3. 2. Test
Proveďte kontrolu videozařízení:

libcamera-still -t 5000 -o test.jpg -n
4. Stáhněte si zdrojový kód plugin modulu libcamera
Naklonujte zdrojový kód mjpg-streamer, proveďte následující příkazy, a zkompilujte a nainstalujte plugin modul libcamera.
git clone https://github.com/ArduCAM/mjpg-streamer.git mjpg-streamer-libcamera
cd mjpg-streamer-libcamera/mjpg-streamer-experimental
make
sudo install -m 755 _build/mjpg_streamer /opt/mjpg-streamer
sudo find _build -name "*.so" -type f -exec install -m 644 {} /opt/mjpg-streamer \;
sudo cp -a -r ./www /opt/mjpg-streamer
sudo chmod 755 /opt/mjpg-streamer/www
sudo chmod -R 644 /opt/mjpg-streamer/www
5. Upravte soubor octopi.txt
Upravte soubor /boot/octopi.txt a proveďte následující změny:
5.1. Konfigurace kamery, která se bude používat

Zápis by měl vypadat takto:

5.2. Nastavte parametry plugin modulu libcamera
camera_libcamera_options=""
Podrobnosti o parametrech lze zobrazit pomocí následujícího příkazu.
./mjpg_streamer -i "input_libcamera.so -h"

5.3. Konfigurace výstupu HTTP kamery
camera_http_webroot="./www"
camera_http_options=""
Pomocí příkazu můžete také zobrazit parametr camera_http_options.
./mjpg_streamer -o "output_http.so -h"

6. Nahraďte soubor webcamd
Soubor webcamd se nachází v adresáři /root/bin.

Název původního souboru můžete změnit, abyste dosáhli účelu zálohování. Poté zkopírujte upravený soubor webcamd do adresáře /root/bin.
V uvedeném příkladu je nový soubor umístěn v adresáři /home/pi.
cd ~
sudo mv /root/bin/webcamd /root/bin/webcamd.bak
sudo wget -O webcamd https://github.com/ArduCAM/mjpg-streamer/releases/download/v1.0.0/webcamd
sudo mv webcamd /root/bin/
sudo chmod 755 /root/bin/webcamd
7. Proveďte reboot počítače Pi
sudo reboot
8. Zobrazení v prohlížeči
8. 1. Zobrazení
Do adresního řádku prohlížeče zadejte IP adresu zařízení (adresu ipv4).
Klepnutím na štítek označený červenou šipkou na obrázku níže zobrazíte obraz zachycený kamerou.

8.2. Ovládání
Nainstalujte ovládací plugin modul a vyberte možnost nastavení (na obrázku níže je označena šipkou).

Dokončete stahování plugin modulu dle pokynů.

Zkopírujte odkaz na místo naznačené na obrázku.
https://github.com/The-EG/OctoPrint-CameraSettings/archive/main.zip

Nakonec podle pokynů na stránce zařízení restartujte.
sudo reboot
Pomocí tohoto doplňku můžete dosáhnout ručního zaostření.

Tento postup mi přijde zastaralý. Například odkaz na ArduCam je úplně zbytečný, maximálně pomůže se HW zapojením. Ovladač pro senzor IX708 je již součástí jádra a tato informace jaksi chybí. Pokud je vypnuté automiatické zavádění ovladačů kamer (camera_auto_detect=0) tak chybí informace o zavedení modulu (dtoverlay=imx708).
Rozhodně nedoporučuji instalovat v tomto případě (tedy konkrétně co se týče všech variant Raspberry Pi Cam 3) cokoliv z ArduCam. Většinou se jedná o staré řešení a vlastní patche pro libcamera či varianty ovladačů.
Prakticky stačí nainstalovat aktuální jádro a balíček aplikací libcamera (libcamera-apps, libcamera-tools, libcamera0).
Dále bych doporučil nahradit mjpg_streamer, který permanentně vytáčí jedno jádro na 100%. Velmi povedená a 100% kompatibilní je camera-streamer – https://github.com/ayufan/camera-streamer
Vytížení je max 4% pokud je streamování aktivní. Pokud není, klesá to na 1%.