Wifi Shield arduino – installazione librere ed esempi

Nell’articolo precedente dedicato alla Wifi Shield arduino hai visto come comtare il connettore SPI per la comunicazione tra la shield ed Arduino.

wifi shield arduino

Passa ora a scaricare il software, installare le librerie sul tuo IDE e prova i primi esempi forniti.

Download delle librerie per la Wifi shield arduino

Il progetto della libreria è open-source, come la maggior parte dei progetti dedicati ad Arduino, e lo puoi scaricare qui.

libreria wifi shield arduino

nella pagina di download trovi 3 link, vedi figura sopra, il primo in basso è il progetto originale “Asynclabs WiFiShield library (IDE 0023)” scritto per l’IDE 0022 di Arduino, salendo trovi degli esempi da utilizzare con questa libreria ed infine il primo link contiene la libreria per la wifi shield arduino modificata sia per l’IDE 1.0 sia per la schield TiDiGino.

Scarica il software compatibile con la versione dell’IDE 1.0, almeno di non usare ancora un IDE 0022.

Decomprimi il file .zip ed ottieni una directory WIFI con al suo interno tutte le librerie utili e gli esempi da aggiungere al tuo IDE:

 libreria wifi shield arduino decompressa

copia questa cartella nell’IDE, per farlo individua la dir in cui Arduino ha installato le librerie, sul mio Mac è:

/Users/mauroalfieri/Documents/Arduino/libraries/

in cui ho copiato tutta la dir WIFI così come decompressa:

 libreria wifi shield arduino nell'IDE

Avvia l’IDE 1.0 di Arduino e verifica che le librerie per la wifi shield arduino siano presenti:

libreria wifi shield arduino installata

Primo sketch di esempio della wifi shield arduino

Il primo esempio che ho provato della libreria wifi shield arduino è stato: SimpleServer la curiosità di potermi collegare ad Arduino via Wifi e vedere che fosse lui a rispondere, le librerie contengono anche altri sketch che magari vedremo in occasione di altri progetti.

/*
 * A simple sketch that uses WiServer to serve a web page
 */

#include <WiServer.h>

#define WIRELESS_MODE_INFRA	1
#define WIRELESS_MODE_ADHOC	2

// Wireless configuration parameters ---------------------------

unsigned char local_ip[] = {192,168,1,2};	// IP address of WiShield
unsigned char gateway_ip[] = {192,168,1,1};	// router or gateway IP address
unsigned char subnet_mask[] = {255,255,255,0};	// subnet mask for the local network
const prog_char ssid[] PROGMEM = {"ASYNCLABS"};		// max 32 bytes

unsigned char security_type = 0;	// 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2

// WPA/WPA2 passphrase
const prog_char security_passphrase[] PROGMEM = {"12345678"};	// max 64 characters

// WEP 128-bit keys
// sample HEX keys
prog_uchar wep_keys[] PROGMEM = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,	// Key 0
				  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	// Key 1
				  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	// Key 2
				  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00	// Key 3
				};

// setup the wireless mode
// infrastructure - connect to AP
// adhoc - connect to another WiFi device
unsigned char wireless_mode = WIRELESS_MODE_INFRA;

unsigned char ssid_len;
unsigned char security_passphrase_len;
// End of wireless configuration parameters -------------------

// This is our page serving function that generates web pages
boolean sendMyPage(char* URL) {

    // Check if the requested URL matches "/"
    if (strcmp(URL, "/") == 0) {
        // Use WiServer's print and println functions to write out the page content
        WiServer.print("<html>");
        WiServer.print("Hello World!");
        WiServer.print("</html>");

        // URL was recognized
        return true;
    }
    // URL not found
    return false;
}

void setup() {
  // Initialize WiServer and have it use the sendMyPage function to serve pages
  WiServer.init(sendMyPage);

  // Enable Serial output and ask WiServer to generate log messages (optional)
  Serial.begin(57600);
  WiServer.enableVerboseMode(true);
}

void loop(){

  // Run WiServer
  WiServer.server_task();

  delay(10);
}

Leggi le prime righe dello sketch e trovi le linee 07 ed 08 in cui definisci le due modalità in cui la wifi shiled arduino può operare, nel dettaglio:

INFRA: o infrastructure è la modalità in cui la wifi shield arduino si connette ad una rete wifi esistente come quella di casa o del tuo ufficio

ADHOC: è una modalità in cui arduino si collega ad una altro dispositivo wifi in modo dedicato.

Se hai letto il progetto Rover5 Leonardo WiRC ricorderai che la scheda WIRC realizza appunto una connessione di tipo AdHoc con il dispositivo di controllo ( iPad, iPhone, Android )

nell’esempio utilizzi la wifi shield arduino facendola connettere ad una rete WiFi preesistente e quindi in modalità Infrastructure.

Quindi procurati i dati di accesso della tua rete WiFi, su Mac apri le preferenze di rete

schermata preferenze di rete wifi OSX

ora sai il nome della tua rete o ssid e lIP assegnato al computer, quindi la classe di indirizzi di rete, ti serve conoscere anche il tipo di cifratura utilizata, clicca su “Avanzate” e trova la tua rete:

schermata preferenze di rete wifi OSX avanzate

sulla destra è riportato il tipo di cifratura, nel mio caso WPA.

Passa alla configurazione dello sketch, linee 10-37 racchiudono tutta la configurazione della network, in particolare concentrati sulle linee 12-15 per l’IP, il gateway, la netmask e il ssid:

unsigned char local_ip[] = {192,168,1,200};
unsigned char gateway_ip[] = {192,168,1,1};
unsigned char subnet_mask[] = {255,255,255,0};
const prog_char ssid[] PROGMEM = {"Alice-45748781"};

i parametri che vedi sono quelli relativi alla schermata presa dal Mac, ho cambiato l’IP prendendo quello successivo rispetto al Mac ( .199 -> .200 )

la linea 17: individua il tipo di crittografia essendo la mia una rete con crittografia WPA modifico la line a come:

unsigned char security_type = 3;	// 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2

la linea 20: indica il tipo di chiave di sicurezza utilizzata, io ho configurato temporaneamente la mia rete wifi inserendo la stessa linea presente nello sketch della wifi shield arduino: 12345678;

linea 33:la puoi lasciare invariata, indica la modalità di connessione che per questo esempio è Infrastructure;

delle altre linee dello sketch non varia nulla e servono a far visualizzare sul browser la pagina web creata alle linee 45-47;

Ecco il risultato collegandoti con il browser ( firefox ) all’indirizzo 192.168.1.200:

homepage wifi shield arduino

Buon divertimento 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/wifi-shield-arduino-libreria.html

125 commenti

2 ping

