Utilizzare un modulo radio cellulare globale per connettere in modo rapido e sicuro i dispositivi IoT al cloud

Di Jens Wallmann

Contributo di Editori europei di DigiKey

Per connettere dispositivi terminali di rete portatili o remoti all'Internet delle cose (IoT) o per controllare macchine a distanza utilizzando la comunicazione macchina-macchina (M2M), la scelta migliore è una connessione radio mobile per lo scambio di dati con il cloud. Tuttavia, ciò presenta alcuni ostacoli per lo sviluppatore, come la determinazione delle reti wireless in grado di supportare il throughput di dati richiesto a livello mondiale e dei protocolli che il modem wireless deve saper gestire. Occorre inoltre considerare la scalabilità del sistema, la sicurezza dei dati, il costo, il time-to-market e i costi di acquisizione e di gestione sostenuti dall'utente.

Questo articolo spiega brevemente cosa offre LTE CAT 1 agli sviluppatori di applicazioni IoT e M2M. Presenta quindi i moduli radio serie LARA-R6 di u-blox, che offrono connettività universale e prestazioni affidabili. L'articolo si conclude mostrando come gli sviluppatori utilizzare una scheda di valutazione (EVB) per configurare e controllare facilmente i moduli tramite comandi AT e generare stringhe di comandi AT tramite funzioni di libreria.

LTE CAT 1 a confronto con LTE CAT 1bis, LTE CAT M e LTE CAT NB

Mentre le radio cellulari LTE raggiungono oggi velocità di trasmissione pari ai Gigabit, i protocolli LPWA (bassa potenza, ampio raggio) come LTE CAT 1, LTE CAT 1bis, LTE CAT M e LTE CAT NB sono particolarmente efficienti in termini di consumo energetico, risorse di rete e costi. Questo aspetto è di fondamentale importanza per i dispositivi IoT.

Con una larghezza di banda del canale fino a 20 MHz in full-duplex, LTE CAT 1 raggiunge velocità di download fino a 10 Mbps e velocità di upload fino a 5 Mbps. Due antenne ammettono la diversità del ricevitore (Rx Diversity) per migliorare le prestazioni (Tabella 1). LTE CAT 1bis utilizza una singola antenna.

LTE Cat1/CAT 1bis LTE CAT M1 LTE CAT NB1
Release 3GPP Release 8 Release 13 Release 13
Velocità di picco in downlink 10 Mpbs 1 Mbps 26 kbps
Velocità di picco in uplink 5 Mbps 1 Mbps 66 kbps (multitono)
16,9 kbps (tono singolo)
Latenza 50 ~ 100 ms 10 ~ 15 ms 1,6 ~ 10 s
Numero di antenne 2 (LTE CAT 1)
1 (LTE CAT 1bis)
1 1
Modalità duplex Full-duplex Full o half-duplex Half-duplex
Larghezza di banda di ricezione del dispositivo 1,4 ~ 20 MHz 1,4 180 kHz

Tabella 1: Confronto delle prestazioni dei protocolli LPWA. LTE CAT 1 utilizza due antenne per la diversità Rx; LTE CAT 1bis utilizza un'antenna. (Immagine per gentile concessione di Wikipedia, Jens Wallmann)

Radio mobile LTE CAT 1 per una disponibilità globale

La serie LARA-R6 di u-blox è composta da robusti moduli radio cellulari progettati per la tecnologia di accesso radio (RAT) LTE CAT 1 a divisione di frequenza duplex (FDD) e a divisione di tempo duplex (TDD). Come soluzione di ripiego supportano 3G UMTS/HSPA e 2G GSM/GPRS/EGPRS. Questi moduli sono eccellenti per la copertura globale/multiregionale e sono disponibili in un fattore di forma LGA compatto di 26 x 24 mm.

Dotati di interfacce versatili, di un'ampia gamma di funzioni e di funzionalità multibanda e multimodali, i moduli LARA-R6 sono adatti ad applicazioni che richiedono una velocità dati media, una connettività senza soluzione di continuità, una copertura eccellente e una bassa latenza. Tali applicazioni comprendono il monitoraggio a distanza delle risorse, la telematica, il monitoraggio remoto, i centri di allarme, la videosorveglianza, la sanità connessa e i terminali per punti vendita (POS).

