Czternaście projektów rozwijanych w polskiej społeczności krótkofalowców — od stacji bazowej i odbiorników SDR, przez aplikacje mobilne, po aplet karty SIM. Wszystko własnymi rękami, na otwartym sprzęcie.
📡
TetraSpot — TETRA hotspot
Stos TETRA — stacja bazowa (TETRA hotspot) z architekturą mikroserwisową
Pre-alpha
TetraSpot to implementacja stosu protokołów TETRA. Projekt umożliwia uruchomienie stacji bazowej TETRA z obsługą połączeń głosowych (grupowych, indywidualnych simplex i full-duplex), wiadomości SDS, transmisji danych pakietowych z dostępem do internetu, lokalizacji GPS (LIP) oraz integracji z sieciami zewnętrznymi (TetraPack przez hub TetraPoland, SIP/PABX). Architektura oparta na mikroserwisach pozwala na elastyczne wdrożenie — od pojedynczego Raspberry Pi 5 po konfiguracje wielostanowiskowe.
Rozgłaszanie SYNC/SYSINFO — sieć widoczna jako prawidłowa sieć TETRA
Rejestracja terminali (MM Location Update) i przyłączanie do grup
Połączenia głosowe grupowe — własna implementacja kodeka ACELP wg specyfikacji ETSI
Połączenia indywidualne P2P (half-duplex i full-duplex)
Sterowanie podłogą (floor control) dla połączeń half-duplex
Wiadomości SDS — indywidualne i grupowe, wysyłanie, odbieranie, store & forward
Przekazywanie rozmów prywatnych między aplikacjami — hub pośredniczy w zestawieniu połączenia
Lokalizacja GPS/LIP — śledzenie pozycji terminali
Transmisja danych pakietowych — radiotelefon dostaje adres IP i wychodzi przez stację do internetu
Portal WAP na radiotelefonie — przeglądarka radia otwiera strony serwowane przez stację: status komórki, log połączeń ze znakami, log SDS i lista zalogowanych radiotelefonów
Głos ma pierwszeństwo przed danymi — rozmowa przejmuje szczelinę kanału danych, a uśpiony radiotelefon zostaje wybudzony, gdy przychodzą do niego dane
Druga nośna (dual carrier) — więcej równoczesnych rozmów z jednej stacji, kanał danych na osobnej nośnej
Most do sieci APRS — pozycje radiotelefonów i stacji trafiają na mapy APRS, z przypisaniem znaku do numeru radia
Hub TetraPoland: arbitraż podłogi, konta w panelu, log zdarzeń i podgląd na żywo
Aplikacje TetraPoland na Android i iOS rozpoznawane w hubie — z numerem wersji każdego klienta
Konsola administratora huba: rozmowa z przeglądarki prosto na antenę, nasłuch wybranego źródła (grupa, stacja lub aplikacja), nagrywanie połączeń i blokowanie stacji
Zdalne sterowanie stacją wiadomością SDS — status albo tekst (restart, reboot, wyłączenie), z potwierdzeniem doręczenia
Usługa echo (parrot) — zadzwoń i usłysz sam siebie, żeby sprawdzić wejście w sieć i jakość dźwięku
Bramka telefoniczna SIP/PABX
Bramka komórkowa GSM — SMS z sieci komórkowej trafia na radio jako SDS i odwrotnie
Blokada połączeń (call barring) i ukrywanie własnego numeru (CLIR) — z wyłączeniem połączeń alarmowych
Panel zarządzania WWW (dashboard, logi połączeń, konfiguracja) po HTTPS
Panel: podgląd zajętości szczelin czasowych, telemetria zasilania, kalibracja toru nadawczego i logi systemu prosto z przeglądarki
Zarządzanie kodeplugiem radia z panelu — odczyt i zapis przez USB, obsługa plików .cpe offline (bez CPS i Windows)
Opcjonalne usługi dodatkowe: zegar mówiący i wyświetlanie nazwy ulicy na radiu (z pozycji GPS)
Baza DMR ID z wyszukiwaniem po znaku (callsign)
Gotowy obraz karty SD — stacja spersonalizowana ankietą (znak, częstotliwości, grupy), gotowa do pracy po pierwszym uruchomieniu
Kreator online wydający obraz — kod zaproszenia, kolejka generacji i automatyczne wpięcie stacji do sieci
Automatyczne aktualizacje floty — każde wydanie podpisane cyfrowo, stacja odrzuca aktualizację bez poprawnego podpisu
Wdrożenie na Raspberry Pi 5 z usługami systemd
W rozwoju
Obsługa wielu stacji bazowych (multi-site)Kanał danych na wielu szczelinach (multislot)Retransmisja LLCTryb MS (terminal mobilny)
Pierwszy SDR-owy terminal o małych wymaganiach sprzętowych w świecie HAM radio
Alphaod marca 2026
Jedno urządzenie zamiast kilku radiotelefonów — Multi-Radio pracuje dziś w dziewięciu systemach: analogowym FM (z AM i SSB), TETRA, DMR, P25, M17, D-STAR, YSF (System Fusion) oraz NXDN i dPMR — przy czym dwa ostatnie nie zostały jeszcze zweryfikowane z komercyjnym radiotelefonem. Całość mieści się na Raspberry Pi z jedną nakładką SDR. Pracujemy nad nim od marca 2026 i to pierwszy SDR-owy terminal o tak małych wymaganiach sprzętowych w świecie HAM radio: rejestruje się w sieci, uwierzytelnia, przyłącza do grup, nadaje i odbiera głos oraz wymienia wiadomości — bez firmowego radiotelefonu za kilka tysięcy złotych. Każdy tryb sprawdzamy z prawdziwym sprzętem: DMR z AnyTone, P25 z Harrisem, YSF z Yaesu, D-STAR z ICOM-em, a TETRA z Motorolą EBTS i TetraSpotem. Radio potrafi też samo krążyć po systemach i zatrzymać się tam, gdzie ktoś nadaje. Sterujesz nim z aplikacji na telefonie, z przeglądarki albo z dotykowego panelu przy stacji, a wszystkie dane do logowania — ISSI, MCC/MNC i grupy — wprowadzasz online. Żadnego kabla programującego, firmowego oprogramowania ani procedury tworzenia codeplugu.
Tryby pracy — działające dziś
FM analogowy — odbiór i nadawanie, wąsko- i szerokopasmowo
AM i SSB (LSB/USB) — nowe tryby analogowe obok FM
TETRA TMO — terminal zalogowany do sieci, sprawdzony z Motorolą EBTS i TetraSpotem
TETRA DMO — nasłuch pracy bezpośredniej na żywo
DMR — głos w obie strony, potwierdzony w eterze z AnyTone AT-D878UVII Plus
P25 — głos w obie strony, potwierdzony w eterze z Harris P7100
M17 — głos w obie strony między własnymi stacjami; brak jeszcze testu z komercyjnym radiem
D-STAR — głos w obie strony, potwierdzony w eterze z ICOM ID-51
YSF (System Fusion) — głos w obie strony, potwierdzony w eterze z Yaesu FT-991A
NXDN — pełny tor głosowy (nadawanie i odbiór); niezweryfikowany jeszcze z komercyjnym radiotelefonem
dPMR — pełny tor głosowy (nadawanie i odbiór); niezweryfikowany jeszcze z komercyjnym radiotelefonem
Przełączanie trybu jednym przyciskiem — nowy system gotowy w około sekundę
Skanowanie między systemami — radio samo krąży po trybach i staje tam, gdzie ktoś nadaje
Zastosowania
Głos
Połączenia grupowe w sieci TETRA
Połączenia indywidualne (prywatne)
Rozmowy w DMR, P25, M17, D-STAR i YSF — nadawanie i odbiór
Nasłuch pracy bezpośredniej TETRA, poza zasięgiem infrastruktury
Łączność analogowa FM z tego samego urządzenia
Dane
Wiadomości tekstowe SDS z potwierdzeniem doręczenia
Meldunki pozycji GPS (LIP) — śledzenie na mapie
Statusy — gotowe komunikaty jednym przyciskiem
Znak wywoławczy, krótkie wiadomości i pozycja GPS w eterze D-STAR
Gdzie się przyda
Tani terminal tam, gdzie firmowe radio jest za drogie
Stanowisko monitorujące i testowe przy budowie sieci
Nauka i eksperymenty — pełny wgląd w to, co dzieje się w eterze
Dziewięć systemów z jednego urządzenia, bez kupowania kilku radiotelefonów
Co już działa w trybie TETRA
Rejestracja w sieci i uwierzytelnianie TAA1
Przyłączanie do grup rozmównych
Połączenia grupowe i indywidualne — zestawianie i zwalnianie
Podgląd parametrów sieci i poziomu odbieranego sygnału
Konfiguracja logowania online — bez kabla i codeplugu
Co już działa w trybach cyfrowych
DMR: odbiór na żywo — kto nadaje, na jaką grupę, na jakiej częstotliwości
DMR: nadawanie głosu przyciskiem PTT prosto w eter
DMR: własne ID, grupa, Color Code i moc ustawiane z aplikacji
P25: nadawanie i odbiór głosu z odczytem identyfikatora radia i grupy
P25: własny NAC, grupa i identyfikator nadającego ustawiane z aplikacji
M17: głos w obie strony ze znakiem wywoławczym w każdej ramce — sprawdzony między własnymi stacjami
D-STAR: głos w obie strony, znak wywoławczy i krótkie wiadomości
YSF (System Fusion): głos w obie strony, potwierdzony z prawdziwym radiem Yaesu
TETRA DMO: nasłuch — kto nadaje, do kogo i w jakiej sieci
NXDN i dPMR: głos nadaje i odbiera na własnym sprzęcie — zgodność z komercyjnym radiem jeszcze niepotwierdzona (brak radia do testu)
Opcjonalne szyfrowanie głosu w trybach cyfrowych (DMR i P25)
Skanowanie po systemach z zatrzymaniem na aktywności — czas nasłuchu na trybie do ustawienia
S-metr i wskaźniki odbioru oraz nadawania w każdym trybie
Sterowanie — telefon, przeglądarka, panel
Aplikacja na Androida — pełna obsługa radia z telefonu
Łącze do telefonu do wyboru: automatyczne, Bluetooth albo Wi-Fi
PTT, nasłuch i podgląd na żywo w każdym trybie
Zmiana częstotliwości, grup i parametrów bez wchodzenia w konfigurację stacji
Skanowanie między systemami włączane z aplikacji — z podglądem trybu, na którym radio się zatrzymało
Panel WWW nadal dostępny — te same funkcje z przeglądarki, razem z dźwiękiem z radia
Dotykowy panel czołowy przy stacji — komplet trybów i ustawień, bez telefonu i komputera
Parowanie Bluetooth otwierane świadomie i na chwilę — z zewnątrz nikt nie przejmie nadawania
Zarządzanie sparowanymi telefonami — lista urządzeń i odparowanie z obu stron
Podgląd zasilania bateryjnego (UPS) — poziom, ładowanie i pobór mocy w aplikacji
Zdalny restart i wyłączenie stacji z aplikacji
W rozwoju
Weryfikacja NXDN i dPMR z komercyjnymi radiotelefonamiNadawanie w trybie bezpośrednim TETRA (DMO)Nadawanie głosu w trybie sieciowym TETRA (TMO)Uwierzytelnianie wzajemneTransmisja danych pakietowychPraca DMR przez przemiennik (szczeliny czasowe)Praca w kilku trybach jednocześniePrzystawka „Plecki" — cała stacja Multi-Radio na plecach smartfona, z własną baterią i wzmacniaczem 2 W (architektura i lista części gotowe, schemat i płytka w kolejce)
Wymagania sprzętowe
Raspberry Pi · nakładka SDR (HAT) — tyle wystarczy, żeby mieć terminal dziewięciu systemów. Nakładka obsługuje jeden tryb naraz, więc między systemami przełączasz się jednym przyciskiem.
SwMI — własny rdzeń dla stacji Motorola EBTS, MBTS i MTS
Profesjonalne stacje bazowe TETRA bez centrali producenta — autor SP8MB
Pre-alphaod lutego 2026
Motorola EBTS, MBTS i MTS to profesjonalne stacje bazowe TETRA, które same z siebie nie nadają — do pracy potrzebują centrali sieci Dimetra (SwMI, Switching and Management Infrastructure), a bez niej są tylko nadajnikami bez mózgu. Ten projekt zastępuje tę centralę własnym oprogramowaniem i dotyczy wszystkich trzech rodzin stacji. BR (Base Radio) stacji bazowej pracuje teraz dla nas z wyeliminowaniem TSC (Site Controller): nasz kontroler rozmawia z nadajnikiem jego własnym protokołem, uruchamia go, kluczuje i pilnuje, a cały ruch — rejestracje, rozmowy, wiadomości, pozycje — przekazuje do tego samego stosu, który napędza TetraSpota. Dzięki temu profesjonalna stacja pracuje jako pełnoprawny węzeł sieci TetraPoland: bez centrali producenta, bez jego serwerów i bez zależności od cudzej infrastruktury. Protokół TSC–BR został odtworzony z nasłuchu komunikacji na łączu stacji. Od 3 września 2026 nasz kontroler prowadzi na żywo prawdziwą stację EBTS społeczności — TSC jest fizycznie odłączony, a stacja pracuje w sieci TetraPoland z całym dobrodziejstwem inwentarza. Od 5 września kontroler prowadzi dwa Base Radio tej stacji jako jedną celę z dwiema nośnymi.
Co już działa na prawdziwej stacji
Konfiguracja i kluczowanie BR jak u oryginalnego TSC — parametry kanałów, synchronizacja czasu TETRA, pełna sekwencja rozruchu
Przejęcie pracującego BR po odłączeniu TSC (Site Controller) — bez restartu stacji
Dwie nośne w jednej celi — dwa Base Radio na wspólnym LAN stacji pod jednym kontrolerem; drugi nadajnik pracuje jako nośna wtórna z czterema kanałami ruchowymi, po restarcie oba są kluczowane w niecałe półtorej minuty, a nośnę wtórną można uśpić i obudzić z panelu
Rejestracja radiotelefonów i przyłączanie do grup
Rozmowy grupowe — lokalnie między radiami na stacji oraz z całą siecią TetraPoland przez hub, z głosem w obie strony; ponowne naciśnięcie PTT w czasie zawieszenia rozmowy i poprawne zwolnienie kanału po jej zakończeniu
Połączenia indywidualne simplex i dupleks — ze zmianą mówcy w simpleksie i głosem jednocześnie w obu kierunkach w dupleksie
Bramka telefoniczna SIP — rozmowa z radiotelefonu na numer w sieci telefonicznej przez centralę SIP, z dźwiękiem
Stacja pracuje w sieci TetraPoland jak każdy inny węzeł, z całym dobrodziejstwem inwentarza — i z własną tożsamością na hubie
Pozycje GPS radiotelefonów (LIP) — odczyt na żądanie i mapa w panelu stacji
Sonda obecności jak w oryginalnej sieci — milczący radiotelefon jest odpytywany, a po wyjściu z zasięgu wyrejestrowywany, zamiast wisieć w rejestrze
Czas sieci TETRA z właściwą strefą — radiotelefony pokazują czas lokalny (oryginalny kontroler wysyłał go o godzinę do tyłu)
Automatyczny powrót po awarii — po utracie wzorca częstotliwości stacja sama wyłącza nadajnik, a po jego powrocie ponownie go konfiguruje i kluczuje, bez udziału operatora
Konsola serwisowa BR na żywo w panelu — ze ściągawką ponad 200 komend opisanych na podstawie żywego nadajnika, automatycznym ustawieniem mocy po kluczowaniu i odczytem rzeczywistej mocy wyjściowej
Wymiana Base Radio na inny egzemplarz bez zmiany konfiguracji — częstotliwości i moc narzuca kontroler; zmiana kanału pracy stacji z pliku konfiguracji (sprawdzona zmiana częstotliwości i powrót)
Dedykowany panel WWW stacji (eBTS CoreX), po polsku i angielsku — stan obu nadajników i siatka szczelin celi, alarmy i rekord każdego wywołania z BR, konsola, konfiguracja z przeglądarki, radia i biała lista, log rozmów ze znakami, mapa SDS/LIP, dane pakietowe, telefonia, hub i usługi systemowe
Konfiguracja jak dla stacji SDR — jeden plik, w którym zamiast układu radiowego wskazuje się nadajnik stacji Motoroli
Odporność na restart kontrolera — nadajnik zostaje kluczowany, a kontroler po starcie odnawia łącze w kilkadziesiąt sekund
W rozwoju
Rozmowy na nośnej wtórnej — druga nośna jest kluczowana i skonfigurowana, ale ruch trafia na nią dopiero przy komplecie zajętych kanałów na głównej; ten przypadek nie był jeszcze wymuszony w eterzeDane pakietowe i portal WAP — radio aktywuje kontekst i wchodzi na kanał danych, ale utrzymanie tego kanału po stronie BR wymaga jeszcze odtworzenia; prace zaparkowaneTelefonia — połączenia przychodzące z telefonu na radio jeszcze niesprawdzone; do wyjaśnienia restart radiotelefonu po rozmowie dupleksowejBrandMeister (grupy 91+) — usługa uruchomiona, czeka na poświadczeniaMost pozycji LIP na mapę tetra-poland.pl — gotowy w serwerze SDS, jeszcze nieuruchomionyUwierzytelnianie z białą listą terminali — usługa działa, na razie przepuszcza wszystkichOkresowe raporty pozycji z radiotelefonów — wymagają zmian w ich codeplugu
BR Motoroli zostaje, TSC znika — cały „mózg” stacji jest nasz. Powyżej bramki pracuje dokładnie ten sam stos, który w TetraSpocie obsługuje stację SDR na Raspberry Pi — stacja Motoroli jest dla niego po prostu kolejnym rodzajem nadajnika, a drugi Base Radio kolejną nośną tej samej celi.
Sprawdzone na prawdziwej stacji
Od 3 września 2026 nasz kontroler prowadzi stację EBTS społeczności z wyeliminowanym TSC (Site Controller) — BR (Base Radio) pracuje dla nas, a od 5 września dwa — nadajniki kluczowane z mocą 20 W, radiotelefony zarejestrowane, rozmowy grupowe lokalne i przez hub TetraPoland z głosem w obie strony, połączenia indywidualne simplex i dupleks, rozmowa z radia na telefon, pozycje LIP, automatyczny powrót po awarii wzorca, wymiana Base Radio na inny egzemplarz. Pierwszy etap projektu (od lutego 2026) polegał na emulowaniu całej centrali Dimetra za oryginalnym kontrolerem stacji — to doświadczenie pozwoliło pójść krok dalej i zastąpić sam kontroler.
Czego potrzeba
Stacja Motorola EBTS, MBTS lub MTS z jednym lub dwoma Base Radio · hub Ethernet z portem BNC · wzorzec 5 MHz z wstrzykniętym sygnałem 1 PPS · komputer z Linuksem i dwoma portami sieciowymi — sieć LAN stacji pracuje z prędkością 10 Mb/s, a stacja podłącza się złączem BNC, więc między nią a komputerem potrzebny jest hub z takim portem. Nadajnik wymaga wzorca częstotliwości 5 MHz z nałożonym sygnałem 1 PPS — bez niego nie osiągnie gotowości, a po jego utracie sam się wyłącza. Jeden port sieciowy komputera pracuje w LAN stacji, drugi łączy z internetem (hub TetraPoland, BrandMeister). Kontroler może pracować na maszynie wirtualnej, a obok niego uruchamia się gotowe usługi TetraSpota. Pliki rozruchowe nadajnika pochodzą z własnej stacji.
📻
TLA — Tetra Light Analyzer
autor: SP8MB
Webowy analizator sieci TETRA na Raspberry Pi. Monitoring 64 kanałów w czasie rzeczywistym z odtwarzaniem głosu, nagrywaniem rozmów, analizą widma, dekodowaniem SDS i śledzeniem lokalizacji terminali — wszystko z przeglądarki.
Funkcje
Monitoring
Śledzenie 64 kanałów TETRA w czasie rzeczywistym
Wyświetlanie identyfikatorów GSSI/ISSI
Rozpoznawanie typu połączenia (grupowe, indywidualne, PSTN)
Wykrywanie szyfrowania (brak / TEA1)
Kolorowa siatka aktywności kanałów
Audio
Odtwarzanie rozmów na żywo (własna implementacja kodeka ACELP)
Automatyczne nagrywanie rozmów do MP3
Wybór kanału i wyciszanie
Pobieranie i zarządzanie nagraniami
Widmo i sygnał
Widmo FFT z wizualizacją waterfall
Diagram konstelacji DQPSK
Monitoring poziomu sygnału, szumu i SNR
Metryki jakości: MER, błędy burst, numer nośnej
Śledzenie AFC (automatyczna korekcja częstotliwości)
Dane
Dekodowanie wiadomości SDS
Śledzenie lokalizacji terminali przez protokół LIP
Rejestr połączeń z pełną historią sesji
Statystyki sieci (liczba połączeń, aktywne terminale)
Eksport raportów do PDF
Sieć
Identyfikacja MCC/MNC z nazwą operatora
Baza znanych sieci z szybkim strojeniem
Wykrywanie częstotliwości sąsiadów
Auto-tune do częstotliwości z NETINFO
Auto-korekcja PPM z wartości AFC
System
Responsywny interfejs webowy (desktop i mobile)
Dwujęzyczny interfejs (polski / angielski)
Motyw jasny / ciemny
HTTPS z certyfikatem SSL
Opcjonalne zabezpieczenie hasłem
Obsługa wielu odbiorników SDR (RTL-SDR, HackRF, Airspy, SDRplay, LimeSDR, USRP)
Aplikacja Android łącząca się z hubem TetraPoland przez szybkie, odporne połączenie QUIC. Działa jak programowy terminal TETRA — użytkownik dostaje pełną funkcjonalność radiotelefonu (rozmowy grupowe i indywidualne, SDS, skanowanie talkgrup) na zwykłym telefonie z połączeniem komórkowym lub Wi-Fi. Kompatybilna z obsługą PTT przez przyciski sprzętowe, bezprzewodowe przyciski Bluetooth LE i headset (SCO). Umożliwia rozmowy prywatne między użytkownikami, logowanie danymi sieci BrandMeister, a pozycja GPS trafia na mapę tetra-poland.pl. Od wersji 1.8.3 łączy się też wprost z sieciami krótkofalarskimi — BrandMeister, DMR Homebrew, YSF, FCS, M17 i NXDN — bez pośrednictwa huba, a praca na TETRZE zostaje dokładnie taka sama.
Funkcje
Połączenia grupowe PTT (RX/TX) z floor control
Połączenia indywidualne (half/full-duplex)
Logowanie danymi sieci BrandMeister
Wiadomości SDS — indywidualne i grupowe, z raportami dostarczenia i szybkimi odpowiedziami
Skanowanie talkgrup z hold, priorytetem i presetami DSP
Raportowanie pozycji GPS na mapę tetra-poland.pl i zapis śladu do pliku GPX
Bezprzewodowe przyciski PTT Bluetooth LE (PTT-Z01, AnyTone, HM-10)
Sprzętowy PTT i headset Bluetooth SCO
Własna implementacja kodeka ACELP wg specyfikacji ETSI
Transport QUIC (Brew-over-QUIC) — szybkie wznawianie po zmianie sieci
Wysokiej jakości audio (bufor jitter, AGC, redukcja szumów)
Działa nieprzerwanie w tle
Lista kontaktów i historia połączeń
Uwierzytelnianie HTTP Digest + TLS
Sieci cyfrowe obok TETRY (od 1.8.3)
BrandMeister — katalog wszystkich masterów, z zaznaczeniem tych, które odpowiadają
YSF i FCS (System Fusion) — pokoje wybierane tak samo jak grupy
M17 — połączenie ze znakiem wywoławczym w każdej ramce
NXDN — połączenie i podgląd ruchu
Grupy 1–90 zostają zawsze; powyżej nich decyduje wybrana sieć
Sieć wybierana z menu, serwer z katalogu z wyszukiwarką
Połączenie wprost do sieci, bez pośrednictwa huba TetraPoland
Co nie zostało jeszcze sprawdzone
Uczciwie o dwóch rzeczach — nadawanie w YSF, FCS i M17 składa poprawne ramki, ale nikt nie próbował go jeszcze w eterze: pierwsza transmisja będzie zarazem pierwszym testem. NXDN na razie tylko się łączy i pokazuje ruch, bez dźwięku — przez kilkanaście minut nasłuchu na sześciu reflektorach nie odezwał się nikt, więc nie było czego rozebrać.
W rozwoju
Aplikacja towarzysząca na zegarek Wear OS — PTT i ulubione grupy z nadgarstka, opcjonalne audio przez zegarek (w testach na sprzęcie)Skalowany układ ekranu (beta) — dopasowanie do małych wyświetlaczy, m.in. w dotykowych radiotelefonach PoC; włączany w Ustawieniach, docelowo ma zastąpić dotychczasowy
Programowy terminal TETRA na iPhone i iPada — PTT-over-Cellular
TestFlight
Ta sama sieć TetraPoland, teraz na iPhonie i iPadzie. Aplikacja łączy się z hubem TetraPoland tym samym szybkim połączeniem QUIC co wersja na Androida i zamienia telefon w programowy terminal TETRA — połączenia grupowe PTT oraz prywatne rozmowy (simplex i pełny dupleks) przez internet komórkowy lub Wi-Fi. Rozmowa prywatna w pełnym dupleksie zachowuje się jak zwykłe połączenie iPhone’a: pojawia się na ekranie blokady i w systemie (CallKit). Do sieci wchodzi wyłącznie tożsamość potwierdzona przez BrandMeister (zweryfikowane DMR ID) — koniec anonimowego logowania. Dystrybucja przez TestFlight.
Funkcje
Połączenia grupowe PTT — nadawanie i odbiór
Rozmowy prywatne — simplex i pełny dupleks
Integracja rozmów pełnodupleksowych z systemem iOS (CallKit) — połączenie na ekranie blokady, jak zwykły telefon
Automatyczne rozłączenie połączenia simplex po chwili bezczynności
Tony zestawiania połączenia (ringback)
Skanowanie talkgrup z odpowiedzią na wyskanowanej grupie
Piknięcie PTT i opcjonalny roger beep słyszalny dla rozmówców
Mapa tetra-poland.pl wbudowana w aplikację
Wskaźnik jakości odbioru z legendą progów
Odbiór gra razem z muzyką i podcastami zamiast je pauzować
Radio przeżywa rozmowę telefoniczną — odbiór wraca sam, bez ponownego logowania
Logowanie wyłącznie zweryfikowanym DMR ID sieci BrandMeister
Opcjonalne raportowanie pozycji GPS na mapę tetra-poland.pl
Wspólny z wersją na Androida rdzeń kodeka ACELP wg specyfikacji ETSI
Transport QUIC / WSS do huba TetraPoland
Sieci cyfrowe obok TETRY (od 1.1.4)
BrandMeister — wprost do mastera, bez pośrednictwa huba; zielona lub czerwona kropka pokazuje, który odpowiada
DMR Homebrew — XLX, FreeDMR, DMR+, HBlink, TGIF
YSF i FCS (System Fusion) — samych reflektorów YSF jest tysiąc czterysta
M17 i NXDN — połączenie i podgląd ruchu
Głos niosą dziś BrandMeister, Homebrew, YSF i FCS
Grupy 1–90 zostają zawsze; wyżej wchodzą ulubione pokoje wybranej sieci
Każda sieć z własnym katalogiem i wyszukiwarką
Czego jeszcze nie słychać
M17 i NXDN łączą się i pokazują ruch, ale milczą — M17 potrzebuje kodeka Codec2, którego na iOS jeszcze nie zbudowaliśmy; przy NXDN nie udało się złapać ani jednej transmisji, więc nie było ramki do rozebrania. Aplikacja mówi to wprost przy każdej sieci, żeby cisza nie wyglądała na usterkę.
W rozwoju
Bezprzewodowy przycisk PTT Bluetooth LE (PTT-Z01, AnyTone, HM-10) — w testach na realnym sprzęciePowiadomienia push — wybudzanie na połączenie przychodzące przy zamkniętej aplikacjiDźwięk w M17 (kodek Codec2 na iOS) i w NXDNPublikacja w App Store (dziś dostępna w TestFlight)
Jak zainstalować
iPhone / iPad · iOS 16+ · TestFlight — aplikację instalujesz przez TestFlight (link i kod zaproszenia na stronie „Pobierz”). Aktualna wersja 1.1.4.
Terminal TETRA na radiotelefonie PoC — sterowany wyłącznie klawiszami
Wersja wstępna
Osobna aplikacja dla radiotelefonów PoC bez ekranu dotykowego — takich jak Hytera P50 z ekranem 240×320. Obsługuje się ją wyłącznie klawiszami: manipulatorem, spustem PTT, pokrętłem grup oraz klawiszami Menu i Wstecz. Ten sam rdzień co TetraPoland na telefon — ta sama sieć, te same grupy i ten sam kodek — ale własny interfejs pod klawisze i własna numeracja wersji. Od 0.1.6 radio pracuje także w sieciach krótkofalarskich, a sprzętowy PTT nadaje do tej sieci, którą wybrano w menu.
Funkcje
Całość obsługiwana bez dotyku — manipulator, spust PTT, pokrętło grup, Menu i Wstecz
Logowanie numerem DMR ID i hasłem BrandMeister SELF CARE
Rozmowy grupowe i pełnodupleksowe, kontakty, rejestr połączeń
Wiadomości tekstowe z klawiaturą ułożoną jak w telefonie — cyfry w siatce, CLR i OK pod gwiazdką i kratką
Skanowanie ulubionych grup — skanowana może być tylko grupa widoczna na ekranie skanowania
Klawisz alarmowy z osobną akcją dla krótkiego wciśnięcia i dla przytrzymania — domyślnie skanowanie oraz wiadomość alarmowa do wybranego kontaktu
Kafelek „Grupa” przeskakujący na następną ulubioną grupę — zastępuje pokrętło, gdy firmware radia je zablokuje
Żółta ramka kursora na każdej pozycji, którą da się wybrać
Wszystko wybierane strzałkami i środkowym klawiszem, bez dotyku
Grupy 1–90 zostają zawsze; powyżej wchodzą pokoje wybranej sieci
Sprzętowy PTT respektuje wybraną sieć — na tym radiu to jedyny sposób nadawania
Co nie zostało jeszcze sprawdzone
Tak samo jak w wersji dotykowej — nadawanie w YSF, FCS i M17 nie było jeszcze próbowane w eterze, a NXDN na razie tylko się łączy i pokazuje ruch, bez dźwięku.
Na czym to chodzi
Hytera P50 · ekran 240×320 · 32-bitowy ARM — radiotelefony PoC mają procesor armeabi-v7a, więc pobiera się dla nich osobny plik. Firmware radia nie pozwala aplikacji zaktualizować się samej — nową wersję wgrywa się tak samo jak pierwszą.
Plugin do aplikacji ATAK (Android Team Awareness Kit) integrujący taktyczną mapę z radiokomunikacją TETRA. Pozycje terminali (LIP) trafiają na mapę ATAK jako CoT (Cursor on Target), wiadomości SDS wyświetlają się jak komunikaty, a PTT pozwala nadawać bez opuszczania mapy. Łączność z radiem przez USB/Serial, Bluetooth SPP lub TCP/IP do bramki.
Funkcje
SDS — krótkie wiadomości tekstowe (SDS-1 / SDS-2)
LIP — automatyczne przesyłanie pozycji na mapę CoT
Status messages — predefiniowane i własne
PTT — przycisk nadawania z poziomu mapy taktycznej
Połączenia grupowe i indywidualne
Pozycje kolegów z zespołu widoczne na mapie ATAK
Floating PTT overlay na mapie (przeciągalny)
Wskaźniki RX / TX, sygnału i baterii radia
Zmiana talkgrupy z klawiatury radia (+MCTGS)
Połączenie: USB/Serial, Bluetooth SPP lub TCP gateway
Okresowe raportowanie pozycji (30 s w ruchu / 15 min w spoczynku)
Automatyczne wznawianie połączenia i praca w tle (foreground service)
🔐
TSIM — TETRA SIM Applet
Aplet JavaCard karty SIM dla terminali TETRA
Aplet JavaCard implementujący moduł tożsamości TETRA (TIM/TSIM) zgodnie z ETSI TS 100 812-2. Realizuje pełny ciąg uwierzytelniania TAA1 (HURDLE + TA11/TA12/TA21/TA22/TB4), zarządzanie kluczami OTAR (TA32/TA52/TA71/TA82/TA92) oraz strukturę plików DF_TETRA z wymaganymi EF (ITSI, SPN, forbidden networks, adresy SCK/CCK/GCK). Działa przez interfejs UICC/APDU — może zastąpić oryginalną kartę w dowolnym terminalu TETRA.
ETSI TS 100 812-2 V2.4.1 — TSIM ApplicationETSI EN 300 812-3 V2.3.1 — IC card TSIMETSI EN 300 392-7 — Security (TAA1, TEA1)
🎛
TETRA Remote Head
Zdalny panel radiotelefonu TETRA przez PEI
Webowy panel sterowania radiotelefonem TETRA Motorola sterowanym komendami AT przez interfejs PEI (RS232). Serwer eksponuje REST API, strumień zdarzeń SSE oraz pełno-dupleksowe audio przez WebRTC — dzięki temu z dowolnej przeglądarki można obsługiwać radio jak fizyczny panel czołowy: rozmowy grupowe i indywidualne, SDS, wybór talkgrupy, skanowanie, GPS, status sieci. Może też pracować jako pełna zdalna konsola operatorska: przechwytuje pozycje GPS innych radiotelefonów przez odpytywanie Remote SDS i wizualizuje je na mapie. Zaprojektowany do montażu w pojeździe (np. BMW R1250RT) z radiem schowanym w kufrze i panelem na telefonie. Nowszy wariant integruje interkom w kasku motocyklowym (Cardo) i bezprzewodowy przycisk PTT przez mostek ESP32.
Funkcje
Pełne sterowanie radiem przez AT/PEI
WebRTC full-duplex audio (RX/TX) z niskim opóźnieniem
PTT z przeglądarki (klik, klawisz, ekran dotykowy)
Bezprzewodowy przycisk PTT Bluetooth LE (ELET-PTT603E34)
Mostek do kasku motocyklowego: ESP32 + interkom Cardo (HFP) — audio i PTT po Bluetooth
Połączenia grupowe i indywidualne, SDS
Wybór i skanowanie talkgrup
GPS, RSSI, bateria, status sieci, alarm/TXI
Przechwytywanie pozycji GPS innych radiotelefonów przez odpytywanie Remote SDS
Wizualizacja pozycji terminali na mapie
Praca jako pełna zdalna konsola operatorska
Zdalne kasowanie alarmu i sterowanie wieloma funkcjami zdalnych terminali (wymaga zaprogramowania opcji w CPS)
Multiplekser PEI (pei_mux) — współdzielony port dla svxlink + remotehead
Watchdog radia — automatyczne odzyskiwanie połączenia z radiem
Natywny klient OpenWebRX+ na Android — autor SP8MB
Beta
Natywny klient Android dla odbiorników OpenWebRX+ (fork luarvique). Pozwala słuchać własnych serwerów SDR w terenie — z audio działającym w tle, skanerem pasm, monitorem TETRA i mapą APRS. Powstał, bo przeglądarka na Androidzie zawodzi w terenie: audio pada przy zgaszonym ekranie, a zerwanie LTE wymaga ręcznego odświeżania. To czysty klient do Twoich serwerów (obsługuje basic auth nginx) — nie zawiera ani nie obchodzi żadnego szyfrowania.
Funkcje
Odbiornik
Wodospad i widmo z podziałką (pinch-zoom, przesuwanie, tap = strojenie)
Cyfrowy odczyt częstotliwości — wpisanie MHz z auto-skokiem do profilu
Wyciszenie i głośność programowa, squelch z trybem Auto
AGC / ręczny gain urządzenia, redukcja szumów (NR)
Zakładki pasm z tagami nad skalą
Audio w tle
Odtwarzanie w tle z powiadomieniem i blokadą uśpienia
Czuwanie nad ciszą (30 s) i automatyczne wznawianie połączenia
Po zerwaniu LTE wznawia ostatni stan (częstotliwość/tryb/squelch)
Pełne zamknięcie sesji jednym przyciskiem
Skaner i nagrywanie
Trzy tryby: całe pasmo, zakres (od–do), skan zakładek
Detekcja nośnych z FFT, próg ręczny lub Auto, raster 8.33 / 12.5 / 25 kHz
Blacklista, historia trafień, beep i wibracja przy złapaniu
Nagrywanie do .m4a (AAC) i tryb VOX (auto-nagrywanie transmisji)
TETRA i mapa
Monitor TETRA: sieć (MCC/MNC/LA, czas ETSI, szyfrowanie), szczeliny, sąsiedzi
Mapa OSM z ikonami APRS/AIS — także z lokalnie zdekodowanych ramek
Samoloty obrócone wg kursu (ADSB/VDL2/HFDL), lokatory Maidenhead
Administracja
Zarządzanie serwerem OWRX z panelu (lista urządzeń, gain, profile)
Łączy się z Twoimi serwerami OpenWebRX+ (basic auth nginx)
Interfejs po polsku
🌊
OpenWebRX+ TETRA Plugin
Wtyczka dekodera TETRA do OpenWebRX+ — autor SP8MB
Wtyczka rozszerzająca OpenWebRX+ o tryb TETRA: demodulację π/4-DQPSK, dekodowanie warstw L1/L2/L3, odtwarzanie mowy w kodeku ACELP oraz dedykowany panel WWW z informacjami o sieci, połączeniach i terminalach — wszystko wprost w interfejsie OpenWebRX+.
GSSI / ISSI z rozróżnieniem prawdziwego ISSI od aliasów ESI
Stan szczelin czasowych (Traffic / Control / Common-Ctrl / Reserved / Unalloc) z TTL
Lista sąsiednich komórek (cell_id, carrier, DL freq, load)
Aktywne SSI i zdarzenia rejestracji MS (LU Accept/Reject, attach/detach, auth)
Wiadomości SDS z dekodowaniem protokołu i statusu doręczenia
Pływające okno zdarzeń z filtrami, edytorem etykiet G/SSI, eksportem CSV, trybem zdalnym i kompaktowym
🔎
TETRA Air Trace
Dekoder sygnalizacji TETRA przez PEI radia — autor SP8MB
Narzędzie do przechwytywania i analizy sygnalizacji interfejsu radiowego TETRA przez PEI (Peripheral Equipment Interface) radiotelefonów Motorola (MTM800 / MTP850). Podłącza się do radia przez port szeregowy lub USB, włącza tryb śledzenia i na żywo dekoduje ramki — połączenia, rejestracje, SDS, GPS, SYSINFO. Dostępne jako aplikacja na Windows, aplikacja na Androida oraz narzędzie na komputer.
Funkcje
Śledzenie sygnalizacji TETRA na żywo przez PEI radia
Dekodowanie częstotliwości z ramki SYSINFO (pasmo, nośna, duplex)
Nazwy PDU zgodne ze specyfikacją ETSI
Automatyczne wykrywanie portu i identyfikacja radia
Widok śledzenia z kolorowaniem, zakładki Szczegóły / Radio / Sieć / Statystyki
Filtrowanie ramek i statystyki ruchu
Kopiowanie linii śledzenia do schowka
Ciemny motyw na wszystkich platformach
Przetestowane radia
Motorola MTH800 · MTP700 · MTP850 · CEP400 · MTP35xx · MXP600 · wszystkie MTM/MXM · Hytera PTC760 — połączenie przez PEI (ESC P … ESC S), 115200 8N1, port szeregowy lub USB OTG.
Platformy
Aplikacja na WindowsAplikacja na AndroidaNarzędzie na komputer
📈
Analizator widma i EMC
Serwisowy analizator widma z dekoderem TETRA — autor SP8MB
Pre-alpha
Programowy analizator widma radiowego z interfejsem webowym, który zastępuje kilka osobnych pudełek na stole serwisowym. Robi trzy rzeczy naraz: pokazuje widmo na żywo z automatycznym wykrywaniem i śledzeniem sygnałów, prowadzi pomiary jak analizator laboratoryjny (moc w kanale, zajętość pasma, moc w kanale sąsiednim, harmoniczne) oraz przeprowadza badanie kompatybilności elektromagnetycznej (EMC) wg profili CISPR/EN55032 — od prescanu po raport z pomiarem quasi-peak. W ruchu radiowym rozpoznaje i dekoduje emisje, w tym TETRA (sieciową TMO i pracę bezpośrednią DMO) z odtwarzaniem głosu, a także DMR, P25, M17, YSF i D-STAR. Działa z tanim odbiornikiem SDR albo steruje laboratoryjnym analizatorem Rigol, a bez sprzętu chodzi w trybie symulacji.
Widmo z detekcją anomalii oraz pełna obsługa Rigola (EMC i pomiary) na realnym analizatorze — a dekodowanie TETRA potwierdzone na żywym sygnale 440 MHz, z odtworzeniem mowy ze złapanego połączenia grupowego.