arduino WiFi shield update firmware

Qualche settimana fa mi è arrivata un’arduino WiFi shield originale ed ho subito provato uno degli esempi di connessione presenti nell’IDE 1.0.5

arduino WiFi shield

L’arduino wifi shield si è connessa subito al mio router WiFi Alice Voip usando la cifratura di tipo WPA2-AES, solitamente non è semplice connettere device a router che utilizzano questo tipo di chiave.

Lo sketch che ho utilizzato per eseguire il test è:

#include <SPI.h>
#include <WiFi.h>

char ssid[] = "XXXXXX";    //  your network SSID (name) 
char pass[] = "YYYYYY";   // your network password

int status = WL_IDLE_STATUS;
char servername[]="google.com";  // remote server we will connect to

WiFiClient client;

void setup() {
    Serial.begin(9600);
    //disable SD SPI
    pinMode(4, OUTPUT);
    digitalWrite(4, HIGH);

    Serial.println("Attempting to connect to WPA network...");
    Serial.print("SSID: ");
    Serial.println(ssid);

    status = WiFi.begin(ssid, pass);
    if ( status != WL_CONNECTED) { 
        Serial.println("Couldn't get a wifi connection");
        // don't do anything else:
        while(true);
        } 
     else {
     Serial.println("Connected to wifi");
     Serial.println("\nStarting connection...");
     // if you get a connection, report back via serial:
     if (client.connect(servername, 80)) {
         Serial.println("connected");
         // Make a HTTP request:
         client.println("GET /search?q=arduino HTTP/1.0");
         client.println();
      }
    }
}

 void loop() {

}

in cui ovviamente XXXXXX ed YYYYYY sono rispettivamente il SSID della mia Wifi e la relativa password.

Tuttavia dopo la connessione, correttamente eseguita, la pagina google non viene richiamata e la chiamata GET fallisce.

Ho quindi eseguito una ricerca ed ho trovato una versione firmware aggiornata per l’arduino wifi shield, la versione 1.1.0 mentre da una verifica del firmware presente nella shield in mio possesso la versione risulta la 1.0.0

Update firmware dell’arduino wifi shield

Come sai gli aggiornamenti firmware sono sempre delicati perchè vanno ad intervenire direttamente sulle componenti più a basso livello dei componenti elettronici.

Prima di fare un aggiornamento del firmware ti consiglio di documentarti bene sugli effetti che può causare, in generale, alla tua shield; nel caso della wifi shield è possibile che la shield non sia più riconosciuta dall’arduino e che sia quindi inutilizzabile.

La procedura di Update è descritta in un link sul sito ufficiale arduino.cc insieme al link che rimanda al codice da scaricare per eseguire l’update.

Non ho intenzione di riscrivere quella pagina per cui ti lascio seguire le istruzioni ufficiali per scaricare il firmware wifi 1.1.0 e i componenti che ti servono per seguire la procedura; riporto solo le modifiche che io ho eseguito al mio sistema per consentire alla procedura di update di andare a buon fine.

Download firmware 1.1.0

Se hai scaricato il firmware 1.1.0 da questo link ti sarai trovato un file .zip contenente molti file, decomprimilo in una dir a tuo piacimento, non ti serve tutto il software scaricato ma solo quanto contenuto sotto firmware/wifishield

arduino WiFi shield content zip

posizionati sotto la dir in cui hai decompresso il file .zip e copia la dir wifishield nel path corrispondente alla tua installazione dell’IDE arduino 1.0.5, nel mio caso:

arduino WiFi shield copy firmware

Collega l’arduino wifi shield

L’arduino wifi shield è dotato di un connettore micro usb che puoi utilizzare proprio per eseguire l’update del firmware wifi

arduino WiFi shield mini usb

collega il tuo cavo usb alla shield wifi. Prima di posizionarti nella dir firmware/wifishield che hai appena copiato è necessario, solo sotto MAC OS X Maverick, che cambi il nome della dir di installazione Arduino, nel mio caso da Arduino 1.0.5.app l’ho cambiata semplicemente in arduino

arduino WiFi rename

posizionati nella dir /Applications/arduino/Contents/Resources/Java/hardware/arduino/firmwares/wifishield/scripts/ ed esegui il comando descritto nella procedura ufficiale di update:

arduino WiFi rename firmware script

alla fine della prima parte dell’aggiornamento ti verrà chiesto di premere il tasto reset della shield per proseguire ed alla fine ti verrà chiesto nuovamente di ripremerlo prima di scollegare la shield.

Se non leggi errori nella fase di update è andato a buon fine ed ora sulla tua arduino wifi shield c’è il nuovo firmware 1.1.0 che corregge gli errori di connessione alle pagine HTML.

Buon WiFi !!!

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/informatica/arduino-wifi-shield-update-firmware.html

4 commenti

Vai al modulo dei commenti

    • Massimo il 10 Dicembre 2014 alle 17:22
    • Rispondi

    Seguendo le istruzioni “ufficiali”, anche con le tue integrazioni (peraltro molto utili) ottengo come risposta

    “To access to the USB devices correctly, the dfu-programmer needs to have the root permissions.”

    Cosa significa?

    1. Ciao Massimo,
      significa che devi essere utente “root” per eseguire l’update, lo stai facendo su Mac o su Linux?

    • Michele il 16 Marzo 2015 alle 21:14
    • Rispondi

    Ciao MAuro,

    intento complimenti per il sito! sto provando ad aggiornare il firmware della wifi sheld e la cosa mi sta facendo impazzire!!!! sono arrivato alla fine della procedura che hai descritto ma non capisco alcune cose:

    1) devo usare il “terminale”???
    2) io uso mac da poco, come si cambia directory?? il comando CD non funziona
    3) il file ArduinoWifiShield_upgrade_mac.sh si apre nell’IDE di arduino che però non lo compila…

    insomma come si fa????

    1. Ciao Michele,
      l’update firmware è una operazione pericolosa se non hai solide conoscenze di linux e di interfaccia a line di comando, rischia di renderti la scheda inutilizzabile.
      Se hai letto bene l’articolo avrai notato che va eseguito tutto da terminale e non da IDE.
      Inoltre il comando “cd” ( change directory ) serve proprio a cambiare directory, se non ti funziona è perché commetti qualche altro errore e ti consiglio di approfondire prima questo aspetto e poi tentare l’update del firmware della wifi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

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