Implementare rapidamente una rete sicura di dispositivi IoT connessi al cloud, completa di funzionalità di edge computing

Di Stephen Evanczuk

Contributo di Editori nordamericani di DigiKey

Anche se molto richiesta, l'implementazione di una rete Internet degli oggetti (Internet of Things - IoT) con risorse di elaborazione edge può essere un'impresa scoraggiante con molteplici requisiti per dispositivi endpoint, sistemi di elaborazione edge e connettività cloud sicura. Sebbene gli elementi discreti della soluzione richiesta siano prontamente disponibili, l'integrazione di tutti questi elementi in un'applicazione IoT senza soluzione di continuità ed efficiente richiede un'immersione nei complessi compiti di implementazione non solo delle piattaforme hardware endpoint e edge, ma anche delle interfacce di servizio, dei metodi di comunicazione e dei protocolli di sicurezza richiesti dai fornitori di cloud IoT.

Recentemente, è emerso un flusso costante di soluzioni di IoT più altamente integrate per aiutare gli sviluppatori ad arrivare più rapidamente sul mercato. Ad esempio, un set di prodotti per l'elaborazione di endpoint e bordi pronti per il cloud da Microchip Technology fornisce una soluzione pronta all'uso progettata per connettersi facilmente con i servizi IoT di Amazon Web Services (AWS) e con il servizio di elaborazione bordi AWS IoT Greengrass.

In questo articolo si parlerà brevemente del motivo per cui l'intelligence dovrebbe essere dispiegata ai margini. Introdurrà quindi le schede qualificate AWS di Microchip che fungono da sistemi di endpoint a sensori pronti per il cloud. L'articolo mostrerà poi come questi endpoint possono essere combinati con una piattaforma informatica edge basata su un sistema su modulo wireless (SOM) precaricato con credenziali AWS e software di servizio per fornire una connettività quasi trasparente al cloud AWS.

Combinazione di punto finale e sistema di bordo

La pronta disponibilità di sistemi a basso costo e a bassa potenza ha semplificato l'implementazione dei cosiddetti sistemi endpoint, che sono i dispositivi di sensore e attuatore che costituiscono la parte più lontana della periferia dell'applicazione IoT. Sebbene questi sistemi di endpoint si colleghino direttamente con il cloud in molte applicazioni dell'internet degli oggetti, le applicazioni più complesse richiedono spesso l'impiego dei cosiddetti sistemi edge, che si trovano posizionati funzionalmente tra gli endpoint e il cloud dell'internet degli oggetti.

Fornendo capacità di elaborazione locale in prossimità di una serie di endpoint IoT, i sistemi di bordo possono ridurre la latenza in stretti anelli di feedback o soddisfare i requisiti di temporizzazione per i controlli di processo industriali. I sistemi Edge forniscono le risorse locali necessarie per elaborare algoritmi più complessi come l'inferenza di machine learning, o sofisticate routine di pre-elaborazione utilizzate per pulire i dati e ridurre il volume e la velocità di trasmissione dei dati al cloud. Questa capacità di elaborazione locale si dimostra fondamentale per supportare politiche di sicurezza avanzate e requisiti di privacy come la minimizzazione dei dati prima del trasferimento su Internet pubblico.

Migliorare le applicazioni dell'internet degli oggetti con AWS IoT Greengrass

Amazon Web Services (AWS) formalizza le capacità di elaborazione dei bordi con il suo servizio AWS IoT Greengrass, che fornisce una parte dei suoi servizi cloud in esecuzione come Greengrass Core sul dispositivo bordo. Progettato per lavorare a stretto contatto con i servizi cloud che girano su risorse cloud scalabili AWS, Greengrass fornisce un percorso relativamente semplice per l'implementazione e l'aggiornamento dei modelli di inferenza di machine learning costruiti con strumenti come la piattaforma di machine learning completamente gestita di AWS SageMaker (Figura 1).

Diagramma di AWS IoT GreengrassCifra 1: AWS IoT Greengrass semplifica l'elaborazione locale e l'implementazione di funzionalità avanzate, compresi i modelli di machine learning formati nell'ambiente di machine learning di AWS SageMaker. (Immagine per gentile concessione di Amazon Web Services)

