Aktualizacja: 2018-01-26

VideoWind - monitoring i pomiar temperatury

Program VideoWind jest aplikacją serwerową działającą w systemie operacyjnym Debian. Umożliwia zdalny dostęp do obrazu z kamery (USB) i odczyt z czujników temperatury (DS18B20) za pośrednictwem przeglądarki internetowej. Dane z czujników odczytywane są automatycznie i zostają archiwizowane w bazie danych, co umożliwia ich późniejszą analizę.

Aplikacja przechodziła ewolucję przez wiele lat w ramach projektu "Stacja monitorująca na bazie Raspberry Pi" i została zaprojektowana z myślą o tym jednopłytkowym komputerze.

Raspberry Pi - Uruchomienie magistrali 1Wire

System operacyjny Linux daje możliwość podłączenia magistrali 1Wire bezpośrednio do wyprowadzeń procesora, te natomiast w komputerze Raspberry Pi są dostępne na złączach szpilkowych - GPIO.
Abstrakcja warstwy sprzętowej w Linux jest bardzo wygodna, urządzenia są plikami. Również i urządzenia podłączone do magistrali 1Wire będą widziane w systemie jako pliki. By włączyć obsługę 1Wire w Raspberry Pi wystarczy uruchomić konfigurator poleceniem sudo raspi-config a potem wybrać z menu "Interfacing Options" i w następnej kolejności "I2C - Enable/Disable automatic loading of I2C kernel module" wybierając "Enable". Po skonfigurowaniu i ponownym uruchomieniu każdy dołączony do magistrali czujnik reprezentowany jest poprzez katalog w lokalizacji /sys/bus/w1/devices o nazwie będącej połączeniem kodu rodziny układu i jego numeru identyfikacyjnego.

Instalacja VideoWind

Program dostępny jest w Repository.NoweEnergie.org w postaci archiwum ZIP, jednak jego instalacja powinna zostać przeprowadzona za pomocą skryptu instalacyjnego (również do pobrania z repozytorium).
W konsoli z poziomu root należy wejść do katalogu w którym ma zostać zainstalowany program a następnie wykonać:

wget http://repository.noweenergie.org/Repo/python/videowind/install.sh

sudo chmod +x install.sh
sudo sh install.sh

Po pobraniu skryptu instalacyjnego i nadaniu mu praw do wykonywania nastąpi uruchomienie instalacji.

Pierwszym krokiem będzie pobranie potrzebnych pakietów, między innymi python, python-serial i innych. W tym celu na pytanie:
"Dokonac sprawdzenia czy system posiada potrzebne biblioteki i programy? [y]es / [n]o"
należy kliknąć "y" i potwierdzić enterem.

Następnie instalator pobierze archiwum ZIP zawierające program VideoWind i rozpakuje pliki.

Kolejnym krokiem jest konfiguracja programu. Na pytanie:
"Czy konfigurowac teraz program? [y]es / [n]o"
należy odpowiedzieć "y" i kliknąć enter.
Parametry które należy zdefiniować zostały opisane w punkcie "Konfiguracja VideoWind".
Zapisanie odbywa się po kliknięciu CTRL+o a wyjście z edytora po kliknięciu CTRL+x.

Końcowym etapem instalacji jest pytanie:
"Czy program ma automatycznie startowac z systemem? [y]es / [n]o"
należy podać odpowiedź zgodnie z potrzebami.
Odpowiedź twierdząca powoduje dodanie do pliku /etc/crontab linijki:
@reboot root python server.py start

Konfiguracja VideoWind

Plik konfiguracyjny "config.ini" znajduje się w folderze "config".

Sekcja "SERVER" konfiguruje ogólne ustawienia programu:

Sekcja "CAMERA" konfiguruje parametry obrazu z kamery:

Sekcja "TEMPERATURE":

Sekcja "UART" obsługa np. modułu TTMSB:

Uruchomienie VideoWind

Jeśli w trakcie instalacji wybrano automatyczny start, po włączeniu urządzenia i załadowaniu systemu również zostanie uruchomiony program.
Dzieje się to za sprawą skryptu:
@reboot root python server.py start
dołączonego do pliku /etc/crontab.

By uruchomić program z konsoli należy wejść jako root do folderu w którym znajduje się skrypt server.py i wydać polecenie:
sudo python server.py start
Natomiast zatrzymanie programu odbywa się po instrukcji:
sudo python server.py stop

W przypadku błędnego zakończenia działania programu przydatnym może okazać się uruchomienie skryptu:
sudo sh run.sh
Kasuje on tymczasowe pliki i uruchamia serwer.

Baza danych

Z poziomu przeglądarki internetowej istnieje możliwość zapisania obrazu, jest on dostępny w folderze "archive".
Miejsce to zawiera również pliki bazy danych:

Praca w programie

Po wpisaniu w przeglądarce adresu który przypisany jest do urządzenia na którym został uruchomiony program należy podać numer portu (w przypadku innego niż 80) np. 10.0.0.1:81. W trakcie pierwszego uruchomienia pojawia się okno logowania.

Główne okno programu wyświetla zdjęcie z kamery oraz menu główne i ostatni odczyt temperatury.

VideoWind

Główne okno programu VideoWind.

Po kliknięciu "wykres temperatury" wyświetlana jest historia odczytów temperatury. Wymagane jest połączenie z siecią Internet, gdyż wykres tworzony jest przez jsapi google.

VideoWind

Wykres odczytów temperatury.

 

Odnośniki

Wyślij komentarz