Menu via WiFi (TCP)¶
In modalità WIFI il ricevitore MS2-Pro espone il menu interattivo via TCP sulla porta 2947 (porta standard GPSD-like). Questa è l’unica via di accesso al menu quando il Bluetooth è disattivato.
La stessa porta serve sia come stream NMEA (output continuo di posizione) sia come menu di configurazione (comando +++). Il ricevitore commuta automaticamente tra i due modi.
Prerequisiti¶
Ricevitore in modalità WIFI (vedi Modalità radio (SRA)).
WiFi STA configurato e connesso alla rete locale.
IP del ricevitore noto. Lo trovi:
- Nel menu principale (riga
Online: WiFi+..., e[w] Networkmostra IP) - Sul router come «lease DHCP attivo» col nome
MS2-<MAC> - Tramite scan rete (
nmap,arp -a)
Suggerimento
Configura una prenotazione DHCP sul router (mapping MAC → IP fisso) così l’indirizzo del ricevitore non cambia tra reboot.
- Nel menu principale (riga
Connessione da PC Linux/Mac¶
Usa socat (consigliato) o telnet:
socat - TCP:192.168.1.50:2947
Una volta connesso vedi lo stream NMEA scorrere:
$GNGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
$GNRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
...
Per entrare nel menu, digita +++ (3 caratteri + consecutivi). Lo stream NMEA si interrompe e appare il menu interattivo:
MS2-AC1518EDCB22
==================
Version: 3.0.0
Online: WiFi+PVT+MQTT
Uptime: 1h:23m:45s
...
[m] Mode (ROVER_BT)
[h] GNSS Settings
[w] Network (192.168.1.50)
...
Per uscire dal menu e tornare allo stream NMEA, premi [x] Exit.
Connessione da PC Windows¶
Su Windows puoi usare:
- PuTTY in modalità Raw TCP:
- Host:
<IP del ricevitore> - Port:
2947 - Connection type: Raw
- Connetti, poi digita
+++per il menu
- Host:
- ncat (parte di Nmap):
ncat 192.168.1.50 2947 - socat per Windows (via WSL2 o builds nativi)
Connessione da cellulare¶
- Android: app gratuite tipo «Serial Bluetooth Terminal» hanno anche modalità TCP. Connetti a
<IP>:2947, digita+++per il menu. - iOS: app «WiFi Telnet» o equivalenti.
Più client simultanei¶
Il PVT TCP server supporta fino a 2 client simultanei sulla stessa porta (PVT_SERVER_MAX_CLIENTS = 2 nel firmware: tipicamente 1 reader NMEA + 1 telnet/socat per il menu). Tutti i client connessi ricevono lo stesso stream NMEA. Solo un client per volta può però entrare nel menu — l’altro continua a vedere lo stream finché il primo non esce.
Esempio: cellulare in background con app GIS che riceve posizione live + laptop con socat che fa configurazione via menu.
Riconoscere il prompt¶
Quando sei nel menu (+++ confermato) vedi:
- Riga
MS2-<MAC>in cima - Lista voci
[m] [h] [w] [s] [t] [u] [z] [x] - Cursor in attesa di un tasto
Se non vedi questo dopo +++ aspetta 1-2 secondi (il riconoscimento ha un guard time anti-falso-positivo). Se non succede nulla, il ricevitore potrebbe essere già occupato da un altro client (vedi sezione «Più client»).
Sicurezza¶
Il PVT TCP server è non autenticato. Chiunque sulla rete locale può connettersi alla porta 2947 e:
- Vedere lo stream NMEA (posizione del ricevitore)
- Entrare nel menu e modificare configurazione (anche distruttiva, es. factory reset)
Misure consigliate:
- Usa il ricevitore su una rete WiFi affidabile (casa, ufficio, hot-spot personale, non WiFi pubblico).
- Se il ricevitore deve essere raggiungibile da internet, esponi la porta 2947 dietro VPN (WireGuard, Tailscale) o reverse proxy con auth.
- Non aprire mai la porta 2947 direttamente su internet pubblico senza protezione.
Limiti¶
- Solo in modalità WIFI. In SPP/BLE il PVT TCP non è disponibile (il menu si raggiunge via Bluetooth).
- Solo IPv4. IPv6 non implementato.
- Solo TCP. Nessun supporto WebSocket / HTTPS.
Troubleshooting¶
- Connection refused quando provo a connettermi
- Verifica che il ricevitore sia in modalità WIFI (riga
Online: WiFi+...nel menu principale). In SPP/BLE la porta 2947 non è ascoltata. - Connetto ma non vedo NMEA
- Il GNSS potrebbe essere in cold start (~30-60 s) o senza fix. Aspetta o controlla l’antenna.
- Digito +++ e non entro nel menu
- I tre
+devono essere consecutivi, senza altri byte in mezzo. Se hai cliccato accidentalmente altri tasti, aspetta 2 secondi e riprova. Anche un newline in mezzo invalida la sequenza. - Stream NMEA si interrompe ogni tanto
- Verifica la qualità del WiFi (RSSI mostrato nel menu
[w]). Sotto -75 dBm la connessione è instabile.