L'elaborazione locale è solo uno dei vantaggi di un servizio di bordo come AWS Greengrass. Nel fornire una sorta di buffer di interfaccia tra i sistemi endpoint e le risorse cloud, anche i sistemi edge svolgono un ruolo chiave nel soddisfare i requisiti delle applicazioni IoT per una latenza ridotta, per una maggiore privacy e sicurezza e per una maggiore disponibilità. AWS Greengrass fornisce le basi per fornire queste capacità.

Nel modello AWS Greengrass, dopo una fase di discovery una tantum con servizi cloud, i dispositivi endpoint all'interno di un gruppo Greengrass definito interagiscono tra loro utilizzando la messaggistica MQ Telemetry Transport (MQTT) gestita da un dispositivo Greengrass Core (Figura 2).

Schema del gruppo AWS IoT Greengrass, i dispositivi endpoint possono comunicare tra loroFigure 2: All'interno di un gruppo AWS IoT Greengrass, i dispositivi endpoint possono comunicare tra loro e con il cloud utilizzando la messaggistica MQTT gestita da un dispositivo Greengrass Core. (Immagine per gentile concessione di Amazon Web Services)

Una volta installati in un gruppo Greengrass, i dispositivi possono cooperare per evitare lunghi ritardi di andata e ritorno riscontrati nelle installazioni dell'internet degli oggetti che utilizzano dispositivi che comunicano direttamente con il cloud. I dispositivi possono invece segnalare l'un l'altro direttamente attraverso i canali MQTT mediati dalle capacità di elaborazione locale del dispositivo Greengrass Core.

Se la connettività al cloud viene persa, i dispositivi possono continuare a funzionare sotto la gestione del dispositivo di base Greengrass. Al contrario, se un dispositivo va offline, altri dispositivi e l'applicazione basata sul cloud possono continuare a funzionare utilizzando i dati mantenuti da un'ombra di dispositivo virtuale associata ad ogni dispositivo fisico (Figura 3).

Schema delle architetture di servizi informatici Edge come AWS IoT GreengrassFigure 3: Le architetture di servizi di Edge computing come AWS IoT Greengrass aiutano a mantenere la disponibilità fornendo dispositivi ombra che possono mantenere gli ultimi dati di stato del dispositivo, permettendo alle applicazioni IoT di continuare a funzionare anche se il dispositivo fisico associato va offline. (Immagine per gentile concessione di Amazon Web Services)

Sebbene sia semplice da concepire, l'implementazione di questo coordinamento tra un insieme di dispositivi IoT può essere impegnativo. Per un tipico sviluppatore di IoT, sfruttare al massimo questa capacità di calcolo all'avanguardia presenta una combinazione scoraggiante di sfide per l'amministrazione di hardware, software e sistemi. A livello hardware, è necessario costruire e implementare una rete di dispositivi di calcolo endpoint e edge computing adeguati. Il software deve essere scritto per implementare comunicazioni sicure all'interno della rete locale degli endpoint IoT e dei dispositivi edge, oltre che con i servizi cloud. Infine, questi dispositivi devono essere opportunamente configurati, dotati di chiavi private e certificazioni adeguate e autenticati tra loro e con il servizio cloud IoT.

Per semplificare il processo, un set di schede Microchip fornisce soluzioni di drop-in qualificate AWS sia per i dispositivi endpoint che per i dispositivi edge in grado di connettersi in modo semplice e sicuro all'AWS Greengrass Core localmente, e all'AWS IoT Core nel cloud.

Sistemi di endpoint pronti per il cloud

Progettate per una rapida implementazione come sistemi endpoint, le schede Microchip PIC-IoT WA e AVR-IoT WA sono progettate per fornire una connettività out-of-the-box con AWS IoT Core. Le due schede offrono le stesse funzionalità generali, ma sono progettate per fornire piattaforme familiari agli sviluppatori abituati a lavorare con la famiglia di microcontrollori Microchip PIC e a quelli che lavorano con la famiglia di microcontrollori Microchip AVR ATmega. Sulla base del microchip ATMEGA4808 microcontrollore a 8 bit, la scheda AVR-IoT WA utilizza lo stesso set di componenti del PIC-IoT WA (Figura 4), che si basa sul microchip PIC24FJ128GA705 microcontrollore a 16 bit.