Tutti i moduli supportano la diversità Rx per prestazioni affidabili in condizioni di copertura difficili o quando è richiesta la funzionalità vocale tramite LTE (VoLTE). I programmatori possono sfruttare i protocolli IoT embedded (LwM2M, MQTT) e le funzioni di sicurezza (TLS/DTLS, aggiornamento sicuro/avvio sicuro) per implementare varie applicazioni, quali la gestione dei dispositivi, il controllo remoto dei dispositivi e gli aggiornamenti firmware via etere (FOTA) sicuri.

La serie LARA-R6 supporta CAT 1 LTE secondo 3GPP release 10 e raggiunge una copertura globale con tre varianti regionali:

  • I moduli LARA-R6001-00B (dati e voce) e LARA-R6001D-00B (solo dati) supportano 18 bande di frequenza LTE FDD/TDD più ripiego 3G/2G per una connettività globale.
  • I moduli LARA-R6401-00B (dati e voce) e LARA-R6401D-00B (solo dati) rappresentano una soluzione LTE CAT 1 ideale per il Nord America e supportano le bande LTE di AT&T, FirstNet, Verizon e T-Mobile.
  • I moduli LARA-R6801-00B (dati e voce) e LARA-R6801D-01B (solo dati) sono progettati per le implementazioni nelle seguenti regioni: Europa e Medio Oriente (EMEA), Asia Pacifico (APAC), Giappone (JP) e America Latina (LATAM) (Figura 1).

Mappa delle varianti regionali dei moduli LARA-R6Figura 1: Tre varianti regionali dei moduli LARA-R6 coprono il mondo. (Immagine per gentile concessione di DigiKey, modificata dall'autore)

Le caratteristiche speciali di LARA-R6 in sintesi

I moduli LARA-R6 integrano un processore cellulare in banda base con interfacce esterne, un transceiver RF con amplificatori e filtri, una memoria e un'unità di gestione energetica (Figura 2).

Schema della struttura interna di un modulo LARA-R6 di u-blox (fare clic per ingrandire)Figura 2: Struttura interna di un modulo LARA-R6. (Immagine per gentile concessione di u-blox)

Il transceiver RF opera nelle bande di frequenza 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1,7 GHz, 1,8 GHz, 1,9 GHz, 2,1 GHz e 2,6 GHz. Tutti i protocolli di trasferimento dati del processore cellulare in banda base possono essere controllati e configurati tramite comandi AT utilizzando le interfacce esterne UART e USB.

Protocolli

  • Doppio stack IPv4 e IPv6
  • TCP/IP, UDP/IP, FTP e Http embedded
  • MQTT e MQTT-SN embedded
  • LwM2M embedded
  • eSIM e BIP (protocollo indipendente dal portatore)

I moduli LARA-R6 richiedono una tensione di alimentazione compresa tra 3,1 e 4,5 V e hanno un consumo di corrente quando inattivi di circa 1,1 mA. Nel funzionamento 2G, i singoli slot temporali TDMA possono raggiungere potenze di trasmissione di picco di oltre 33 dBm/mW) (>2,0 W), mentre tutti gli altri RAT raggiungono livelli superiori a 24 dBm (>0,25 W).

L'eccellente sensibilità dell'antenna, inferiore a -100 dBm, corrispondente a potenze di segnale inferiori a 0,1 pW, consente connessioni radio stabili all'edge della rete mobile.

Valutazione e programmazione

Il modo più rapido per iniziare a valutare e programmare un modulo LARA-R6 è utilizzare un'EVB R6 (EVK-R6) e una scheda di espansione innestabile LARA-R6 (ADP-R6) per la regione corrispondente. Ad esempio, il modello EVK-R6001-00B per applicazioni globali comprende la scheda di espansione innestabile ADP-R6001-00B (voce + dati) e una scheda di espansione GNSS (Figura 3).

Immagine dell'EVB LARA-R6 (EVK-R6) di u-blox, con una scheda di espansione LARA-R6 collegata (fare clic per ingrandire)Figura 3: L'EVB LARA-R6 (EVK-R6) con una scheda di espansione LARA-R6 collegata (in basso) e una scheda GNSS (in alto a sinistra). (Immagine per gentile concessione di u-blox)

