SP3SEB · µLogger

µLogger

Nie zamieniasz N1MM-a, Log4OM-a ani QLog-a na nic innego. µLogger to mały program, który dostawiasz obok — po to, żeby robił te parę rzeczy, których Twój logger zwykle nie robi.

wersja 0.2 · build b0133 autor: Sebastian SP3SEB Windows · Linux · macOS nie wymaga zmiany loggera
⬇ Pobierz µLoggera (uLoggerDownloader, Windows) Linux: uLoggerDownloader-linux-x64.tar.gz macOS (Intel i Apple Silicon, jeden plik): uLoggerDownloader-macos-universal.dmg — wymaga macOS 12 (Monterey) lub nowszego
Spis treści
  1. Po co mi to, skoro mam już swój logger
  2. REC — czarna skrzynka stanowiska
  3. Jak to się spina z Twoim loggerem
  4. Ekran, którego się nie boisz
  5. QRZ, radiodyplom, Hamevents — wysyła się samo
  6. Radio i CAT
  7. Zanim zaczniesz
  8. Ściągawka: ustawienia operatora
  9. Ściągawka: ustawienia sieci
  10. Ściągawka: ustawienia Hamlib

1. Po co mi to, skoro mam już swój logger

To pytanie jest właściwe. Masz N1MM Logger+, Log4OM albo QLog, znasz go, masz w nim historię, ustawione CAT, bandmapy — i nie masz zamiaru się przenosić. Dobra wiadomość: µLogger nie prosi Cię o to. To nie jest kolejny logger konkurujący o Twoje QSO. To mały program, który stawiasz obok — dostaje te same dane co Twój logger (CAT, a czasem i same QSO), ale sam nie próbuje być bandmapą, clusterem, bazą DXCC ani tabelką wyniku. Tego pilnuje nadal Twój dotychczasowy program.

Główny ekran w pracy: żywy S-metr (zielony pasek u góry), CAT połączone (zielona dioda przy „Fast”), pod spodem pusty pasek poziomu nagrywania — Studio włączone w ustawieniach, ale REC jeszcze nie kliknięty.

Uczciwie: samo „gadanie” UDP z Hamevents nie jest niczym wyjątkowym — potrafi to każdy logger, który w ogóle umie wysyłać UDP. (Sam Hamevents to inna sprawa: darmowa usługa z bardzo mocnym mechanizmem backendowym czasu rzeczywistego — Nchan w jednym zespole — na którą trudno znaleźć darmowy odpowiednik.) Prawdziwy argument za µLoggerem jest inny: tylko on dodatkowo wysyła dane na żywo do radiodyplom.pl i posiada lokalny cache do zabrania w teren z każdym urządzeniem..

Wpisujesz QSO raz — w µLoggerze. Trafia ono do Twojego dużego loggera (N1MM/Log4OM/QLog) tą samą drogą sieciową, którą i tak już masz poukładaną (§3), archiwizuje się lokalnie w pliku ADIF, i — jeśli raz podasz klucz API akcji w ustawieniach — leci na żywo do radiodyplom.pl. Tego ostatniego kroku nie zrobi za Ciebie żaden inny program na biurku w shacku, więc jeśli bierzesz udział w akcjach dyplomowych, to jest konkretny powód, żeby µLoggera dołożyć.

µLogger pilnuje też kilku innych rzeczy, które w dużych programach albo nie istnieją, albo wymagają osobnych narzędzi i pamiętania o nich w trakcie zawodów:

czarna skrzynka

Nagrywa dźwięk stanowiska

Radio i mikrofon, równolegle z logowaniem — żeby po zawodach dało się odsłuchać, co faktycznie było słychać przy konkretnym QSO, a nie tylko zobaczyć wpis w logu.

unikat

Wysyła QSO na żywo do radiodyplom.pl

Każde zapisane QSO leci od razu, bez przycisku, bez eksportu — jedyny program w shacku, który to robi. Patrz wyżej.

samo się wysyła

