1NCE Arduino Blueprint: Costruire progetti IoT open-source


Codice meno, lancio di più

1NCE Arduino Blueprint integra il nostro SDK per la connettività cellulare. Basato sulle precedenti esperienze con FreeRTOS e Zephyr, questo blueprint semplifica il processo di sviluppo, consentendo agli utenti di Arduino di concentrarsi sulle funzionalità principali dei loro progetti.

L'integrazione di Arduino con 1NCE offre diversi vantaggi tecnici per i progetti IoT. Il primo è la riduzione dei costi di sviluppo, grazie alla minimizzazione del tempo e delle risorse necessarie per il software e la configurazione. Arduino Blueprint fornisce moduli e librerie preconfigurati che interagiscono perfettamente con le schede Arduino, eliminando la necessità di complesse operazioni di codifica e integrazione. In secondo luogo, i meccanismi di autenticazione semplificati e i protocolli di comunicazione efficienti dal punto di vista energetico contribuiscono ad accelerare la commercializzazione delle soluzioni IoT. Gli sviluppatori Arduino possono stabilire rapidamente connessioni sicure e trasmettere in modo efficiente i dati sulle reti cellulari. 

Arduino e 1NCE aiutano gli sviluppatori ad adattare i loro progetti IoT a requisiti e ambienti mutevoli. L'architettura modulare di Arduino consente una facile espansione e personalizzazione, mentre il nostro supporto per i protocolli standard del settore, come CoAP, garantisce l'interoperabilità con un'ampia gamma di dispositivi e piattaforme IoT. Infine, le vivaci comunità di sviluppatori che circondano Arduino e 1NCE forniscono risorse, competenze e supporto preziosi per i progetti IoT. Gli sviluppatori possono utilizzare forum online, tutorial e repository di codice per collaborare con i colleghi, risolvere i problemi e condividere le migliori pratiche. 

Il futuro è aperto con l'autenticazione Arduino senza soluzione di continuità

La natura open source di Arduino consente agli sviluppatori di prototipare e personalizzare facilmente i progetti IoT. Tuttavia, l'autenticazione tradizionale dei dispositivi IoT può essere un processo macchinoso, che prevede diversi passaggi, dalla registrazione alla generazione e all'allegato del certificato. Con 1NCE OS Device Authenticator, invece di dover affrontare fino a 8 passaggi, gli sviluppatori possono connettere in modo sicuro i loro dispositivi in soli due semplici passaggi. Sono finiti i giorni in cui bisognava generare e allegare manualmente i certificati. Ricevendo automaticamente la chiave pre-condivisa e stabilendo una connessione DTLS sicura, gli sviluppatori possono concentrarsi su ciò che conta di più: la funzionalità della loro applicazione IoT.


Come funziona l'autenticatore di dispositivi


Progetti ad alto consumo energetico e risparmio energetico di Arduino

L'autenticazione dei dispositivi non è l'unico strumento disponibile. Sulla base del feedback dei nostri clienti, abbiamo capito e affrontato la pressante necessità di protocolli di comunicazione efficienti dal punto di vista energetico. I metodi tradizionali spesso trascurano questo aspetto, causando un inutile consumo di energia e una riduzione della durata del dispositivo. Tuttavia, con Energy Saver, basato su CoAP/UDP, gli sviluppatori possono ottimizzare il consumo energetico senza compromettere la connettività o la sicurezza. 

CoAP offre una gestione delle risorse più efficiente rispetto a MQTT, utilizzando il protocollo UDP (User Datagram Protocol) invece del TCP. UDP, essendo privo di connessioni e orientato ai pacchetti, invia pacchetti di dati consecutivamente senza bisogno di conferma, a differenza di TCP che richiede pacchetti numerati e conferma prima di inviare il pacchetto successivo. Questo approccio consente di risparmiare sforzi, tempo ed energia.  

Pertanto, CoAP è particolarmente vantaggioso in scenari in cui i dispositivi danno priorità alla conservazione delle risorse. I dispositivi a batteria, tipicamente dotati di hardware di base e capacità di calcolo limitate, mirano a trasmettere i dati in modo rapido ed efficiente riducendo al minimo il consumo di energia, rendendo CoAP una scelta preferenziale in questi casi.


Energy Saver in the IoT Ecosystem


Lavoro in pratica: Raccolta guidata dai dati  

Mostriamo rapidamente come funziona in pratica il Blueprint 1NCE Arduino all'interno del sistema di monitoraggio dell'agricoltura intelligente:  

Impostazione semplice. Invece di occuparsi della complicata generazione di certificati, gli sviluppatori possono collegare i loro dispositivi Arduino, come i sensori di umidità del suolo o dell'acqua, al cloud in soli due semplici passaggi. Questo significa meno tempo speso per la configurazione e più attenzione a far funzionare il sistema in modo efficiente per il monitoraggio delle colture e del bestiame.  

Efficienza energetica. Utilizzando il risparmio energetico, il sistema ottimizza l'uso della batteria. Ciò significa che i dispositivi possono funzionare per periodi più lunghi senza dover sostituire frequentemente la batteria. Il sistema prevede una modalità a basso consumo per i dispositivi, assicurando che rimangano connessi al cloud pur conservando l'energia. Ciò è particolarmente utile nelle aree agricole remote, dove le fonti di energia possono essere limitate.  

Compatibilità e linee guida 

