2026-08-29 12:55:16 +02:00
2026-08-29 12:16:50 +02:00
2026-08-29 12:16:50 +02:00
2026-08-29 12:16:50 +02:00
2026-08-29 12:16:50 +02:00
2026-08-29 12:55:16 +02:00
2026-08-29 12:16:50 +02:00

Web-DMR Receiver

Un ricevitore audio web leggero e ad alte prestazioni per reti radio DMR (Digital Mobile Radio). Il sistema si interfaccia con reti come HBLink tramite protocollo OpenBridge, decodifica il traffico voce AMBE in tempo reale e lo trasmette al browser tramite WebSocket per un ascolto a latenza zero.

Funzionalità Principali

  • Ascolto via Browser: Nessun software aggiuntivo richiesto lato client, elaborazione audio nativa tramite Web Audio API (PCM Float32).
  • Multi-Utente: Gestione fino a 5 connessioni simultanee con sintonizzazione indipendente sui Talkgroup.
  • Late-Join Sincronizzato: Identificazione istantanea del parlatore anche se ci si sintonizza a trasmissione già iniziata.
  • Risoluzione Nominativi: Integrazione automatica con i database mondiali o locali (supporta file DMRIds.json, DMRIds.dat o StripDMRIDs.dat).
  • Keep-Alive Intelligente: Connessione WebSocket persistente, immune ai timeout dei router domestici durante lunghi periodi di silenzio radio.

Requisiti di Sistema

  • Python 3.8 o superiore (compatibile con Python 3.13+ tramite audioop-lts).
  • Una connessione attiva verso un server HBLink / OpenBridge.
  • Il motore di decodifica VocoderEngine (file eseguibile/libreria) nella stessa directory.

Installazione

  1. Clona il repository sul tuo server:

    git clone https://git.arifvg.it/iv3jdv/web-dmr.git cd web-dmr

  2. Installa le dipendenze Python necessarie:

    pip install aiohttp bitstring audioop-lts

  3. Crea un file config.json nella cartella principale (questo file è ignorato da Git per sicurezza) con la seguente struttura:

    { "hblink_ip": "127.0.0.1", "hblink_port": 62047, "hblink_password": "LA_TUA_PASSWORD", "peer_id": 22242 }

  4. Inserisci il tuo database contatti (es. DMRIds.json) nella directory del progetto per visualizzare i nominativi.

Avvio Rapido

Per lanciare il server in modalità interattiva, esegui:

python3 server.py

Il servizio sarà raggiungibile all'indirizzo http://INDIRIZZO_IP:8080. Se utilizzi un dominio pubblico e HTTPS, assicurati di configurare un reverse proxy (es. Nginx) per gestire i certificati SSL e le connessioni WebSocket (wss://).

S
Description
No description provided
Readme
2.1 MiB
Languages
Python 57.8%
JavaScript 22.1%
HTML 20.1%