Gianni ha deciso di cambiare la sua bicicletta elettrica. Informatico, con una specializzazione in automazione, appartiene a quel mondo dei makers che sta mettendo intelligenza connessa negli oggetti più imprevisti del nostro ambiente, dai comodini ai marciapiedi. E Gianni, da buon smanettone, ha già aperto la scatola della centralina della sua bici. Una piccola scheda basata su processore Arm con l’attacco (inutilizzato) per espansioni. La sua idea: aggiungere una shield, una schedina aggiuntiva con vari sensori, per far variare l’erogazione di potenza del motore elettrico a seconda dello sforzo di pedalata, salite, discese, accelerazioni.
Il problema di Gianni non è l’hardware, facilmente disponibile. E’ che lui è un programmatore non molto sofisticato, ha chiari in testa (più o meno) gli algoritmi da sviluppare ma non ha nessuna voglia di passare due mesi a studiarsi il linguaggio C, con le sue arcane parentesi.
Si chiede: esiste un Visual Basic, anzi un Visual Studio per l’internet delle cose? Fino a poche settimane fa la risposta era sostanzialmente no. Un ostacolo non solo per lui ma per decine di migliaia di innovatori impegnati sulla nuova frontiera.
All’università di Pisa, dieci anni fa, si formò spontaneamente un network di una quindicina di professionisti, ricercatori e docenti, impegnati proprio sui sistemi informatici e di automazione incorporati (allora si chiamava così l’internet delle cose). Dieci anni a produrre consulenze per aziende e clienti vari, a sviluppare soluzioni, confrontarsi con i problemi e dotarsi di propri strumenti di lavoro.
“La quantità di richieste riguardanti il software mal costruito per le board, in questi dieci anni è stato enorme – spiega Daniele Mazzei, uno dei protagonisti del gruppo – E così abbiamo sviluppato una serie di strumenti per consentirci il supporto a queste richieste di aziende o inventori, senza dover reinventare tutte le volte la ruota. Oggi il principale tra questi tool si chiama Viper. E ci siamo accorti che avrebbe avuto la capacità di cambiare il mondo dei makers”.
Dal network pisano lo scorso dicembre è così nata Things On Internet (da quattro membri del gruppo: due postdoc, un professore associato e un ricercatore di medicina). “L’azienda si è presentata su Kickstarter, una delle maggiori community di crowdfunding del mondo, con due prodotti – dice Daniele Mazzei, uno dei quattro fondatori – uno è una board sensoriale, Toi shield. Il secondo però è Viper, l’ambiente di sviluppo basato su Pyton, frutto dei dieci anni di esperienza del gruppo di professionisti e che riteniamo il nostro vero prodotto strategico.
Il cui obbiettivo è quello di ridurre la barriera all’entrata su queste tecnologie embedded. Perché anche se non si è un ingegnere informatico ma semplicemente un appassionato di elettronica o di computer che vuole avvicinarsi a piattaforme top come per esempio Nucleo, oggi si devono passare almeno un paio di giorni solo per capire quali tools servono per cominciare. Viper nasce per eliminare o quantomeno ridurre tutte queste difficoltà. Si tratta di una suite che ha già dentro un suo sistema operativo, si installa sulle board, e usa Pyton, un linguaggio molto più semplice di C, permette di programmare direttamente le board usando un ambiente di sviluppo che abbiamo realizzato in modalità plug and play”.
L’internet delle cose “gradevole” da programmare è quindi l’idea di base della startup pisana.
“Viper è a tutti gli effetti un sistema operativo – continua Mazzei – anzi una virtual machine che si appoggia su un sistema operativo open source, il ChibiOS, sviluppato ad Arzano, da una costola di STMicroelectronics. La virtual machine non è nient’altro che un sistema di traduzione da un linguaggio di alto livello a uno di basso livello. Viper lavora in un browser, quindi isolato dal sistema operativo. Si scrive il codice in Pyton, e si clicca upload. Se sulla board di destinazione è già presente la Viper virtual machine il sistema carica direttamente lo script. Altrimenti le chiede se deve “viperizzare” la board. Si dà l’ok. Allora carica sia il sistema operativo che lo script. Questo significa che da allora in poi sarà necessario solo caricare gli script. Nuovi o modificati.
E questi si possono caricare anche via wi-fi. Il che significa che gli oggetti con Viper possono essere aggiornati con un intervento via remoto senza intervento diretto.
Viper, inoltre, include un sistema di connessione facile per il cloud. E poi ha una sua App già pronta. Questo significa che lo sviluppatore può programmare queste schede, collegarle al cloud e farle interagire con dispositivi mobili. Senza aver dovuto scrivere una riga di codice o una app apposita.
Si può quindi creare, già al primo script, un prototipo di prodotto. E su schede di punta, come Nucleo, già pronte per le applicazioni industriali finali, non il solito chippettino cinese”.
L’ambiente nato a Pisa è generalizzato su tutte le board ad architettura Arm, da Arduino in avanti. “Almeno su 4 o 5 piattaforme. Se domani dovesse uscire una nuova board basata su Arm Cortex M5, con piccoli adattamenti Viper ci gira”.
Dall’esperienza su Kickstarter (da dicembre a giugno, data della consegna dei prodotti) Things on Internet porta a casa già 20mila dollari di acquisti “al buio”. “E abbiamo – dice Mazzei – circa 400 early adopters. E da lì in poi, grazie anche alla campagna di crowdfunding, siamo riusciti ad avviare anche altri progetti di design di prodotti, grazie a Viper, oltre a continuare a vendere i preaccessi a Toi e Viper”.
“Non poco. Abbiamo pianificato questa campagna con un certa cura – dice Gualtiero Fantoni, docente di robotica all’Università di Pisa – per arrivarci abbiamo fondato la startup negli Usa e realizzato un hardware, Toi, una shield sensorializzata che si integra a schede come Arduino e Nucleo. Senza una identità giuridica americana e un pezzo di hardware a catalogo l’accesso a Kickstarter sarebbe stato infatti precluso”.
A giugno Viper comincerà la sua vera corsa. “Abbiamo deciso di mettere gratuitamente l’ambiente su Internet, secondo la licenza Gpl – spiega Mazzei – questo significa che chiunque potrà scaricare Viper, usarlo, migliorarlo. E solo nel caso di soluzioni commerciali basate su Viper scatteranno le usuali licenze. Per esempio se un’azienda distribuisce un sistema di condizionamento che incorpora il nostro software. Un altro progetto che vorremmo portare in porto è l’adozione di Viper su Nucleo di STMicroelectronics. Sarebbe una collaborazione con un grande abilitatore, e con vantaggi reciproci”.