Sviluppatori e software house devono identificare i settori più remunerativi su cui concentrare i loro sforzi e le loro risorse, oggi ci sono pochi dubbi sul fatto che le applicazioni in stile Internet of Things siano un campo remunerativo su cui conviene investire.
Il problema semmai è capire verso quale piattaforma IoT muoversi avendo la ragionevole certezza che sarà supportata anche dopo la inevitabile fase di selezione che segue il boom di qualsiasi tecnologia.
Molte piattaforme IoT sono spiccatamente proprietarie e rappresentano quindi una scelta quasi di campo. Chi cerca invece di muoversi in maniera più indipendente e pensando di crescere progressivamente in complessità può restare nell’ambito delle soluzioni più o meno open source. L’offerta è ampia e bisogna sempre capire quanto ogni singolo elemento sia in linea con le proprie prospettive di sviluppo. Ecco qualche suggerimento.
I nomi noti
Difficile trattare di sviluppo software/hardware per il mondo IoT senza citare la piattaforma Maker per definizione, ossia Arduino. Che, al contrario di quanto molti ancora pensano, non comprende più solamente una pletora di board programmabili ma anche una piattaforma cloud – Arduino Create – che spazia dall’essere un IDE online a gestire lo scambio di messaggi tra board diverse. Insieme, tutto il sistema è abbastanza trasversale ma anche semplice da poter essere visto come un primo passo nel mondo IoT.
Anche ThingSpeak è un nome che molti avranno presente, anche semplicemente perché è una piattaforma in stile IoT nata prima che si cominciasse a parlare massicciamente di Internet of Things. Può essere interessante soprattutto per chi deve eseguire analisi sui dati raccolti dal campo attraverso sensori. Questa raccolta era la base della concezione originale della piattaforma e la parte di analisi è stata potenziata grazie all’integrazione con le funzioni di calcolo di Matlab.
Non va dimenticato ovviamente tutto il mondo Android, anche se qui potrebbe non essere semplice mantenere il proprio sviluppo su una direttrice completamente open source. Ufficialmente (per Google, cioè) il volto di Android per l’IoT è Android Things, ma è possibile anche muoversi in maniera diversa con le versioni “standard” del sistema operativo.
Tre alternative
Agli albori, o quasi, dell’IoT sono nati vari consorzi di aziende che hanno cercato di promuovere l’interoperabilità fra il loro prodotti e lo sviluppo di applicazioni anche da parte di software house terze parti. Non tutte le piattaforme che ne sono derivate hanno avuto uno sviluppo significativo, DeviceHive è una delle poche che è stata ed è ancora portata avanti con regolarità.
Si tratta in sintesi di una piattaforma per la comunicazione tra device smart di vario genere – anche i nanocomputer come Raspberry Pi – e che è stata pensata in particolare per mondo automazione e Smart Home. C’è una buona community che porta avanti il progetto con la guida di DataArt.
L’IoT intesa come evoluzione del M2M e della domotica è anche l’ambito di elezione di due progetti “open” interessanti ma per altri versi piuttosto differenti fra loro: Home Assistant e Zetta. La prima è evidentemente proposta come piattaforma per la creazione di soluzioni di home automation. La sua particolarità sta nel non prevedere una connessione al cloud, cosa che ha vantaggi e svantaggi. Può essere un lato positivo per chi è particolarmente attento ai temi della privacy e della sicurezza, l’assenza di un dialogo attraverso una “nuvola” d’altra parte impedisce funzioni di controllo remoto.
Zetta è esattamente l’opposto in quanto a considerazione della connettività, perché si basa pesantemente sulla comunicazione fra nodi di una rete IoT. Ha un approccio peculiare in cui una rete è composta di nodi server che erogano servizi via Node.js e più in generale di nodi IoT con cui si interagisce tramite API. Si tratta quindi di una soluzione concettualmente un po’ estrema ma adatta alla creazione di ambienti IoT con applicazioni in real time e streaming di grandi quantità di dati.