Oggi il progetto è compatibile con Arduino Portenta H7 e Arduino Portenta H7 lite, entrambi con sistema operativo Mbed, e quando è collegato al Portenta Cat. M1/NB IoT GNSS Shield. Per coloro che desiderano immergersi nello sviluppo IoT con Arduino, sono disponibili numerose risorse, tra cui tutorial, documentazione e forum della comunità. L'IDE (Integrated Development Environment) di Arduino fornisce una piattaforma facile da usare per scrivere, compilare e caricare codice sulle schede Arduino. Inoltre, Arduino IoT Cloud offre un modo semplice per collegare i dispositivi Arduino al cloud e creare applicazioni IoT. Di seguito, è possibile trovare una guida passo-passo sull'impostazione di alcuni dispositivi Arduino con Arduino Blueprint.


Come iniziare con Arduino Protenta H7

Passo 1: Configurazione dell'ambiente di sviluppo

In questa sezione vi guideremo passo dopo passo nella configurazione della scheda Portenta per l'esecuzione di Arduino Blueprint. 

Iniziare con la configurazione di base 

  1. Collegare Portenta: Collegare Portenta (USB-C®) al computer. 

  2. Aprire l'IDE: Avviare l'IDE Arduino (assicurarsi che sia la versione più recente). 

Includere la scheda Portenta nell'elenco delle opzioni disponibili.

Per accedere alla scheda Portenta nell'IDE Arduino, navigare nel board manager e cercare “portenta”. Individuare la libreria Arduino mbed-enabled Boards e selezionare “Install” per scaricare e installare l'ultima versione del core Mbed OS. 

Includere la scheda Portenta nell'elenco delle opzioni disponibili

Per includere il Blueprint 1NCE Arduino nelle librerie disponibili, aprire l'IDE Arduino e accedere al gestore delle librerie. Cercare “1NCE Arduino Blueprint” e individuare la libreria di 1NCE GmbH. Fare clic su “Installa” per aggiungere l'ultima versione, che è la versione 1.0.0 al momento della stesura di questa guida.

Fase 2: caricamento del progetto 1NCE Arduino  

Demo UDP   

Programmiamo il Portenta con l'esempio UDP Demo: nell'IDE Arduino aprire l'esempio facendo clic sulla voce di menu File> Esempi> 1NCE Arduino Blueprint> nce_udp_demo  

Quindi è necessario personalizzare i seguenti parametri:

Le opzioni di configurazione per questo esempio sono:  

NCE_UDP_ENDPOINT è impostato su 1NCE endpoint. 

NCE_UDP_PORT è impostato di default sulla porta 4445 dell'endpoint UDP di 1NCE. NCE_UDP_DATA_UPLOAD_FREQUENCY_SECONDS l'intervallo tra i pacchetti UDP. 

NCE_PAYLOAD Messaggio da inviare a 1NCE IoT Integrator. 

NCE_PAYLOAD_DATA_SIZE Utilizzato quando 1NCE Energy Saver è abilitato per definire la dimensione dei dati del payload del modello di traduzione. 


Demo CoAP 

Programmiamo il Portenta con UDP Demo Example: nell'IDE Arduino aprire l'esempio facendo clic sulla voce di menu File> Examples> 1NCE Arduino Blueprint> nce_coap_demo

 

Le opzioni di configurazione per il campione CoAP sono le seguenti: 

NCE_COAP_ENDPOINT è impostato su 1NCE endpoint. NCE_COAP_PORT è impostato automaticamente in base alle opzioni di sicurezza (con/senza DTLS). 

NCE_COAP_URI_QUERY è l'opzione URI Query utilizzata per impostare l'argomento MQTT per l'integratore 1NCE IoT. 

NCE_COAP_DATA_UPLOAD_FREQUENCY_SECONDS l'intervallo tra i pacchetti CoAP. 

NCE_PAYLOAD Messaggio da inviare all'integratore 1NCE IoT. 

NCE_PAYLOAD_DATA_SIZE Utilizzato quando 1NCE Energy Saver è abilitato per definire la dimensione dei dati del payload del modello di traduzione. 


Demo LwM2M  

Programmiamo il Portenta con l'esempio demo UDP: nell'IDE Arduino aprire l'esempio facendo clic sulla voce di menu File> Esempi> 1NCE Arduino Blueprint> nce_LwM2M_demo


Le opzioni di configurazione per il campione LwM2M sono: 

NCE_ICCID l'ICCID della scheda SIM 1NCE. 

LWM2M_ENDPOINT è impostato su 1NCE endpoint. DTLS è abilitato per impostazione predefinita.

Per utilizzare DTLS, il PSK di avvio deve essere definito in LWM2M_BOOTSTRAP_PSK. Può essere configurato durante il test dell'integrazione LwM2M (dall'integratore del dispositivo) o dall'API Create Pre-Shared Device Key. 

Per testare la comunicazione non protetta, disabilitare l'autenticatore del dispositivo rimuovendo la seguente definizione da nce_demo_config.h 

#define LwM2M_ENABLE_DTLS 

La filosofia open-source di Arduino, unita a una vivace comunità di sviluppatori, ha democratizzato lo sviluppo dell'IoT e ha permesso a individui e organizzazioni di creare progetti di grande impatto. Allo stesso tempo, 1NCE crea ulteriori modi per utilizzare tutta la potenza della piattaforma e connettere i dispositivi senza soluzione di continuità con pochi clic.