Arduino ethernet shield consiglio acquisto

Salve a tutti,
Sono intenzionato a comprare una ethernet shield, però non saprei se acquistare la versione originale o una compatibile.
Mi potreste dare un consiglio non vorrei buttare via i soldi, ma neache ritrovarmi con un prodotto non funzionante.

Esistono sostanzialmente 2 modelli di ethernet shield, uno monta il chip Wiz5100, come sull'ufficiale, e l'altro l'ENC28J60.
Quelle col Wiz sono più costose ma possono sfruttare le librerie ufficiali, quelle con l'ENC sono più economiche, ma hanno delle librerie a parte e utilizzano maggiormente l'Arduino come calcoli e memoria.
Per progetti ti consiglio l'acquisto di soluzioni ufficiali, per fare prove e se non ti importa di qualche fortuito malfunzionamento allora puoi rivolgerti alle schede compatibili e risparmiare qualcosa.

PaoloP:
fortuito malfunzionamento

Come se l'originale fosse esente da problemi... si pianta... O.o
Meglio i compatibili, ho notato che molto volte hanno delle soluzioni migliori rispetto agli originali: la dissipazione del calore è più efficente.
Poi sono mie considerazioni, sei libero di fare quello che vuoi, ma secondo me è un grandissimo spreco di soldi spendere 40 € per una Eth Shield quando con 7 euro ne prendi una compatibile con il Wiz5100.
Per quanto riguarda l'ENC28J60 c'è una libreria che permette di usarlo con gli stessi comandi del W5100, provato personalmente.
Fossi in te prenderei tutte e due le soluzioni, tanto tornano utili.
Ciao
C

Ok grazie per le info ,comunque credo che prendero una compatibile w5100 , inoltre ho notato che in meno hanno solo i fori del modulo poe che ha me non interessa tanto.

Ciao

Meglio i compatibili, ho notato che molto volte hanno delle soluzioni migliori rispetto agli originali: la dissipazione del calore è più efficente.

ovvero?

Vedi il dissipatore del regolatore.

Ho ricevuto finalmente l'arduino ethernet shield compatibile ma non ce traccia di indirizzo MAC, come faccio?

Inventane uno.

ok sono riuscito a farlo funzionare con sketch tipo ping e web client ma non riesco a visualizzare pagine collegandomi con l'indirizzo ip sulla bara degli indirizzi cosa puo essere? posto il codice di esempio

//Aggiungo le librerie necessarie
#include <SPI.h>
#include <Ethernet.h>
 
//definiamo due arrey: il primo per definire l'indirizzo mac, il secondo per definire l'indirizzo IP.
//Per quanto riguarda l'indirizzo IP selezionate un indirizzo valido per la vostra rete locale.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = {192, 168, 56, 1};

//definiamo la porta di ascolto
EthernetServer ArduinoServer(80);

//variabile char per memorizzare i pacchetti
char Data_RX;
 

void setup()
{
    //inizializziamo la scheda con indirizzo mac e IP, e avviamo il server
    Ethernet.begin(mac, ip);
    ArduinoServer.begin();
}
 
void loop()
{
   //Ascolto delle richieste
   EthernetClient pc_client = ArduinoServer.available();
 
   //Verifico se ci sono richieste tramite "pc_client" true
   if (pc_client)
   {
       //con un ciclo while verifico che il client sia connesso
       while (pc_client.connected())
       {
           //Controllo se ci sono byte disponibili per la lettura
           if (pc_client.available())
           {
               //leggo i byte provenienti dal client
               Data_RX = pc_client.read();
 
               //mediante la presenza di "\n" presente in Data_RX possiamo dedurre che abbiamo ricevuto i dati
               if (Data_RX == '\n')
               {
                   //invio pagina HTML
                   pc_client.println("HTTP/1.1 200 OK");
                   pc_client.println("Content-Type: text/html");
                   pc_client.println();
                   pc_client.print("<html><body><h1>");
                   pc_client.print("<h1>Hello world Arduino Web Server</h1>

Vieni a visitare <a href=\"http://www.linuxmx.it\">LinuxMX</a></body></html>");
                   
                   //aspetto 1 ms affinche la risposta giunga al browser del client
                   delay(1);
                   
                   //esco dal ciclo
                   break;
               }
           }
       }
 
       //chiudo la connessione
       pc_client.stop();
   }
}

Praticamente io carico il codice e non mi da problemi nel caricarlo, dopodiche per visualizzare il risultato mi devo collegare a http://192.168.56.1 ?

skalash:
con l'indirizzo ip sulla bara degli indirizzi cosa puo essere?

Deve essere morto il browser. :grin: :grin:

XD

Hai windows? Io ho scaricato questo piccolo programmino che scandisce la rete e verifica i vari ip.
E' gratis. SoftPerfect Network Scanner : fast, flexible, advanced
Non si installa neppure.
Gli dai come range 192.168.56.0 -> 192.168.56.255 e ti elenca tutti i dispositivi.

Se allo sketch NON dai l'IP allora sfrutta il DHCP del router (se attivato) e prende un ip dato dal router.
Puoi provare questa tecnica.

Ma tu come sei messo? Windows? router con dhcp attivo? wireless?

allora io uso windows e sfrutto l'ethernet per arduino e il mio pc è collegato tramite wifi, comunque sia non sono molto pratico di reti

allora il tuo programmino funziona e sono risuscito a trovare il mio indirizzo ip e il dhcp del mio ruter è attivo

Quel programmino ti dice anche i numeri MAC address dei vari dispositivi. Verifica che per pura sfortuna tu non abbia dato allo shield un numero già occupato (difficile ma non si sa mai).