Immagine delle schede Microchip AVR-IoT WA e PIC-IoT WACifra 4: Le schede Microchip AVR-IoT WA e PIC-IoT WA forniscono sistemi endpoint pronti per il cloud che includono lo stesso complemento di dispositivi di supporto costruiti intorno a diversi microcontrollori Microchip, incluso un microcontrollore PIC a 16 bit per la scheda PIC-IoT WA qui mostrata. (Immagine per gentile concessione di Microchip Technology)

Per la connettività, le schede includono ciascuna un modulo Wi-Fi certificato Microchip ATWINC1510-MR210PB progettato specificamente per dispositivi IoT a bassa potenza. Il modulo integra 8 megabit (Mbit) di flash e una catena completa di segnali di trasmissione e ricezione a radiofrequenza (RF) che include l'amplificatore di potenza (PA), l'amplificatore a basso rumore (LNA), l'interruttore RF, la gestione dell'alimentazione e l'antenna stampata. Insieme alla memoria integrata di sola lettura dell'avvio (ROM) per una rapida capacità di avvio del firmware, lo stack di rete integrato supporta i protocolli Internet standard utilizzando acceleratori hardware per velocizzare i protocolli di sicurezza Transport Layer Security (TLS) e Wi-Fi.

Oltre ad un microchip MCP9808 sensore digitale di temperatura di precisione e un Vishay TEMT6000X01 sensore fotodiodo, ogni scheda include un connettore mikroBUS. Utilizzando questo connettore, gli sviluppatori possono facilmente espandere la base hardware selezionando schede aggiuntive dall'ampia selezione di schede disponibili Mikroe Click boards. Per la gestione dell'alimentazione e della batteria, le schede includono ciascuna un dispositivo Microchip MCP73871T-2CCI/ML, che fornisce sia l'alimentazione del sistema che la carica della batteria agli ioni di litio da una fonte di alimentazione USB o da un adattatore a muro.

Per la sicurezza, ogni scheda include un microchip ATECC608A elemento sicuro. Per queste schede, questo dispositivo viene fornito già predisposto con chiavi e certificati per fornire un supporto immediato per l'autenticazione AWS IoT e i meccanismi di sicurezza.

Utilizzando la loro collezione di componenti hardware di bordo e firmware precaricato, le schede sono progettate per connettersi con il minimo sforzo ad AWS IoT Core. Gli sviluppatori devono solo accendere la scheda utilizzando un cavo micro USB collegato al loro personal computer. Dopo che la scheda si connette a un punto di accesso Wi-Fi locale utilizzando le proprie credenziali o quelle dello sviluppatore, stabilisce automaticamente una connessione MQTT con AWS IoT Core utilizzando lo stack TCP/IP integrato nel modulo Wi-Fi e le credenziali di sicurezza preconfigurate. Dopo aver stabilito il collegamento MQTT, la scheda inizia immediatamente a trasmettere i dati dei suoi sensori di temperatura e di luce. Gli sviluppatori possono visualizzare i risultati su una pagina specifica del dispositivo in un account Microchip sandbox.

Microchip fornisce questa applicazione di base in repository separati per Codice PIC-IoT WA e Codice AVR-IoT WA. Esaminando questo codice, gli sviluppatori possono acquisire una rapida comprensione dei modelli di progettazione di base, come l'uso di connessioni MQTT quando comunicano con il cloud per inviare dati dei sensori e per ricevere comandi o dati (Listato 1).

