Ottimizzazione della configurazione dei dispositivi per una connettività IoT affidabile

Se realizzi autonomamente il tuo hardware IoT, la logica di connessione che programmi nel firmware è più importante della SIM che inserisci nel dispositivo. Una SIM con roaming consente al tuo dispositivo di accedere a numerose reti, ma è il dispositivo stesso a decidere quale utilizzare, quando riprovare e se rinunciare.

La presente guida illustra le opzioni di configurazione che determinano la permanenza online di una flotta: priorità di rete, intervallo di attesa tra i tentativi, controlli di connettività, gestione delle sessioni e criteri relativi al firmware.

È il dispositivo a scegliere la rete, non la SIM

Questo è l'errore di interpretazione più diffuso in assoluto e cambia il modo in cui si esegue il debug di tutto il resto.

Una SIM Simbase consente l'accesso a più operatori. Non effettua alcuna selezione tra di essi. È il modem a decidere, in base alla propria logica: intensità del segnale, elenco degli operatori memorizzato sul dispositivo, se ha già rilevato quella rete in precedenza e come è configurato il firmware. Se un dispositivo continua a connettersi a una rete con segnale debole pur essendo disponibile una rete più forte, si tratta di un problema di configurazione del dispositivo, non di una SIM.

In pratica: se si desidera che un dispositivo dia la priorità a un determinato operatore, è necessario configurarlo nel firmware del modem, laddove supportato.

Crea un elenco di reti preferite con opzione di ripiego

La maggior parte delle flotte ha delle preferenze in materia di operatori per un motivo ben preciso. Un dispositivo potrebbe essere certificato su un operatore e non su un altro, oppure un accordo commerciale potrebbe favorire una rete specifica. Un elenco delle reti preferite riflette questa situazione, senza però metterti con le spalle al muro.

L'ordine in cui svolgere gli esercizi:

  1. Prova la prima rete preferita

  2. Se non funziona, prova la rete successiva in ordine di preferenza

  3. Proseguire lungo l'elenco delle priorità fino a quando non saranno state provate tutte le reti preferite

  4. Prova qualsiasi rete disponibile che non figuri nell'elenco

  5. Se nessuna delle opzioni ha funzionato, ricominciare dalla prima rete preferita

Il passaggio 4 è quello che spesso viene tralasciato. Un dispositivo che si connette esclusivamente a tre reti specifiche non ha alcuna via di ritorno alla rete quando tutte e tre sono indisponibili, proprio nel momento in cui ne avresti più bisogno.


Distribuire i tentativi con un back-off progressivo

È proprio la tempistica dei tentativi di riconnnessione che fa sì che un firmware, pur nato con buone intenzioni, causi danni concreti. Un dispositivo che riprova la connessione ogni pochi secondi appare come un dispositivo malfunzionante al partner di roaming, il quale reagisce bloccandolo temporaneamente o definitivamente. Il ripristino da tale situazione è lento e richiede un intervento manuale.

Aumenta ogni volta l'intervallo tra un tentativo e l'altro:

  • Primo nuovo tentativo dopo 1 minuto

  • Secondo tentativo dopo 2 minuti

  • Terzo tentativo dopo 4 minuti

  • Dopo diversi cicli completi, ridurre il tempo a un’ora o più, a seconda della rapidità con cui il dispositivo deve ripristinarsi

L'obiettivo è quello di passare da una rete all'altra in modo metodico, riconnettersi tempestivamente non appena una rete diventa disponibile e non dare mai l'impressione di essere un dispositivo che sovraccarica la rete.

I tentativi ripetuti e insistenti possono comportare il blocco del dispositivoI partner di roaming applicano i propri limiti in caso di ripetuti tentativi falliti di connessione. Un dispositivo che continua a riprovare può essere bloccato a livello di rete, e tale blocco non può essere revocato da Simbase per conto dell’utente. Il back-off è una misura di protezione, non una semplice precauzione.

Fai attenzione alle liste nere

Alcuni dispositivi consentono di inserire direttamente le reti nella lista nera. Questa funzione può rivelarsi utile nel caso di una rete che presenta costantemente prestazioni insufficienti o con cui il proprio hardware è effettivamente incompatibile.