Publikuje log do QRZ.com

Do dziennika online QRZ.com Logbook — na bieżąco (z kluczem API) albo zbiorczo na koniec sesji, bez ręcznego eksportu ADIF.

melduje obecność

Zgłasza stację do Hamevents

Okresowy sygnał „jestem tu, na tej częstotliwości” — przydatny przy akcjach dyplomowych i eventach, o które Twój logger się nie troszczy.

spina programy

Rozmawia z resztą stanowiska

Wpina się w tę samą sieciową „wtyczkę” UDP, przez którą Twój logger i tak już wymienia dane z WSJT-X/JTDX — patrz §3.

Trzyma twoich korespondentów

Local cache

Jeśli robisz dużo łączności każdego dnia a nie masz subskrybcji QRZ.com. To mój logger ma ich w cache więc zadaniejsz mniej pytać do qrz.com. Co ważne możesz zabrać swoje kontakty ze sobą w góry na SOTA/POTA czy potrę bez dostępu do sieci.

Jedno zdanie, które warto zapamiętać: jeśli nie potrzebujesz małego interfejsu, nagrywania audio, wysyłki do QRZ/radiodyplom ani obecności w Hamevents — nie potrzebujesz µLoggera. Jeśli choć jedna z tych rzeczy Cię interesuje, dostajesz ją bez ruszania konfiguracji swojego głównego loggera.

2. REC — czarna skrzynka stanowiska

To jest właściwie powód, dla którego ten program w ogóle istnieje. Na pasku narzędzi jest jeden, duży, czerwony przycisk REC — celowo tak widoczny, żebyś w gorączce zawodów miał pewność, czy nagrywanie działa, bez szukania w menu.

Są dwa tryby, włączane niezależnie w ustawieniach:

KontestStudio
do czegożeby po zawodach odsłuchać korespondencję przy konkretnym QSOmateriał do montażu wideo/streamu, ze wspólnym timecode
co nagrywaradio cały czas, mikrofon tylko kiedy nadajesz (program sam wykrywa nadawanie po ciszy w odbiorze — nie potrzeba CAT)radio i mikrofon cały czas, na osobnych kanałach stereo
formatMP3, w kawałkach po godzinieWAV, ze znacznikiem czasu w pliku (BWF)
kiedy startujerazem z sesją, jeśli włączone w ustawieniachtylko ręcznie, klikając REC — celowo nigdy samo

Studio ma jeszcze jedną opcję dla operatorów kręcących wideo z zawodów: „Chcę synchronizację LTC” — jeśli do stanowiska podpięty jest zewnętrzny generator kodu czasowego (np. do klapsa/montażu), µLogger sam go rozpozna i wpisze ten czas do nagrania zamiast zegara systemowego. Jeśli nie robisz wideo — po prostu tego nie zaznaczasz i nic Cię to nie kosztuje.

3. Jak to się spina z Twoim loggerem

Tu jest kluczowa rzecz: nie musisz niczego przepinać w N1MM, Log4OM czy QLog. Te programy już dziś potrafią rozmawiać z innymi po sieci lokalnej — tak działa np. WSJT-X wysyłający zalogowane QSO do Twojego loggera, albo bandmapa dzieląca się spotami między stanowiskami multi-op. µLogger po prostu wpina się w tę samą, już istniejącą „wtyczkę” (UDP), a nie każe Ci budować nowej.

W praktyce robi trzy rzeczy naraz, i możesz użyć dowolnej z nich, niezależnie od pozostałych:

  • Słucha tego, co Twój duży logger albo WSJT-X/JTDX i tak już wysyłają po sieci.
  • Przekazuje dalej — jeśli WSJT-X/JTDX ma miejsce tylko na jeden skonfigurowany cel (a Ty chcesz, żeby dane trafiły i do loggera, i do µLoggera), to on odbiera i podaje dalej bez zmian.
  • Sam się podszywa pod WSJT-X — wysyła zalogowane QSO w formacie, który QLog (i podobne programy) rozumie od razu, bez żadnej specjalnej konfiguracji po ich stronie.
