Un nuovo Sistema Operativo per l’IoT: Android Things

“If you can build an app, you can build a device”

L’IoT, acronimo di Internet of Things, è un’estensione dell’utilizzo della Rete: dagli edifici alle automobili fino agli smartphone e smartwatch, ogni cosa può essere considerata fonte di informazione e per questo contribuire alla mappatura di un mondo in grado di adattarsi ai suoi utenti. Si prevede che entro il 2020 ci saranno 34 miliardi di dispositivi connessi alla rete, a fronte dei 10 miliardi del 2015, dei quali 10 saranno dispositivi tradizionali (computer, tablet, smartphone, smartwatch) e i restanti saranno dispositivi specifici per l’IoT. Proprio per questo trend in crescita le grandi aziende che si occupano di IT stanno ormai da qualche anno investendo molto in questo settore, tutt’oggi infatti sono disponibili diversi framework per lo sviluppo di applicazioni nel settore IoT tra i quali AllJoin sviluppato da Qualcomm, IoTivity di Intel, Azure IoT Suite di Microsoft e infine il nuovo Android Things realizzato da Google, attualmente ancora in Developer Preview, che sostituisce la precedente piattaforma Brillo.

Android Things non è propriamente un framework, ma un vero e proprio sistema operativo con un suo SDK (Software Development Kit) nato, come accennato poc’anzi, sulle spalle del suo predecessore Brillo e che attualmente supporta un numero limitato di dispositivi hardware, tra cui il noto Raspberry Pi 3 rilasciato nel Febbraio 2016.

L’SDK di Android Things estende il framework standard di Android con delle API aggiuntive, fornite dalla Things Support Library, che permettono di integrare il sistema con un hardware diverso da quello presente nei  dispositivi mobile comuni, includendo:

  • Peripheral I/O API: permettono al dispositivo la comunicazione diretta con sensori e attuatori utilizzando protocolli e interfacce standard come GPIO, PWM, I2C, SPI, UART
  • User Driver API (figura sottostante): il concetto di User Driver è stato introdotto per permettere agli sviluppatori di aggiungere nuovi driver al sistema, intesi come componenti registrati all’interno dell’app che estendono i servizi standard forniti dal framework Android. Vi sono tre principali tipi di User Driver: GPS per la localizzazione, HID (Human Interface Devices) per l’input e Sensors per il monitoraggio delle condizioni dell’ambiente. I vantaggi della comunicazione con l’hardware attraverso gli User Driver piuttosto che attraverso le Peripheral I/O sono principalmente la portabilità e il riuso di codice.

Android Things supporta le interfacce grafiche attraverso lo UI Toolkit standard di Android, sebbene il sistema non necessiti di un display per eseguire le applicazioni. Proprio per questo attualmente le notifiche non sono supportate ed i permessi necessari per eseguire l’applicazione dovranno essere dichiarati nel file manifest. Inoltre le Google API supportate sono un sottoinsieme di quelle standard, in generale sono state incluse tutte le API che non necessitano input o autenticazione da parte dell’utente. Considerando il costo dei dispositivi hardware SoC (System on a Chip) sempre decrescente e la semplicità di sviluppo e di integrazione di Android, Android Things promette di essere un sistema che permette la rapida prototipazione di applicazioni IoT senza una pregressa esperienza specifica sui dispositivi embedded.

Come i dispositivi wearable renderanno più comoda e veloce la quotidianità degli utenti finali così la restante galassia dei dispositivi IoT potrà aiutare le aziende a migliorare la propria efficienza. Sensori nel terreno per raccogliere dati inerenti allo stato delle piante potrà essere uno dei tanti miglioramenti apportabili al Sistema Seed Tracker realizzato da Mango per dispositivi Android.

Nel campo dell’intrattenimento si pensi come il dialogo fra dispositivi mobile e oggetti sparsi nell’ambiente possa modificare l’esperienza di visita ad un museo o ad una mostra, dove gli utenti non solo avranno la possibilità di ammirare i contenuti classici ma anche interagire con questi, attraverso funzionalità ancora tutte da immaginare!

Condividi su