AMAGE PVD 2.0 — konfiguracja przez przeglądarkę i nowe kanały komunikacji
AMAGE PVD (ParamValueDispatcher) to komponent systemu AMAGE służący do zbierania danych z różnych źródeł i przekazywania ich odbiorcom — zarówno dostawcy, jak i odbiorcy danych mogą być dowolni, bo modularna architektura aplikacji pozwala swobodnie ich zestawiać. PVD instaluje się zwykle na urządzeniach Edge Computing montowanych przy fizycznych magistralach komunikacyjnych (RS-232/RS-485, liczniki energy) lub w lokalizacjach oddalonych, łączących się przez GSM. Może też pracować na serwerach Linux/Windows tam, gdzie potrzebny jest bezpieczny most do systemów IT typu ERP/DCS. Aplikacja posiada własny magazyn danych: gdy łączność z centralnym AMAGE siada, dane buforuje lokalnie i po wznowieniu komunikacji przesyła historię w sposób w pełni przejrzysty dla operatora.

W wersji 2.0 PVD robi duży krok w użyteczności eksploatacyjnej. Dwie zmiany definiują tę wersję:
- Pełny interfejs konfiguracyjny przez przeglądarkę WWW — koniec z edycją plików JSON przez SSH/konsolę.
- Nowe elementy komunikacji — MQTT w obu kierunkach, OPC-UA, webhooki (odbieranie i wysyłka danych), eksport CSV na serwer SFTP, integracja z systemem kontroli dostępu Satel KD oraz z czujnikami IoT Milesight w sieciach LoRaWAN.
Interfejs WWW: konfiguracja agregatora z poziomu przeglądarki
Do tej pory konfiguracja PVD oznaczała pliki JSON w katalogu configs, dostęp przez konsolę lub SSH i restart usługi. Teraz pod (domyślnym) adresem http://<host>:8080/ czeka kompletny interfejs webowy, chroniony logowaniem (konto administratora z obowiązkiem zmiany domyślnego hasła — system upomina się o to ostrzeżeniem, dopóki nie zostanie zaktualizowane).

Po zalogowaniu wita dashboard z kafelkami — każdy to osobna sekcja funkcjonalna, ułożona tak, by najczęściej używane operacje były na wyciągnięcie kliknięcia.

Co znajdziesz w środku:
- Zarządzanie konfiguracją i użytkownikami — edycja kont (nazwy, hasła) oraz ustawienia komunikacyjne: nazwa hosta widoczna w systemie oraz dane dostępowe (adres + klucz API) do serwera heartbeat/konfiguracji.
- Przeglądarka plików konfiguracyjnych — hierarchiczny widok katalogu
configsz bezpośrednią edycją plików JSON tam, gdzie potrzebny jest fine-tuning. - Przeglądarka logów i podgląd na żywo — pełny dostęp do logów aplikacji i wszystkich modułów, a także strumień zdarzeń w czasie rzeczywistym z automatycznym odświeżaniem co 5 sekund i podążaniem za najnowszym wpisem. Diagnostyka agregatora bez logowania się do środka.
- Panel informacji systemowej — adresy IP wszystkich interfejsów sieciowych, dokładne wersje komponentów, statystyki uruchomionych i aktywnych modułów.
- Zarządzanie wtyczkami — tabela modułów wejściowych i wyjściowych ze statusami, konfiguracją per wtyczka oraz — szczególnie przydatnym — przyciskiem Restart all plugins: przeładowanie ustawień wszystkich modułów bez zatrzymywania całej aplikacji.
- Edytor konfiguracji JSON — podświetlanie składni i walidacja struktury, z jasnym komunikatem, kiedy wymagany jest restart modułu.



