Articolo su Ethernet shield client

Ciao ragazzi! Ho iniziato a lavorare su ethernet per un sistema domotico a casa mia e ho deciso di caricare un semplice tutorial sull'hello world all'ethernet shield wiznet lato client. Ho notato che in italiano c'è poco su questo ambito e difficilmente si trovano info su le varie differenze tra i vari operatori internet per le versioni dell'ide precedenti alla 1.0:

Non conoscevo i problemi del chip Wiznet... :astonished:
Quello che ho notato è che la velocità di download dei dati è lentissima.

EDIT: ma quindi secondo te tutte queste schede: http://arduino.cc/en/Main/ArduinoBoardEthernet sono malfunzionanti ??
Come si resetta?! Ogni quanto consigli di farlo? Se viene utilizzato come server non è molto comodo che il server si resetti ogni tot...

qui io utilizzo HTTP/1.1 a differenza di HTTP/1.0 perchè moltissimi server che contengono piu' di un sito internet non riceverebbero correttamente il GET e otterrebbero una richiesta priva di URL, con questo sketch invece potremo connetterci per esempio a qualsiasi server aruba (che contengono centiana di siti x server) e richiedere l'HTML di un qualsiasi sito. Ovviamente è necessario dopo GET inviare Host: con l'url del sito a cui ci si vuole connettere e una linea vuota che viene considerata come la fine della richiesta.

se ne era parlato qui tempo fa:

cmq funziona anche con HTTP/1.0.

Come si resetta?! Ogni quanto consigli di farlo?

qui si è parlato delle possibili soluzioni (hw e sw):
http://arduino.cc/forum/index.php/topic,93717.0.html

Quindi essendo tutti costretti a cambiarla, il diritto del consumatore dove è finito? Garanzia? Riuniamoci e chiamiamo Canzona :grin:

Non puoi risolvere con un 555 esterno, quando lo sketch cerca la ethernet tramite bus, cerca la SD sempre sullo stesso bus e la trova inchiodata, crasha anche lo sketch, devi riavviare tutto, micro e shield e con rele attivi, timer in corso è un danno.

Avevo pensato a tamponare con un controllo esterno, se si trattava solo di resettare la ethernet, pazienza si poteva fare, ma è proprio quando vado a interrogare la shield 1 volta su 20 crasha tutto

pablos:
Avevo pensato a tamponare con un controllo esterno, se si trattava solo di resettare la ethernet, pazienza si poteva fare, ma è proprio quando vado a interrogare la shield 1 volta su 20 crasha tutto

Ma state parlando delle schede ufficiali? :astonished:

Si schede ufficiali, purtroppo sembra essere un problema piuttosto diffuso, quello che mi dispiace è che diverse persone hanno ovviato privatamente senza esporre il problema, forse pensando che poteva essere solo una singolarità, in questo modo abbiamo perso mesi di probabili revisioni!!

In questo forum avevo già esposto (a ottobre o novembre non ricordo del 2011) strani comportamenti della ethernet, ma siamo in 4 gatti ad averla e 2 di questi 4 gatti leggono e tacciono.

pablos:
Si schede ufficiali, purtroppo sembra essere un problema piuttosto diffuso, quello che mi dispiace è che diverse persone hanno ovviato privatamente senza esporre il problema, forse pensando che poteva essere solo una singolarità, in questo modo abbiamo perso mesi di probabili revisioni!!

In questo forum avevo già esposto (a ottobre o novembre non ricordo del 2011) strani comportamenti della ethernet, ma siamo in 4 gatti ad averla e 2 di questi 4 gatti leggono e tacciono.

