Go Down

Topic: Articolo su Ethernet shield client (Read 8 times) previous topic - next topic

astrobeed


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.

bigjohnson

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

brunol949


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 ??
Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

astrobeed


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.

leo72


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.


BrainBooster

Magari per tagliare la testa al toro basterebbe, come diceva astrobeed, implementare i workaround nelle librerie ufficiale e pace.. :)

astrobeed


Non esite il baco hardware, pero' esiste il workaround: mega rotfl


Non ho detto questo, ho detto che non c'è un bug hardware che obbliga al reset, è un pochino diverso dal dire che non ci sono bug hardware in assoluto.

bigjohnson

#22
Mar 02, 2012, 10:59 am Last Edit: Mar 02, 2012, 11:28 am by bigjohnson Reason: 1
In giro ci sono diverse librerie per webserver, penso che qualcuna non sia fatta proprio benissimo per cui ogni tanto si blocca.
La mia applicazione che va da otto mesi è un server telnet, scritto tutto da me.
Purtroppo per scrivere una libreria o sketch decente che usi i socket bisogna anche prevedere errori di protocollo, e non fare mai funzioni che si bloccano all'infinito in attesa di dati dal client, che magari ha avuto un problema o non è più connesso a causa di un interruzione nella rete, e non risponderà mai più.
All'arducamp Banzi ci ha spiegato che hanno dovuto aggirare molti bug hardware e software della wiznet, ma li hanno risolti anche nelle librerie ufficiali che implementano le comunicazioni ip nell'ide.
Io per le provare il webserver ho usato la libreria WebserverSD (per scaricare il codice bisogna avere un utenza google) e funziona bene.
Per adesso la mia esperienza con la shield ufficiale e il wiznet è positiva.
Quando scrivete del codice per server socket su arduino, soprattutto webserver dovete sempre tener presente che la wiznet implementa tramite hardware quattro socket, tutte le implementazioni webserver che ho visto in giro non sono multitasking, per cui gestiscono un solo client alla volta, scendendo ad un socket.
Penso che il webserver arduino possa gestire correttamente l'accesso simultaneo di tre o quattro browser, tutto dipende da quante risorse (immagini, librerie javascript, menate varie) sono presenti nella pagina e devono essere serviti insieme alla stessa dall'arduino.
Non è assolutamente possibile esporre l'arduino direttamente su internet, le risorse non bastano, forse si può fare con un reverse proxy.

lucadentella


Non è assolutamente possibile esporre l'arduino direttamente su internet, le risorse non bastano


cosa cambia concettualmente esporlo su internet o in LAN?
lucadentella.it

bigjohnson

#24
Mar 02, 2012, 11:44 am Last Edit: Mar 02, 2012, 11:50 am by bigjohnson Reason: 1
Quote
cosa cambia concettualmente esporlo su internet o in LAN?

Che nella lan dovresti avere il controllo dei client che la utilizzano, ovviamente si parla di lan domestica, non di quella della fiera dell'automobile...
Se la esponi su internet ti possono arrivare da 1 a 1.000.000 di client simultanei, e magari anche di più, e il povero arduino non ha le risorse per gestirne più di uno.
Le prove per controllare arduino con il webserver interno le ho fatte pensando a piccole utenze, tipo alzo e abbasso il telo del proiettore, magari accendo qualche luce, più che altro per divertimento e per capire come usare json e javascript per fare pagine dinamiche che cambino insieme ai pin di arduino e che li possano controllare.
Se si vuole fare della domotica decente arduino può essere configurato come server ma deve rispondere ad un solo client che gira su un pc e che coordina tutte le utenze e serve le pagine web di controllo.
Con questa configurazione a stella si possono gestire anche centinaia di arduini e anche molti utenti simultanei.

Quote
Esperienza positiva wiz5100 ? urca, ma non la usi assieme alla SD, o si?

Si l'ho usata anche col la sd con la libreria WebserverSD, ho fatto delle prove e va, comunque non l'ho messa in produzione l'ho solo provata per qualche ora.

lucadentella


Quote
cosa cambia concettualmente esporlo su internet o in LAN?

Se la esponi su internet ti possono arrivare da 1 a 1.000.000 di client simultanei, e magari anche di più, e il povero arduino non ha le risorse per gestirne più di uno.


ok quindi non è il fatto di esporlo su internet il problema ma il fatto che non gestisce più connessioni simultanee.
lucadentella.it

lucadentella


Molto piu' sul semplice, dal punto di vista della sicurezza mi verrebbe una risposta tipo "cambiano un bel po' di cose". Ssh non la posso avere dentro arduino, ma dentro la fonera ci sta da dio.


ma sicurezza di Arduino? Non capisco bene... io tranquillamente espongo arduino su Internet nattando la porta su cui è in ascolto e non vedo possibilità che mi "violino" la schedina ;)
lucadentella.it

bigjohnson

#27
Mar 02, 2012, 12:07 pm Last Edit: Mar 02, 2012, 12:14 pm by bigjohnson Reason: 1
Quote
Ssh non la posso avere dentro arduino, ma dentro la fonera ci sta da dio.

Io purtroppo la fonerà non ce l'ho e mi sono arrangiato con pc e linux su CF.

Quote
ma sicurezza di Arduino? Non capisco bene... io tranquillamente espongo arduino su Internet nattando la porta su cui è in ascolto e non vedo possibilità che mi "violino" la schedina

Da quel punto di vista arduino è sicurissimo, al massimo si blocca, dipende da cosa si vuole fare, se lo natti su una porta non standard e lo sai solo tu è abbastanza sicuro, al massimo non risponde se ha troppe richieste, ma quando il picco termina ritorna reperibile.
Se lo usi invece per un servizio condiviso pubblicato su internet che attira molti utenti, non ha abbastanza risorse per gestirli tutti, se poi leggi i dati dalla sd, che non è proprio un fulmine come velocità, sicuramente ci saranno dei problemi.

bigjohnson

#28
Mar 02, 2012, 02:26 pm Last Edit: Mar 02, 2012, 02:32 pm by bigjohnson Reason: 1
Quote
ti posso fare un attacco D.o.S.?

Se cento utenti tentano di accedere simultaneamente al tuo sito e si verifica un D.o.S non è propriamente un attacco, è che hai un sistema inadeguato all'utenza.
arduino è un microprocessore ad 8 bit, le shield ethernet (sia wiz con stack ip hardware che microchip senza) è un prodotto eccezionale per imparare e anche realizzare sistemi embedded a basso costo, ma per farci un webserver pubblico no.

Quote
Basta una analisi statistica speculativa per scovarla

Il più sgrauso dei firewall attualmente in giro se ne accorge subito, anche se la fai casuale, e se ben configurato ti blocca l'ip in un attimo.

OT:
Mi hanno appena informato che è arrivato il modulo poe, c'è qualcuno che ha già fatto esperimenti?
Io ho messo le mani su cinque alimentatori poe della HP, sono rebrand cinese, penso ex telefoni voip a 48v.
Mi sa che sono un po ignorantelli, nel senso che non sono in grado di negoziare la potenza tramite il protocollo poe, ho controllato il jack ed escono 48 / 49 volt.
Esploderà tutto?

PaoloP

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Go Up