Si raccomanda cautela, in particolare per le implementazioni in roaming. Ogni rete inserita nella lista nera rappresenta una via di connettività in meno, e le liste nere tendono ad accumularsi: aggiunte durante una settimana difficile, mai riviste, rimangono nel firmware anche due anni dopo, quando quella rete è l’unica a coprire un nuovo sito.

È preferibile una lista di priorità che classifichi le reti piuttosto che una lista nera che le vieti. La classificazione si riduce in modo graduale, mentre il blocco no.

Verificare la connettività tramite test ping

Un dispositivo può essere collegato a una rete, mostrare un segnale pieno e tuttavia non disporre di una connessione Internet funzionante.

Un ping periodico a una destinazione affidabile, solitamente il resolver DNS di Google all'indirizzo 8.8.8.8, conferma che il traffico raggiunga effettivamente Internet e torni indietro. Un ping fallito è un segnale utile per interrompere la connessione e riavviare la selezione della rete.

Consigliamo di eseguire almeno un test ping una volta all’ora, e in caso di errore viene avviata una riconnessione. Regola la frequenza in base al tuo traffico dati a disposizione: ogni test consuma una piccola quantità di dati e, su un dispositivo a basso consumo sottoposto a test troppo frequenti, i controlli di connettività possono incidere in modo significativo sulla bolletta. Vedi Utilizzo dei dati e superamento dei limiti per quanto riguarda le modalità di misurazione e arrotondamento delle sessioni.

La connessione a una rete e l'apertura di una sessione dati sono due passaggi

Per un accesso completo a Internet sono necessari entrambi, e confonderli rende molto più difficile diagnosticare i problemi di connettività.

Connessione alla rete

Il dispositivo si registra su una rete cellulare, proprio come un telefono che si collega a un ripetitore nelle vicinanze. A questo punto dispone di segnale ed è riconosciuto dalla rete, ma non è in grado di trasferire dati.

AT+COPS=0

In questo modo si richiede al modem di selezionare automaticamente una rete.

Avvio di una sessione PDP

Una sessione del protocollo Packet Data Protocol apre il gateway attraverso il quale i dati effettivamente transitano. Per prima cosa, definisci il contesto con il tuo APN:

AT+CGDCONT=1,"IP","APN_NAME"

Quindi attivarlo:

AT+CGACT=1,1

Sostituisci APN_NAME con l'APN del proprio profilo SIM. La maggior parte dei profili utilizza simbase. Vedi Configurare l'APN per l'APN più adatto al tuo profilo e al tuo caso d'uso.

Mantieni aperta la sessione

Mantenere aperta una sessione PDP evita l’onere di doverla rinegoziare per ogni trasmissione. Ciò ha anche un effetto diretto sulla fatturazione: ogni sessione viene arrotondata per eccesso a 1 kB e i costi vengono calcolati con quattro cifre decimali; pertanto, un dispositivo che apre e chiude una sessione per ogni lettura di piccole dimensioni genera un costo notevolmente superiore a quanto suggerirebbe il suo carico utile. Per le applicazioni con pochi dati, una sessione lunga è solitamente più economica di molte sessioni brevi.

Riconnettiti alla rete ogni 24 ore

Vale la pena mantenere aperta la sessione dati. Rimanere connessi alla stessa rete a tempo indeterminato, invece, no.

Le reti impongono periodicamente la riautorizzazione dei dispositivi collegati da molto tempo, e tale riautorizzazione tende a verificarsi in momenti poco opportuni. Scollegare e ricollegare il dispositivo all’incirca ogni 24 ore, secondo i propri tempi anziché quelli della rete, mantiene aggiornata l’autorizzazione del dispositivo e trasforma un’interruzione imprevedibile in un evento controllato.

Mantieni il firmware aggiornato, ma senza spingerlo all’estremo

I produttori di modem rilasciano aggiornamenti del firmware che migliorano la compatibilità di rete, il funzionamento in roaming e la sicurezza; mantenersi aggiornati è davvero utile in tutte le regioni.

Essere i primi ad adottare una nuova versione non è la soluzione giusta. Il nuovo firmware del modem può causare regressioni proprio nelle aree che ti stanno più a cuore. Lascia che la versione si stabilizzi prima di implementarla su tutta la flotta e, quando lo fai, procedi con l’implementazione in più fasi.

