Perché e come dare il via a progetti IoT cellulari con la scheda di sviluppo IoT di Microchip

Contributo di Editori nordamericani di DigiKey

L'Internet delle cose (IoT) cellulare, una tecnologia LPWAN (connettività di rete WAN a bassa potenza), offre un percorso chiaro e collaudato verso una soluzione IoT sicura e robusta per applicazioni che vanno dalle città intelligenti all'agricoltura e al monitoraggio remoto delle infrastrutture. Tuttavia, IoT cellulare è una tecnologia complessa, scoraggiante per i progettisti inesperti alle prese con un progetto.

Tuttavia, le sfide legate alla progettazione di IoT cellulare possono essere attenuate basando i progetti su schede di sviluppo cellulare che utilizzano microcontroller (MCU) generici e ambienti di progettazione integrati (IDE) già noti. Supportate da librerie software open-source e da semplici connessioni ai sensori, queste schede di sviluppo semplificano per il progettista la realizzazione di progetti IoT cellulari, dal layout hardware fino all'invio dei dati al cloud.

Questo articolo illustra brevemente i vantaggi di IoT cellulare prima di spiegare le complessità di progettazione che questa tecnologia può presentare. Descrive poi come l'uso di schede di sviluppo IoT cellulari possa eliminare gran parte di questa complessità. Infine, spiega come configurare una scheda di sviluppo di Microchip Technology per inviare semplici dati di colore e temperatura al cloud.

Che cos'è IoT cellulare?

IoT cellulare utilizza la tecnologia cellulare a bassa potenza per collegare i dispositivi finali IoT (come sensori e attuatori) al cloud. È una tecnologia LPWAN caratterizzata da una portata superiore al chilometro, dal supporto di dispositivi finali ad alta densità e da un basso throughput.

Sebbene esistano altre tecnologie LPWAN, in particolare LoRaWAN (vedere "Accelerare i progetti IoT LoRaWAN con uno starter kit end-to-end") e Sigfox, IoT cellulare offre alcuni vantaggi chiave, tra cui:

  • A prova di futuro: in quanto standard, le specifiche per IoT cellulare sono costantemente in fase di revisione e sviluppo.
  • Scalabilità: IoT cellulare può supportare la rapida diffusione dell'IoT grazie a un'architettura cellulare consolidata.
  • Qualità del servizio (QoS): IoT cellulare offre un'elevata affidabilità perché si basa su un'infrastruttura collaudata e matura in applicazioni commerciali ad alto volume.
  • Interoperabilità IP: i dispositivi finali possono essere collegati direttamente al cloud senza la necessità di costosi e complessi gateway.

I progettisti devono tener conto del fatto che con IoT cellulare c'è una spesa continua associata al trasferimento dei dati. Ciò non avviene con tecnologie concorrenti come LoRaWAN, che utilizzano lo spettro di frequenza senza licenza. Tuttavia, i costi dei dati cellulari IoT stanno diminuendo a causa delle pressioni della concorrenza e dell'aumento dell'uso dell'edge computing, riducendo il volume di dati non significativi inviati attraverso la rete.

IoT cellulare è disciplinato da uno standard di telecomunicazione regolato e aggiornato dal Third Generation Partnership Project (3GPP). La release 13 dello standard 3GPP ha esteso le categorie di modem macchina-macchina (M2M) per realizzare modem a basso costo, a basso consumo e a basso throughput adatti alla connettività IoT. Ulteriori versioni dello standard hanno portato ad altri miglioramenti di questi modem IoT.

I sensori wireless dotati di modem cellulari IoT possono inviare i dati al cloud su diversi chilometri di distanza senza la necessità di costosi e complessi gateway, insieme alla sicurezza e alla QoS per cui è rinomata la telefonia cellulare.

La differenza tra LTE-M e NB-IoT

IoT cellulare si presenta in due forme: LTE categoria M1 (LTE-M) e IoT a banda stretta (NB-IoT). Entrambi i tipi sono progettati per l'uso con dispositivi a risorse limitate, spesso alimentati a batteria, tipici di IoT e Industrial IoT (IIoT). Poiché i modem IoT si collegano a un'infrastruttura cellulare consolidata, ciascuno richiede un proprio modulo di identità dell'abbonato (SIM).

LTE-M si basa sulla tecnologia LTE ("4G") "semplificata". Supporta comunicazioni sicure, massima copertura ed elevata capacità di sistema. La sua capacità di funzionare come sistema full-duplex su una larghezza di banda relativamente ampia (1,4 MHz) migliora la latenza e il throughput rispetto a NB-IoT. Il throughput di dati grezzi è di 300 kbps in downlink e 375 kbps in uplink. La tecnologia è adatta a connessioni IP end-to-end sicure e la mobilità è supportata dalle tecniche di trasferimento delle celle LTE. LTE-M è adatto ad applicazioni mobili come la gestione delle risorse in movimento o l'assistenza sanitaria.

