Bardzo lubię cały projekt tanich mini-komputerów Raspberry pi. Na bazie tych płyt głównych można zbudować praktycznie wszystko co można sobie wyobrazić.

Chce wam dziś pokazać jak w bardzo prosty sposób wykonać malutkie kamerki IP do domowego użytku i nie tylko na bazie najmniejszej i najtańszej płyty z rodziny Raspberry.

Na początek, co będzie nam potrzebne:

  • płyta główna Raspberry pi zero W
  • karta pamięci minimum 4GB
  • camera The Pi Camera
  • wąska taśma łączeniowa płytę z kamerą
  • przejściówka mini-HDMI na HDMI
  • monitor
  • klawiatura i myszka
  • połączenie z internetem poprzez Wi-Fi

OK, ak już mamy cały niezbędny sprzęt, możemy się brać za zabawę. W pierwszej kolejności trzeba zainstalować system na naszej malince. Zakładam tutaj, że potrafisz to wykonać. W razie pytań odsyłam do głównej strony projektu Raspberry: LINK

Ja wykonałem kamerkę IP na bazie programu UV4L. Wydaje mi się, że jest to dość optymalne rozwiązanie, które nie obciąża za mocno sieci Wi-Fi i dzięki temu nie powoduje za dużych lagów w stremingu obrazu.

Zacznijmy. Jak już mamy zainstalowaną czystą wersję systemu i jest podpięty po Wi-Fi internet możemy zainstalować odpowiedni soft. Zacznijmy od dodania odpowiednich źródeł do systemu, tak by można było wszystko zainstalować i później aktualizować za pomocą wpbudowanego systemu instalacji paczek, jakim jest “apt”.

W pierwszej kolejności musimy dodać klucz od naszego źródła:

curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo apt-key add –

Jak już mamy to wykonane, musimy dodać adres naszego źródła do pliku /etc/apt/sorces.list (Skopiuj całą poniższą linijkę i wklej ją na samym końcu pliku):

deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main

Teraz możemy odświeżyć listę naszych źródeł a następnie rozpocząć instalację:

sudo apt-get update

sudo apt-get install uv4l uv4l-raspicam

Dobrze, mamy już zainstalowany program do naszej kamerki. Potrzebujemy teraz metode by sterownik uv4l do kamerki ładował się przy każdym ponownym uruchomieniu, w tym celu musimy doistalować kolejny pakiet z rodziny:

sudo apt-get install uv4l-raspicam-extras

Mamy już możliwość startowania, zatrzymywani i ponownego uruchomienia naszego UV4L, wykonaj poniższe plecenie:

sudo service uv4l_raspicam restart

Teraz proszę sprawdz, czy w konfiguracji maliki, masz uruchomioną kamerkę i czy dzielenie pamięci GPU jest ustawione na minimalną wartość 128MB:

sudo raspi-config

Restart maszyny i mamy już odpowiednie sterowniki i programy do naszej kamerki. Jak chcesz poczytać o wszystkich możliwych opcjach oprogramowania UV4L wpisz w terminalu polecenie:

uv4l –help –driver raspicam –driver-help

Jest jeszcze wiele dodatkowego oprogramowania dostępnego, np. do obsługi konfiguracji poprzez przeglądarkę www. Jeżeli chcesz potestować sobie różne konfigurację, lub po prostu się pobawić bardziej zaawansowanymi opcjami, wykonaj poniższe polecenie w terminalu w celu instalacji dodatkowego oprogramowania:

sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

Okey. Mamy już wszystko co jest nam potrzebne.
teraz pokaże Ci tutaj pliki skryptów jakie ja na szybko napisałem by zautomatyzować proces uruchamiania monitoringu. W pierwszej kolejności napisałem mini skrypt, który uruchamia mi cały proces kamerowania i streamingu. Plik nazwałem: video-start2.sh a w nim krótki kod:

#!/bin/bash

uv4l –nopreview –auto-video_nr –driver raspicam –encoding mjpeg –width 640 –height 480 –framerate 20 –server-option ‘–port=9090’ –server-option ‘–max-queued-connections=30’ –server-option ‘–max-streams=25’ –server-option ‘–max-threads=29’

Zapisz plik. Teraz musimy stworzyć drugi mini skrypt, który posłuży nam jako starter do głównego z poziomu systemowego cron-a. Plik nazwałem: start-script.sh a w nim:

#!/bin/bash

/home/pi/video-start2.sh

Zapisujemy plik. Musimy jeszcze do plików dodać uprawnienie wykonywania się jako skrypt. W tym celu w terminalu wpisujemy następujące komendy:

sudo chmod +x start-script.sh
sudo chmod +x video-start2.sh

Teraz musimy dodać linijkę kody to systemowego cron-a (nie wykonuj tergo jako root):

crontab -e

Na Samy dole pliku dodajemy jedną linijkę kodu:

@reboot /home/pi/start-script.sh

Oczywiście powyższa linikja w crontabie jest uzależniona od miejsca gdzie zapisaliście plik start-script.sh. Ja od samego początku znajdowałem się w katalogu głównym użytkownika pi, więc /home/pi

Restart maszyny. Na innej maszynie w przeglądarce wpisujemy adres IP nszej malinki i odpowiedni port. W naszym wypadku będzie to dokładnie:

http://IP-maliny:9090/stream

Zobaczymy stream z malinki. Jeżeli doinstalowałeś dodatkowe pakiety o jakich mówiłem wyżej, to po wejściu na adres:

http://IP-maliny:9090/

Zobaczymy cały panel konfiguracyjny kamerki. Dzięki niemu nie będzie konieczności logowania się poprzez ssh na mailę w celu miany jakiś parametrów w programie UV4L.

Kamerka IP z Raspberry Pi zero