Pablos, lo sai, anche io sto giocando con la eth shield (l'ultima versione)... ma onestamente la situazione non mi sembra così drammatica.
Da quando ho messo il wdt non ho mai avuto problemi, anche se al momento ho tenuto acceso per max una settimana continuativamente.
Il keep alive od il watchdog vanno sempre e comunque implementati a parer mio, non conosco "aggeggio" informatico che funzioni continuativamente senza problemi :slight_smile:
Tutto crasha o si impianta periodicamente.
In aggiunta alcuni bug "dell'eth shield" in realtà sono bug della libreria eth, tipo il famoso issue 605...
E' ovvio che si possa sempre costruire un hardware migliore ma, quantomeno per ora, io non ne sono scontenta :slight_smile:
Funziona benone e speriamo che queste non siano le ultime parole famose! :DDD

anche io dicevo così all'inizio :smiley: :smiley: :smiley:

pablos:
anche io dicevo così all'inizio :smiley: :smiley: :smiley:

Vado a cercare un bel ferro di cavallo con allegato cornetto va! :smiley:

Ora faccio un ultimo tentativo a passare tutto con le nuove librerie della 1.0, magari sarà inutile, ma tanto prima o poi lo dovevo fare, se si freeza e crasha ancora senza reale motivo la cambirò.

@legacy
Lasciala in test ancora un po' e vediamo :D, ma ogni tanto ti colleghi per vedere se è viva o è costantemente in comunicazione?

ciao

P.S. secondo me il problema che ha questa scheda è il gestire SD ed ethernet praticamente simultaneamente e di continuo, ma è inevitabile per me, il mio webserver è statico su SD.

io le ho entrambi e posso confermare che con la enc non ho mai avuto problemi, con il wiz invece si.
il wiz avendo lo stack tcpip integrato è molto attraente per la semplicità d'uso con poche righe di codice, mentre l'enc è quasi "bare bone" e tutto il lavoro che fà su tcpip è implementato via software (e quindi in caso di problemi , aggiustabile), è questo è il secondo vantaggio (secodo mè) del'enc , il primo è il prezzo $) , fra l'altro ho visto che stanno iniziando a fare gli shield con l'enc e l'sdcard come quelle ufficiali.
Però c'è un piccolo problemino (superabile) anche con l'enc, ha il buffer di trasmissione un pò piccolo. (anche questo problema è aggirabile via software)

Ciao raga! ho provato a resettarla dopo una query e un delay di tot secondi ed è andata avanti quasi 5 ore senza intoppi con un get che permette di salvare 5 variabili su db mysql. Sono riuscito anche a rappresentarlo con un bel grafico. Ora finisco l'estetica e ve lo mostro :grin:

gbm:
Ciao raga! ho provato a resettarla dopo una query e un delay di tot secondi ed è andata avanti quasi 5 ore senza intoppi con un get che permette di salvare 5 variabili su db mysql. Sono riuscito anche a rappresentarlo con un bel grafico. Ora finisco l'estetica e ve lo mostro :grin:

Siiiii :slight_smile:
sono curioso di vedere come hai fatto :slight_smile:

A me pare una cosa grave, però. Che cioè una scheda ufficiale usi un chip che è risaputo dia problemi di questo tipo e che sia messa in vendita lo stesso. Purtroppo vedo che non è la prima volta che è successo una cosa del genere, e curiosamente nonostante il tempo di gestazione del prodotto stesso duri alle volte mesi: uno si immagina che in quel lasso di tempo il prodotto venga testato come si deve, invece pare proprio di no.

leo72:
A me pare una cosa grave, però. Che cioè una scheda ufficiale usi un chip che è risaputo dia problemi di questo tipo e che sia messa in vendita lo stesso.

Leo, prima di sparare a zero su un prodotto sarebbe il caso di andare sul sito del produttore e scaricarsi il pdf relativo alle "errata" del chip in oggetto. Premesso che non esiste nessun chip complesso privo di bug hardware, che vengono comunque eliminati, o ridotti come rilevanza, nelle successive versioni, normalmente questi bug sono noti, sopratutto ne i chip maturi come il W5100, ed esistono specifici workaround indicati dal costruttore stesso a seconda della release del chip.
Nel caso del W5100 non esiste nessun bug che obbliga a resettarlo, basta prendere una serie di provvedimenti, molto semplici, a livello del software di controllo per ovviare ai problemi, ovvero basterebbe integrare nelle librerie della ETH i vari workaround per ovviare completamente ai problemi di apparente blocco senza dover resettare nulla.

Non so voi, ma io ho un arduino con ethernet shield ufficiale che monta il wiz5100 il sistema è acceso ininterrottamente da otto mesi e tutto funziona bene, prima di inviare il post ho controllato per sicurezza.
Ho fatto anche delle altre prove installando su un hardware simile un web server con lettura delle pagine da sd e funziona pure quello.
Io ho due ethernet shield entrambe ufficiali, una è vecchio modello e non si resettava insieme all'arduino, per cui durante la fase di sviluppo ho avuto dei problemi, mentre l'altra è di quelle nuove (hanno la predisposizione per il montaggio del modulo poe) e il problema del reset è stato risolto.
Domani dovrei comprare un modulo poe così faccio un po di prove anche con quello.
Ciao.

Alberto

leo72:
A me pare una cosa grave, però. Che cioè una scheda ufficiale usi un chip che è risaputo dia problemi di questo tipo e che sia messa in vendita lo stesso.

Io vorrei saper se esista un minimo di casistica sul tipo : dopo x ore si e' bloccata .

Il mio "coso" fotovoltaico , giusto per provare , lo ho lasciato in funzione proprio per vedere se si blocca
Sta funzionado e risponde dopo oltre 40 ore ; oggi e' il 2 ed e' dal pomeriggio del 29 febbraio che non resetto o riavvio

Il "coso" e' inserito in una rete che definirei domestica collegata ad un router Cisco ; l'IP della scheda e' un IP locale che il router "natta" su un IP pubblico .
Dall'esterno e' visibile perche' e' di fatto una macchina pubblica
Io noto che il Led RX lampeggia spesso e volentieri ; forse e' questo che lo tiene sveglio ??
La rete e' fatta tutta con Switch Gigabit e quindi il led dovrebbe lampeggiare solo se la scheda viene interrogata ; ci sono pero' gli spider che vi assicuro spazzolano in continuazione tutti gli IP pubblici alla ricerca di pagine web

Continuo lo sproloquio descrivendo 2 esperienze pratiche
Lettore Barcode ( Datalogic ) connesso come client ad un dispositivo Server che deve ricevere le letture
Devo spegnerlo perche' se rimane inattivo per una mezz'ora non invia piu' niente ; che abbia un Wiz.. anche questo ??

Convertitore di porta RS232 <-> Eth MOXA impostato come client
Il dipositivo Ethernet Server "lamenta" l'arrivo di codici sconosciuti e li segnala sulla sua console
Questo perche' con ogni probabilita' il Moxa invia delle stringhe per tenere sveglia la connessione
Vero e' che se collego 2 Moxa per remotare una seriale , la seriale funziona imperterrita per giorni e giorni

Sempre in tema di poerte Eth che si bloccano , il mio impianto fotovoltaico ha uno scatolotto con uscita Ethernet per fornire al programma sul server la raccolta dei dati
Ho dovuto montare un marchingegno perche' si spenga quando l'inverter si spegne e si riaccenda alcuni minuti dopo che l'inverter torna ON ; il tutto perche' pure lui ogni 3 4 giorni si inchioda

Allora e' il Wiz... o qualcosa di intrinseco nelle reti ??

bigjohnson:
Io ho due ethernet shield entrambe ufficiali, una è vecchio modello e non si resettava insieme all'arduino, per cui durante la fase di sviluppo ho avuto dei problemi, mentre l'altra è di quelle nuove (hanno la predisposizione per il montaggio del modulo poe) e il problema del reset è stato risolto.

Sulle prime versioni effettivamente c'era un problema, puramente hardware a livello di schema, di reset all'accensione, nulla a che vedere con il software o con il W5100, problema eliminato nelle release successive ed eliminabile con un piccolo ritocco circuitale su quelle afflitte da quel problema.
Da notare che i vari problemi di blocchi, rallentamenti del W5100 non sono universali, solo alcuni utenti li hanno avuti, dipendono molto da come viene usata la ETH e con quali librerie, io ho diversi amici che la usano per varie applicazioni, con software totalmente scritto da loro, inclusa la gestione del W5100 senza usare librerie pappapronta, e non hanno mai avuto problemi.

astrobeed:
Leo, prima di sparare a zero su un prodotto sarebbe il caso di andare sul sito del produttore e scaricarsi il pdf relativo alle "errata" del chip in oggetto.

Sapete tutti che non ho una ethernet shield. I miei giudizi si basano sulle testimonianze degli utenti che leggo qui, ho chiesto se i problemi ci fossero anche sulle schede ufficiali proprio per non sparare a zero, per non accusare ingiustamente. Se in molti confermano che i problemi ci sono e sono "rognosi", non semplici noie, io dico che forse i test non sono stati condotti in maniera approfondita oppure si è sbagliato qualcosa in fase di progetto.
Mi ricordo ancora il problema delle ethernet dell'anno scorso:
http://www.watterott.com/en/blog/Upload-problem-with-Ethernet-Shield
Oppure la resistenza da saldare sul retro di alcuni Arduino.