La variante EVK-R6401-00B per il Nord America include la scheda ADP-R6401-00B, mentre la variante EVK-R6801-00B per EMEA/APAC/JP/LATAM include la scheda ADP-R6801-00B. Le tre schede di espansione già menzionate per la trasmissione di voce e dati sono disponibili anche separatamente, così come le versioni per la sola trasmissione di dati, tra cui ADP-R6401D-00B (Nord America) e ADP-R6001D-00B (tutto il mondo).

La scheda di espansione R6 amplia il modulo LARA-R6 con due antenne e due connettori Mini USB. L'EVB R6 aggiunge alle periferiche del modulo un modulo GNSS, uno slot per scheda SIM, connessioni innestabili aggiuntive, ponticelli, interruttori e un alimentatore (Figura 4).

Diagramma a blocchi funzionali dell'EVB R6 di u-blox con le schede GNSS e LARA-R6 inserite (fare clic per ingrandire)Figura 4: Diagramma a blocchi funzionali dell'EVB R6 con le schede GNSS e LARA-R6 inserite (Immagine per gentile concessione di u-blox)

Ogni kit contiene un'EVB con una scheda di espansione LTE CAT 1 LARA-R6 e un modulo GNSS di u-blox, un cavo USB, due antenne radio mobili LTE, un'antenna GPS/GLONASS e un alimentatore.

Messa in funzione dell'EVK

Il kit EVK-R6 di u-blox, potente e facile da usare, semplifica la valutazione dei moduli cellulari multimodali LTE CAT 1 / 3G / 2G. Un PC Windows con il driver USB LARA-R6 installato controlla il modem LARA-R6 tramite il connettore USB e semplifica la configurazione della connessione tramite le impostazioni di sistema. Per iniziare, lo sviluppatore deve:

  1. Inserire la scheda SIM e collegare entrambe le antenne cellulari e l'antenna GNSS.
  2. Configurare attentamente i ponticelli e gli interruttori dell'EVK.
  3. Applicare la tensione di alimentazione e accendere l'interruttore principale SW400 dell'EVB.
    1. Per il funzionamento come modem a bassa velocità dati tramite l'interfaccia "Main UART", collegare il PC alla presa Mini USB J501 o alla presa RS232 J500 dell'EVK.
    2. Per il funzionamento come modem a bassa velocità dati tramite "Due UART", collegare il PC alla presa USB cellulare J201 dell'ADP.
    3. Per il funzionamento come modem ad alta velocità dati tramite "USB cellulare nativo", collegare il PC alla presa Mini USB J105 dell'ADP.
  4. Premere il pulsante di accensione cellulare SW302 sull'EVB.
  5. Eseguire un software applicativo per terminali (come m-center), accedere al menu di impostazione della porta COM, scegliere la porta AT corrispondente a 4a, 4b o 4c e impostare questi valori: Velocità dati: 115.200 bps; Bit di dati: 8; Parità: N; Bit di stop: 1.

Per ulteriori dettagli, consultare EVK-R6_UserGuide_UBX-21035387. Lo strumento m-center aiuta a valutare, configurare e testare i prodotti cellulari di u-blox e comprende un terminale di comando AT.

Semplice connessione a Internet con un PC Windows

Collegando un PC Windows all'EVK, l'utente può stabilire una connessione Internet wireless in due modi:

1: Una connessione dati a pacchetto a bassa velocità: utilizza lo stack TCP/IP del PC Windows tramite l'interfaccia UART del modulo LARA-R6. Il PC e l'EVK sono collegati secondo il metodo 4a. Lo sviluppatore deve selezionare Telefono e modem > Modem > Aggiungi nel Pannello di controllo di Windows. Il passo successivo consiste nel selezionare la casella di controllo "Non rilevare il modem", selezionare "Modem standard da 33,6 kbps" e assegnare una porta COM. Se necessario, lo sviluppatore può aggiungere Proprietà > Avanzate > Comandi di inizializzazione extra.