µLogger odbiera
Log z dużego programu
to samo QSO, które trafia do Twojego loggera przez sieć lokalną
Ruch WSJT-X / JTDX
status pasma/trybu i zalogowane łączności z programu do FT8/FT4
Powiadomienia z QLog
opcjonalnie — żeby numeracja QSO nie rozjeżdżała się między programami
µLogger
µLogger wysyła
Kopię danych dalej
do miejsc, które sam wskażesz — nic nie ginie po drodze
„Jestem WSJT-X”
QLog i podobne programy odbierają QSO bez dodatkowej integracji
Meldunek do Hamevents
obecność stacji + (opcjonalnie) samo QSO — patrz §5
Na żywo do radiodyplom.pl
każde zapisane QSO, od razu, jeśli podany klucz API akcji — patrz §1, §5

Dokładne adresy i numery portów — jeśli akurat ich potrzebujesz — są w ściągawce na końcu (§9).

4. Ekran, którego się nie boisz

Całe okno to pasek ikon u góry i jeden formularz QSO poniżej — bez zakładek, bez schowanych ustawień. Typowy przebieg zawodów/łączności wygląda tak:

  1. Przed startem — jednorazowo wypełniasz znak, grid, QTH w ustawieniach operatora (ikona z sylwetką osoby) i włączasz „Tryb kontestowy”, jeśli robisz zawody.
  2. Klikasz REC, jeśli chcesz nagrywać — napis zmienia się na czerwone [REC], więc widać z daleka, że działa.
  3. Start sesji — od tego momentu numer QSO liczy się sam pod polem znaku, razem z grupą nadawaną/odbieraną.
  4. Logujesz normalnie: znak, raporty, tryb, częstotliwość — Save zapisuje, formularz się czyści, gotowe na kolejne. Imię/QTH/lokator korespondenta zwykle uzupełniają się same (patrz §5).
  5. Koniec sesji — zamyka dzień pracy: zeruje numerację z powrotem do 1, kończy plik zgłoszeniowy (jeśli eksportujesz Cabrillo) i — jeśli masz włączone — wysyła cały log do QRZ.com Logbook jako uzupełnienie. Samo zamknięcie programu tego nie robi, więc nic się nie „zgubi”, jeśli zapomnisz kliknąć.

Mała dioda przy polu częstotliwości pokazuje, czy CAT z radiem żyje (zielona/żółta/czerwona) — kliknięcie wymusza ponowną próbę połączenia. Przycisk Web obok formularza od razu otwiera stronę QRZ.com dla wpisanego znaku.

Sam u góry formularza jest pasek S-metra — żywy odczyt siły sygnału z radia (S1…S9, potem +20/+40/+60), zabarwiający się od zielonego przez żółty do czerwonego wraz ze wzrostem poziomu. Dzięki temu w trakcie łączności nie musisz zerkać na wyświetlacz radia: logujesz QSO i patrząc w µLoggera od razu widzisz, z jakim poziomem sygnału przyszła korespondencja. Pasek działa tylko przy połączonym CAT — bez niego pokazuje po prostu „CAT niepołączone”, więc od razu widać, że warto sprawdzić diodę obok.

Gdy masz włączone nagrywanie (kontest i/lub Studio, §2), pod S-metrem dochodzi drugi, podobny pasek — skala w dB (-60…0) zamiast S-jednostek. To ten sam wskaźnik poziomu nagrywania, o którym mowa w ustawieniach operatora: pokazuje na żywo, jak głośno faktycznie nagrywa się to, co leci z radia, więc widzisz od razu, jeśli poziom jest za niski albo przesterowany, zamiast dowiadywać się tego dopiero po zawodach.

5. QRZ, radiodyplom, Hamevents — wysyła się samo

Trzy rzeczy, które normalnie robi się ręcznie po zawodach — eksport ADIF, logowanie na stronę, wgrywanie pliku — µLogger robi za Ciebie w tle, jeśli raz je włączysz.

