EMB_79

59 EMBEDDED FEBBRAIO IOT DEV TOOLS | SOFTWARE ce una API REST sia a livello locale, sia nel cloud. Un’altra piattaforma IoT open source è Kaa Com- munity Edition, che tra le funzionalità principali include gestione dispositivi, acquisizione dati, ge- À ! ' Sempre open source è anche la piattaforma IoT ThingsBoard Community Edition, che tra le fun- zioni comprende device management, raccolta, elaborazione e visualizzazione dati, architettura a microservizi. Device Hive è un’altra piattafor- ma IoT open source “microservice-based”, scala- bile, agnostica rispetto alla tipologia di hardware e cloud, e dotata di API di gestione dispositivi in grado di utilizzare differenti protocolli (REST API, Websocket API, MQTT API). Altri strumenti di sviluppo per IoT Tra i tool di sviluppo di soluzioni e applicazioni IoT si possono includere le schede di sviluppo IoT e gli star- ter kit di prototipazione per sviluppatori IoT. Tra le schede e kit di sviluppo più popolari si possono citare nomi come Arduino, Raspberry Pi, Particle, Espres- sif: tuttavia, a prescindere dalla popolarità della piattaforma hardware e dalla ricchezza dell’offerta disponibile sul mercato, almeno tre principi di sele- zione della scheda più adatta vanno tenuti a mente. Primo, è bene partire da un elenco delle funzionalità che il progetto IoT dovrà fornire. Le funzionalità e i requisiti possono essere molto diversi, se, ad esem- pio, si sta progettando un termostato intelligente, oppure un robot con capacità di comunicazione wi- reless, tramite Wi-Fi. Secondo, occorre considerare funzionalità e prestazioni in rapporto al costo della scheda: una board dotata di processore potente e ric- che funzionalità ha un costo elevato, ma, se l’applica- zione che si andrà a sviluppare non deve, ad esempio, eseguire funzioni complesse, o con particolari requi- siti di prestazioni, vale la pena valutare alternative a ~ ' À ! ‹ complesso, non va trascurato un fattore chiave come la facilità di sviluppo: è chiaro che adottare schede che sono parte di un ecosistema popolare, e ricco di board, componenti, librerie software, può contribui- À 2 tempo di sviluppo del progetto stesso. Quando, come nell’implementazione di sistemi Internet of Things, si tratta di connettere tra loro molti elementi diversi, un tool di programmazione utile è Node-RED, creato per facilitare l’interconnessione di dispositivi hard- ware (sensori, computer, dispositivi embedded), API, servizi online. Anch’esso basato sull’ambiente runti- me Node.js, Node-RED incorpora uno stile di svilup- po applicativo “low code”, che, attraverso un editor browser-based, permette allo sviluppatore di creare 2 À ! - ver scrivere grandi volumi di codice. Nella realizza- zione di applicazioni IoT, un altro strumento interes- sante è il framework open source Flutter, un toolkit UI sviluppato da Google per la creazione di applica- zioni con interfaccia utente gradevole, e compilate nativamente per sistemi mobile, web e desktop, a partire da una singola base di codice. La ragione per la quale usare Flutter può rivelarsi vantaggioso è che tale framework fornisce un ampio insieme di widget, completamente personalizzabili, per sviluppare in- terfacce native in poco tempo. La home page della piattaforma IoT open source Zetta Il framework open source Flutter fornisce un ricco insieme di widget personalizzabili

RkJQdWJsaXNoZXIy MTg0NzE=