Go Down

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

brunol949


Semplicemente lo scopo e' quello di connettere nella rete la macchina del cliente che puo' essere controllata.

OK capito
Un telecontrollo insomma.
Con l'aggiunta di un dispositivo che esegue dei log quando non si e' connessi

Ho clienti che su alcune macchine datate e dotate solo di seriale usano sistemi di interconnessione su Ethernet per caricarci i file di lavoro e per fare controlli
Pensavo fosse una cosa del genere
Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

asamlink



Semplicemente lo scopo e' quello di connettere nella rete la macchina del cliente che puo' essere controllata.

OK capito
Un telecontrollo insomma.
Con l'aggiunta di un dispositivo che esegue dei log quando non si e' connessi

Ho clienti che su alcune macchine datate e dotate solo di seriale usano sistemi di interconnessione su Ethernet per caricarci i file di lavoro e per fare controlli
Pensavo fosse una cosa del genere


Si tratta proprio di un telecontrollo, con ormai la parte server (arduino) pressoche' completata! Mi sa che i convertiro' all'enc.

BrainBooster

:) ma fai prima un pò di test, magari in quell'ambito funziona perfettamente.
Per passare all'altro shield devi stravolgere (e non di poco) il codice originale.

bigjohnson

Massi prova, ti confermo l'uptime di otto mesi con la eth ufficiale wiz, senza problemi, con un protocollo e un utenza simili.

bigjohnson

#79
Mar 08, 2012, 10:53 pm Last Edit: Mar 08, 2012, 10:55 pm by bigjohnson Reason: 1
Ho appena provato

ping -f 192.168.1.177
PING 192.168.1.177 (192.168.1.177) 56(84) bytes of data.
.
^C--- 192.168.1.177 ping statistics ---
1163664 packets transmitted, 1163663 received, 0% packet loss, time 91197ms
rtt min/avg/max/mdev = 0.055/0.060/4.680/0.009 ms, ipg/ewma 0.078/0.060 ms

con lo schetch d'esempio ChatServer caricato sull'arduino e non ci sono stati problemi, anzi durante la prova mi sono connesso al server chat da due macchine diverse e ha funzionato tutto.
Devo dire che l'ho fatto attraverso uno switch managed decente.

@legacy
ho usato solo la wiz, non mi serviva la SD, e non ho usato nessuna tecnica di reset, lo schetch non è mai stato riavviato.

Alberto

bigjohnson

Bo c'è scritto sopra
Wiznet
Ethernet 5100
P8752-010
1042

pablos

Quote
Inizio ad intuire allora che il problema non sia la wiz da sola ma la wiz che condivide il bus spi con la SD, noto infatti che chi lamenta difetti li lamenta quando utilizza anche la sd e non una volta ogni tanto ma diverse volte


condivido. Qualche volta si ingrippa nella gestione delle porte 4 e 10, probabilmente qualche delay di pochi ms nel posto giusto sulle librerie potrebbe risolvere.
no comment

pablos

@legacy
Che minchia hai detto qui sopra? :)
no comment

BrainBooster

XD ha scritto che forse funziona uguale sotto pingflood. Magari lo switch gli  ha salvato il cuxxo.
Il prossimo test sarebbe quello di vedere come reagisce ai pacchetti che costringono ad una frammentazione eccessiva superando la finestra dell'mtu, magari provare a pingare mandando pacchetti giganteschi   o anche che eccedano di poco l'mtu ]:D
...è sempre e solo per curiosità.

brunol949


condivido. Qualche volta si ingrippa nella gestione delle porte 4 e 10, probabilmente qualche delay di pochi ms nel posto giusto sulle librerie potrebbe risolvere.

Io vorrei dare una conferma pratica a questa teoria

Nel mio "coso" fotovoltaico , la pagina html che si vede e' in realta' un collage di piu' file intercalati con i valori
Per cui leggo , invio , invio dato , leggo , invio , invio dato  ....... invio chiusura file
Ho dovuto inserire del delay 10 perche' altrimenti ogni tanto si inceppava
Ciao
Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

asamlink


hai usato solo la wiz o hai usato anche la sd card ?
hai usato la tecnica del reset ogni x secondi ?


