Home
Windows 10 IoT Core

20 Maggio 2016

Windows 10 IoT Core

di

Intervistiamo l'autore del libro Apogeo dedicato al sistema operativo pensato da Microsoft per il mondo maker.

Il software di sistema più usato sui computer desktop di tutto il mondo è ora disponibile per computer da cinque dollari come Raspberry Pi o schede controller universali e rivoluzionarie come Arduino. Volevamo saperne di più.

Apogeonline: Siamo abituati a pensare a Windows in termini di installazioni corpose. A che cosa “rinunciamo” per avere Windows su un hardware come quello di Raspberry Pi?

Pier Calderan: Innanzitutto, chiariamo una cosa. Contrariamente a quello che di solito molti mi chiedono, non esiste un sistema operativo Windows 10 che possa girare su Raspberry Pi. Con Windows 10 IoT Core si installa solamente un “core” dentro Raspberry Pi. Il piccoletto diventa grande perché, in questo modo, può eseguire applicazioni, anche di un certo peso, sviluppate con Windows 10 e Visual Studio 2015, senza dover gestire un intero sistema operativo. Non è come installare sistemi operativi completi come Raspbian, Ubuntu e altre distribuzioni Linux. In altre parole, installando Windows 10 IoT Core, Raspberry Pi può diventare solamente un dispositivo IoT.

Arduino, Raspberry Pi, GitHub… tutti progetti con una componente di apertura al cento percento. Quali sono le motivazioni per adottare Windows 10, che è una piattaforma proprietaria, in luogo per esempio di Linux?

Per fortuna Microsoft si è svegliata al momento giusto. Avesse tentennato ancora un po’, forse avrebbe perso il treno per sempre. Passando al nuovo sistema operativo Windows 10, Microsoft si è garantita uno spazio nel mondo dei maker che notoriamente è sempre stato appannaggio dell’open source e dell’ambiente Linux. Conosciamo la tendenza di Microsoft di far pagare tutto, ma per poter coinvolgere la community dei maker è stata costretta a percorrere terreni nuovi come la condivisione di risorse gratuite. I motivi per scegliere Windows 10 sono essenzialmente tre: aggiornamento gratuito del proprio sistema operativo a Windows 10, installazione gratuita di Visual Studio 2015 Community Edition, accesso gratuito alle risorse IoT per Raspberry Pi, Arduino e altre piattaforme.

Declinazioni di Windows 10 IoT

Una versione di Windows per ogni computer che esula dal contesto tradizionale.

A questo proposito, è recente la notizia della prossima disponibilità di bash su Windows. Riguarderà anche IoT Core? Potendo scegliere, tu utilizzeresti bash o PowerShell?

Sappiamo da fonti non ufficiali che in passato Microsoft ha sperimentato un proprio sistema Linux-like, ma credo che in futuro Windows non potrà mai essere Linux. Le vite di Bill Gates e Linus Torvalds sono talmente distanti che è impensabile un sistema Linux-like open source prodotto da Microsoft. Cosa che invece è stata voluta da Steve Jobs per il suo OS X. Ad ogni modo, credo che non valga la pena di schierarsi per questa o quella piattaforma. Il terminale di Linux è e rimarrà l’interfaccia utente insostituibile per tutti gli sviluppatori. Nonostante la buona volontà, PowerShell è un’interfaccia utente abbastanza scomoda e non così potente come suggerisce il nome. Ad ogni modo, chi non è nato in ambiente MS-DOS troverà sempre difficile usare un terminale in ambiente Windows.

Bisogna “pensare diverso” per programmare su hardware come Raspberry Pi e Arduino, rispetto alla programmazione tradizionale su PC? Quali sono le differenze più sensibili?

Un PC non ha niente che possa comunicare con periferiche diverse da quelle standard. Oltre alle porte USB e alle porte audio e video, non c’è la più lontana possibilità di controllare alcunché. Collegando alla porta USB di un PC una scheda Arduino, invece, si può controllare il mondo. Dotando Arduino di connettività Wi-Fi si può controllare il mondo anche senza fili. Raspberry Pi nasce come un normalissimo computer, ma il suo fascino sta in quella porta GPIO predisposta al mondo esterno e che permette di collegare qualsiasi dispositivo elettronico. Parlo ovviamente di sensori e attuatori o altri controller come, per esempio, Arduino. Arduino non è un computer, ma grazie ad alcune librerie di Windows 10 diventa una stupenda periferica di Raspberry Pi o di un PC o di uno smartphone con Windows 10 in esecuzione. Il modo di programmare cambia perché si deve pensare a cosa far fare a Raspberry Pi e/o Arduino. In pratica, un’applicazione sviluppata su Windows 10 diventa il motore per un dispositivo IoT, non più limitata a girare su un PC.