QRZ.com Logbook

Zaznaczasz „Wysyłaj do QRZ” i podajesz login/hasło (opcjonalnie klucz API, jeśli masz subskrypcję Logbook Data — wtedy każde QSO leci na bieżąco). Niezależnie od klucza, przy „Koniec sesji” cały plik sesji trafia do QRZ jeszcze raz, zwykłym zalogowaniem na stronę — na wypadek, gdyby klucza nie było albo coś po drodze zawiodło.

Radiodyplom.pl

To pełne wsparcie, nie dodatek: jeśli bierzesz udział w akcjach dyplomowych, przycisk „Wyślij do radiodyplom” wysyła cały log bieżącej sesji do wszystkich aktualnie aktywnych akcji naraz — bez szukania, która akcja akurat trwa. Radiodyplom.pl nie ma własnego API, więc to wysyłanie zbiorcze odbywa się tymi samymi danymi logowania co na stronie.

A jeśli dodatkowo wpiszesz klucz API danej akcji, przestajesz w ogóle o tym pamiętać: każde QSO, w chwili zapisania w µLoggerze, leci do radiodyplom.pl na żywo — dokładnie w tym samym momencie, w którym trafia do Twojego dużego loggera (§3) i do lokalnego pliku ADIF na dysku. Jeden wpis QSO, trzy miejsca na raz, zero ręcznej roboty po zawodach.

Hamevents

„Pokaż aktywność” wysyła do Hamevents cichy, okresowy sygnał: jaka stacja, na jakim paśmie, w jakim trybie. To odrębna usługa sieciowa SP3SEB, obok µLoggera — i sama w sobie unikat: darmowy backend z poważnym mechanizmem czasu rzeczywistego (Nchan) w jednym zespole, na który trudno dziś znaleźć darmową alternatywę. Twój logger nadal robi swoje, µLogger tylko melduje, że stacja żyje i pracuje.

6. Radio i CAT

Połączenie z radiem idzie przez Hamlib, w oknie „Ustawienia Hamlib” pod ikoną koła zębatego na pasku narzędzi — dokładnie ten sam mechanizm, którego używa większość dużych loggerów, więc model radia, port szeregowy i prędkość transmisji ustawia się tak samo, jak już to robiłeś w N1MM/Log4OM/QLog. Imię i QTH z ustawień operatora są dodatkowo wykorzystywane do „selfspota” na DX Clusterze.

Jedna opcja jest tu szczególnie warta uwagi, bo dotyka dokładnie problemu „kto trzyma port COM”: „Współdziel port przez rigctld (np. z WSJT-X)”. Bez niej tylko jeden program na raz może mieć otwarty port radia — a przecież zwykle masz już WSJT-X i duży logger, które o ten port konkurują. Zaznaczenie tej opcji stawia między µLoggerem a radiem serwer rigctld, z którego korzysta wtedy każdy program naraz, bez rozłączania pozostałych. Pełny opis pól — w ściągawce, §10.

7. Zanim zaczniesz

Minimalna kolejność, żeby uruchomić µLoggera obok swojego loggera, bez czytania niczego więcej:

  1. Pobierz i zainstaluj przez uLoggerDownloader (Windows), wersję na Linuksa albo wersję na macOS (macOS 12 Monterey lub nowszy) — zamiast ręcznie pilnować numerów buildów, downloader sam ściąga aktualną wersję i sam się aktualizuje przy kolejnych.
    Na macOS plik jest „universal" — jeden i ten sam plik .dmg działa zarówno na starszych Makach z procesorem Intela, jak i na nowszych z czipem Apple (M1, M2, M3…). Nie trzeba wybierać wersji — system sam uruchomi właściwą część pliku.
  2. Ustawienia operatora → wpisz znak, grid, QTH.
  3. Jeśli robisz zawody → zaznacz „Tryb kontestowy”.
  4. Jeśli chcesz nagrywać → zaznacz „Nagrywaj audio” i/lub „Studio”, wybierz źródła Radio/Mikrofon.
  5. Jeśli chcesz automatycznej wysyłki → uzupełnij dane QRZ.com i/lub radiodyplom.pl.
  6. Jeśli chcesz, żeby µLogger rozmawiał z Twoim loggerem po sieci (§3) → ikona sieci, adresy jak w §9.

