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:

  1. Uruchom konfigurator: w menu Start > Ustawienia > Konfiguracja Raspi lub w terminalu wpisz: sudo raspi-config.
  2. W sekcji interfejsów ustaw kamerę na Enabled; przy okazji możesz włączyć SSH do zdalnego dostępu.
  3. Zrestartuj Raspberry Pi, aby zastosować zmiany.
  4. 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.