Copy
// This will get called every 1 second only while we have a valid Cloud connection
static void sendToCloud(void)
{
    static char json[PAYLOAD_SIZE];
    static char publishMqttTopic[PUBLISH_TOPIC_SIZE];
    ledTickState_t ledState;
    int rawTemperature = 0;
    int light = 0;
    int len = 0;    
    memset((void*)publishMqttTopic, 0, sizeof(publishMqttTopic));
    sprintf(publishMqttTopic, "%s/sensors", cid);
    // This part runs every CFG_SEND_INTERVAL seconds
    if (shared_networking_params.haveAPConnection)
    {
        rawTemperature = SENSORS_getTempValue();
        light = SENSORS_getLightValue();
        len = sprintf(json,"{\"Light\":%d,\"Temp\":%d.%02d}", light,rawTemperature/100,abs(rawTemperature)%100);
    }
    if (len >0) 
    {
        CLOUD_publishData((uint8_t*)publishMqttTopic ,(uint8_t*)json, len);        
        if (holdCount)
        {
            holdCount--;
        }
        else
        {
            ledState.Full2Sec = LED_BLIP;
            LED_modeYellow(ledState);
        }
        
    }
}
 
//This handles messages published from the MQTT server when subscribed
static void receivedFromCloud(uint8_t *topic, uint8_t *payload)
{
    char *toggleToken = "\"toggle\":";
    char *subString;
    ledTickState_t ledState;
   sprintf(mqttSubscribeTopic, "$aws/things/%s/shadow/update/delta", cid);
    if (strncmp((void*) mqttSubscribeTopic, (void*) topic, strlen(mqttSubscribeTopic)) == 0) 
    {
        if ((subString = strstr((char*)payload, toggleToken)))
        {
            if (subString[strlen(toggleToken)] == '1')
            {   
                setToggleState(TOGGLE_ON);
                ledState.Full2Sec = LED_ON_STATIC;
                LED_modeYellow(ledState);
            }
            else
            {
                setToggleState(TOGGLE_OFF);
                ledState.Full2Sec = LED_OFF_STATIC;
                LED_modeYellow(ledState);
            }
            holdCount = 2;
        }
    }
    debug_printer(SEVERITY_NONE, LEVEL_NORMAL, "topic: %s", topic);
    debug_printer(SEVERITY_NONE, LEVEL_NORMAL, "payload: %s", payload);
    updateDeviceShadow();
}

Listing 1: Gli sviluppatori possono esaminare campioni di codice nei repository software di Microchip per una migliore comprensione dei modelli di progettazione chiave come lo scambio di messaggi MQTT con i servizi cloud, come mostrato in queste due funzioni. (Fonte del codice: Microchip Technology)

Gli sviluppatori possono estendere questo codice utilizzando una varietà di risorse di sviluppo. Microchip supporta lo sviluppo di software personalizzato con il suo MPLAB X ambiente di sviluppo integrato (IDE), cloud-based MPLAB Xpress IDE, e free MPLAB XC compilatori XC. Per il debug, ogni scheda include il nano debugger Microchip PICkit On-Board (PKOB), che elimina la necessità di un'ulteriore interfaccia hardware per il debug. Gli sviluppatori accedono al debugger PKOB attraverso la connessione USB al loro personal computer mentre lavorano nell'IDE MPLAB X.

Soluzione AWS Greengrass-ready

Microchip rende l'incremento della propria rete IoT con risorse informatiche edge computing basate su AWS Greengrass quasi semplice come l'implementazione di endpoint collegati al cloud.

Per la piattaforma informatica di bordo, Microchip fornisce il suo ATSAMA5D27-WLSOM1 system-on-module (SoM) senza fili (WL) con il supporto qualificato AWS Greengrass. Come per le schede endpoint Microchip, l'ATSAMA5D27-WLSOM1 fornisce una piattaforma hardware completa progettata per connettersi facilmente ai servizi AWS IoT Core (Figura 5).

Schema del microchip ATSAMA5D27-WLSOM1 (clicca per ingrandire)Cifra 5: Il Microchip ATSAMA5D27-WLSOM1 integra una serie completa di dispositivi necessari per fornire un sistema di elaborazione bordo qualificato AWS IoT Greengrass. (Immagine per gentile concessione di Microchip Technology)