To wszystko — reszta ustawień ma sensowne wartości domyślne i nie trzeba ich ruszać, dopóki czegoś konkretnego nie zabraknie.

8. Ściągawka: ustawienia operatora

🔎

Ten rozdział i następny nie są do przeczytania od razu — wracaj tu, kiedy zapytasz się „co dokładnie robi to pole".

Okno Ustawienia operatora - uLogger
Okno „Ustawienia operatora”.
PoleZnaczenie
Mój callsign / Grid / Imię / QTHdane stacji; Imię i QTH używane też do selfspota na DX Clusterze.
Operator (jeśli inny niż stacja)puste = taki sam jak „Mój callsign”.
Tryb kontestowywłącza numer QSO/grupy nadawaną-odbieraną oraz sekcje audio kontestowego i Cabrillo poniżej.
Nagrywaj audio + źródła (Radio RX / Mikrofon TX)nagrywanie MP3 sesji kontestowej — §2.
Eksportuj Cabrillo (.cbr)dopisuje gotowy plik zgłoszeniowy przy każdym QSO, obok pliku ADIF. Jeden plik na zawody (nie na dobę, jak ADIF), z nagłówkiem branym z kategorii operatora/mocy/pasma/trybu poniżej.
Studio + źródła + Chcę synchronizację LTCciągłe nagrywanie WAV z timecode — §2.
Pokaż wskaźnik poziomu nagrywania (dB)belka pod S-metrem, wspólna dla kontestu i Studio.
Kolejność raportów RST / Odwróconekolejność wartości na liście RSTs/RSTr — kwestia gustu, nie narzuconego standardu.
Alternatywne źródłododatkowa próba uzupełnienia lokatora, gdy podstawowe źródło go nie poda.
HamQTH.com / QRZ.com — użytkownik, hasło, API Keydane korespondenta uzupełniają się w kolejności: lokalna baza kontaktów → HamQTH.com → QRZ.com (rezerwowo). Puste dane logowania po prostu pomijają dane źródło.
Wysyłaj do QRZ§5.
Radiodyplom + login/hasło + Klucz API§5. Klucz API to opcjonalna, dodatkowa ścieżka „na żywo” obok przycisku zbiorczego.
Aktualnie: … / Synchronizacja numeracji (rowid)dla operatorów wysyłających QSO do Hamevents (§3, §5): wklej tu rowid skopiowany z innego loggera i kliknij „Ustaw numerację”, żeby obie strony liczyły dalej od tego samego miejsca. Celowo osobny przycisk od zwykłego „Zapisz”, żeby zapis reszty ustawień nigdy przypadkiem nie cofnął już używanej numeracji.
Synchronizuj kontakty z hameventspobiera z Hamevents dane korespondentów z Twoich już zalogowanych QSO i dopisuje je hurtowo do lokalnej bazy kontaktów.
Katalog pliku konfiguracyjnegodomyślnie (puste) — obok programu.
Katalog plików ADIFdomyślnie (puste) — ten sam katalog co konfiguracja; dotyczy też lokalnej bazy kontaktów i nagrań audio.

9. Ściągawka: ustawienia sieci

Okno „UDP Forwarding Settings”, pod ikoną sieci na pasku narzędzi — dokładne adresy do tego, co opisane po ludzku w §3.

