diff --git a/README.md b/README.md new file mode 100644 index 0000000..61d055e --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# 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 http://INSERISCI_URL_GITEA/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://).