Raspberry Pi to wszechstronna platforma dla robotyki i elektroniki, a kamera dodaje jej „oczy”, umożliwiając monitoring, time‑lapse oraz strumieniowanie wideo na żywo. W tym przewodniku przejdziesz przez dobór sprzętu, konfigurację systemu, robienie zdjęć i nagrywanie filmów oraz uruchomienie streamingu – na praktycznych przykładach i poleceniach.
Wybór odpowiedniej kamery do Raspberry Pi
Raspberry Pi obsługuje dedykowane moduły kamer, takie jak oficjalna Raspberry Pi Camera Module oraz nowsza High Quality Camera z sensorem Sony IMX477 o rozdzielczości 12,3 megapiksela. HQ Camera zapewnia ok. 50% wyższą czułość w słabym oświetleniu względem wcześniejszych generacji, co sprawdza się w monitoringach nocnych i projektach robotycznych.
Podłączenie kamery odbywa się przy użyciu taśmy FPC do złącza CSI na płytce i jest kompatybilne ze wszystkimi modelami Raspberry Pi od 1B wzwyż.
W projektach zewnętrznych warto rozważyć następujące dodatki i funkcje:
- diody IR (podczerwień) – umożliwiają widzenie w nocy bez dodatkowego oświetlenia;
- ogniwo słoneczne – zapewnia autonomiczne zasilanie zestawu w terenie;
- detekcja ruchu – automatyczny zapis na kartę SD i wysyłka alertów e‑mail;
- wymienne obiektywy – lepsza ostrość, różne kąty widzenia i kontrola ekspozycji.
Dla przenośnych robotów (np. na Raspberry Pi Zero) kamera łączy się tasiemką, a zasilanie pobierzesz z pinów 5 V i GND.
Konfiguracja kamery w systemie Raspbian
Raspberry Pi OS (dawniej Raspbian) pozwala szybko włączyć obsługę kamery i podgląd obrazu. Wykonaj kolejno:
- Uruchom konfigurator: w menu Start > Ustawienia > Konfiguracja Raspi lub w terminalu wpisz:
sudo raspi-config. - W sekcji interfejsów ustaw kamerę na Enabled; przy okazji możesz włączyć SSH do zdalnego dostępu.
- Zrestartuj Raspberry Pi, aby zastosować zmiany.
- Przetestuj podgląd obrazu (5 s):
raspistill -t 5000 -o /dev/null.
Jeśli korzystasz z GUI, w systemie znajdziesz VLC Player – po podłączeniu TV przez HDMI wybierz źródło „Kamera wideo”. Zrzuty ekranu zapiszą się w folderze /home/pi/Obrazy. Dla zdalnego podglądu przez VNC włącz w ustawieniach serwera opcję Enable direct capture mode (pamiętaj, że sieć Wi‑Fi wprowadza opóźnienia).
Uwaga: w nowszych wersjach Raspberry Pi OS narzędzia raspistill/raspivid zostały zastąpione przez pakiet libcamera; poniższe przykłady odnoszą się do klasycznego zestawu narzędzi.
Robienie zdjęć za pomocą raspistill i Pythona
Podstawowe wykonanie zdjęcia poleceniem raspistill wygląda tak:
raspistill -o image.jpg
Powyższe polecenie otwiera podgląd na 5 s i zapisuje plik w /home/pi. Możesz dostosować parametry, np. rozdzielczość i czas podglądu:
raspistill -o image.jpg -w 800 -h 600 -t 2000
Gdy kamera jest obrócona, skorzystaj z opcji -vf (flip pionowy) i -hf (flip poziomy).
Dla automatyzacji z Pythona użyj biblioteki picamera. Oto prosty skrypt wykonujący zdjęcie:
import picamera
from time import sleep
cam = picamera.PiCamera()
try:
cam.resolution = (800, 600)
cam.start_preview()
sleep(2)
cam.stop_preview()
cam.capture('/home/pi/test.jpg')
finally:
cam.close()
Skrypt inicjuje kamerę, wyświetla podgląd i zapisuje plik JPG. Do projektu time‑lapse dodaj pętlę z opóźnieniem (np. co 15 s) – idealne dla mobilnych rejestratorów na Pi Zero.
Nagrywanie wideo z raspivid
Podstawowe nagranie 10‑sekundowe w Full HD wykonasz poleceniem:
raspivid -t 10000 -o testvideo.h264
W dokumentacji Raspberry Pi znajdziesz rozszerzone opcje, m.in. FPS, rozdzielczość i kodeki.
Przykładowy skrypt Pythona do nagrania 10‑sekundowego filmu:
import picamera
from time import sleep
with picamera.PiCamera() as cam:
cam.start_preview()
cam.start_recording('/home/pi/film.h264')
cam.wait_recording(10)
cam.stop_recording()
cam.stop_preview()
Zapis powstaje w formacie H.264 w katalogu /home/pi.
Transmisja wideo strumieniowego – od podstaw do zaawansowanych technik
Transmisja na żywo to kluczowa funkcja w monitoringu i robotyce. Prosty streaming przez RTSP/RTP na porcie 8000 w rozdzielczości 320×240 uruchomisz tak:
raspivid -o - -t 0 -w 320 -h 240 -fps 12 | cvlc -vvv -b http --server-port 8000 --sout '#rtp{sdp=rtsp://:8000/}' :demux=h264
Obraz będzie miał niewielkie opóźnienie. Aby przerwać, naciśnij Ctrl+C.
Dla strumienia HTTP (np. do odtwarzania w VLC na telefonie lub TV) użyj:
raspivid -o - -t 0 -vf -hf -w 800 -h 400 -fps 24 | cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8160}' :demux=h264
Zaawansowane strumieniowanie z VLC i RTSP
Zainstaluj VLC w systemie Raspberry Pi OS poleceniem:
sudo apt-get install vlc
Aby nagrać zewnętrzny strumień RTSP z kamery IP przez 60 s, użyj:
cvlc -vvv rtsp://LOGIN:PASSWORD@CAMERA_IP/1 --sout=file/ts:"FILENAME.mpg" --run-time=60 --stop-time=60 vlc://quit
Parametr -vvv zwiększa szczegółowość logów, a –run-time i –stop-time ograniczają czas nagrania.
Automatyzację możesz zrealizować za pomocą cron. Przykładowy wpis (nagrania co 12 godzin):
0 */12 * * * /home/osmc/camera-record.sh >/dev/null 2>&1
Aby ułatwić zarządzanie i dostęp w sieci LAN, skorzystaj z poniższych rozwiązań:
- Cron – planowanie okresowych nagrań i zadań serwisowych;
- Samba – współdzielenie folderów z nagraniami w sieci lokalnej;
- Shinobi – serwer NVR do obsługi wielu kamer IP i podglądu na Smart TV lub PC.
W systemach typu OSMC strumienie RTSP (domyślnie port 554) przetestujesz bezpośrednio w VLC.
Praktyczne projekty dla robotyki i elektroniki
Potrzebujesz inspiracji do wykorzystania kamery w Raspberry Pi? Oto cztery sprawdzone kierunki:
- monitoring z detekcją ruchu – automatyczny zapis na SD, alerty e‑mail i diody IR do pracy w nocy;
- robot do time‑lapse – pętla zdjęć co 15 s na Pi Zero z zasilaniem bateryjnym;
- strumień na żywo do robota RC – HTTP/RTSP z niskim opóźnieniem, integracja z VNC;
- zestaw wielokamerowy – Shinobi + Samba do sieciowej wizji w projekcie robotycznym.