HamEvent to samodzielnie hostowany system do live logowania łączności krótkofalarskich. Obsługuje ADIF, N1MM, XML, QLog, heartbeat z wykrywaniem aktywności stacji i publikację przez Nchan SSE.
System zaprojektowany do pracy contestowej i live logowania.
Parsuje ADIF, XML N1MM, JSON QLog oraz natywny ADIF — automatyczne wykrywanie formatu.
Wykrywanie aktywności stacji bez łączności. Wizualizacja na kafelkach z animacją pulsującą.
Obsługa wielu operatorów na różnych pasmach i modulacjach jednocześnie. Osobne kafelki na (pasmo, mode).
Natychmiastowe powiadomienia przez Server-Sent Events. Frontend odświeża się bez przeładowania strony.
Naprawa uciętych pakietów N1MM + normalizacja tagów (band, freq, timestamp).
Licznik QSO, hunterów, krajów, aktywnych stacji — wszystko w czasie rzeczywistym.
Lekki backend w C++ z interfejsem web w PHP, komunikacja przez Nchan.
Nasłuchuje pakiety ADIF/XML/JSON na porcie 2237, wykrywa format, przekazuje do procesora QSO.
Parsuje dane, normalizuje, wyszukuje event w DB, zapisuje QSO lub upsertuje heartbeat do active_stations.
Push notification do frontendu przez Server-Sent Events. Każdy event ma osobny kanał.
Rendering SSR + AJAX. Kilka szablonów (dark, light, tiny). Kafelki heartbeat z animacją.
System wymaga nginx + nchan, MariaDB i PHP 8.x.
nginx z modulem nchan, MariaDB 10+, PHP 8.x, curl, libxml2.
apt install nginx mariadb-server php-fpm
apt install libnginx-mod-nchan libcurl4-openssl-dev libxml2-dev libmariadb-dev
Sklonuj repozytorium i zbuduj.
git clone https://github.com/sp3seb/hamevent
cd hamevent && make
Plik konfiguracyjny w /etc/hamevents/hamevents.conf. Ustaw dane bazy, port, opcje debug.
[database]
dbhost = localhost
dbpassword = TwojeHaslo
Daemon C++ + nginx + worker.
./hamevent --debug
nginx -s reload
Przeglądaj aktywny log eventu. Kafelki heartbeat pulsują na czerwono.