Wymagane funkcje:
Po uruchomieniu aplikacja:
- Sprawdza dostęp do internetu,
- Skanuje porty UDP w poszukiwaniu transmisji od urządzeń,
- Identyfikuje dostępne urządzenia i prezentuje je w interfejsie,
- Zapisuje lokalne logi w pliku logs.txt w formacie [Timestamp - Event],
- Przesyła dane z wszystkich urządzeń w czasie rzeczywistym do frontend'u,
- Zapisuje dane z urządzeń lokalnie w celu późniejszej wizualizacji offline.
Frontend:
Układ interfejsu (3 sekcje):
Nagłówek zawierający:
- Logo
- Nazwa systemu konfigurowalna w ustawieniach
- Aktualna data i godzina - aktualizowana na podstawie danych z GPS,
- Status połączenia z urządzeniami (zielona/żółta/czerwona kontrolka),
- Lliczba aktywnych urządzeń (np. 5/5).
- Zakładki (HOME, Ikonka steru, Ikonka silnika, Ikonka rozrywki, Ikonka kamery, Ikonka ustawień)
Główna sekcja (HOME, ster, silnik):
- Możliwość wizualizowania danych z sygnałów serial, analog, digital w formie dodawania kafelków z zegarami, kontrolkami i wykresami.
Główna sekcja (rozrywka):
- Możliwość odtwarzania wcześniej zapisanych plików dzwiękowych
- Możliwość ustawiania automatycznego odtwarzania dzwięków względem skonfigurowanej trasy, na której zaznaczone są punkty, po których przekroczeniu w odpowiednim kierunku odtwarzany jest odpowiedni dzwięk.
Główna sekcja (kamera):
- Możliwość wyświetlania obrazu z 4, 6, 8 i 16 kamer - tylko odtwarzanie bez rejestracji
Główne menu konfiguracyjne (zabezpieczone czterocyfrowym hasłem)
Pozwala na ustawienie wszystkich funkcji potrzebnych do działania aplikacji, takich jak
- Konfiguracja i kalibracja sygnałów analogowych,
- Konfiguracja statusów, logiki, opisów itp dla sygnałów
- Konfiguracja kamer, tras itp.
- Konfiguracja alarmów
Dodatkowo:
- Dane w interfejsie użytkownika mają mieć postać "widgetów/kafelków", które można dowolnie układać na ekranie.
- Aplikacja musi posiadać dwa tryby graficzne - dzienny (jasny) i nocny (nie rażący oczu w nocy)
- Aplikacja musi uruchamiać się automatycznie po starcie systemu w trybie pełnoekranowym (kiosk)