Bisogna saperne più di programmazione o di elettronica, per fare bene sulle piattaforme Internet of Things?

Il portale Microsoft dedicato agli sviluppatori IoT offre molti esempi ben documentati. Inoltre, la community Hackster.io, nata contemporaneamente a Windows 10 IoT, è una fonte inesauribile di risorse libere per sviluppare praticamente qualsiasi cosa nel mondo IoT. Anche sapendo poco o nulla di programmazione, si può imparare molto dagli esempi e dai progetti di altri utenti. È chiaro che per programmare in maniera autonoma con Visual Studio si devono conoscere le basi di C#, C++ o Visual Basic. La progettazione elettronica può essere uno scoglio solo per chi non ha mai visto un LED, una resistenza o un circuito integrato. In questo caso, il mio consiglio è quello di leggere un buon libro. Sono convinto, e credo di non essere il solo, che non serva una preparazione specialistica per collegare a Raspberry Pi o Arduino una breadboard e alcuni componenti elettronici. Con un po’ di buona volontà si possono creare con poca fatica dispositivi IoT perfettamente funzionanti. Ci sono anche starter kit di elettronica creati appositamente per i principianti da alcune aziende leader, come Adafruit e Arduino.

Touchscreen attivato con Windows 10  IoT Core

Per esempio, tramite Windows 10 IoT Core si può programmare il comportamento di uno schermo touch.

Le cronache riportano di una Internet delle cose che ancora deve trovare uno standard preciso di comunicazione. Cominciare, con Arduino e Raspberry Pi, non è un problema. Che cosa dobbiamo studiare nel momento in cui ci rivolgeremo ad altri oggetti per applicazioni più articolate?

Il bello dell’Internet delle cose è che non c’è nessuno che possa dire al momento il mio hardware è migliore del tuo e consiglio vivamente di usare, almeno all’inizio, sia Raspberry Pi che Arduino. Diventa più facile sperimentare altre piattaforme hardware. A questo proposito, gran parte dei produttori di schede alternative a Raspberry Pi e Arduino si stanno allineando tutti nell’uso di un piccolissimo e potentissimo modulo Wi-Fi che mette in rete i dispositivi IoT. Mi riferisco alla diffusione planetaria del modulo ESP8266, un oggettino che costa meno di due euro, creato dalla cinese Espressif, e che è ormai onnipresente in moltissimi progetti IoT e si merita il terzo posto nell’olimpo dei maker.

Per scambiarsi progetti e idee, una comunità internazionale è il massimo. Mettere le mani sull’hardware insieme, però, richiede presenze fisiche. A chi rivolgersi in Italia per trovare buone comunità di maker e conoscere persone interessanti?

In Italia, nonostante lo sforzo di Maker Faire a Roma, di Robot & Makers a Milano e altri eventi minori simili, non esiste un centro di coordinamento. Sono tutte realtà scollegate che hanno un desolante denominatore comune: andando a questi eventi (ma anche prendendone parte come maker) si riceve la netta impressione di buona volontà dei singoli. Tant’è che si vedono sempre i soliti volti noti. Non si vede crescere la comunità dei maker italiani. Quello che secondo me manca è una struttura che possa facilitare incontri costanti dei maker, che non siano solo gli eventi sporadici in stile Maker Faire.

Un’ultima parola per la scuola, nella quale coding e filosofia maker dovrebbero penetrare ben più di ora. Nell’adottare i consigli e le procedure descritte in questo libro, hai da aggiungere qualcosa per gli insegnanti? O per gli studenti?

Raspberry Pi è nato come computer super economico da una fondazione inglese no profit. Nelle scuole inglesi, elementari e medie, si usa Raspberry Pi per studiare informatica. Poi, se vai a visitare il sito Astro Pi, ti rendi conto di vivere in un Paese troppo distante, specialmente se visiti la pagina Coding Challenges in cui vengono presentate le sfide per il 2016 agli studenti inglesi. Il premio è avere il proprio codice mandato sulla Stazione Spaziale Internazionale e fatto girare su un Raspberry Pi. Quello che vorrei dire agli insegnanti e agli studenti di ogni scuola italiana è di non disperare. Anche se è improbabile che il nostro ministero della pubblica istruzione introduca Arduino o Raspberry Pi come materie di studio, gli insegnanti possono organizzare corsi e laboratori come materie extra all’interno degli istituti. In alcune scuole già succede.

L'autore

  • Pier Calderan
    Pier Calderan, progettista esperto di elettronica e informatica e programmatore in C++, Python, Java, è docente di corsi su Arduino, Raspberry Pi, Stampa 3D e Windows 10 IoT. Potete trovarlo sul suo sito - Pierduino: piccoli grandi progetti fai-da-te - dove pubblica e tiene aggiornate le risorse sui suoi libri e progetti.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.