Monitorare le prestazioni effettive e apportare le modifiche necessarie

Una logica di connessione che sembra corretta in ambiente di test può comportarsi in modo diverso quando viene applicata a un'intera flotta. Una volta implementata la logica, è necessario monitorare:

  • Tasso di successo dei tentativi di ripetizione e quale tentativo della sequenza di solito va a buon fine

  • Durata delle sessioni e frequenza con cui le sessioni terminano in modo imprevisto

  • A quali reti si collegano effettivamente i dispositivi, per regione

  • Con quale frequenza i controlli di connettività falliscono mentre il dispositivo è ancora collegato

Questi dati ti consentono di capire se l'ordine delle tue priorità corrisponde alla realtà e se i tuoi intervalli di back-off sono troppo aggressivi o troppo morbidi. Diagnostica mostra ciò che la rete rileva per una singola SIM; si tratta di un’utile verifica incrociata quando i registri del dispositivo indicano una cosa e i dati di connettività ne indicano un’altra.

Esempio pratico: un'implementazione negli Stati Uniti

Un dispositivo con una SIM in roaming negli Stati Uniti, con le tre principali reti disponibili.

Ordine preferito della rete

  1. Verizon

  2. T-Mobile

  3. AT&T

Sequenza di registrazione

  1. Prova con Verizon. Se l'operazione va a buon fine, apri una sessione dati e procedi normalmente. In caso di errore, attendi 1 minuto

  2. Prova con T-Mobile. Se l'operazione va a buon fine, avvia una sessione dati. In caso di errore, attendi 2 minuti

  3. Prova con AT&T. Se l'operazione va a buon fine, avvia una sessione dati. In caso di errore, attendi 4 minuti e avvia un nuovo ciclo con Verizon

Quando tutte le reti si rifiutano

Se tutti e tre rifiutano il dispositivo, cosa che può verificarsi durante un intervento di assistenza o quando una SIM è stata disattivata, estendere gli intervalli anziché continuare a ripetere il ciclo:

  • Dopo il nuovo tentativo di 4 minuti, attendere 1 ora prima di eseguire nuovamente l'ordine completo preferito

  • Se anche dopo aver fatto ciò la connessione non è ancora attiva, passare a intervalli di 4 ore

Verifica della connettività

Una volta aperta una sessione dati, eseguire il comando ping 8.8.8.8 periodicamente. Se il ping non va a buon fine, disconnettiti dalla rete corrente e ricomincia la sequenza da Verizon.

Rinnovo giornaliero

Per garantire le prestazioni della rete e consentire eventuali ri-autenticazioni necessarie, il dispositivo si disconnette e si riconnette alla rete ogni 24 ore.

  • Riconnessione giornaliera: il dispositivo si disconnette dalla rete corrente, quindi segue la sequenza di priorità iniziale (Verizon, T-Mobile, AT&T) per ristabilire la connessione

  • Ciò garantisce che l'autorizzazione rimanga valida e riduce il rischio di una riautorizzazione forzata da parte della rete

Sequence diagram of device retry logic: the device attempts Verizon, then T-Mobile after one minute, then AT&T after two minutes, opens a data session on success, pings 8.8.8.8 at least hourly, and reattaches every 24 hours

Domande frequenti

No. La selezione della rete avviene sul dispositivo. La SIM consente l'accesso agli operatori inclusi nel tuo piano di copertura e il modem sceglie tra questi; pertanto, la preferenza deve essere configurata nel firmware.

Almeno una volta all'ora, considerando un controllo fallito come un segnale per riconnettersi. Aumentare l'intervallo se il costo dei dati è più importante di un ripristino rapido, poiché ogni controllo consuma dati a pagamento.

Lascia la connessione aperta. Ogni sessione viene arrotondata a 1 kB, quindi sessioni brevi e frequenti costano di più di una sola sessione lunga a parità di carico utile, e riconnettersi aggiunge latenza e punti di errore.

Di solito si tratta di tentativi di connessione falliti ripetuti in rapida successione. I partner di roaming bloccano i dispositivi che si comportano in questo modo, quindi è proprio il back-off progressivo tra un tentativo e l’altro a impedire che un dispositivo finisca in quella lista.

Correlati

Ottimizzazione della configurazione dei dispositivi per una connettività IoT affidabile