Arduino Ethernet Shield

Ciao a tutti ero interessato ad un Ethernet Shield ed ho visto che ce ne sono due in commercio..
Quella ufficiale e quella di nuelectronics..
Il programma che devo fare non deve svolgere nulla di difficile.. deve andare a caricare ogni 30 secondi circa una pagina e scaricare un numero e in base a questo eseguire un'azione..
E deve due volte al giorno inviare dei dati in POST al modem per accendere e spegnere l'interfaccia WiFi
Per fare questo compito quale delle due schede è più consigliata?
Ho visto che una (l'originale) costa più del doppio della tarocca solo che (sembra) molto più facile da programmare..

ciao Guglio,
ti confermo che l'Ethernet Shield originale è più semplice da programmare.
In realtà son entrambe semplici da programmare, ma la libreria creata per lo shield della Nuelectronics ha metodi e funzioni non proprio leggibilissimi :slight_smile:

La differenza sostanzialmente sta nel chipset usato.
L'Ethernet Shield originale usa il WIZnet W5100, mentre l'altra l'ENC28J60.

A dire il vero ci sono più varianti:
che montano il WIZnet w5100 c'è pure il modulo WIZNET WIZ812MJ, che va montato su shield apposito (ce ne son ovarie versioni, della Adafruit e della NKC); che monta il ENC28J60 c'è pure un progetto DIY di una scheda delle dimensioni di una carta di credito che monta anche l'ATMega (lo trovi su Instructables).

Spero di non averti confuso di più le idee!
M

Grazie..
Scarto a priori l'instructable perchè non sono ancora così pratico da riuscire a costruirmi la scheda in casa..
Sono indeciso quindi fra le due schede, tarocca ed ufficiale...

Il codice di quella non ufficiale è come hai detto tu complicato da leggere perchè le funzioni hanno nomi assurdi che non aiutano a capire la loro funzione (scusate il gioco di parole :P)
Ad esempio in questo codice fornito come esempio
Qual'è la variabile che si valorizza con il contenuto della pagina?
E' la variabile plen o buf?
Poi faccio anche una domanda un po' scema.. quante volte si ripete lo sketch? Da quello che ho capito io infinite volte visto che alla fine del ciclo la variabile client_data_ready viene riportata a 0... Solo che non vedo nemmeno un delay nel ciclo loop: significa che il ciclo è lentissimo da eseguire o che chi ha creato lo sketch era uno scellerato?
Scusatemi tanto per il tempo che vi rubo..

(Link allo sketch perchè non ci sta nel post :-?)

ciao,
il codice che viene eseguito dopo il setup, è il loop, che come dice il nome stesso viene eseguito.. in loop

Nel caso specifico che linki tu (io avrei linkato il codice sul sito originario, o perlomeno avrei citato la fonte), il loop è questo:

void loop(){
        if(client_data_ready==0){
          delay(60000UL);             // delay 60s
          getCurrentTemp(sensorData);
          client_data_ready = 1;
         }
      client_process();
}

Senza andare a fondo nelle singole funzioni, se la variabile client_data_ready è uguale a 0, allora attende 60 secondi, rileva la temperatura corrente, setta la variabile client_data_ready a 1.
Viene chiamata poi la funzione client_process().
E' questa funzione che eventualmente setta la variabile di cui sopra a 1.
Si tratta fondamentalmente di una variabile di controllo.

O.o mi scavo una fossa e mi sotterro..
Non so perchè ma i miei occhi hanno saltato quel delay che parla e dice leggimi :stuck_out_tongue:
Scusami tanto..
Non ho linkato il sito ufficiale solo per non far scaricare tutto lo zip a chi voleva aiutarmi.. comunque il link originale è questo (http://www.nuelectronics.com/download/projects/etherShield.zip)

Mentre c'è un modo per leggere il risultato che la pagina sul webserver invia all' arduino?