Wifi101 FirmwareUpdater

Il nuovo tool Wifi101 FirmwareUpdater è stato includo nell’IDE arduino dalla versione 1.6.10

Arduino IDE 1.6.11 Wifi101 FirmwareUpdater

In occasione del rilascio della versione 1.6.11 dell’IDE Arduino ho scritto, venerdì scorso, una articolo di presentazione in cui accennavo al nuovo tools introdotto con la precedente 1.6.10 e consolidato nella 1.6.11

Il tool si chiama Wifi101 FirmwareUpdater ed era già stato rilasciato dagli sviluppatori arduino come software esterno all’IDE e da utilizzare da linea di comando sia su sistemi Mac/Linux sia su Windows.

A cosa serve il Wifi101 FirmwareUpdater tool

Fai un passo indietro allo scorso Arduino Day 2016, Cristian Maglie, sviluppatore Arduino ha presentato a Milano la nuova MKR1000, puoi leggere il mio articolo il merito, ed in tale occasione aveva accennato a questo tool.

La MKR1000 è la prima scheda IoT a supportare la crittografia nelle connessioni e comunicazioni dati, puoi sostanzialmente eseguire chiamate anche ad API SSL o HTTPS e questo apre gli scenari ad un mondo, quello della crittografia e dei certificati, catene di certificazione ecc.. che ti invito ad approfondire in autonomia in quanto troppo complessi per essere trattati in un articolo sul blog.

In sintesi, e semplificando molto, la connessione over SSL è possibile solo se il client, nel caso dell’IoT arduino, è in grado di verificare la validità del certificato esposto dal servizio chiamato.

In pratica quando digiti nel browser https://www.server_ssl_a_cui_vuoi_collegarti il server a cui tenti di collegarti presenta al browser un certificato che il browser deve validare per continuare la connessione ed impedirti di accedere a siti fraudolenti.

La verifica del certificato avviene mediante le catene di certificati che il browser già possiede, ti sono state installate le principali authority con il download del browser, e mediante tali catene determini se il certificato del sito è attendibile o falso.

Ti sarà di certo capitato di accedere a qualche sito per cui il browser ti ha segnalato di non essere stato in grado di verificare il certificato esposto e ti è stato consigliato di non continuare  o di accettare a tua responsabilità la veridicità del certificato:

Firefox certificato non valido

Fonte: mozilla.org

Tornando agli oggetti IoT, essi si comportano come un browser in fase di chiamata e se ricevono un certificato hanno la necessità di verificarlo, senza possedere, in anticipo, tutti i certificati autentici e le authority di certificazione.

Per ovviare a questo inconveniente gli sviluppatori arduino.cc hanno previsto il tool Wifi101 FirmwareUpdater con il quale puoi pre-caricare le catene di certificazione di un sito, servizio o API in modo che all’atto della chiamata il client  IoT ( MKR1000 o simile ) possa eseguire la verifica del certificato.

Come funziona il tool Wifi101 FirmwareUpdater

il primo passo, dopo aver aperto l’IDE arduino è selezionare il nuovo tool Wifi101 FirmwareUpdater dal menu strumenti:

Arduino IDE 1.6.11 Wifi101_FirmwareUpdater

vedrai aprirsi una finestra come quella in figura:

Arduino IDE 1.6.11 Firmware updater Screen

che è divisa in 3 sezioni:

  • selection port
  • update firmware
  • update SSL root certificates

Selection Port of the WiFi module

questa sezione ti permette di selezionare la porta seriale a cui è connessa la tua periferica arduino, genuino o WiFi 101 shield, nel mio caso ho usato una Genuino MKR1000.

Puoi anche eseguire un refresh delle porte seriali ed un test di connessione per verificare che il collegamento seriale sia attivo.

Update Firmware

questa sezione mi ha richiesto qualche indagine in più in quanto ti permette di selezionare il modello e versione del firmware corrispondente alla tua periferica.

Sebbene la versione sia identica ( 19.4.4 ) il modello è importante ed eseguendo qualche ricerca ho trovato, nel gitHub ufficiale arduino.cc, un paragrafo dedicato all’individuazione del modello:

Arduino IDE 1.6.11 Firmware Update model type

ho quindi preso la mia Genuino MKR1000 e verificato il codice presente sul componente WINC1500:

Arduino IDE 1.6.10 Firmware Update model onboard

da cui è chiaro che il model da selezionare nel mio caso è “Model B”.

Arduino IDE 1.6.11 Firmware Updater select Model

Puoi quindi eseguire l’update del firmware direttamente da questa sezione.

Update SSL root certificates

in questa sezione puoi aggiungere direttamente i domini HTTPS da cui ricavare e uplodare la catena di certificazione fino alla “root certificates” ossia la radice di tutti i certificati che firmano il certificato finale.

Adesso puoi eseguire l’upload sul tuo modulo WiFi.

Cortesemente, prima di inserire i commenti leggi il regolamento

Permanent link to this article: http://www.mauroalfieri.it/elettronica/wifi101-firmwareupdater.html

2 comments

1 ping

    • Denny on 27 agosto 2016 at 23:17
    • Reply

    Buona sera mauro.
    Anzi tutto vorrei complimentarmi con te per la tua professionalità e intelligenza e poi vorrei chiederti un aiuto se puoi per favore.
    Mi sto avvicinando al fantastico mondo arduino ma non riesco a trovare quello che cerco ora ti spiego.
    Io vorrei creare sulla mia auto un circuito che tramite telecomando da cancelli quelli piccoli da portachiavi alimento che schiaccio il pulsante mi si accendono della serie di strisce led di cortesia come si vede nelle auto più moderne dato che la mia è dell’anno 2000 però non so come comportarmi nella scelta delle molteplici schede arduino di tutti i componenti che mi servono led compresi e soprattutto sella programmazione e alimentazione del tutto ho letto le tue lezioni e visto alcuni schemi ma a me servirebbe un qualcosa di un pó più dettagliato, ah poi dimenticavo che le luci una volta attivate con telecomando se debbano spengere automaticamente con il rispettivo temporizzatore se puoi aiutarmi te ne sarei veramente grato anticipatamente ti ringrazio per il tempo che mi dedicherà i.

    1. Ciao Denny,
      non mi è chiaro che intendi per “qualcosa di un pó più dettagliato” più di quello che scrivo e di come commento i miei sketch posso chiarirtelo se mi espliciti il tuo dubbio su quanto scritto.
      In merito al tuo progetto io cercherei sui portali di elettronica e kit un prodotto tipo “centralina luci radio con dissolvenza” sono quasi certo che esista già fatta e senza usare arduino che risulterebbe superfluo in un progetto come quello che intendi realizzare.

  1. […] per il tuo progetto, se non lo ha glà fatto, esegui un Update Firmware, come descritto in questo articolo, in quanto la mia terza Genuino mkr1000, acquistata pochi giorni fa, si è bloccata in fase di […]

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.