Vai al modulo dei commenti

    • Pierpaolo Bozzer il 22 Aprile 2013 alle 19:14
    • Rispondi

    Ciao Mauro,
    volevo innanzitutto complimentarmi con te per i tutorial che metti a disposizione e per la chiarezza di esposizione.
    Premetto che sono abbastanza profano in materia (anche se ho già realizzato un piccolo progetto)
    ed in questo momento sono un po’ in difficoltà, potresti aiutarmi per favore?

    Ho acquistato la wifi ethernet shield ed ho seguito le tue istruzioni qui sopra…
    Purtroppo non ne vengo fuori perché sicuramente sbaglio qualcosa.
    Le uniche cose che ho modificato sono quelle sotto riportate:

    unsigned char local_ip[] = {192,168,1,200}; // IP address of WiShield
    unsigned char gateway_ip[] = {192,168,1,1}; // router or gateway IP address
    unsigned char subnet_mask[] = {255,255,255,0}; // subnet mask for the local network
    const prog_char ssid[] PROGMEM = {“Digicom_F2CB”}; // max 32 bytes
    unsigned char security_type = 2; // 0 – open; 1 – WEP; 2 – WPA; 3 – WPA2
    // WPA/WPA2 passphrase
    const prog_char security_passphrase[] PROGMEM = {“PASSWORD DEL MIO ROUTER”}; // max 64 characters

    In teoria dovrebbe essere giusto…
    In realtà mi sorge il dubbio quando carico lo schetch su arduino; infatti ho installato il file aggiuntivo FTDI per la porta seriale ma non sono sicuro di usare quella giusta. Inoltre non c’è alcuna porta con scritto wireless…

    Dove sto sbagliando?

    Grazie per la tua disponibilità
    Pierpaolo

    1. Ciao Pierpaolo,
      Il tuo router ha il DHCP impostato sulla rete 192.168.1.x attivo sulla rete wireless?

      Mauro

    • Pierpaolo Bozzer il 26 Aprile 2013 alle 17:36
    • Rispondi

    Ciao Mauro,
    le impostazioni del router in WiFi – TCP/IP sono:

    configura IPv4 Utilizzo di DHCP
    Indirizzo IPv4 192.168.1.3
    Maschere di sottorete 255.255.255.0
    Router 192.168.1.1
    Non ho compilato nessun altro campo……..
    Però non funziona….

    Ho pensato ad utilizzare un’altro schetch SILPLE WEB SERVER WIFI e con questo riesco a visualizzare…

    Ma che differenza c’è tra WiServer , WiClient … ???

    1. Ciao Pierpaolo,
      la differenza é importantissima:

      WiServer rende Arduino un Server, ossia in grado di “servire” pagine HTML o rispondere ad un servizio;

      WiClient rende Arduino in grado di collegarsi ad un server e ricevere una pagina HTML o un servizio.

      In pratica al primo ti ci puoi collegare come Browser ed il secondo é simile ad un browser.

      Mauro

    • Pierpaolo il 29 Aprile 2013 alle 23:49
    • Rispondi

    Cavolo Mauro, mi sento proprio ignorante…
    L’anno scorso ho conosciuto Arduino e mi è molto piaciuto.
    Ho deciso quindi di realizzare un mio PRIMO PROGETTO: raffreddare i pannelli fotovoltaici con un sistema di irrigazione per valori di temperatura >25 gradi con determinate tempistiche… (Se hai piacere posso girarti la relazione che ho fatto in merito dove descrivo esattamente quello che ho fatto compresa la PCB MAIN…)
    A distanza di un po’ di tempo ho fatto un corso su HTML e CSS ed ho realizzato un sito statico per la società di calcio che alleno. In realtà ritornano sempre fuori il PHP e MYSQL di cui non so proprio niente…
    Adesso vorrei realizzare un sistema DOMOTICO che mi permetta attraverso un display appeso al muro e da remoto con IPhone di:
    1) comandare saracinesche (motore 3 fili: AC salita e CB discesa; non saprei come fare)
    2) comandare tende da sole
    2) comandare climatizzatore (qualcosina ho già fatto…riesco a gestire un relè da IPad) in funzione di DHT11
    3) sensore temperatura ed umidità DHT11 . (Da IPad riesco a visualizzare ed aggiornare i valori)
    E adesso il difficile!
    Vorrei connettermi da remoto con IPhone e controllare tutto, inoltre vorrei collegare un display tipo mini schermo touch…
    Penso che sia un PROGETTO ENORME per le mie conoscenze…
    Per questo vorrei chiederti qualche consiglio soprattutto sulla connessione da remoto, se utilizzare un Wiserver o WiClient…o qualsiasi cosa tu voglia suggerirmi…
    Il materiale che ho a disposizione è una wifi Ethernet shield con arduino uno, DHT11, sensore PIR, modulo relè.

    Ciao e Grazie
    Pierpaolo

    1. Ciao Pierpaolo,
      progetto molto ambizioso ma non impossibile.
      Io propenderei per altre tecnologie appoggiate ad Arduino per ottenere quello che desideri, sono più semplici.
      In questi giorni sto testano Raspberry Pi, gentilmente donatami da un appassionato e lettore del Blog, Agostino.

      Con Arduino devi scriverti tutto, ma proprio tutto da solo, compreso il webserver,
      potrebbe essere un’esperienza interessante se la metti sul profilo didattico, non aspettarti di far tutto in quattro e quattrotto, avrai necessità di studiare molto.

      Ti consiglio di procedere per gradi, parti dallo studio dei sensori, poi HTML/CSS/Php ed alla fine WiServer.

      Mauro

    • emilio lusardi il 21 Ottobre 2013 alle 16:24
    • Rispondi

    Salve,

    scusi se La importuno ma ho un grosso problema con ARDUINO che di seguito rapidamente cerco di esporLe.
    Debbo sviluppre un dispositivo utilizzante ARDUINO che da remoto ed in area WIFI colloqui con un PC trasmettendo e ricevendo dati Analogici (Pressioni,Temperature etc.) e Digitali (Allarmi, Stati di Valvole etc.).
    Ambiente operativo: MS-WINDOWS XP.
    WIFI SHIELD montata su ARDUINO 1.0.5.
    La Funzione Ping opera correttamente.
    Fra gli esempi forniti dal Costruttore l’unico che opera correttamente è “ScanNetworks”.
    Le svariate prove effettuate utilizzando gli esempi WIFI di ARDUINO che dovrebbero far dialogare la WIFI Shield con applicativi (quelli utilizzati sono sviluppati in ambielte MS-VB6 o MS-Visual Studio 2005) hanno tutte dato esito negativo.
    L’applicativo Total Network Monitor rileva un Device di tipo ICMP-ping anzichè TCP-port e questo spiegherebbe il corretto funzionamento della sola funzione Ping.
    Probabilmente il Firmware operante sulla WIFI Shield non viene da me usato correttamente.
    Avrei bisogno di un Suo consiglio sulle modalità con le quali poter eliminare il problema la cui mancata soluzione mi costringerebbe a cambiare l’architettura remota del progetto.

    La ringrazio anticipatamente per l’attenzione che mi vorrà dedicare.

    ing.emilio lusardi

    P.S.

    Ho inviato svariate e-mail al Team di Arduino ma non ho avuto risposte.Spero questa volta di essere più fortunato.

    1. Ciao Emilio,
      mi piace rivolgermi in modo confidenziale con i lettori del Blog e chi chiede aiuto, ovviamente puoi fare altrettanto.
      In merito al tuo problema vorrei aiutarti ma non ho compreso alcune cose su cui potrai darmi delucidazioni:
      1. che tipo di protocollo stai utilizzando tra la WiFi ed il Pc?
      2. chi fa da server e chi da client?
      3. la rte pè una rete adhoc ( ossia creata da uno dei due apparati ) o è una wifi generata da un router?
      4. arrivati al Pc queste rilevazioni come devono essere elaborate?

      Se mi fornisce queste informazioni, in un commento, proverò a ragionare su come aiutarla.

      Mauro

        • emilio lusardi il 21 Ottobre 2013 alle 19:11
        • Rispondi

        Salve,

        Ti ringrazio per la sollecitudine con la quale mi hai risposto.
        Spero che le seguenti risposte alle Tue domande siano sufficienti ed esaustive:

        Domanda n.1
        Uso un Modem TELECOM ADSL2+Voip/Wi-Fi
        Modalità di cifratura WPA-PSK TKIP 256 bit
        Protocollo WPA/WPA2
        Collegamento Wi-Fi Tipo 802.11g

        I messaggi presentati dal Monitor Seriale a seguito dell’attivazione
        dell’esempio “WiFiUpdSendReceiveString” di ARDUINO sono:
        (All’avvio)
        Attemping to connect to SSID: ALICE-48840229
        Port No.: 2390
        (dopo circa dieci secondi)
        Connected to wifi
        SSID ALICE-48840229
        IP Address: 192.168.1.235
        MAC : 78:C4:E:1:C6:9C
        signal strength (RSSSI) :-57dBm
        Starting connection to Server
        ID Socket: 1
        (Attesa connessione e dati da un Server della Rete)
        Invio di un UDP Socket da un PC connesso in Rete.
        I dati non vengono acquisiti.
        Il Socket inviato dal programma verso un’applicazione operante su un altro PC della Rete
        viene invece acquisito.

        Domanda n.2
        Dipende dall’esempio ARDUINO utilizzato.

        Domanda n.3
        Si tratta una wifi generata dal router descritto in risposta alla domanda n.1.

        Domanda n.4
        Il SW dovrà processare i dati acquisiti.

        Grazie per la Tua cortesia

        1. Ciao Emilio,
          così come lo descrivi il Pc fa da server aprendo un socket ed arduino fa da client, si collega al socket ed invia i dati, giusto?

          Utilizza lo sketch Client e verifica se riesci a leggere i dati sul computer.

          Mauro

            • emilio lusardi il 22 Ottobre 2013 alle 13:42

            Salve,

            ho notato che l’elenco degli esempi da Te mostrato non coincide con quello riportato nei miei esempi.
            Ho comunque provato ad eseguire l’esempio “A simple sketch ….” della Tua documentazione ma non sono stato in grado di farlo eseguire poichè il file “Wiserver.h” non era accessibile.
            Ho quindi provato a fa eseguire lo sketch “Web client” contenuto nei miei esempi.
            Lo sketch dovrebbe connettersi al WiFi Network “www.google.com” e rimanere in attesa della risposta.
            L’esito è la presentazione periodica sullo schermo del video del seguente messaggio:

            Attempting to connect to SSID: Alice-48840229

            Attendo Tue consideraziooni.

            Saluti

          1. Ciao Emilio,
            l’SSID a cui tenta di connetersi è corretto?
            Il tipo di autorizzazione che hai impostato sulla WiFi Shield e sul Router è il medesimo?

            Sembra un banale errore di connessione alla rete domestica a cui vuoi conneterti, potrebbe essere l’origine di tutti i tuoi problemi.

            Mauro

            • emilio lusardi il 22 Ottobre 2013 alle 17:15

            Rieccomi,

            l’SSID a cui tenta di connettersi è quello visualizzato a seguito della richiesta Windows:

            “Visualizza reti senza fili disponibili”.

            Le password settate sulla WiFi Shield e sul Router coincidono.

            Provando infatti a modificare l’SSID o la Password si accende il LED Rosso (ERROR).

            Se questi dati sono corretti si accende invece il LED Verde (LINK)

            Mi sarebbe molto utile se Tu mi potessi inviare il file “WiServer.h” la cui mancanza
            nel mio PC non mi consente di provare il funzionamento del Tuo Sketch.

            Ho notato inoltre che questi contiene ed usa i seguenti parametri di configurazione :

            #define WIRELESS_MODE_INFRA 1 *****
            #define WIRELESS_MODE_ADHOC 2 *****

            // Wireless configuration parameters —————————

            unsigned char local_ip[] = {192,168,1,2};
            // IP address of WiShield
            unsigned char gateway_ip[] = {192,168,1,1}; *****
            // router or gateway IP address
            unsigned char subnet_mask[] = {255,255,255,0}; *****
            // subnet mask for the local network
            const prog_char ssid[] PROGMEM = {“ASYNCLABS”}; *****
            // max 32 bytes
            unsigned char security_type = 0; // 0 – open; 1 – WEP; 2 – WPA; 3 – WPA2 *****
            // WPA/WPA2 passphrase
            const prog_char security_passphrase[] PROGMEM = {“12345678”}; // max 64 characters

            dei quali quelli asteriscati non vengono usati dagli esempi ARDUINO in mio possesso.

            In particolare la costante “security_type” che dalla documentazione del Modem Alice della TELECOM da me utilizato credo corrisponda alla dizione:

            Modalità di cifratura = WPA-PSK TKIP 26 bit

            ha nel Tuo Sketch il valore: 0 e non saprei quale valore associarle qualora lo Sketch operasse sul mio PC.

            La PROGMEM corrisponde infine alla Password acquisita dalla documentazioe del Modem ?

            Grazie e scusami se Ti sto annoiando.

            emilio

          2. Ciao Emilio,
            I miei esempi e le librerie che ho utilizzato sono quelle distribuite dal produttore della shield, puoi scaricarli dal suo sito.

            Se la tua shield non é la medesima mostrata, le difficoltà che incontri potrebbero essere dovuti ad altri fattori come l’incompatibilità delle librerie o degli sketch.

            Mi sembra strano che il tuo sketch non usi i parametri di rete, come vedi nel mio sono usati.

            Inoltre il parametro security_type dovresi impostarlo come sul modem, nel commento che segue il comando ci sono tutti i tipi di security.

            Mauro

            • emilio lusardi il 23 Ottobre 2013 alle 09:05

            Salve,

            credo che la Tua ipotesi di incompatibilità sia quella corretta.
            Ho verificato però che connettendomi al sito ARDUINO.CC sono acquisibili le sketch da me utilizzate e che sono differenti da quelle che Tu presenti.
            Scusami pertanto per la mia insistenza, potresti indicarmi i siti dai quali potrei acquisirle ?

            emilio

          3. Ciao Emilio,
            forse ho fatto confusione, che shield stai utilizzando? è la stessa da me presentata?

            Mauro

    • emilio lusardi il 23 Ottobre 2013 alle 14:45
    • Rispondi

    Salve,

    ho finora usato gli esempi riportati nel sito Arduino.cc poichè non riesco a far eseguire
    lo sketch da Te riportato che genera il seguente errore in corrispondenza dell’istruzione asteriscata:

    #include
    …..
    …..
    // This is our page serving function that generates web pages
    boolean sendMyPage(char* URL) {

    // Check if the requested URL matches “/”
    if (strcmp(URL, “/”) == 0) {
    // Use WiServer’s print and println functions to write out the page content
    ***** Wiserver.print(“”); *****
    Messaggio di errore:
    sketch_oct23a.ino: In function boolean void sendMyPage(char*)’:
    sketch_oct23a:61:error ‘WiServer’ was not declared in this scope

    WiServer.print(“Hello World!”);
    WiServer.print(“”);

    // URL was recognized
    return true;
    }
    …..
    …..

    Ti sarei grato se potessi indicarmi la causa che genera l’errore.

    emilio

    1. Ciao Emilio,
      innanzitutto non mi hai risposto alla domanda: che shield stai usando?
      Non puoi prendere una shield differente da quella mostrata e utilizzare gli stesi sketch, dovrai usare librerie e sketch rilasciate per il tuo prodotto.

      In secondo luogo, mi sembra che in fondo agli articoli c’è scritto di non incollare codice perché mi arriva illeggibile.
      Infine il tuo errore evidenzia che non esiste la libreria WiServer, sei sicuro di averla caricata in arduino ed aver riavviato l’IDE dopo?

      Mauro

    • emilio lusardi il 23 Ottobre 2013 alle 17:31
    • Rispondi

    Salve,

    vedo che Ti stai arrabbiando ed hai ragione.

    Shield ARDUINO utilizzata:

    Hw: ARDUINO UNO R3
    Sw: arduino-1.0.5

    Tutto quello che so riguardo alla shield acquistata in Germania è:

    Controller: AVR 32UC3 (32-Bit)
    WLAN-Modul: HDG104 von H&D Wireless
    Standard: 802.11b/g
    Verschlüsselung: WEP und WPA2
    Protokolle: TCP und UDP
    Micro-SD-Karten-Slot: Ja
    Micro-USB-Anschluss: Ja
    ICSP-Anschluss: Ja
    Debugging-Schnittstelle: über FTDI-Kabel
    Betriebsspannung: 5 V

    Le librerie e gli sketch rilasciati per ARDUINO sono quelle scaricate dal sito Arduino.cc.
    Le informazioni in mio possesso non mi consentono di individuare le librerie e gli sketch rilasciati
    per la WiFi shield e se queste differiscono da quelle già in mio possesso.

    Per risolvere il problema penso quindi che la cosa più razionale potrebbe essere che io provveda
    ad acquistare una nuova WiFi shield da Te consigliata.

    Continua a scusarmi.

    1. Ciao Emilio,
      voglio aiutarti ma ho bisogno che ti mi dia le informazioni corrette per farlo altrimenti é tempo perso per entrambi.

      Usare shield WiFi é un po’ più complesso rispetto ad altre shield in quanto oltre allo sketch ed alle librerie che utilizzi é necessario che tu abbia conoscenze approfondite di rete, connessioni, protocolli, ssid, crittografia, ecc…

      Una cosa é certa il firmware rilasciato per una shield non é detto che possa andar bene per altre shield.

      Quella che ho utilizzato io ha delle librerie scritte per questo integrato wifi dal produttore, questo le rende non compatibili con altre shield.

      Il venditore della tua shield dovrebbe rilasciarti delle librerie specifiche, se non lo fa dovrai individuare il tipo di chip wifi ed i collegamenti e provare librerie scritte per il tuo wifi.

      Se decidi di acquistare altre shield per il WiFi ti consiglio di acquistare direttamente la nuova arduino yún in cui il WiFi é già gestito dal firmware della scheda.

      Mauro

        • emilio lusardi il 24 Ottobre 2013 alle 20:51
        • Rispondi

        Salve,

        penso che sia utile concludere il forum in attesa della descrizione di ARDUINO YUN da Te anticipata .

        Ti voglio però riassumere lo “stato dell’arte”.

        1-Utilizzando gli esempi disponibili a seguito dell’installazione di ARDUINO 1.0.5 ho ottenuto il run corretto
        solo dell’esempio “ScanNetworks” che presenta l’elenco delle reti acquisibili.
        L’altro esempio da me utilizzato è stato “WiFiUdpSendReceiveString” che provvede ad aprire la connessione (WiFi.begin) ed a rimanere in attesa dell’arrivo di dati provenienti dall’esterno (Udp.parsePacket).
        Per far operare l’esempio “WiFiUdpSendReceiveString” ho sviluppato un programma che dopo essersi connesso alla Shield (utilizzando il suo IP e la sua Porta) invia un Socket UDP contenente un set di caratteri ASCII.
        Il risultato è stato:
        – Accensione del LED LINK della Shield.
        – Ricezione ed analisi (penso) del Socket.
        – Invio di un carattere.
        – Chiusura della connessione.
        Il carattere ovviamente non è acquisibile essendo la connessione chiusa.
        Mi viene il sospetto che sia illegale qualche dato contenuto dal Socket che però è stato preparato dall’OCX
        Microsoft Winsock Control 6.0.
        Inoltre la stessa procedura opera correttamente quando i dati vengono inviati ad un altro PC dove opera un
        programma che agisce da server avente il compito di acquisire i dati.

        2-Ho scaricato le librerie indicate nella Tua documentazione.
        Ho individuato gli esempi ma non mi è stato possibile ottenerne la compilazione poichè ognuno ha generato un set di errori.

        Questo è quanto potremmo ricontattarci in seguito.
        Io però continuo a provare perchè il problema mi ha generato un “disturbo mentale”.

        Scusami per il fastidio che Ti ho provocato.

        saluti

        emilio

        1. Ciao Emilio,
          scherzi ? Quello che tu definisci “disturbo” io lo chiamo curiosità ed é la base di tutti i miei progetti.

          Continua così e sono certo che troverai la strada corretta per superare queste difficoltà con facilità.

          Un solo dubbio: perché vuoi che sia Arduino a fare da server ed il Pc da client e non viceversa?

          Mauro

            • emilio lusardi il 28 Ottobre 2013 alle 10:52

            Salve,

            sono sempre il solito “rompiballe”.

            Sto tentando di far funzionare uno sketch che provvede ad inviare una stringa di dati ASCII ad un PC.

            Il programma (Microsoft Visual Studio 6.0) operante sul PC non rileva la ricezione dei dati.
            Lo stesso programma opera invece correttamente se i dati vengono inviati da un altro PC operante sulla Rete.
            Lo sketch è molto semplice e quindi è il programma operante sul PC a non operare correttamente quando i dati vengono inviati da una WiFi Shield.
            Se questo fosse vero la causa dei malfunzionamenti sarebbe da ricercarsi sul SW operante sul PC.

            Potresti indicarmi un programma sostitutivo a quello da me utilizzato?

            Ti ringrazio anticipatamente.

            emilio

          1. Ciao Emilio,
            che programma stai utilizzando?
            Non uso Windows da 10 anni e di conseguenza programmi su Win.

            Se non ricordo male esiste HyperTerminal che legge e scrive dati provenienti dalla porta seriale.

            Mauro

    • emilio lusardi il 31 Ottobre 2013 alle 14:34
    • Rispondi

    Salve,

    sono sempre io il testardo che sulla base dell’esortazione da Te fattami il 25 ottobre 2013 continua
    a cercare di far parlare il PC con l’ARDUINO WiFi Sketch.
    I risultati cui ad oggi sono pervenuto sono.

    1-Su ARDUINO opera l’esempio WiFiUdpSendReceiveString (Arduino IDE 1.0.5) che:
    a.Si connette alla rete WPA2 (WiFi.begin(ssid,pass)).
    b.apre una connessione (Udp.begin(2390)).
    c.attende l’arrivo di dati (int packetSize = Udp.parsePacket())
    2-Sul PC (MS-Windows XP) opera un Task che:
    a.apre una connessione con l’WiFi Shield (192.168.1.235:2390).
    b.Invia una Stringa di caratteri ASCII.

    Risultato:

    Arrivo sul PC di n.1 carattere che però non è acquisibile poichè la Shield ha chiuso la connessione.
    Questa considerazione è deducibile dal messaggio di errore che MS-Windows XP mi presenta sullo
    schermo del video.
    Il Messaggio di errore viene presentato anche quando modifico il numero della Porta di destinazione
    (192.168.1.235:xxxx).
    Ovviamente il messaggio non viene presentato se modifico l’IP Address di destinazione.

    Deduco pertatno che probabilmente vi sia un malfunzionament del FirmWare ATMEL o nel SoftWare ARDUINO.

    Infine il funzionamento del programma operante sul PC è stato a provato connettendolo ad un
    programma ricevente operante su un altro PC connesso alla stessa Rete ed osservandone
    il corretto comportamento.

    Infine le stesse prove sono state effettuate non utilizzando ALICE ma un altro Modem (SITECOM) ed
    ottenendo i medesimi risultati.

    Continuo a provare.

    Saluti

    emilio

    1. Ciao Emilio,
      sono contento che tu sia testardo è una delle caratteristiche ci rende Makers: non ci arrendiamo difronte ai primi ostacoli.
      Leggendo quello che scrivi mi viene un dubbio, la connessione che il Pc apre è di tipo UDP come quella aperta dalla WiFi Shield?

      Mauro

        • emilio lusardi il 1 Novembre 2013 alle 14:34
        • Rispondi

        Salve,

        ho verificato nella speranza che la connessione NON fosse di tipo UDP ma purtroppo
        l’istruzione “Winsock1(1).Protocol = sckUDPProtocol” mi ha fornito la certezza che la
        connessione è di tipo UDP.

        grazie

        emilio

        1. Ciao Emilio,
          immagino che quella istruzione sia lato Pc, per cui entrambi i sistemi coinvolti parlano attraverso UDP.
          Hai provato anche attraverso TCP?

          Mauro

            • emilio lusardi il 2 Novembre 2013 alle 17:59

            Salve,

            continuano le mie prove che hanno interessato l’utilizzo dell’applicazione AxNetwork che consente
            di inviare e quindi ricevere in WiFi stringhe utilizzando protocolli TCP/IP oppure UDP.
            Le stesse prove sono state effettuate inviando stringhe ASCII verso un PC ricevente ed utilizzando
            ogni volta uno dei due protocolli: il risultato è stato soddisfacente.
            Lo stesso non è avvenuto inviando lo stesso set di stringhe all’WiFi Sketch.

            Penso ora che lo Sketch non operi correttamente a causa di un malfunzionamento HW o SW.

            Mi consiglieresti di acquistare un altro Scketch?

            Grazie

            emilio

          1. Ciao Emilio,
            gli sketch, che io sappia, non si acquistano di solito chi li realizza li mette a disposizione su internet gratuitamente.
            Se ti riferisci alle shield WiFi ne esistono di tanti tipi io ho provato quella di questo articolo per le altre non saprei aiutarti.

            Mauro

    • emilio lusardi il 4 Novembre 2013 alle 20:49
    • Rispondi

    Salve,

    scusa per l’errore intendevo WiFi Shield come mi hai giustamente corretto.

    Non avendo voglia di continuare a perder tempo avrei ora bisogno di sapere se:

    1-E’ possibile effettuare una connessione WiFi “affidabile” fra ARDUINO YUN ed un PC MS-WINDOWS XP.
    2-L’antenna è incorporata.
    3-E’ stato testato il set di esempi che penso siano scaricabili dal sito “www.arduino.cc”

    grazie

    emilio

    1. Ciao Emilio,
      io ho acquistato l’arduino yun ma non l’ho ancora provata.
      Ti invito a leggere la documentazione arduino sul sito ufficiale e consultare il forum in cerca di chi ha già eseguito qualche test e può rispondere ai tuoi dubbi.

      Mauro

        • emilio il 17 Novembre 2013 alle 20:47
        • Rispondi

        Salve,

        sono riuscito finalmente a far dialogare ARDUINO + WIFI SHIELD con la mia applicazione MS Windows XP.
        Ti voglio ringraziare per il supporto che mi hai fornito.

        Sarei felice di continuare la collaborazione.

        emilio

        1. Ciao Emilio,
          sono contento che tu abbia ottenuto al comunicazione tra l’Arduino WiFi e la tua applicazione Windows.
          Se vuoi pubblicare e condividere quello che hai ottenuto il blog è a tua disposizione.

          Mauro

    • Michele Moroni il 21 Novembre 2013 alle 22:48
    • Rispondi

    Ciao Mauro, Le scrivo per spiegarle il mio problema: da giorni sto cercando una soluzione, fattibile da un appassionato di arduino alle prime armi come me, quindi facilmente programmabile, sul collegamento tra arduino UNO e un iphone 5s SENZA dover collegare la shield arduino alla porta usb del pc. Spiego meglio: il mio scopo è quello di poter sviluppare progetti del tipo accendere una luce in casa tramite iphone quando sono in auto a 500-600 metri distante da casa; accendere un ventilatore nella mia camera da letto tramite iphone mentre sono a 2 isolati di distanza da casa; o far sì di poter leggere dei valori o dei dati sul mio iphone riguardanti uno o più sensori collegati ad arduino mentre io sono ad almeno 1 km di distanza da arduino stesso. Tutto questo SENZA che la ‘benedetta’ shield di arduino sia collegata al pc ma solamente alimentata da una batteria e posta in una scatola ‘solitaria’. Sul web trovo una marea di informazioni prolisse e specifiche, roba da ingegnere, quale NON sono ahimè, oppure trovo maree di video tutorial RIGOROSAMENTE in inglese dove mostrano risultati finiti ma senza spiegare il ragionamento che ha portato a quel risultato; oppure soluzioni di tipo touchosc ma con collegamento di arduino comunque a pc ( e questo non lo voglio). Ho sentito parlare di moduli xbee, però non li conosco e non so se sono semplici da programmare.Farebbero al caso mio secondo lei? la wifi shield di arduino andrebbe bene x fare tutte queste cose e comunque per un utilizzo privo di cavetterie a pc ma solo con router presente nella mia abitazione? un sistema touchosc può essere utilizzato a quelle distanze?
    In attesa di una sua risposta la ringrazio. Michele

    1. Ciao Michele,
      ciò che vuoi realizzare è un bel progetto ma non semplice.
      Per realizzarlo ti occorrono non solo competenze di elettronica e programmazione ma anche di networking.
      Nulla che tu non possa imparare leggendo su internet, certo la maggior parte dei tutorial è internazionale e quindi in inglese.

      Non esiste una soluzione già pronta ma al massimo tutta una serie di singoli esperimenti, anche sul mio blog, che spiegano fasi singole di progetti e che devi unire per realizzare il tuo progetto.

      I moduli XBee sono descritti in alcuni miei articoli sia dal punto di vista del funzionamento sia della programmazione ma non adatti a quello che vuoi realizzare in quanto gli smartphone sono dotati solo di WiFi e Bluetooth per la comunicazione senza fili.

      La wifi shield potrebbe essere un’ottima strada, richiede delle conoscenze di networking non solo per la sua programmazione ma anche per essere configurata adeguatamente. Se già disponi di un router io propenderei per una Ethernet shield che almeno è più semplice da utilizzare.

      Mauro

    • Michele Moroni il 22 Novembre 2013 alle 15:13
    • Rispondi

    intanto grazie mille x i preziosi consigli 🙂
    A casa predispongo già di un router, quindi se la mia scelta fosse ethernet shield , questa, la posso configurare al mio router e una volta configurata posso usarla anche a pc spento?
    Utilizzarla come webserver mi consente, tramite iphone ( x esempio) di gestirla inviando istruzioni o di ricevere dati e valori elaborati da ‘lei’ ? Che distanze posso coprire utilizzando una ethernet shield? C’è un applicazione da scaricare per poter gestirla da smartphone ( iphone, samsung, ecc.)?
    Scusi x le tante domande ma sono ‘affamato’ di sapere del mondo di aduino e ritengo il suo un valido supporto! 🙂
    saluti,
    Michele

    1. Ciao Michele,
      La tua fame di conoscenza é un dono bellissimo, per saziarla o contribuire a farlo in parte ho scritto questo blog.
      Certo prima di realizzare un progetto come quello che hai in mente ti servono conoscenza e tempo per acquisirla.

      La Ethernet shield ti consente di non avere il Pc acceso per comunicare con Arduino, prova a leggere i miei articoli su questa scheda.
      La copertura é data dal tuo router, la Ethernet shield non copre nulla é sono una scheda di rete.

      Per gli smartphone io uso TouchOSC, che mi semplifica molto la vita, ma lato arduino devi scriverti tu lo sketch, trovi qualche esempio nei miei articoli.

      Ti invito a leggere e comprendere tutti gli articoli del blog dedicati a led, sensori, Ethernet e TouchOSC per iniziare il tuo progetto, poi ti serviranno conoscenze di networking se già non le possiedi.

      Mauro

        • Michele Moroni il 26 Novembre 2013 alle 23:30
        • Rispondi

        ciao Mauro, scusa se propongo in questa sezione il mio problema , ma non sono riuscito a trovare qualche post su arduino e i relè 🙂
        Sto cercando di sviluppare un progetto di accensione di una lampada (IRemote + telecomando) alimentata da 220v di casa tramite un relè pilotato da arduino. Il relè da me utilizzato è un songle SRC-05VDC-SH , appena piu sopra c’è scritto 1A 125VAC 1A 30VDC. Vorrei sapere se è giusto adoperare un relè del genere o se ho preso un ‘granchio’ nell’acquistarlo. Quando l’ho acquistato ( on line) era specificato nella sua descrizione: ”adatto x sperimentare arduino con una corrente 220V”.
        Mi sono basato su di un progetto dimostrato su youtube di cui ripropongo una foto: http://carlopeluso.altervista.org/Progetti/cattura_ir_rele/_DSC0040.JPG . Ho aggiunto al progetto un diodo posto alla bobina del relè, sapendo che è buona norma utilizzare x proteggere il transistor. Noto che il relè usato dal ragazzo del video però non è quello che ho usato io, quindi chiedo appunto conferma sulla validità del mio adoperato, perchè con tutto montato il relè ‘ticchetta’ premendo i tasti programmati sul telecomando ( quindi presumo che sia il relè sia il programma caricato su arduino siano ok, il programma l’ho visto qui sul tuo blog tra l’altro ed è più chiaro di quello utilizzato dal ragazzo del video) però nn si accende e non si spegne nulla!!!
        Sono veramente nel pallone e spero di uscire da questo ‘tunnel’ perchè ho tutto mantato correttamente ma non funziona ( e non c’è cosa peggiore!! 🙁 ).
        grazie per i tuoi consigli, attendo risposta.
        Michele
        GRAZIE INFINITE!

        1. Ciao Michele,
          dalla scritta presente su relè non mi sembra adatto, i 125VAC non sono 220VAC forse é buono per la corrente d’oltreoceano che é 110VAC.

          Data la tua conoscenza di elettronica ti consiglio di rivolgerti ad un rivenditore serio di componenti per arduino tipo robot-domestici.it che offre molti circuiti e schede con relè.

          In merito all’articolo in cui aggiungi il commento mi sembra di capire che non hai dimestichezza neppure con il cerca dei siti o con google perché se avessi scritto relè nel mio sito avresti trovato di tutto di più tra esempi e shield montate adatte al tuo scopo.
          Stesso discorso scrivendo IRremote avresti scoperto almeno 2 articoli dedicati agli IR.

          Ti invito a fare questo tipo di ricerca e leggere la spiegazione dello sketch, controllare un relè é banale, basta portare HIGH il pin su cui lo hai collegato.

          Mauro

    • Michele Moroni il 27 Novembre 2013 alle 00:28
    • Rispondi

    se puoi consigliarmi un relè adatto al mio scopo te ne sarei grato 🙂

    1. Ciao Michele,
      Leggi la risposta al precedente commento.

      Mauro

    • Michele Moroni il 27 Novembre 2013 alle 11:28
    • Rispondi

    ciao Mauro,
    hai ragione, ho fatto una ricerca come si deve e ho notato diversi post su relè e applicazioni ( quelli relativi all’IRemote li avevo già studiati qui sul tuo sito), chiedo scusa.
    Ho trovato il problema sul mio circuito, ho invertito i collegamenti 220V – lampada sul relè.Quello che mi chiedo è perchè funziona normalmente se in relatà non sarebbe il relè giusto x lo scopo?.
    Se il relè si eccitasse a 12 VDC anzichè 05 VDC ( come nel mio caso) è sufficiente collegarlo al pc x farlo funzionare o occorre alimentarlo esternamente incrementando l’alimentazione di arduino?
    Grazie
    Michele

    1. Ciao Michele,
      Innanzitutto ti chiedo di inserire i commenti relativi ai relè negli articoli sui relè, quelli su IR e Assorbimento ciascuno nell’articolo corrispondente. Questa attenzione aiuta me a capire su che articolo ci confrontiamo e gli altri utenti del blog a poterti aiutare o trarre informazioni.

      Ti sembrerà strana la richiesta ma immagina che ogni giorno 1300 visitatori leggono i miei articoli, una parte commenta e chiede aiuto, altri mi aiutano a rispondere.

      Tutto questo funziona solo se i commenti sono negli articoli corrispondenti, nessuno cercherebbe commenti sui relè nell’articolo sul WiFi e non ti può aiutare nessuno.

      Per la tua richiesta:
      se il relè si eccita a 12v devi fornirgli una alimentazione esterna tramite transistor, quest’ultimo sarà controllato da Arduino

      Mauro

    • Luca il 15 Febbraio 2014 alle 20:27
    • Rispondi

    ciao, mi scusi per il disturbo, ma vorrei approfittare della sua grande conoscenza dell’Arduino per chiederle dei consigli che forse per lei saranno banalità ma per me saranno di grande aiuto.
    Per svolgere un mio progetto, ho intenzione di utilizzare un modulo Bluetooth (HC-05, per esempio) per comandare Arduino tramite Android. I compiti affidati ad Arduino saranno: azionare 4 diversi servomotori (che lavorano individualmente ognuno per il proprio compito) e azionare, a scelta, uno tra 2 diversi pin.
    La domanda che volevo porle è: cosa mi sa dire riguardo al modulo Bluetooth? come si programma in modo che attraverso il software per Android “Blueterm” io possa effettuare il controllo (apertura/chiusura servo, selezione pin da attivare)? non fraintenda, non le chiedo che mi scriva l’intero codice, ma le sarei grato se mi desse un consiglio o comunque un aiuto generale. spero in una sua risposta positiva
    Cordiali saluti

    1. Ciao Luca,
      mi piacerebbe molto aiutarti e la tua premessa di voler solo consiglio è molto positiva perchè manifesta la tua voglia di imparare e fare da solo. Purtroppo non ho conscenze sui moduli bluetooth, non avendone ma acquistati, e per di più non possedendo un telefono android.
      Posso aiutarti segnalandoti che un amico e appassionato ha realizzato qualche progetto con bluetooth e android e forse potrà darti lui qualche consiglio, possiede anche lui un sito http://www.lucadentella.it ed è molto disponibile.

      Mauro

    • Fabio il 6 Marzo 2014 alle 13:00
    • Rispondi

    Ciao Mauro, come sempre navigando sul tuo sito mi vengono nuove idee per progetti con il “nostro” Arduino.
    Avendo da tempo una scheda WiFi Arduino ho cercato di iniziare a muovermi nel mondo della domotica e come, sempre partendo dagli esempi già presenti. In particolare volevo assemblare un sistema che, collegandomi tramite WiFi e visualizzando una pagina ad un indirizzo internet, potesse accendere e spegnere due led. Il mio primo passo è stato quello di caricare l’esempio WIFIWebServer e vedere cosa succedeva. Riesco a collegarmi alla rete, ottengo il mio bell’indirizzo IP, lo digito all’interno di Explorer 8……e non riesco mai a visualizzare la pagina! Ottengo sempre “Impossibile visualizzare la pagina Web”. Premetto che lavoro con l’IDE 1.0.5 ed ho anche aggiornato il firmware della scheda WiFi (come consiglia il sito ufficiale e sopratutto leggendo su internet i vari blog). Sono giorni che non riesco ad uscire da questa situazione…..mi sarebbe rimasta la soluzione “martellata” sulla schede ma la vorei tenere per ultima!
    🙁
    Confido in un tuo aiuto!

    Ciao e grazie

    Fabio

    1. Ciao Fabio,
      così descritto sembra un problema di rete.
      Sei certo di essere sulla stessa rete sia con Arduino WiFi sia con il dispositivo da cui ti colleghi con IE?

        • Fabio il 7 Marzo 2014 alle 08:05
        • Rispondi

        Ciao Mauro,
        grazie per avere già risposto! Scusa se ti disturbo ma non riesco prorpio ad uscirne da questo problema!
        Ho controllato sul router Alice WiFi e sulla sezione WiFi compare sia il mio PC che un dispositivo all’indirizzo IP che visualizzo sul monitor seriale (quindi dovrebbero essere collegati sulla stessa rete Pc e Arduino). Ma devo smanettare anche dentro il router?
        Ciao

        1. Ciao Fabio,
          solitamente no se sei sulla stessa rete, potrebbe tuttavia intervenire il firewall di windows o altro tra il Pc ed arduino che impedisce di raggiungere l’IP.
          Prova a:

          2. a pingare l’arduino dal Pc
          3. controllare che tu non abbia altri apparati di rete che possano essere configurati su un Ip simile
          1. mettere un debug ( serial.println() ) all’interno della parte di connessione per controllare che il server capisce che c’è una connessione in arrivo dal Pc

            • Fabio il 7 Marzo 2014 alle 13:05

            Ciao Mauro,
            ho fatto come tu mia hai detto:
            ho controllato con ping e ottengo la risposta da Arduino;
            non ci sono apparati con IP simili;
            ……per qunato riguarda il debug…..che intendi? Uso per ora il file di esempio della libreria WIFI WiFiWebServer dove posso mettere il controllo?
            Grazie ancora dell’aiuto.

            Fabio

          1. Ciao Fabio, puoi mettere dei Serial.print durante l’esecuzione del codice per farti scrivere dove é arrivato, di solito all’interno di ogni if per cominciare e leggere dove arriva e dove si ferma.

    • Fabio il 7 Marzo 2014 alle 13:23
    • Rispondi

    Un momento…..rileggendo il programma c’è un Serial.println() dopo il comando:
    WiFiClinet client =server.available();
    if (client) {

    • Fabio il 7 Marzo 2014 alle 13:26
    • Rispondi

    Scusa Mauro ho sbagliato l’invio del messaggio!
    ti volevo dire che nel programma c’è questa struttura:
    void loop() {
    // listen for incoming clients
    WiFiClient client = server.available();
    if (client) {
    Serial.println(“new client”);
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    …………….
    ed io non vedo la scritta new client nel monitor.
    Potrebbe essere d’aiuto questa informazione?

    Grazie

    1. Ciao Fabio, debug fatto non superi l’informazione di verifica della chiamata al server devi indagare perché succede ma non penso dipenda da arduino, forse dal WiFi o dalla rete.

        • Fabio il 9 Marzo 2014 alle 20:59
        • Rispondi

        Ciao Mauro,
        alla fine ho scoperto il problema! Se può essere di aiuto per altri utenti: ho aggiornato manualmente i drive del Atmel32uc3a1256 prendendoli dal programma Flip scaricato dal sito dell’Atmel.
        Ora sembra tutto funzionare ma….avrei una domanda: le pagine si caricano molto lentamente (ho usato l’esempio e gli stessi file del tuo esempio). E’ normale?

        Grazie sempre di tutto.

        Fabio

        1. Ciao Fabio, considera che arduino non possiede capacità computazionali paragonabili a quelle dei server web, é probabile che elaborare una risposta caricandola da una pagina molto pesante impieghi un po’ di più del previsto.
          Prova a ottimizzare il codice HTML.

    • fabio il 19 Marzo 2014 alle 01:51
    • Rispondi

    Salve e complimenti per il sito, la contattero’ a breve per un corso privato. ho lo stesso problema di fabio con la wifi shield, sono alle primissime armi, ķ p e la mia intenzione è accendere al momento un led da pagina html di windows explorer.premetto che la mia connessione wifi proviene da una chiavetta wifi tramite tablet, la shield wifi con lo sketch simply wifi della libreria si connette e il led verde si accende, sul monitor seriale mi da l’indirizzo ip e mi dice che se voglio vedere il risultato basta che digito l’indirizzo ip nel browser, lo faccio ma mi da errore, il problema può essere nella connessione? Non supporta quel tipo di connessione e dovrei provare con un router normale? Grazie e complimenti davvero, sto seguendo i suoi esempi e sono molto utili

    1. Ciao Fabio,
      il mio consiglio è lo stesso dato ad altri se non visualizzi la pagina è molto probabile si tratti di un problema di connesione tra Tablet e rete a cui è connesso arduino wifi.

    • fabio il 19 Marzo 2014 alle 21:55
    • Rispondi

    Grazie per la risposta sarebbe cosi gentile da postarmi uno sketch per html in cui vedo un messaggio di testo digitando il codice ip sul browser in modo tale da verificare il problema

    1. Ciao Fabio,
      forse sarà un tutorial o un progetto che farò in futuro, non so dirti quando.
      Ti consiglio di leggere tutti i miei articoli sulla realizzazione di un server html con Arduino per trovare qualche sketch che puoi adattare al tuo scopo.

    • fabio il 20 Marzo 2014 alle 20:38
    • Rispondi

    Ho fatto controllare il tutto ad un amico che ne capisce di piu, ora proviamo ad aggiornare il firware come la guida del sito ufficiale, le farò sapere, può dipendere da quello? Il mio amico dice che non dialoga in html, io uso lo sketch della libreria, spero di poter risolvere, altrimenti penso seriamente di dover rinunciare con rammarico perché non ho soluzioni

    1. Ciao Fabio,
      l’intuizione potrebbe essere corretta.
      Considera che se il problema è “pagina non trovata” potrebbe essere il firmware della wifi ce non ti serve la pagina html, se non ti risponde proprio la connessione è quasi certamente un problema network.

      Il monitor Seriale in questi casi è il miglior amico che puoi avere.

    • Angelo Ferrandi il 10 Aprile 2014 alle 18:14
    • Rispondi

    Ciao Mauro,
    sto cercando di fare inviare una mail ad arduino dopo un evento.
    Ho uno shield WizFi210.

    Vorrei poter inviare una mail al mio account google ma non so programma in C# ed in rete ho trovato degli esempio ma niente che funzioni.
    Hai un codice esempio da potermi dare funzionante che usi SMTP o IMAP di google?

    Ti ringrazio molto.

    1. Ciao Angelo,
      purtroppo no, nulla di già pronto.
      Potresti consultare il metodo di invio mail via telnet che si usa di solito dai server linux e simulare una sequenza di comandi simile.

      Mauro

    • Angelo Ferrandi il 11 Aprile 2014 alle 15:44
    • Rispondi

    Grazie Mauro.
    Purtroppo i server di google con protocollo di sicurezza SSL non accettano chiamate da Telnet e quindi codici complementari.
    Cercherò di aggirare il problema facendo inviare le mail ad un server web che “vede” i dati di arduino.

    Ti ringrazio.

    • Andrea il 23 Maggio 2014 alle 16:07
    • Rispondi

    Ciao Mauro,
    spero che non ti dispiaccia se ti do del tu anche se non ci consciamo.
    Io volevo realizzare un progetto che mandi dei dati forniti da dei sensori collegati ad un arduino in una pagina web. Leggendo il programma mi sono sorti alcuni dubbi: l’if presente alla riga 49 che cosa controlla?
    I dati posso mandarli utilizzando la seguente sintassi all’interno della funzione loop:
    WiServer.print(dato);
    dove dato è una variabile, ad esempio un double?
    Infine che pin di arduino usa lo shield WiFi per comunicare?
    Devo ancora effettuare questo acquisto e vorrei essere sicuro prima di procedere.
    Grazie.
    Andrea

    1. Ciao Andrea,
      puoi darmi del tu senza problemi.
      Quando didi “un progetto che mandi dei dati ….in una pagina web” intendi un invio di dati ad una pagina che li registra ad esempio su un Db o intendi collegarti ad una pagina web generata dalla WiFi shield e vedere i valori raccolti in tempo reale?

      Nel primo caso questo esempio non è adatto a fare ciò che desideri, devi usare uno sketch in cui arduino è client e non server.
      La linea 49 controlla che nell’Url chiamato, essendo arduino server in questo caso, sia presente il carattere “/”;

      Per i pin usati dalla shield fai riferimento al primo link presente in questa pagina ed al datasheet del produttore.

        • Andrea il 26 Maggio 2014 alle 19:12
        • Rispondi

        Ciao Mauro,
        si scusami non mi sono espresso molto chiaramente, io intendevo collegarmi ad una pagina web generata dalla shield e vedere i dati raccolti.
        Andrea

        1. Ok Andrea,
          a volte la stessa frase può avere diversi punti di vista.
          Per vedere i dati puoi usare la tecnica che trovi in questo articolo che crea una pagina Web usando il metodo print() dell’oggetto wifi.

            • Andrea il 27 Maggio 2014 alle 15:11

            Ok capito!
            Grazie per le risposte 🙂
            Andrea

    • Belinda il 17 Luglio 2014 alle 19:47
    • Rispondi

    Ciao

    devo inviare dei dati su intenet, ma non posso usare la ethernet shield che sarebbe la strada piu’ facile, perche’ non ho una connessione via cavo.

    Posso seguire due strade, o la connessione con wi fi shield, ma non conosco certe password di rete (come const prog_char ssid[] PROGMEM = {“ASYNCLABS”};const prog_char security_passphrase[] PROGMEM = {“12345678”}; ) , oppure ho una chiavetta della tre con sim che lavora con un router TP LINK ordinato su ebay.

    Per usare la wifi shield non ho tutte le password necessarie e ho molta confusione, perche come creo la web page dove visualizzero ‘ i dati che invio?

    Per la chiavetta tre non serve nessuna password, quella si autoinstalla e funziona da se….

    Avresti qualche consiglio?

    ho provato a fare girare questo ma mi risponde errore

    [ codice rimosso in automatico ]

    ciao

    1. Ciao Belinda,
      noto la confusione.
      L’SSID é il nome della tua rete WiFi, la pass-phrse é la passord é quella per accedervi.

      Prima di intraprendere un progetto con Ethernet e WiFi valuta bene le competenze che ti occorrono, con arduino puoi realizzare delle pagine web ma devi scriverti gran parte del server che risponderà alle tue richieste e per farlo ti servono approfondite conoscenze di protocolli di rete e sistemi web.

      Ti consiglio di leggere qualche articoli sulle pagine HTML ed arduino sul blog ed anche se applicate all’ethernet i concetti non cambiano per il wifi e qualche articolo in internet su come funziona la comunicazione client-server web in generale.

    • Belinda il 17 Luglio 2014 alle 22:16
    • Rispondi

    Io non ho capito perche’ collegandomi all indirizzo 192.168.1.200 dovrebbe apparirmi una pagina web…. il numero e’ semplicemente il successivo a quello con cui il mio wifi e’ connesso a internet?

    1. Ciao Belinda,
      Se leggi qualche articolo su come funzionano le reti internet e gli indirizzi IP capirai meglio. L’IP a cui devi puntare non é un numero casuale ma quello rilasciato dal tuo DHCP alla scheda WiFi connessa ad arduino.
      Questa informazione la puoi ricavare dalla tabella DHCP del tuo router o altro apparato di rete con funzione DHCP.

    • Guglielmo il 1 Agosto 2014 alle 16:48
    • Rispondi

    Complimenti per i tuoi esperimenti.
    Ho da poco acquistato arduino Uno a cui sto aggiungendo poco alla volta altre shield per poter ampliare la conoscenza su questo fantastico prodotto. Vengo al punto ho acquistato da qualche giorno la WiFi Shield, ho alcuni problemi a farla dialogare sia con Pc Windows (me la cavo abbastanza bene con vb.net, grazie anche all’aiuto di mio figlio) che con touchosc installato su un Ipad sto patricamente impazzendo, leggendo tutte le tue discussioni ho provato a scaricare diverse librerie ma nulla.

    Rimango in attesa di una tua cortese risposta.

    1. Ciao Guglielmo,
      la parte network fuziona?

        • Guglielmo il 4 Agosto 2014 alle 13:36
        • Rispondi

        Si infatti usando gli sketch base tutto funziona, ho provato anche il ping e risponde correttamente. Il problema è che usando i vari programmi trovati su internet non riesco a capire come intercettare le stringhe che invio sia tramite vb.net che via touchosc da Ipad.

        Ti ringrazio per aver preso in carico il mio problema.

        1. Ciao. Guglielmo, io posso aiutarti solo per gli sketch scritti da me, per gli altri devi chiedere agli autori.

            • Guglielmo il 5 Agosto 2014 alle 10:34

            Scusa, ma ho provato anche il tuo sketch, da browser se digito l’IP della wifi shield mi dice che non è raggiungibile. Ho provato anche il tuo sketch quello relativo all’iphone con i sei led e touchosc, modificando i dati che anziché essere la ethernet e la wifi ma nulla. Stasera quando sono a casa ti invio gli sketch modificati (dovro’ vedere come fare, visto che non posso copiarli ed incollarli).

          1. Ciao Guglielmo,
            non correggo gli sketch che scrivete perché mi è impossibile farlo per tutti, per quello c’è il forum arduino.
            Quello che posso fare e darti dei consigli se non capisci qualcosa sui miei sketch.

            Da quello che mi scrivi il tuo problema sembra di networking e non di sketch per adesso non raggiungi neppure il tuo arduino, prova a verificare che sul router sia attestato arduino via wifi e che sia corretto l’IP assegnato e quello riconosciuto dal router.

            • Guglielmo il 5 Agosto 2014 alle 10:56

            hai ragione e ti chiedo scusa, ma la mia intenzione non era quella. Potrebbe essere un problema di networking, ho il router wifi di Vodafone (Vodafone station), ho attivato tutti i dispositivi tramite gli indirizzi MAC, se però pingando l’indirizzo IP dello shield da un pc ottengo una risposta secondo il tuo parere potrebbe essere comunque un problema di network.

          2. Il ping, Guglielmo, ti dice che l’IP verso cui stai eseguendo il test esiste ma non è detto che sia raggiungibile con tutti i protocolli di rete o che abbia qualche software in ascolto sulla porta con cui vuoi comunicare.
            Ad esempio se ti colleghi con un browser tenterai di accedere alla porta 80 ( HTTP ) del tuo progetto, verifica che sia aperta e raggiungibile dal pc da cui esegui il ping e funziona; poi verifica che risponda qualcosa.
            Se tutti i test precedenti vanno a buon fine e ottieni un risultato non ti resta che mettere dei Serial.print nel codice arduino in corrispondenza della ricezione delle chiamate e verificare come avviene la comunicazione.

            • Guglielmo il 5 Agosto 2014 alle 23:40

            Ho risolto la parte connettiva, infatti usando simplewebserverwifi da browser riesco ad accendere e spegnere un led. Rimango dubbioso sulla parte di riconoscimento da parte di arduino delle stringhe inviate da osc.
            Grazie per la pazienza che accordi a tutti noi novizi. Domani proveró ad adattare il tuo sketch alle librerie della nostra scheda wifi.

          3. Ottimo Guglielmo, la stinga OSC, se usi la stessa libreria che ho usato io, è una stringa di testo con la formattazione indicata dal protocoloo OSC, a memoria è molto semplice come stringa.

            • Guglielmo il 6 Agosto 2014 alle 10:53

            Scusa se ti disturbo ancora secondo te posso usare le tue librerie anche se la mia shield è diversa dalla tua.

          4. Ciao Gugliemo,
            non c’è bisogno che ti scusi, il blog è qui proprio per scambiarci consigli 🙂
            Ti riferisci alla libreria OSC? Se si, puoi usarla senza alcun problema è del tutto indipendente dalla shield che usi; si occupa solo di gestire il protocollo OSC.

            • Guglielmo il 6 Agosto 2014 alle 11:29

            No mi riferivo alla libreria della scheda, per la libreria di OSC ho parecchi problemi perché non trova dei file, l’ho sostituita con ArdOSC. Stasera provo e poi ti aggiorno.

            • Guglielmo il 7 Agosto 2014 alle 13:52

            Faccio estrema fatica a capire come funziona la libreria ArdOSC, visto che quella che usi tu continua a dare errori, mancanza di alcune file. Non demordo e continuo ad insistere prima o poi ne verrò a capo.

          5. Ciao Guglielmo,
            sei certo che gli errori non siano semplicemente dovuti alla versione dell’IDE ?
            Se non ricordo male la libreria che ho utilizzato io è stata scritta per la version 0022 e dalla versione 1.0 sono cambiate alcune librerie aggiuntive di arduino.

            Prova ad usare l’IDE 0022 se non ti servono funzioni dell’IDE 1.0.x

            • Guglielmo il 7 Agosto 2014 alle 14:04

            Forse ho avuto, almeno spero, una intuizione. su un programma, attraverso processing e seriale funziona le stringhe che ricevo da osc col WiFi sono le stesse che mi replica processing? Il WiFi comunica con arduino con il seriale? Quindi togliendo processing il wifi riceve e gira sulla seriale i dati giusto?
            Speriamo che sia la volta buona.

          6. Ciao Guglielmo,
            non ho capito 🙁

    • Guglielmo il 7 Agosto 2014 alle 16:41
    • Rispondi

    Ok proverò a scaricare l’IDE 0022..

      • Guglielmo il 7 Agosto 2014 alle 16:47
      • Rispondi

      ho scaricato l’IDE 0022 ma compilando il tuo sketch compare il seguente errore:

      In file included from sketch_aug0.cpp:2:
      C:\Users\Guglielmo.Cocca\Desktop\arduino-0022\libraries\OSCClass/OSCClass.h:70:27: error: utility/types.h: No such file or directory

      1. Ciao Guglielmo,
        penso che la libreria che hai scaricato non sia completa o che l’installazione che ne hai eseguito non sia andata a buon fine.

          • Guglielmo il 8 Agosto 2014 alle 12:45
          • Rispondi

          Manca nella libreria la sottodirectory utility. Ho cercato parecchio ma sono tutte così.

          1. Ciao Guglielmo,
            cercando su google “arduino osc library” in cerca di aggiornamenti della libreria ho trovato come primo link questo:

            http://playground.arduino.cc/Main/LibraryList

            Nella pagina è presente la libreria OSCduino, che rimanda ad un sito in cui è descritto molto bene il suo funzionamento.
            Non l’ho provata ma da una approfondita lettura del sito vedo che è compatibile con l’IDE 1.0 e successivi.
            Inoltre è piena di esempi benfatti.

    • Giorgio il 8 Settembre 2014 alle 16:44
    • Rispondi

    Salve Mauro,
    sono uno studente alle prime armi con Arduino. Ho acquistato la wifi shield Rev.3 ART. CV11 (allego il link del prodotto in fondo al messaggio) e con essa vorrei realizzare un progetto che prevede l’acquisizione tramite una fotoresistenza del lampeggio del contatore e inviare i dati al pc in tempo reale (datalogger). Secondo te è fattibile?
    La seconda domanda riguarda il router. E’ fattibile usare come router la web cube della 3?

    Ti ringrazio anticipatamente per la tua disponibilità

    …. ARDUINO-SHIELD-WiFi-Rev-3 …

    1. Ciao Giorgio,
      ti chiedo la cortesia di non inserire nei commenti link a rivenditori di materiale non ufficiali.
      La wifi shield che segnali è quella ufficiale arduino, almeno dalle foto, per cui ciò che vuoi realizzare dovrebbe essere possibile anche se io in prima persona non ho mai provato a realizzarlo.
      Alla seconda domanda non so rispondere non possedendo un router come quello che indichi, se è possibile avere un minimo di configurabilità su questo router come il port forwarding ed il dynamic dns penso sia possibile riuscire a ottenere quello che ti occorre.

    • Gian Maria il 2 Novembre 2014 alle 11:06
    • Rispondi

    Buongiorno Mauro,

    Ho la necessità di sapere, prima di avventurarmi nel mio progetto e relativo studio delle singole parti, se è possibile comandare due motori passo passo tramite una app di android collegata ad Arduino con scheda bluetooth.
    Se si! come affrontare lo studio e i relativi step.

    grazie fin d’ora della tua disponibilità
    Gian Maria

    1. Ciao Gianmaria,
      si è possibile ed anche in molteplici modi.
      Io ti consiglio di studiare sia la parte relativa ai motori passo-passo con driver tipo la easydriver o simili, che semplificano lo sketch sia di studiare la comunicazione di tipo seriale, magari bluetooth, perché più semplice ed affidabile della wifi.
      Ti consiglio l’uso di questa shield: http://www.lemontech.cc/it/lemontech-bluerelay-shield-per-arduino.html

    • Gian Maria il 4 Novembre 2014 alle 15:42
    • Rispondi

    Caro Mauro,
    ti ringrazio della risposta data, ti spiego in poche parole quello che intendo fare.
    recentemente nel mio condominio ci sono stati alcuni furti negli appartamenti con notevole semplicità e velocità.
    in merito avevo pensato ad un catenaccio mosso da un motore passo passo governato tramite bluetooth e un’App di android; cosicché quando esco di casa, inserisco dall’esterno il catenaccio interno.
    naturalmente il bluetooth deve essere configurato in modo da riconoscere oltre al mac address una password personale.

    se ti viene in mente qualche suggerimento da darmi ti aspetto .
    per il momento non mi resta che studiare.
    Grazie e complimenti

    Gian Maria

    1. Ciao Gian Maria,
      più di un motore, per il tuo progetto, potresti preferire un sistema con solenoide che funzioni tipo i vecchi blocca porte di una volta in cui un pistone mosso elettricamente, ed istantaneamente, si estende o si ritrae se gli fornisci energia o la interrompi.
      Per controllare tali solenoidi puoi usare uno dei relay presenti sulla scheda che ti ho indicato.
      Con l’altro relay potresti controllare un secondo sistema di chiusura, maggiore sicurezza, o accendere le luci al tuo rientro.

        • Gian Maria il 6 Novembre 2014 alle 10:50
        • Rispondi

        grazie per il consiglio,
        avevo scartato questa possibilità perchè con il motore stepper posso trasformare la velocità in potenza con basso voltaggio, il tutto perchè in caso di mancanza di corrente possa intervenire una batteria ausiliare che credo non possa essere impiegata per un solenoide di cui mi parlavi. forse mi sbaglio.
        inoltre c’è da considerare eventuali attriti nel momento degli innesti.
        buona l’idea di poter accendere anche la luce.

        grazie ancora
        Gian Maria

        1. Ciao Gianmaria,
          non penso ad un solenoide che debba essere alimentato per mantenere la posizione, ma a qualcosa di elettromeccanico, che una volta posizionato resti tale fino al successivo invio di tensione.
          In questo modo i consumi sono nettamente ridotti. Considera che anche il motore passo-passo o il servomotore devi alimentarli costantemente perchè mantengano la posizione e penso siano più soggetti a malfunzionamenti.

            • Gian Maria il 7 Novembre 2014 alle 09:57

            Grazie Mauro,
            mi sto già acculturando con i tuoi corsi online e sto facendo una ricerca in internet per trovare dei blocca porta solenoidi. Finora ho trovato solo kit di 4 bloccaporta per auto con relativi telecomandi e centralina alimentata a 12 v. Al riguardo sto valutando la possibilità di usare quest’ultimi come soluzione finale.

            Grazie ancora e spero di risentirti quando comincerò la compilazione del programma.

          1. Ottimo Gian Maria,
            il risultato finale deve soddisfarti.
            In ogni caso se esistono dei kit con telecomando esisteranno anche i soli bloccaporta come ricambio per auto e facilmente reperibili.
            Penso che una soluzione basata su cellulare ti eviti di portarti in giro un ulteriore telecomando.

    • andrea il 9 Maggio 2015 alle 16:56
    • Rispondi

    Devo aggiornare il firmware della Arduino wifi shield. Mi sono procurato i file necessari ed eseguito tutti i passaggi descritti nel tuo tutorial solo che dopo l’invio del comando per l’aggiornamento l’esecuzione si blocca si blocca allo step 3:
    “AtLibUsbDfu.dll not found”
    Praticamente come se non leggesse la scheda.
    In effetti dalla gestione dispositivi del pannello di controllo vedo un punto esclamativo sull’icona relativa.
    Mi potresti dare una mano a risolvere il problema?
    Grazie
    Saluti

    1. Ciao Andrea,
      questa shield non mi risulta possa aggiornare il firmware.
      Probabilmente tu possiedi la wifi shield originale arduino, mi aggiungi il commento nell’articolo che hai seguito così posso aiutarti.

    • Mario il 27 Novembre 2015 alle 23:47
    • Rispondi

    Buonasera,
    leggendo qualche pagina di questo interessantissimo sito mi son deciso a prendere lo starter kit ufficiale arduino! Siccome alla fine so gia’ dove andro’ a parare…. ho cominciato a informarmi su come collegare l’arduino al WiFi… Ma non ho avuto una piacevole sorpresa: davvero per collegare l’arduino al WiFi bisogna spendere la bellezza di 80€ ??? Perche’ i vari SHIELD di cui leggo in giro hanno quel prezzo!! Se fosse cosi’, a parte l’uso prettamente hobbistico/didattico, non vedrei molto spazio per un utilizzo concreto…

    1. Ciao Mario,
      di soluzioni WiFi ne esistono oggi molti tipi, con arduino e senza arduino, puoi leggere i miei ultimi articoli in merito.

    • Cristian il 19 Febbraio 2016 alle 18:42
    • Rispondi

    Buonasera.
    Per usare la libreria serve necessariamente la shield o vanno bene anche i moduli (come questo http://…../Modulo-ESP-01-ESP8266-WiFi-Transceiver )?
    In questo caso a che pin deve essere collegato?
    Grazie mille

    1. Ciao Cristian,
      in primo luogo ti chiedo di rispettare le regole del blog scritte in ogni articolo, inserire link a siti di aste e simili è vietato.
      In ogni caso il modulo che hai indicato non c’entra nulla con questa libreria, ho scritto altri articoli che puoi leggere su questo modulo.

    • giuseppe il 6 Novembre 2016 alle 18:44
    • Rispondi

    buonasera
    sono profane di arduino ma ne ho sentito parlare bene e vorrei iniziare ad eseguire una applicazione,
    vorrei fare un’applicazione usando il wifi per gestire l’apertura del cancello tramite applicazione su telefono android. sai darmi consigli? grazie in anticipo

    1. Ciao Giuseppe,
      non conosco il tuo livello attuale di competenze ma se, come scrivi, sei profano, inizierei con un progetto semplice e seguendo qualche corso, anche il mio corso on-line gratuito.

    • Riccardo il 7 Novembre 2016 alle 11:31
    • Rispondi

    Ciao Mauro,
    non riesco ad utilizzare la libreria con l’ide 1.6.12
    Ci sono librerie aggiornate?
    Grazie infinite.

    1. Ciao Riccardo,
      hai provato nella “Gestione Librerie” dell’IDE?
      La libreria WiFI esiste in diverse forme adatte più o meno a ciascuna delle schede WiFi progettate dai diversi vendor.
      Tu hai la medesima shield?

    • Mario il 19 Luglio 2017 alle 21:34
    • Rispondi

    Ciao Mauro ho copiato il tuo codice nel mio ide arduino ho cambiato i valori per le impostazioni di rete che devo settare e quando carico il tutto su arduino mi da il seguente errore: ‘prog_char’ does not name a type
    Ho provato a mettere const char ma non funzionava lo stesso. Come posso risolverlo? Grazie

    1. Ciao Mario,
      questa scheda è alquanto datata, la tua è la medesima?
      Prova a chiedere al produttore una libreria aggiornata o usa un IDE con versione 1.0.5 o similare

        • Mario il 21 Luglio 2017 alle 12:55
        • Rispondi

        Credo di no, la mia scheda si chiama esp13 shield. Ho provato a caricare su arduino un esempio che trovi neli esempi dell’ide di arduino e mi diceva tramite monitor seriale che la scheda no era presente. Cosa posso fare?

        1. Ciao Mario,
          devi usare codice, rilasciato dal produttore dell’Hw, adatto alla scheda che possiedi.
          Purtroppo non puoi utilizzare librerie non adatte all’hw in tuo possesso.

    • Antonio il 13 Ottobre 2017 alle 09:01
    • Rispondi

    Buon giorno Mauro,
    volevo innanzi tutto farti i complimenti per la tua professionalità.
    Mi presento: mi chiamo Antonio e da qualche tempo sto armeggiando con arduino mega R3 2560 e una wifi shield sempre acquistata da arduino.

    Lo scopo del progetto sarebbe quello di connettere arduino, munito di shiled, al pc e trasferire messaggi midi che sono opportunamente creati lato arduino e grazie alla libreria AppleMidi.h spediti al pc.
    Per farlo comunicare con il pc, è necessario (lato pc) un driver che crea una sessione midi virtuale. E’ tutto molto semplice in realtà, ma sono giorni (e notti) che perdo la testa perché non appeno creo la la sessione midi, dopo che la shield si è correttamente collegata al wifi di casa, quando cerco di aggiungere l’arduino con l’ip e la porta forniti dal DHCP, mi viene sempre sbattuta la porta in faccia dicendo che il dispositivo non ha risposto alla richiesta.
    Ho provato a cambiare il codice, sostituendolo direttamente con uno degli esempi ufficiali inclusi nella libreria Wifi.h e che fa all’incirca quello che voglio ma il risultato è lo stesso. Ho provato infine a lanciare lo stesso esempio, modificato opportunamente per compatibilità, su una Huzzah esp8266 e funziona tutto perfettamente. Il mio problema è che devo utilizzare per forza la prima soluzione dovendo leggere up po di valori in input dai sensori e ho bisogno almeno di 2 input analogici e 6 digitali e la Huzzah non li ha.
    Hai una vaga idea di quale potrebbe essere il problema? io ho davvero esaurito le mie soluzioni.

    Grazie mille

    1. Ciao Antonio,
      il quesito è interessante ed ho voluto, eccezionalmente, approfondire quello che scrivi.
      Non ho poruto provare la libreria, ache perché non la conosco e non ho modo di fare dei test con una architettura simile alla tua.
      Ho trovato sul gitHub : The goal of this library is to enable an Arduino (with an Ethernet shield) or ESP8266 to particpate in an AppleMIDI session.
      che mi fa dedurre l’impossibilità ad usare questa libreria con WiFi differenti dalla ESP8266 il che spiegherebbe anche perché con Huzzah funzioni.

    • Simone Dallai il 7 Settembre 2019 alle 18:44
    • Rispondi

    Ciao Mauro grazie del tutorial!
    LA mia domanda è se utilizzo l ultima versione di arduino uno Wi-Fi posso utilizzare il codice del tuo tutorial!

    1. Ciao Simone,
      devi verificare che non ci siano differenze di connessione tra la parte WiFi integrata e quella in shield e che le librerie siano compatibili.

  1. […] la GPRS shield. Per connettere il tuo progetto alla grande rete hai già letto come utilizzare la WiFi shield o Ethernet Shield ma quando non hai la possibilità di collegarti ad una rete già esistente puoi […]

  2. […] la GPRS shield. Per connettere il tuo progetto alla grande rete hai già letto come utilizzare la WiFi shield o Ethernet […]

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.