Per il suo processore host, il WLSOM1 utilizza il system-in-package (SiP) SAMA5D27 a bassa potenza ATSAMA5D27C-LD2G-CU, che integra il Microchip ad alte prestazioni Arm Processore Cortex-A5-based SAMA5D27, che contiene due gigabit (Gbits) di memoria ad accesso casuale dinamica sincrona a doppio flusso di dati a bassa potenza 2 (LPDDR2-SDRAM).

Come per le sue schede endpoint, il WLSOM1 di Microchip include un modulo wireless certificato. In questo caso, Microchip utilizza il suo ATWILC3000, che supporta sia la connettività Wi-Fi che Bluetooth con la coesistenza utilizzando una combinazione di acceleratori hardware integrati, processori integrati e firmware stack. Il WLSOM1 offre anche connettività cablata gestita da un ricetrasmettitore Ethernet Microchip KSZ8081RNAIA. Il microchip include il suo 64 Mbit SST26VF064BEUI flash, che viene fornito con un identificatore unico esteso a 6 byte (EUI-48) e 8 byte EUI-64. In questo modo si garantisce un indirizzo MAC unico a livello globale per potersi collegare in modo affidabile all'Internet pubblico. (Vedere "Memoria flash con un indirizzo MAC integrato può davvero aiutare durante lo sviluppo").

Infine, il WLSOM1 include l'elemento sicuro ATECC608A per la sicurezza basata sull'hardware. Grazie al suo alto livello di integrazione, il WLSOM1 richiede relativamente pochi componenti oltre ai condensatori di disaccoppiamento e alle resistenze di pullup per implementare l'interfaccia hardware in un design a scheda.

Portare una scheda basata su WLSOM1 su AWS IoT Greengrass richiede pochissimo sforzo. In realtà, la maggior parte dello sforzo consiste nel creare servizi AWS per il suo utilizzo. Microchip fornisce agli sviluppatori guide passo-passo per questo, tra cui come creare un account AWS e come definire un gruppo Greengrass di dispositivi Greengrass core e endpoint. Dopo aver costruito il sistema di destinazione su un sistema di sviluppo Linux, gli sviluppatori caricano l'immagine di destinazione, il software Greengrass Core e i certificati sul WLSOM1, tipicamente usando una flash drive sicura per schede digitali (SDCard).

L'autenticazione e le comunicazioni sicure operano in modo trasparente per lo sviluppatore grazie alla sicurezza basata sull'hardware fornita dall'elemento sicuro ATECC608A. Per i sistemi di bordo Greengrass, tuttavia, l'ATECC608A svolge un ruolo più profondo nella protezione delle chiavi private alla base delle comunicazioni sicure tra il Greengrass Core in esecuzione sul sistema di bordo e il cloud AWS.

I dispositivi di un gruppo Greengrass si basano su certificati digitali per l'autenticazione reciproca e dei loro messaggi all'interno del gruppo e con servizi AWS basati su cloud (Figura 6). Se i meccanismi e i protocolli di sicurezza sottostanti sono compromessi a causa di chiavi private esposte o certificati fraudolenti, il gruppo e anche le risorse basate sul cloud possono essere a loro volta compromesse.