NB-IoT è stato progettato principalmente per l'efficienza energetica e per una migliore penetrazione negli edifici e in altre aree non compatibili con le radiofrequenze. A differenza di LTE-M, non si basa sullo strato fisico (PHY) di LTE. La complessità del modem è persino inferiore a quella di un dispositivo LTE-M, poiché NB-IoT utilizza una larghezza di banda di 200 kHz. Sebbene il throughput dei dati grezzi sia modesto, 60/30 kbps, la portata è migliore di LTE-M. NB-IoT è adatto ad applicazioni statiche come i contatori intelligenti che potrebbero essere oscurati da pareti.

Modem IoT cellulari di grado commerciale

È ora disponibile una gamma di modem LTE-M/NB-IoT commerciali. Un esempio è il modulo Monarch 2 GM02S di Sequans. Questo dispositivo supporta un singolo front-end RF in SKU (unità di stoccaggio) adatto a 20 bande LTE globali. Viene fornito in un modulo LGA compatto di 16,3 x 17 x 1,85 mm. Il modulo soddisfa i requisiti della release 14/15 del 3GPP. Alimentato in maniera semplice da 2,2 a 5,5 V, il modem è in grado di trasmettere una potenza massima di +23 dBm.

GM02S supporta una SIM esterna, una eSIM e una SIM integrata e include un'interfaccia per antenna da 50 Ω. Il dispositivo viene fornito con uno stack software LTE-M/NB-IoT e il software Cloud Connector di Sequans per facilitare la connessione alle piattaforme cloud commerciali (Figura 1).

Immagine del modem LTE-M/NB-IoT GM02S di SequansFigura 1: Il modem LTE-M/NB-IoT GM02S di Sequans è offerto in un contenitore compatto e con uno stack software maturo. (Immagine per gentile concessione di Sequans)

Sfide di progettazione per IoT cellulare

Sebbene il modem GM02S sia un dispositivo altamente integrato, dotato di uno stack software e di connettività cloud, come tutti i modem commerciali necessita di un notevole lavoro di sviluppo prima che un'applicazione IoT possa inviare dati al cloud su chilometri di distanza.

Il modem è progettato esclusivamente per gestire la comunicazione tra il dispositivo finale e la stazione base. Per controllare il modem ed eseguire il software applicativo del sensore è necessario un processore di supervisione e applicazione separato. Inoltre, il progettista deve considerare anche i circuiti dell'antenna, l'alimentazione e la dotazione al dispositivo finale di una SIM per garantire la connettività continua con la rete cellulare (vedere "Come utilizzare le antenne embedded multibanda per risparmiare spazio, complessità e costi nei progetti IoT").

Oltre alla progettazione dell'hardware, sono necessarie alcune competenze di codifica per far sì che un modulo cellulare si connetta alla rete e riceva/trasmetta i dati. Se il progetto utilizza un MCU applicativo esterno, in genere comunica con il modulo cellulare utilizzando un collegamento seriale UART (sebbene vengano utilizzate anche altre interfacce di I/O). I comandi AT ("attenzione") sono il mezzo standard per controllare un modem cellulare. I comandi sono costituiti da una serie di brevi stringhe di testo che possono essere combinate per eseguire operazioni quali la composizione del numero, il riaggancio e la modifica dei parametri di connessione.

Esistono due tipi di comandi AT: i comandi di base sono quelli che non iniziano con "+". "D" (composizione), "A" (risposta), "H" (controllo di riaggancio) e "O" (ritorno allo stato dati online) sono alcuni esempi. I comandi estesi sono quelli che iniziano con "+". Ad esempio, "+CMGS" (invio di messaggi SMS), "+CMGL" (elenco di messaggi SMS) e "+CMGR" (lettura di messaggi SMS) (vedere "Utilizzare un modulo cellulare per connettere un progetto maker a IoT").

Queste considerazioni sull'hardware e sul software comportano una complessità per IoT cellulare che potrebbe rallentare i progressi dei progettisti meno esperti. Fortunatamente, i produttori di MCU applicativi e di modem cellulari IoT si sono riuniti per offrire strumenti di progettazione hardware e software che semplificano di molto la possibilità di sfruttare questa importante tecnologia LPWAN.

Eliminazione della complessità con le schede di sviluppo IoT

