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
Collegare Portenta: Collegare Portenta (USB-C®) al computer.
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.