Projekty

Otwarty ekosystem TETRA.

Dwanaś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.

Funkcjonalności

  • Pełny stos radiowy BS: PHY → LMAC → UMAC → LLC → MLE → MM/CMCE/SNDCP
  • Modulacja/demodulacja π/4-DQPSK (USRP, LimeSDR, LimeSDR Mini, sxceiver)
  • 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
  • Opcjonalne uwierzytelnianie TEA1 z białą listą
  • Dystrybucja kluczy OTAR (Over-The-Air Rekeying) — SCK/CCK/GCK
  • Dynamiczne przypisywanie grup (DGNA)
  • Logowanie do sieci danymi BrandMeister
  • Integracja z TetraPack przez hub TetraPoland
  • 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)

Architektura

  BS #1 (RPi5)    BS #2 (RPi5)    BS #N
  ┌──────────┐    ┌──────────┐    ┌─────┐
  │ PHY/LMAC │    │ PHY/LMAC │    │ ... │
  │ UMAC/LLC │    │ UMAC/LLC │    │     │
  │ MLE      │    │ MLE      │    │     │
  └────┬─────┘    └────┬─────┘    └──┬──┘
       │               │             │
       └───────────────┼─────────────┘
                       │ QUIC (bitcode)
          ┌────────────┴────────────┐
          │   SWITCH (DXT) :4433   │
          │   MM / CMCE / SNDCP    │
          │   Service Registry     │
          └────────────┬────────────┘
                       │
  ┌─────────┬────────┬───┼───┬──────────┬───────────┐
  │         │        │       │          │           │
Audio GW   SDS    Auth     LIP    Telephony  Management
(ACELP,   Server Server  Server     GW        Panel
 Brew/RTP) (REST) (TEA1/   (GPS)  (SIP/PABX)  :8080
                  OTAR)

Topologia gwiazdy z centralnym Switch (DXT). Wszystkie mikroserwisy komunikują się przez QUIC z serializacją bitcode.

Więcej o projekcie TetraSpot

Multi-Radio — wielosystemowy radiotelefon

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
  • Odbiór głosu (własna implementacja kodeka ACELP)
  • Wiadomości SDS — wysyłanie, odbieranie, potwierdzenia doręczenia
  • Statusy oraz meldunki pozycji LIP
  • 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.
Więcej o projekcie Multi-Radio

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.

TLA — zrzut ekranu

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)

Architektura

RTL-SDR USB Dongle
       |
  GNURadio 3.10
  (demodulacja TETRA + FFT)
       |
       +---> UDP:42001 ---------> tetra-rx (osmo-tetra)
       +---> TCP:42002 (FFT/ZMQ)        |
                                         +---> UDP:7379 (TETMON)
                                         +---> TCP:42003 (konstelacja)
                                                    |
                                              TLA Backend
                                              (serwer WWW)
                                              HTTP:8080
                                                    |
                                              Przeglądarka

TetraPoland (Android)

Programowy terminal TETRA — PTT-over-Cellular

Beta

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.

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

W rozwoju

Aplikacja towarzysząca na zegarek Wear OS — PTT i ulubione grupy z nadgarstka, opcjonalne audio przez zegarek (w testach na sprzęcie)
Więcej o aplikacji TetraPoland

TetraPoland (iOS)

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

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 aplikacjiPublikacja 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.0.4.
Więcej o aplikacji TetraPoland

ATAK TETRA Plugin

Integracja ATAK z radiokomunikacją TETRA

Beta

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.

Funkcje

  • Pełny TAA1 — HURDLE + TA11/TA12/TA21/TA22/TB4
  • OTAR — TA32/TA52 (SCK), TA71 (GCK), TA82 (CCK), TA92 (MGCK)
  • DF_TETRA z wymaganymi EF (EF_ITSI, EF_SPN, EF_FORBIDDEN itd.)
  • Zarządzanie PIN1 / PIN2 / ADM / PUK
  • Interfejs UICC / APDU — kompatybilny z terminalami TETRA
  • Personalizacja (ITSI, klucz K, SPN, MCC/MNC, security class)
  • Klasy bezpieczeństwa SC1 (clear) / SC2 (SCK) / SC3 (CCK)