2: Una connessione dati a pacchetto ad alta velocità: questa accede a Internet utilizzando lo stack TCP/IP del PC Windows attraverso l'interfaccia USB nativa del modulo LARA-R6. Il PC e l'EVK sono collegati secondo il metodo 4c. Lo sviluppatore deve selezionare Centro connessioni di rete e condivisione > Imposta una nuova connessione o rete dal Pannello di controllo di Windows e fare clic su "Connetti a Internet". Il passo successivo consiste nel selezionare "Dial-up" e una delle porte USB AT. L'ultimo passo consiste nell'inserire i parametri di connessione (numero di accesso, nome dell'operatore, ID utente e password).

Registrazione della carta SIM presso l'operatore di telefonia mobile

Una volta configurati la scheda SIM e il parametro MNO, il modulo cellulare si registra automaticamente sulla rete cellulare dopo l'accensione. In caso di problemi, la registrazione può essere verificata manualmente utilizzando i comandi AT riportati nella Tabella 2.

Comando inviato da DTE (utente) Risposta DCE (modulo) Descrizione
AT+CREG? +CREG: 0,1 OK Verificare la registrazione di rete.
AT+COPS=0 OK Registrare il modulo sulla rete solo se la registrazione automatica non è riuscita (AT+CREG? restituisce 0,0).
AT+COPS? +COPS: 0,0, "I TIM",7 OK Leggere il nome dell'operatore e la tecnologia di accesso radio (RAT).

Tabella 2: Comandi di registrazione AT. (Tabella per gentile concessione di u-blox, modificata dall'autore)

Comunicazione con il server HTTP remoto tramite comando AT

Il repository GitHub "Firechip_u-blox_LARA-R6_Arduino_Library" contiene un'ampia libreria di comandi AT per i moduli LARA-R6, scritta in C++ per i controller Arduino. Sedici esempi di applicazioni, tra cui test di ping, registrazione, commutazione di pacchetti, SMS, GNSS e cloud IoT, forniscono suggerimenti per strutture di codice personalizzate.

I comandi AT possono anche inviare richieste a un server HTTP remoto durante una connessione attiva, ricevere la risposta del server e memorizzarla in modo trasparente nel file system locale. I metodi supportati sono HEAD, GET, DELETE, PUT, POST file e POST dati.

Lara_R6_Example9 invia temperature casuali al server RemoteHTTP ThingSpeak.com utilizzando HTTP POST o GET. ThingSpeak è un servizio di piattaforma analitica IoT di MathWorks che aiuta ad aggregare, visualizzare e analizzare flussi di dati in tempo reale nel cloud. La Tabella 3 mostra la sintassi del comando HTTP "POST data".

Tipo Sintassi Risposta Esempio
Set AT+UHTTPC=<profile_id>,5,
<percorso>,<nomefile>,<dati>,
<tipo_contenuto_HTTP>
[,<tipo_contenuto_definito_dall'utente>]
OK AT+UHTTPC=0,5,"/path/file.html", "responseFilename","data",0 OK

Tabella 3: "POST data" è il comando HTTP numero 5 ed è formattato come indicato. (Tabella per gentile concessione di u-blox, modificata dall'autore)

Questo esempio può essere programmato su un controller host Arduino, che controlla il modulo LARA-R6 su una scheda EVK tramite comandi AT. Inoltre, è necessaria una scheda SIM configurata.

Il programmatore deve creare un account utente ThingSpeak e impostare il campo 1 per il valore di misurazione casuale della temperatura tramite la voce di menu Canali > Canali personali > Nuovo canale. La corrispondente "Chiave API di scrittura" viene inserita nel programma principale, "LARA-R6_Example9_ThingSpeak.ino", nella variabile myWriteAPIKey.

Il programma principale C++ genera un valore di temperatura casuale, forma la stringa di dati specifici e chiama la funzione di libreria sendHTTPPOSTdata ogni 20 secondi (listato 1).

Copy
...
1  String myWriteAPIKey = "PFIOEXW1VF21T7O6"; // Change this to your API key
2  String serverName = "api.thingspeak.com"; // Domain Name for HTTP POST/GET
3  [...]

4  void loop() 5  { 6    // Create a random temperature between 20 and 30  7    float temperature = ((float)random(2000,3000)) / 100.0; 8 9 10   // Send data using HTTP POST 11   String httpRequestData = "api_key=" + myWriteAPIKey + "&field1=" +
                                
String(temperature); 12 13   Serial.print(F("POSTing a temperature of ")); 14   Serial.print(String(temperature)); 15   Serial.println(F(" to ThingSpeak")); 16        17   // Send HTTP POST request to /update. The reponse will be written to
        post_response.txt in the LARA's file system
18   myLARA.sendHTTPPOSTdata(0, "/update", "post_response.txt", httpRequestData,
                             LARA_R6_HTTP_CONTENT_APPLICATION_X_WWW);
19 20 21   // Send data using HTTP GET 22      ==> see original code on Github 23 24   for (int i = 0; i < 20000; i++) // Wait for 20 seconds    25   { 26     myLARA.poll(); // Keep processing data from the LARA so we can catch
                            the HTTP command result
27     delay(1); 28   } 29  } ...

Listato 1: Questo programma principale genera un valore di temperatura casuale e chiama la funzione di libreria sendHTTPPOSTdata ogni 20 secondi. (Codice per gentile concessione di Firechip su Github)

Generare la stringa di comando AT chiamando le funzioni di libreria

L'intestazione di libreria "Firechip_u-blox_LARA-R6_Arduino_Library.h" inoltra la chiamata di funzione sendHTTPPOSTdata alla procedura della libreria "Firechip_u-blox_LARA-R6_Arduino_Library.cpp", dove viene generata e inviata la stringa di comando AT completamente formattata (listato 2).

Copy
...
1  LARA_R6_error_t LARA_R6::sendHTTPPOSTdata(int profile, String path, 
                              String responseFilename, String data, 
                              LARA_R6_http_content_types_t httpContentType)
2  { 3    LARA_R6_error_t err; 4    char *command; 5 6    if (profile >= LARA_R6_NUM_HTTP_PROFILES) 7     return LARA_R6_ERROR_ERROR; 8 9    command = lara_r6_calloc_char(strlen(LARA_R6_HTTP_COMMAND) + 24 +
                                  path.
length() + responseFilename.length()
                                  + data.
length()); 10   if (command == nullptr) 11     return LARA_R6_ERROR_OUT_OF_MEMORY; 12   sprintf(command, "%s=%d,%d,\"%s\",\"%s\",\"%s\",%d",
             LARA_R6_HTTP_COMMAND, profile, LARA_R6_HTTP_COMMAND_POST_DATA,
             path.
c_str(), responseFilename.c_str(), data.c_str(),
             httpContentType);
13 14   err = sendCommandWithResponse(command, LARA_R6_RESPONSE_OK_OR_ERROR,
                                 
nullptr, LARA_R6_STANDARD_RESPONSE_TIMEOUT); 15 16   free(command); 17   return err; 18 } ...

Listato 2: Questa procedura di libreria C++ genera e invia la stringa di comando AT completamente formattata (riga 12). (Codice per gentile concessione di Firechip su Github)

La procedura della libreria LARA_R6::sendHTTPPOSTdata (Listato 2) utilizza i parametri passati della chiamata di funzione myLARA.sendHTTPPOSTdata() (Listato 1) e le variabili dichiarate in aggiunta dall'intestazione della libreria per generare la stringa di comando HTTP completa, come indicato nella Tabella 3. Infine, il modem LARA-R6 invia la stringa di comando AT risultante al server RemoteHTTP ThingSpeak:

AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0

Conclusione

Per la connettività di rete globale di applicazioni IoT e M2M a basso consumo, i moduli radio multimodali LTE CAT 1 serie LARA-R6 sono efficienti ed economici. Come illustrato, gli sviluppatori hanno accesso immediato a tutte le interfacce utilizzando l'EVK e possono facilmente configurare e controllare i protocolli e le funzioni del modulo tramite comandi AT. Questo fornisce opzioni semplici per il funzionamento come modem PC, l'invio di dati al cloud e la generazione di stringhe di comandi AT tramite funzioni di libreria.

DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Jens Wallmann

Jens Wallmann

Jens Wallmann is a freelancing editor and contributes to electronics publications, both print and online. As an electrical engineer (communications engineering) and a trained industrial electronic engineer he has more than 25 years in electronics development with a focus on measuring technology, automotive electronics, process industry and Radio Frequency.

Informazioni su questo editore

Editori europei di DigiKey