Affrontare le sfide della progettazione di IoT cellulare diventa più facile se non si deve basare un prototipo su una scheda di sviluppo appositamente progettata. L'hardware della scheda di sviluppo comprende in genere un'antenna, una fonte di alimentazione, una SIM con una certa quantità di dati gratuiti, un processore applicativo e reti accordate per garantire buone prestazioni RF. In questo modo i progettisti possono contare su una solida base hardware per il loro progetto e concentrarsi sullo sviluppo dell'applicazione. Con la scheda di sviluppo giusta, lo sviluppo dell'applicazione può anche essere condotto in un IDE familiare.

Un esempio di scheda di sviluppo IoT cellulare molto diffusa è EV70N78AAVR-IoT Cellular Mini di Microchip. Si tratta di una piattaforma hardware basata sul rinomato MCU AVR128DB48 di Microchip e sul modulo cellulare Monarch 2 GM02S di Sequans descritto sopra. L'MCU è un dispositivo a 8 bit e 24 MHz. Offre 128 kB di flash, 16 kB di SRAM, 512 byte di EEPROM ed è fornito in un contenitore a 48 pin.

La scheda di sviluppo integra anche un Secure Element ATECC608B; una volta connesso a una rete LTE-M o NB-IoT, ATECC608B viene utilizzato per autenticare l'hardware con il cloud e identificare in modo univoco ogni scheda.

Per facilitare ulteriormente le cose al progettista, la scheda di sviluppo di Microchip include una scheda SIM Truphone pronta per l'attivazione con 150 MB di dati.

La scheda di sviluppo è dotata di cinque LED utente, due pulsanti meccanici, un cristallo a 32,768 kHz, sensori di colore e di temperatura, un connettore bordo compatibile con Adafruit Feather, un connettore I2C Qwiic, un debugger, una porta USB, opzioni di alimentazione a batteria e da ingresso esterno e un caricabatterie Li-ion/Li-po MCP73830 con LED di stato di carica (Figura 2).

Immagine della scheda di sviluppo AVR-IoT Cellular Mini di Microchip Technology (fare clic per ingrandire)Figura 2: La scheda di sviluppo AVR-IoT Cellular Mini è basata sull'MCU AVR128DB48 e viene fornita con una scheda SIM e 150 MB di dati. (Immagine per gentile concessione di Microchip Technology)

Avviare un progetto IoT cellulare

Lo scopo di IoT cellulare è quello di collegare in modalità wireless i dispositivi finali IoT, come sensori e attuatori, in modo che possano inviare i dati al cloud su distanze anche di molti chilometri. Sulla scheda di sviluppo Microchip, l'MCU è precaricato con un'immagine del firmware che forma un'applicazione dimostrativa con cui gli utenti possono connettersi rapidamente e inviare i dati dai sensori di temperatura e colore integrati a una sandbox nel cloud (ospitata da AWS).

Per preparare l'hardware allo sviluppo, è sufficiente attivare e inserire la scheda SIM, collegare l'antenna esterna alla scheda, collegare la porta USB-C di debug della scheda al PC, scansionare il codice QR sul fondo della scheda o aprire il dispositivo di memoria di massa e seguire il link CLICK-ME.HTM alla pagina Web del kit.

Uno strumento di provisioning IoT di Microchip, disponibile su Github, fornisce una soluzione intuitiva per configurare AVR-IoT Cellular Mini in base all'operatore di cloud selezionato, impostare l'operatore di rete e selezionare le bande di frequenza cellulare. (Per il funzionamento del firmware dimostrativo della sandbox, la scheda di sviluppo deve essere predisposta per la sandbox AWS Microchip).

Una volta che gli sviluppatori hanno preso confidenza con l'applicazione dimostrativa, possono iniziare a creare un'applicazione personale utilizzando il supporto completo dell'IDE Arduino della scheda di sviluppo. Questo supporto si basa su una libreria AVR per IoT cellulare Arduino ospitata su Github. La libreria è costruita sulla base dell'open-source DxCore (Figura 3).

Immagine della libreria AVR per IoT cellulare di Microchip (fare clic per ingrandire)Figura 3: La libreria AVR per IoT cellulare (arancione) comprende moduli software per la programmazione e il controllo della scheda di sviluppo (in verde, in forma semplificata). (Immagine per gentile concessione di Microchip Technology)

Il debugger integrato (PKOB nano) fornisce il supporto completo alla programmazione per l'IDE Arduino. Non è necessario alcuno strumento esterno ed è anche fornito l'accesso a un'interfaccia di porta seriale (ponte seriale-USB) e a due canali dell'analizzatore logico (GPIO di debug). Il debugger integrato nella scheda AVR IoT Cellular Mini appare come un dispositivo di interfaccia umana (HID) nel sottosistema USB del computer host. Per i progetti più ambiziosi, i connettori della scheda di sviluppo compatibili con Qwiic e Feather consentono l'espansione da un'ampia selezione di schede aggiuntive di Sparkfun e Adafruit (Figura 4).