Ho usato sia Wiz (W5100) che la SD (per il log).
Fino ad ora non ho riscontrato problemi, ma sono ancora in test. La tecnica del reset non l'ho ancora usata per un semplice motivo: se esiste il problema deve essere rivelato. Nello specifico del mio caso, procedo alla sua rivelazione e se riscontro l'anomalia, riprendo i test con il reset.
Comunque in alternativa ho pensato gia' alla soluzione ENC + SD, che forse e' meglio e piu' sicura. Ripeto non ho bisogno di super velocita', tanto il dato e' aggiornato a 9600 su rs485.
Il log per ora funziona scrivendo quando non invia; l'unico punto dove avvengono entrambe le operazioni e' al momento della richiesta di un file di log. Procedura assai rara, e in questo contesto l'arduino e' impegnato solo a fare questa cosa.

Ma Wiznet, dati questi presupposti, non ha ancora sistemato il W5100 o ha prodotto un chip sostitutivo?

Di nuovo grazie.

asamlink

Scusate un attimo,

Io con il chip W5100 avevo notato un problema di blocco con la eth e mi toccava resettare l'arduino (si piantava proprio, pingava soltanto)
Pero' girando e provando ho visto che con:
Code: [Select]

pinMode(10, OUTPUT);                       // set the SS pin as an output (necessary!) (53 anziche' 10 per il MEGA)
digitalWrite(10, HIGH);                      // but turn off the W5100 chip!

card.init(SPI_HALF_SPEED, chipSelect)


E da allora le noie non sono piu' tornate. Pero' attualmente il card.init non lo uso.

pablos

#87
Mar 09, 2012, 11:10 am Last Edit: Mar 09, 2012, 11:24 am by pablos Reason: 1
Devo dire che convertendo tutto da 0022 in 1.0 smanettando un po' con il setup di questo tipo (code qui sotto)
- togliendo alimentazione e rialimentando parte tutto senza reset
- al termine dell'upload sketch la ethernet parte senza reset
- mentre il browser gira a cercare l'ip e alimento arduino si connette

Tre problemi che avevo prima sembrano essere svaniti, sono a dir poco Esterre_fatto!!! :)
L'incubo del RESET è finito!!!!

resta da verificare cosa accade nel tempo ........ sperem


Code: [Select]

#include <SPI.h>
#include <Ethernet.h>
#include <Flash.h>
#include <SD.h>

void setup()
{
 delay(1000);
 Serial.begin(9600);
 delay(100);

 pinMode(SS_PIN, OUTPUT); // set the SS pin as an output(necessary to keep the board as master and not SPI slave)
 digitalWrite(SS_PIN, HIGH); // and ensure SS is high
 // Ensure we are in a consistent state after power-up or a reset
 // button These pins are standard for the Arduino w5100 Rev 3
 // ethernet board They may need to be re-jigged for different boards
 pinMode(ETHER_CS, OUTPUT); // Set the CS pin as an output
 digitalWrite(ETHER_CS, HIGH); // Turn off the W5100 chip! (wait for configuration)
 pinMode(SD_CS, OUTPUT);       // Set the SDcard CS pin as an output
 digitalWrite(SD_CS, HIGH); // Turn off the SD card! (wait for configuration)

 // initialize the SD card.
  card.init(SPI_FULL_SPEED, SD_CS);
   delay(10);
  volume.init(&card);
   delay(10);
  root.openRoot(&volume);
   delay(10);

 // Initialize the Ethernet.
 Ethernet.begin(mac, ip);
 delay(100);
   
 //Start UDP client
 Udp.begin(localPort);
 delay(100);
}


ciao
no comment

BrainBooster

#88
Mar 09, 2012, 03:31 pm Last Edit: Mar 09, 2012, 03:33 pm by BrainBooster Reason: 1
@bigjohnson se hai voglia e tempo prova a lanciare quasto comando:"  ping -s 512 -c 400 -f -n ipdelloshield" sono curioso di vedere come reagisce a questo tipo di sollecitazione (non sulla rete aziendale! meglio con cavo incrociato diretto)
edit:
poi cambia il 512 in 3000 e riprova

BrainBooster

#89
Mar 09, 2012, 05:13 pm Last Edit: Mar 09, 2012, 05:41 pm by BrainBooster Reason: 1
Legacy tutta la roba che hai scritto centra poco con quello che volevo capire :)
Io ero curioso di vedere come reagiva ai pacchetti fraggati creati da dati di dimensioni superiori all'mtu ethernet classico.
Non volevo tentare di saturare la banda , chiaramente, anche se con quel comando uccidi una isdn perun pò :D
La parte udp sarebbe stata la prossima dello stresstest, ma se hai una via rapida per provarla in condizioni hardcore, mostacela (chiaramente senza fare uso di qualcosa di particolare ;) hw/sw )
P.S. oh capito che lavori nel campo.... guarda che bel giocattolino http://www.spirent.com/Solutions-Directory/Avalanche

Go Up