Docelowa karta

NXP JCOP4 J3R150 — 150 KB EEPROM, JavaCard 3.0.5, GlobalPlatform 2.3

Standardy

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.

TETRA Remote Head — zrzut ekranu

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
  • HTTPS + opcjonalne uwierzytelnienie
  • Service systemd, autostart

Architektura

Radiotelefon TETRA (Motorola MTM/MTP)
       |
   RS232 / PEI (AT, 9600 bps)
       |
       v
   /dev/ttyS2
       |
   pei_mux  (multiplexer: PTY symlinki, serializacja AT, broadcast URC)
       |          |
       v          v
  svxlink     tetra_remote_head  (serwer WWW)
              REST :443  SSE :443  WebRTC (audio)
                     |
                ALSA: radio_capture / radio_playback
                     |
              Przeglądarka (PWA, panel czołowy)

Wdrożenie docelowe: motocykl BMW R1250RT — radio w kufrze, telefon na kierownicy jako panel.

Przetestowane radia

Motorola MTH800 · MTP700 · MTP850 · CEP400 · MTP35xx · MXP600 · wszystkie MTM/MXM · Hytera PTC760 — sterowanie przez interfejs PEI (AT).

OWRX Mobile (Android)

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.

OWRX Mobile — widok odbiornika z wodospadem i planem pasmaOWRX Mobile — monitor TETRA z nagłówkiem sieci i logiem aktywności

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
  • Aktywne SSI w kategoriach (Real / Adres / ESI), rejestracje MS, SDS
  • 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+.

OpenWebRX+ TETRA Plugin — wodospad, monitor TETRA i panel sieci

Funkcje

  • Demodulacja π/4-DQPSK (GNURadio)
  • Dekodowanie protokołu L1/L2/L3 (osmo-tetra / tetra-rx)
  • Odtwarzanie mowy — własna implementacja kodeka ACELP wg specyfikacji ETSI, w przeglądarce
  • AFC z portu FLL
  • Panel sieci: MCC, MNC, LA, Color Code, DL/UL, status szyfrowania, czas sieci
  • Aktywne połączenia (call setup / connect / release / TX grant)
  • 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 30+ typów ramek (CALL, GROUP, REG, SDS, GPS/LIP, SYSINFO)
  • Ekstrakcja identyfikatorów ISSI / GSSI
  • 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.

Funkcje

Widmo i sygnały

  • Widmo na żywo z wodospadem
  • Automatyczne wykrywanie sygnałów (baseline percentylowy + OS-CFAR)
  • Śledzenie pojawiania się i zaniku emisji (NEW / GONE)
  • Rozpoznawanie i demodulacja typu emisji

Pomiary

  • Markery, moc w kanale, zajętość pasma (OBW)
  • Moc w kanale sąsiednim (ACP), stosunek nośna–szum (C/N)
  • Harmoniczne i punkt przecięcia III rzędu (TOI)

EMC

  • Profile CISPR32 / EN55032
  • Przebieg PRESCAN → lista pików → pomiar quasi-peak → raport
  • Sprzętowy detektor quasi-peak
  • Raport HTML / SVG

Dekodery

  • TETRA TMO i DMO — z odtwarzaniem głosu (własna implementacja kodeka ACELP wg specyfikacji ETSI)
  • DMR, P25, M17, YSF i D-STAR
  • Deszyfrowanie AES-256 / RC4 z magazynu kluczy
  • Podgląd sieci, połączeń i identyfikatorów

Sprzęt

  • Tanie odbiorniki SDR (RTL-SDR, PlutoSDR)
  • Laboratoryjny analizator Rigol DSA815-TG (sterowanie SCPI)
  • Tryb symulacji — praca bez sprzętu

Zwalidowane na sprzęcie

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.