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.

monitor-stacji-pogodowej.rar