:: Monitor stacji pogodowej
Prosta aplikacja z interfejsem okienkowym. Napisana w C++ na system Windows. Pozwala na podgląd danych ze stacji pogodowej i ich wizualizację na wykresach.
Do komunikacji ze stacją wykorzystywany jest protokół XMPP. Monitor współpracuje również z danymi przesyłanymi po przez port szeregowy np z Arduino.
Mapa danych znajduje się w pliku tekstowym, aby można było dostosować poszczególne wskaźniki monitora do odebranych danych.
Wskaźniki monitora podzielone są na grupy umieszczone w zakładkach. W każdej zakładce można wyświetlić maksymalnie 6 wskaźników. Każda grupa posiada oddzielny plik mapy danych. Nazwa pliku mapy przypisana jest do nazwy grupy z pominięciem prefiksu sortującego.
Pliki map danych znajdują się w katalogu o nazwie "maps".
Poszczególne wartości przesyłane są ze stacji pogodowej w dwóch bajtach czyli szesnastu bitach (dlatego adres poszczególnych wartości w pliku mapy jest zwiększany o dwa). Właściwie wartość jest zapisana na 14 bitach, a dwa najstarsze bity zostały użyte do przesłania wartości trendu według reguły:
- 0 - brak informacji o trendzie
- 1 - tendencja spadkowa
- 2 - bez zmian
- 3 - tendencja wzrostowa.
Aby można było przesłać dane binarne w pakiecie XML (na których oparty jest protokół XMPP) są one przed wysłaniem kodowane w standardzie base64.
Monitor w trybie komunikacji przez port szeregowy może również pełnić funkcję serwera i po przez protokół XMPP przekazywać dane z portu szeregowego do drugiego monitora.
KONKLUZJA
Aplikacja nie jest może zaprojektowana optymalnie, szczególnie jeśli chodzi o interfejs. W każdym razie jak to się zwykło pisać/mówić przy publikacji własnych programów: u mnie działa.