Immagine del diagramma a blocchi della scheda di sviluppo IoT AVR di MicrochipFigura 4: Questo diagramma a blocchi della scheda di sviluppo IoT AVR mostra che la connessione al PC host avviene tramite il collegamento USB del debugger, mentre la programmazione dell'MCU dell'applicazione avviene tramite il collegamento UART del debugger. Si noti che anche il collegamento tra l'MCU dell'applicazione e il modem cellulare avviene tramite UART. (Immagine per gentile concessione di Microchip Technology)

Per iniziare a programmare le applicazioni è necessario scaricare e installare l'IDE Arduino e DxCore. Successivamente, si deve l'IDE Arduino per consentire l'esecuzione della libreria AVR IoT cellulare Arduino (Listato 1).

Listato della configurazione dell'IDE Arduino per consentire l'esecuzione della libreria AVR IoT cellulare ArduinoElenco 1: Configurazione dell'IDE Arduino per consentire l'esecuzione della libreria AVR IoT cellulare Arduino. (Codice per gentile concessione di Microchip Technology)

Una volta configurato l'IDE, la libreria può essere installata. A questo punto è possibile accedere a diversi esempi di libreria per la scheda di sviluppo. I progettisti che hanno familiarità con l'IDE Visual Studio Code possono utilizzarlo per lo sviluppo AVR IoT, a condizione di installare il plug-in Arduino. Il codice dell'applicazione Arduino sviluppato in uno dei due IDE viene trasferito all'MCU della scheda di sviluppo tramite il debugger integrato.

Misurare la potenza

IoT cellulare è progettato per funzionare a bassa potenza e prolungare la durata dei dispositivi finali IoT alimentati a batteria. È quindi importante ottimizzare il codice dell'applicazione per ridurre al minimo il consumo energetico.

Sulla scheda di sviluppo Microchip, l'alimentazione di tutte le parti della scheda è collegata tramite cinque fascette. Anche queste sono destinati alla misurazione della corrente. Per misurare la potenza del circuito desiderato, è sufficiente tagliare la fascetta e collegare un amperometro attraverso i fori (Figura 5).

Immagine delle fascette sulla scheda di sviluppo AVR IoT di MicrochipFigura 5: Le fascette sulla scheda di sviluppo AVR IoT possono essere utilizzate per misurare il consumo energetico dei circuiti chiave. (Immagine per gentile concessione di Microchip Technology)

La scheda di sviluppo dispone anche di un circuito di misurazione della tensione di sistema che utilizza l'interruttore MIC94163 e un divisore di tensione collegato a un pin ADC dell'MCU, per la misurazione su richiesta e per impedire la dispersione di energia attraverso il divisore di tensione. Per misurare la tensione del sistema, procedere come segue:

  1. Configurare il riferimento di tensione per l'ADC.
  2. Impostare il pin che abilita alla misurazione della tensione del sistema GPIO dell'MCU (PB3) su "high" per abilitare il divisore di tensione.
  3. Impostare il pin di misurazione della tensione del sistema ADCO dell'MCU (PE0) come ingresso per l'ADC.
  4. Eseguire una conversione analogico-digitale (ADC) a terminazione singola.
  5. Calcolare la tensione utilizzando l'equazione: V = risultato ADC x VREF x 4/risoluzione ADC.

Infine, è semplice misurare la tensione di alimentazione seguendo questi passaggi:

  1. Configurare il riferimento di tensione per l'ADC.
  2. Selezionare VDD o VDDIO2 come ingresso positivo dell'ADC. (VDD e VDDIO2 sono canali di ingresso interni disponibili per l'ADC dell'MCU).
  3. Eseguire una conversione ADC a terminazione singola.
  4. Calcolare la tensione utilizzando l'equazione: V = risultato ADC x VREF x 10/risoluzione ADC.

Conclusione

IoT cellulare è una LPWAN popolare con un crescente potenziale commerciale. Tuttavia, la progettazione di dispositivi finali alimentati IoT cellulare richiede competenze a livello hardware e software. Per dare una mano ai progettisti, le nuove schede di sviluppo IoT cellulare, come la scheda di sviluppo AVR-IoT Cellular Mini EV70N78A di Microchip, offrono un percorso di prototipazione rapido.

La scheda di sviluppo utilizza un modem LTE-M/NB-IoT di fascia alta e un popolare MCU di Microchip. Lo sviluppo del codice applicativo è semplificato dall'utilizzo dell'IDE Arduino o Visual Studio Code.

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 editore

Editori nordamericani di DigiKey