Schema di certificati multipli supportati da chiavi private memorizzate in endpointCifra 6: Per garantire transazioni di comunicazione sicure, i servizi cloud AWS e i gruppi AWS IoT Greengrass si basano su certificati multipli supportati da chiavi private memorizzate negli endpoint e nel dispositivo Greengrass Core. (Fonte dell'immagine: Amazon Web Service

AWS protegge se stessa e le applicazioni dei suoi utenti permettendo l'interazione solo con dispositivi affidabili che incorporano un elemento hardware sicuro in grado di proteggere le chiavi private utilizzate per le comunicazioni sicure tra il dispositivo Greengrass Core e l'AWS IoT Core, e tra il dispositivo Greengrass Core e gli endpoint (Figura 7).

Schema del dispositivo Greengrass Core si basa sulla memorizzazione sicura delle chiavi privateCifra 7: Un dispositivo Greengrass Core si basa sulla memorizzazione sicura delle chiavi private utilizzando elementi sicuri come il dispositivo ATECC608A integrato nel Microchip ATSAMA5D27-WLSOM1 wireless SOM. (Immagine per gentile concessione di Amazon Web Services)

AWS ha identificato il WLSOM1 e l'elemento sicuro ATECC608A come soluzioni qualificate Greengrass in grado di soddisfare i suoi requisiti di sicurezza. Infatti, l'ATECC608A supporta la capacità di sicurezza potenziata di AWS fornita da IoT Greengrass Hardware Security Integration (HSI). HSI utilizza gli standard di crittografia a chiave pubblica #11, che definisce un'interfaccia di programmazione applicativa (API) standard del settore per le comunicazioni tra un processore e un modulo di sicurezza hardware (HSM) utilizzato per memorizzare le chiavi private. Nel WLSOM1, l'ATECC608A è designato come un HSM qualificato AWS Greengrass Il supporto per questa interfaccia di sicurezza standard è particolarmente importante per i sistemi basati su Linux utilizzati nei sistemi edge in generale, e nei dispositivi Greengrass Core in particolare

Utilizzando questa base software sicura, gli sviluppatori possono estendere in modo sicuro i loro sistemi di bordo Greengrass Core con capacità di elaborazione locale utilizzando le funzioni di AWS Lambda, che forniscono un modello di programmazione relativamente semplice guidato dagli eventi. Mentre il codice personalizzato eseguito sul dispositivo Greengrass Core può supportare specifici requisiti applicativi, le funzioni AWS Lambda consentono a questi dispositivi di interagire direttamente con i servizi cloud AWS. Ad esempio, gli sviluppatori possono facilmente implementare le funzioni Lambda che collegano gli endpoint con i servizi AWS, come il sistema di gestione di database NoSQL DynamoDB di Amazon per la memorizzazione dei dati o altri servizi nell'ampia serie di offerte AWS (Figura 8).

Il diagramma di AWS IoT Greengrass consente ai sistemi di bordo di fornire un'elaborazione localeCifra 8: AWS IoT Greengrass consente ai sistemi edge di fornire un'elaborazione locale che include l'uso delle funzioni AWS Lambda per una semplice integrazione con i servizi cloud AWS per la memorizzazione dei dati, l'apprendimento automatico e altre funzionalità. (Immagine per gentile concessione di Amazon Web Services)

Conclusione

L'implementazione di una rete IoT con risorse informatiche edge computing può rivelarsi un'impresa scoraggiante con molteplici requisiti per dispositivi endpoint, sistemi informatici edge computing e connettività cloud sicura. I singoli pezzi della soluzione richiesta esistono, ma la loro integrazione in un'applicazione coordinata dell'internet degli oggetti ha lasciato gli sviluppatori a dover affrontare i complessi compiti di implementazione delle interfacce di servizio, dei metodi di comunicazione e dei protocolli di sicurezza richiesti dai fornitori di servizi cloud dell'internet degli oggetti.

Come mostrato, un set di prodotti per l'elaborazione di endpoint e bordi pronti per il cloud di Microchip Technology fornisce una soluzione pronta all'uso progettata per connettersi facilmente con i servizi AWS IoT e il servizio di elaborazione bordo AWS IoT Greengrass. Gli sviluppatori possono utilizzare le schede endpoint qualificate AWS di Microchip e una piattaforma informatica wireless system-on-module edge computing per fornire una connettività quasi trasparente al cloud AWS e accelerare l'implementazione della rete IoT.

Ulteriori letture

  1. Memoria flash con indirizzo MAC integrato può davvero aiutare durante lo sviluppo.
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

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk ha più di 20 anni di esperienza come autore sull'industria elettronica e ha scritto su una vasta gamma di argomenti tra cui hardware, software, sistemi e applicazioni, incluso l'IoT. Ha ricevuto un Ph.D. in neuroscienze sulle reti neuronali e ha lavorato nel settore aerospaziale su sistemi di sicurezza ampiamente distribuiti e sui metodi di accelerazione algoritmica. Attualmente, quando non scrive articoli su tecnologia e ingegneria, lavora su applicazioni di deep learning per i sistemi di riconoscimento e di raccomandazione.

Informazioni su questo editore

Editori nordamericani di DigiKey