NTRIP Client

Il client NTRIP é il software che ottiene i dati da Internet e li invia alla porta seriale per l’utilizzo da parte del rover in alternativa al protocollo radio.

Nota

L’acronimo NTRIP (Network Transport of RTCM data over IP) é un protocollo per spostare i dati di correzione RTK dalla base al rover utilizzando Internet. Ció é particolarmente utile nelle aree in cui le radio tradizionali non funzionano bene a causa di alberi o colline.

RTK (Real-Time Kinematic) è una tecnologia avanzata utilizzata per migliorare la precisione dei dati di posizionamento satellitare. Questa tecnologia combina l’uso di segnali GNSS (come quelli dei sistemi GPS, Galileo, GLONASS o BeiDou) con una stazione di riferimento a terra per ottenere posizionamenti altamente precisi in tempo reale.

In particolare, permette di correggere errori dovuti a ritardi atmosferici, errori dell’orologio del satellite, e altre interferenze, riducendo la distanza tra la posizione calcolata dal dispositivo mobile e la sua reale posizione fisica. La precisione di RTK GNSS può arrivare a pochi centimetri, rendendolo ideale per applicazioni come agricoltura di precisione, rilievi topografici, e navigazione autonoma.

Avvertimento

Se si utilizza il ricevitore via bluetooth è necessario la prima volta accoppiarlo al device Android ricercandolo dalle impostazioni bluetooth del device. Non richiede l’uso di pin o password per tale operazione.

NTRIP Client interno

A partire dal firmware MS2-Pro, il ricevitore include un NTRIP Client integrato che gira direttamente nel firmware del microcontrollore. Non serve più un’app Android intermedia per ricevere le corrections RTK: il ricevitore si connette autonomamente al caster NTRIP via WiFi e gira le corrections RTCM al modulo GNSS interno.

Vantaggi rispetto all’NTRIP Client su cellulare:

  • Nessun cellulare/app: il ricevitore funziona standalone
  • Connessione stabile: WiFi STA dedicato, no dipendenza da batteria/segnale del telefono
  • Auto-restart: backoff esponenziale e riconnessione automatica
  • Coesistenza con altre funzioni (PVT TCP server, MQTT publisher, SD logging)

Prerequisiti

Configurazione

  1. Connetti al ricevitore (via SPP/BLE o TCP — vedi Menu via WiFi (TCP)).

  2. Digita +++ per entrare nel menu.

  3. Premi [m] per il menu Mode, poi [2] Rover NTRIP.

  4. Configura i parametri:

    === NTRIP Client Config ===
    
    [h] Host (193.43.178.173)
    [o] Port (8080)
    [m] Mount (VRS_RTCM32)
    [u] User (yourusername)
    [j] User password (******)
    [s] Start Client
    [a] Restart Client (apply config)
    [x] Back
    
  5. Premi [s] Start Client per avviare la connessione.

Le credenziali sono salvate in NVS e ripristinate al boot. Il ricevitore riavvia automaticamente NTRIP Client al boot successivo se rover_mode=1 è impostato.

Stato in tempo reale

Nel menu principale del ricevitore vedi lo stato live:

 MS2-AC1518EDCB22
==================
Version: 3.0.0
Online: WiFi+NCLI+PVT
Mode: NT Client
NCLI: Streaming (age 0.7s)
PVT-Srv: Online (port 2947, 1 clients)
Battery: 87% (4.12V)
Satellites: 31
Quality: RTK FIX (hAcc=0.01m)
  • NCLI: Streaming (age N.Ns) — corrections in arrivo, age = secondi dall’ultimo pacchetto RTCM ricevuto.
  • Quality: RTK FIX — fix RTK centimetrico raggiunto.

GGA upload (VRS / Mountpoint dinamici)

Il client invia automaticamente la propria posizione (GGA NMEA) al caster ogni ~5 secondi. Necessario per:

  • Mountpoint VRS (Virtual Reference Station) che generano corrections in base alla posizione del rover.
  • Mountpoint FKP/MAC/IMAX dei servizi nazionali (es. ItalPos, NetGEO).

Il GGA upload è abilitato per default. Per disattivarlo (uso solo con mountpoint statici) contatta l’assistenza.

Backoff e auto-restart

Se la connessione al caster cade, il client implementa retry automatici con backoff esponenziale:

  • 1° retry: dopo 2 secondi
  • 2° retry: 5 secondi
  • 3° retry: 15 secondi
  • 4° retry: 30 secondi
  • Da 5° retry in poi: 60 secondi (cap)

Il counter di backoff si resetta a 0 dopo 60 secondi di stream stabile.

Coesistenza con altri servizi

L’NTRIP Client integrato coesiste senza problemi con:

  • PVT TCP server (output NMEA su porta 2947 in modalità WIFI)
  • MQTT publisher (telemetria posizione su broker — vedi MQTT publisher)
  • SD logging (registrazione raw NMEA/UBX su SD — vedi Registrazione su SD)

Esempio scenario operativo tipico:

  • Ricevitore in modalità Rover NTRIP (WIFI mode)
  • NTRIP Client riceve corrections via caster (es. ItalPos)
  • MQTT publisher pubblica posizione su broker remoto (dashboard)
  • SD logging registra raw UBX per post-processing
  • Cellulare connesso via TCP/socat (porta 2947) per visualizzazione live

Stop NTRIP Client

Dal menu [m] Mode → [0] Stop NCLI & switch Rover BT. Il client si disconnette dal caster e il ricevitore torna in Rover standalone (no corrections, posizione standalone GPS).

Alternativamente, cambiando modalità radio (SPP/BLE/WIFI con il gesto pulsante o menu [t]) NTRIP Client viene fermato a meno che il flag [K] Keep NTRIP/MQTT on mode switch sia attivo (vedi Modalità radio (SRA)).

Mantenimento NTRIP al cambio modalità radio

Per default, cambiare la modalità radio (SPP ↔ BLE ↔ WIFI) resetta lo stato NTRIP: il ricevitore riparte come Rover standalone.

Se preferisci mantenere NTRIP Client attivo attraverso un cambio modalità, attiva il flag [K] Keep NTRIP/MQTT on mode switch nel menu [w] Network (visibile solo in modalità WIFI).

Coesistenza con MQTT publisher

In modalità WIFI il ricevitore può ricevere corrections NTRIP e contemporaneamente pubblicare la propria posizione su un broker MQTT.

I due servizi coesistono senza interferenze:

  • NTRIP Client riceve RTCM dal caster e lo inoltra al modulo GNSS via UART (corrections RTK).
  • MQTT publisher prende lo stato del parser NMEA e pubblica posizione/satelliti/qualità fix al broker.

Configurazione e dettagli in MQTT publisher.

Mantenimento NTRIP al cambio modalità radio

Per default, cambiare la modalità radio (SPP ↔ BLE ↔ WIFI) resetta lo stato dei servizi NTRIP/MQTT: il ricevitore riparte come Rover standalone.

Se preferisci mantenere NTRIP Client attivo attraverso un cambio modalità, attiva il flag [K] Keep NTRIP/MQTT on mode switch nel menu [w] Network (visibile solo in modalità WIFI). Vedi Modalità radio (SRA) per i dettagli.