Do tego dochodzi monitorowanie plików konfiguracji: aplikacja sama pilnuje plików konfiguracyjnych i po wykryciu zmiany automatycznie restartuje odpowiednią końcówkę — zmiany wprowadzone z konsoli czy skryptów automatyzacji stosują się natychmiast, bez ręcznego restartowania usługi przez administratora.
W tej samej wersji PVD dostarcza instalator DEB dla Debian/Ubuntu: instalacja jednym poleceniem, automatyczna rejestracja usługi systemowej (systemctl start|stop|restart|status amage-pvd) i start out-of-the-box z domyślnymi dostawcami i odbiorcami — pierwszy agregator można postawić dosłownie w kilka minut.
Nowe kanały komunikacji
Architektura PVD to rdzeń oraz wtyczki wejściowe (pobierają dane i mapują je na ustawienia parametrów AMAGE) i wyjściowe (dostarczają dane odbiorcom). Wersja 2.0 znacząco poszerza ten zestaw.
MQTT — w obie strony
Nowe moduły MQTT działają jako nadawca i odbiorca. Wejściowy łączy się z brokerem (tcp:// lub ssl://), autoryzuje, subskrybuje wybrane tematy (z wildcardami + i #) i przekazuje dane do AMAGE pod wskazane identyfikatory parametrów, z konfigurowalnym poziomem QoS (0/1/2) i automatycznym re-connectem po utracie połączenia. Wyjściowy publikuje parametry pobierane przez PVD na brokerze MQTT w strukturze {rootTopic}/{parameterUUID} — np. dla integracji z dashboardami, systemami BMS czy automatyką budynkową.
OPC-UA — dane prosto z automatyki przemysłowej
Moduł OPC-UA łączy się z serwerem OPC-UA, obsługuje autoryzację i cyklicznie odczytuje wybrane węzły (ns=2;s=...) — standardowy język wymiany danych w przemyśle. Konfiguracja to lista węzłów i mapowanie na parametry AMAGE; interwał odczytu ustawiasz w milisekundach.
Webhooki — i jako odbiorca, i jako nadawca
PVD 2.0 obsługuje webhooks dwukierunkowo. Jako nadawca: przekształca odebrane dane do JSON i wysyła POST-em do skonfigurowanego URL — z obsługą timeoutu, certyfikatów self-signed i weryfikacją odpowiedzi HTTP; dowolny system z interfejsem HTTP (ERP, alarmowanie, boty) może być odbiorcą. Jako odbiorca: moduł udostępnia własne endpointy HTTP, przez które systemy zewnętrzne mogą dostarczać dane do PVD — to m.in. sposób na integrację urządzeń IoT typu LoRaWAN.
Milesight LoRaWAN — czujniki bezprzewodowe pod kontrolą
Integracja z urządzeniami IoT Milesight przez bramkę LoRaWAN: czujniki temperatury i wilgotności (EM300) raportują przez tanie, dalekosiężne, energooszczędne sieci LoRaWAN, a PVD przyjmuje telemetrię endpointem webhook i mapuje ją na parametry AMAGE. Monitorowanie środowiska, chłodni, magazynów — bez ciągnięcia kabli.
SFTP — eksport CSV na serwer zewnętrzny
Obok lokalnego zapisu CSV dochodzi moduł SFTP: PVD generuje pliki CSV z danymi parametrów i automatycznie przesyła je na zdalny serwer — jako jeden zbiorczy plik lub osobne pliki per parametr. Automatyczne tworzenie plików tymczasowych, transfer i sprzątanie po sobie — klasyczny scenariusz raportowania do systemów, które „rozumieją” tylko pliki.
Satel KD — kontrola dostępu w danych operacyjnych
Moduł Satel łączy się z bazą MySQL systemu kontroli dostępu Satel KD, monitoruje zdarzenia autoryzacji i przekazuje je do AMAGE jako ustrukturyzowany JSON (użytkownik, kontroler, strefa, czas). Zdarzenia KD (Kontroli Dostępu) stają się danymi operacyjnymi — widokami, raportami i zdarzeniami w centralnym systemie.
Solidność pod maską
W wersji 2.0 usprawniono też warstwę zapisu danych: moduły komunikacyjne mogą zapisywać dane tymczasowe (znaczniki czasu, identyfikatory) w nieulotnej pamięci lokalnej, co przyspiesza przywrócenie działania po restarcie czy awarii zasilania — bez utraty stanu i ponownego skonfigurowania sesji komunikacyjnych. Do listy dostępnych typów danych dołączył też m.in. int32 w modułach licznikowych.
Dla administratorów dostępna jest pełna możliwość obserwacji danych: logi per moduł, tryb debug z zrzutami HEX transmisji, automatyczne odcinanie urządzeń, które nie odpowiadają (3 nieudane odczyty → pauza 10 cykli, z opcją wyłączenia do diagnostyki), oraz ponawianie niedostarczonych wiadomości z lokalnego magazynu z konfigurowalnym limitem i czasem ważności.
Co z tego wynika dla eksploatacji
- Konfiguracja bez IT na pokładzie — interfejs WWW z zadaniami na co dzień: edycja konfiguracji, restart wtyczek, logi na żywo. Agregator stoi w rozdzielni, a nie w serwerowni? Teraz konfiguruje się go z laptopa w sieci lokalnej.
- Więcej systemów źródłowych — MQTT, OPC-UA, LoRaWAN, KD Satel, bazy SQL, liczniki IEC 62056-21 i DLMS, Modbus RTU/TCP, pliki — jedna aplikacja, wymienna paleta wtyczek.
- Więcej odbiorców — oprócz centralnego AMAGE: MQTT broker, webhook, CSV, SFTP, tabele SQL.
- Praca w trudnych warunkach — bufor lokalny, auto-retry, auto-restart po zmianie konfiguracji, dane tymczasowe w pamięci nieulotnej.
Pełna konfiguracja wszystkich modułów — z przykładami plików JSON i opisem każdego parametru — dostępna jest w dokumentacji AMAGE, w module AMAGE PVD.