Microsoft distribuisce Windows 10 in ben nove varianti, che spaziano dalla versione Home fino alle più avanzate Enterprise e Server. Tra queste, Windows 10 IoT (Internet of Things) è forse la meno nota al grande pubblico, ma al tempo stesso, è probabile che tu l’abbia utilizzata più di quanto immagini.
Windows 10 IoT: l’erede di Windows Embedded
Windows 10 IoT rappresenta l’evoluzione di una precedente incarnazione di Windows, denominata Windows Embedded. Chi ha qualche anno in più, ricorderà forse le notizie di bancomat con Windows XP, che necessitavano di un urgente aggiornamento. Proprio quei bancomat, insieme ad altri dispositivi simili, utilizzavano Windows Embedded (XPe). L’idea fondamentale era quella di creare una versione alleggerita del sistema operativo Windows, in grado di funzionare in modo efficiente su hardware meno performante, gestendo uno specifico caso d’uso, o entrambe le cose.
Una banca poteva impiegare questo sistema operativo per un bancomat, un rivenditore per un sistema POS (point of sale) e un produttore per un dispositivo prototipo. Tuttavia, Windows IoT non è semplicemente una versione rinominata di Windows pensata per sfruttare l’Internet delle Cose, né è destinata esclusivamente alle grandi aziende. Ciò risulta evidente dalle due versioni distinte del sistema operativo: IoT Enterprise e IoT Core.
IoT Enterprise: la scelta per implementazioni su larga scala
Microsoft offre Windows 10 IoT in due varianti: Enterprise e Core. La versione Enterprise è, in sostanza, Windows 10 Enterprise con l’aggiunta di controlli di blocco. Grazie a questi controlli, è possibile, ad esempio, forzare Windows a visualizzare una singola applicazione kiosk. Windows continuerà a operare in background, ma gli utenti comuni non avranno accesso a tali servizi. Se ti è capitato di interagire con un chiosco per il check-in e di notare che l’app si è bloccata, mostrando la schermata di Windows 10, è molto probabile che tu abbia incontrato Windows 10 IoT Enterprise.
Analogamente a Windows 10 Enterprise, la licenza per IoT Enterprise non può essere acquistata in un normale negozio. Microsoft distribuisce le licenze attraverso partner di rivendita e accordi OEM. Essendo una versione completa di Windows, si beneficia di tutte le sue potenzialità, ma con un inconveniente: IoT Enterprise non è compatibile con i processori ARM.
IoT Core: ideale per schede embedded, applicazioni mirate e sensori
Un piccolo robot su ruote, alimentato da un Raspberry Pi e Windows IoT.
IoT Core, al contrario, è estremamente semplificato. Non offre l’esperienza completa di Windows Shell; il sistema operativo può eseguire solo una singola app UWP (Universal Windows Program) e processi in background. Tuttavia, IoT Core è compatibile con i processori ARM. Si opterebbe per IoT Core per eseguire programmi semplici, che non richiedono un’interazione diretta con l’utente. Per esempio, un termostato con display in vetro utilizza IoT Core. E grazie alla compatibilità ARM, è possibile eseguire IoT Core su schede embedded come Raspberry Pi.
Quest’ultima caratteristica rende IoT Core una scelta eccellente per la prototipazione rapida, sia per i produttori che per progetti una tantum realizzati da hobbisti. Hackster, una community di sviluppatori hardware e software, ospita numerosi esempi di progetti basati su IoT Core, come una porticina per animali domestici con riconoscimento, una porta con riconoscimento facciale, una dashboard per la casa intelligente e uno specchio magico. Si tratta di progetti che chiunque può realizzare, avendo le competenze necessarie. Microsoft ha anche dimostrato un robot alimentato da Raspberry Pi che utilizzava Windows IoT interagendo con ologrammi. Microsoft mette a disposizione le risorse necessarie per scaricare IoT Core gratuitamente per uso personale.
Inoltre, IoT Core su un Raspberry Pi o Minnowboard può essere collegato a sensori e meccanismi come videocamere, sensori PIR, servomotori e sensori di temperatura per un utilizzo ancora più ampio. Questo, a sua volta, consente a Windows 10 di comunicare i dati raccolti da questi sensori, che è il principio fondamentale dell’Internet delle Cose.
Windows IoT: un’opzione closed-source per gli sviluppatori Visual Studio
Ci si potrebbe chiedere perché qualcuno dovrebbe scegliere Windows IoT, invece di altre alternative come Linux o Android. La risposta dipende in gran parte dalla destinazione del dispositivo e da chi si occuperà della programmazione.
I vantaggi dell’open source, come la flessibilità delle licenze e la possibilità di personalizzazione, sono spesso celebrati, e a ragione. Tuttavia, l’open source non è sempre la soluzione ideale per ogni situazione. A volte, specifici progetti richiedono software closed source (o proprietario). Alcune aziende e governi (nel bene e nel male) vietano esplicitamente l’utilizzo di software open source nei loro acquisti. Anche quando un’azienda non vieta il software open source, potrebbe scoraggiarne l’uso in modo non ufficiale. Se un produttore può scegliere tra entrambe le opzioni, preferirà assecondare le esigenze del cliente.
Tralasciando il dibattito tra open source e software proprietario, c’è un altro vantaggio per alcuni: Windows 10 IoT si integra con Visual Studio e questo IDE può essere utilizzato per lo sviluppo di applicazioni. Infatti, IoT Core è pensato per funzionare “senza interfaccia” (senza un’interfaccia grafica) e si collega a un altro computer Windows 10 per la programmazione e il feedback. Se sei abituato a utilizzare Visual Studio per lo sviluppo, scegliere Windows 10 IoT ti farà risparmiare tempo di apprendimento e configurazione. Potrai mettere immediatamente a frutto la tua esperienza.
L’utente medio probabilmente non scaricherà e non utilizzerà Windows 10 IoT, ma ciò non significa che non lo incontrerà. Per la maggior parte delle persone, questo sistema operativo funziona in background, in modi che difficilmente si notano. Potrebbe gestire il chiosco che hai utilizzato per ordinare cibo in un ristorante o per preparare il tuo prossimo cocktail. Anche se sei uno sviluppatore o un appassionato di elettronica, ma ritieni che imparare un’alternativa come Linux richieda troppo tempo, Windows 10 IoT potrebbe rivelarsi l’opzione più adatta per il tuo prossimo progetto.