PolePort domyślnyZnaczenie
UDP Forward Host 1–32230–2232dokąd przekazać każdą odebraną linię ADIF — do trzech celów niezależnie.
UDP Server Host 1–22236 / 2237gdzie µLogger nasłuchuje natywnego protokołu WSJT-X/JTDX.
Hamevents Host / Port—osobny kanał do Hamevents (heartbeat, zalogowane QSO).
Przekaż dalej do (np. QLog) Host / Port—surowe dane WSJT-X odebrane na Server Host 1/2 lecą dalej bez zmian, np. do QLoga. Puste = wyłączone. Przydatne, gdy JTDX ma tylko jedno skonfigurowane miejsce docelowe.
Hamevents Web URL—adres strony WWW Hamevents (osobny od Host/Port powyżej) — używany przez „Synchronizuj kontakty z hamevents”.
„Zaznacz jeśli twój logger czyta JTDX, ale nie umie wysyłać logów po UDP”—włącza faktyczną wysyłkę zalogowanego QSO do Hamevents przy każdym Save — zaznacz tylko, jeśli to µLogger ma być jedynym źródłem QSO w Hamevents (inaczej możliwy duplikat, gdy duży logger też tam wysyła).
Wysyłaj żywe pingi WSJT-X/JTDX—„podszywanie się” pod WSJT-X opisane w §3.
Nasłuchuj powiadomień QLog (auto-sync numeracji)2333 (przykład)wpisz IP tego komputera i ten port w QLog: Notifications → QSO Notification Address. Jeśli tego nie zrobisz, nic się nie dzieje — ręczne pole „Ustaw numerację” nadal działa jak dotąd.

10. Ściągawka: ustawienia Hamlib

Okno „Ustawienia Hamlib”, pod ikoną koła zębatego na pasku narzędzi — pola typowe dla każdego programu opartego o libhamlib, więc większość z nich już znasz z innego loggera.

PoleZnaczenie
Model radiapełna lista modeli z libhamlib, posortowana alfabetycznie; „Hamlib Dummy” zawsze na górze — jedyny model, co do którego masz pewność, że zadziała bez podłączonego sprzętu (do testów).
Port szeregowy / Prędkość (baud) / Bity danych / Bity stopu / Parzystość / Kontrola przepływustandardowe parametry portu COM — te same wartości, co masz już ustawione w swoim dużym loggerze dla tego samego radia.
Interwał odpytywaniajak często (w ms) µLogger pyta radio o stan — częstotliwość, tryb, S-metr itd.
PTT / Port PTTsposób sterowania nadawaniem: Brak, przez CAT, albo osobną linią DTR/RTS. Port PTT puste = ten sam port co CAT.
Zakres TXogranicznik pasma nadawania (0/„Brak limitu” = wyłączony) — zabezpieczenie przed nadaniem poza dozwolonym zakresem.
RIT / XITprzesunięcie odbioru/nadawania w Hz.
Domyślna mocwartość mocy (W) używana, dopóki radio nie zgłosi własnej.
Adres CI-Vtylko dla radiostacji Icom — adres na magistrali CI-V (zwykle podawany szesnastkowo w instrukcji radia); „Auto” zostawia wykrywanie Hamlibowi.
Możliwości radiacheckboxy (Częstotliwość, Tryb, VFO, Moc, RIT, XIT, S-metr, PTT, Split, Czyszczenie QSY, Prędkość klucza CW, Synchronizacja prędkości CW) — które dane µLogger faktycznie ma odpytywać; wyłącz te, których Twoje radio nie obsługuje, żeby nie generować niepotrzebnych błędów CAT.
Zdalne włączanie (PowerStat)osobna funkcja od zwykłej „Mocy” (poziomu TX) — włącza/wyłącza samo radio zdalnie. Aktywne tylko, gdy wybrany model faktycznie to wspiera (program sam to sprawdza po wyborze modelu).
Współdziel port przez rigctld (np. z WSJT-X)patrz §6 — pozwala kilku programom na raz korzystać z jednego portu radia przez pośredniczący serwer rigctld, zamiast rywalizować o wyłączny dostęp.
Port rigctld / Zaawansowane (ścieżka, dodatkowe argumenty)widoczne po włączeniu współdzielenia; ścieżka puste = autodetekcja rigctld w systemowym PATH.