Pages: 1 ... 3 4 [5] 6 7 ... 10   Go Down
Author Topic: Articolo su Ethernet shield client  (Read 6629 times)
0 Members and 1 Guest are viewing this topic.
Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2741
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

un incontro terribile con la ethernet shield, dopo un po' di connessioni non rispondeva più al richiamo IP 192.168.2.177 dal brewser, ho detto ecco si è freezata la eth arduino invece continuava  a lavorare, così ho provato a fare un ip scan della rete locale 192.168.2.0 - 192.168.2.254 l'ho trovata su 192.168.2.241

nello sketch c'e' questo

byte ip[] = { 192, 168, 2, 177 };  //
byte subnet[] = { 255, 255, 255, 0 };
byte gateway[] = { 192, 168, 2, 1 };
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0xF7, 0xF0 };

void setup()

 Ethernet.begin(mac, ip, gateway, subnet);

Ha cambiato ip da solo????!!!! aspetterò che si ripeta
« Last Edit: March 07, 2012, 06:37:24 pm by pablos » Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 7
Posts: 2961
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sono più propenso a credere che si tratti di un'altra periferica in rete , piuttosto che l'ip autocambiante smiley
ARP che dice? il MAC è il suo? come viene risolto il nome di quell'ip?
Logged

Copparo
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti,

Sto realizzando un progettino piccolo e ambizioso. Si tratta di una soluzione che porta in tcp/ip una comunicazione rs485 in full duplex.
Ebbene il programma e' piu' complesso del previsto, in quanto deve scambiare diverse informazioni ed esegue anche il log delle periferica connessa in rs485.
E' configurabile tramite terminale, cio' ho previsto un menu utilizzabile dalla seriale.
Insomma c'e' un bel po', tanto da dovermi obbligare a fare l'uso dell'arduino Mega2560. Attualmente ho lo shield ufficiale che monta il W5100 (con sd). Poi ho creato un circuitino che incapsula il max488 + ds1307.
Il nocciolo della questione comunque, e' la comunicazione in TCP/IP che, arduino come server, scambia informazioni con il client. Solo byte, nessuna stringa.
Dimenticavo che l'ambiente di sviluppo e' l'IDE 1.0 e il Mega2560 e rv.3 come anche lo shield acquistato. Il tutto e' pensato per una singola comunicazione per un client, in LAN e non in Internet. Per quest'ultima ho pensato ad un programma server che fa da tramite, tramite l'uso di servizi (e.g. wcf o simili) per questioni di sicurezza e complessita', che si interfaccia alla scheda come un client (ancora in fase di...Pensiero).
Tutto sta funzionando correttamente. E fino ad ora non ho mai effettuato uno stress test efficace. Diciamo che per ora non ho mai passato le 2 - 3 ore. Essendo una scheda che dovrebbe funzionare in modo ininterrotto per non piu' di una giornata (va inserita all'interno dell'apparecchiatura che controlla) che lavora per il tempo indicato.
Poi, ho letto questo post... e ho cominciato a sudare freddo   smiley-roll-sweat.
Quindi prendendo visione di tutto ho deciso di:
Effettuare test piu' approfonditi e in base ai risultati:

Addottare opportuni work around;
Cambiare tecnologia sulla comunicazione... ENC28J60 + shield SD.

Sperando di non dover procedere come sopra... Vorrei condividere questa mia esperienza tenendovi aggiornati sull'andamento. Che possa essere chiaritrice per diversi dubbi sull'efficenza del W5100.

Test partito alle ore 09.38, ore 11.00 e tutto va bene....

Ciao.
Logged

Malo ( VI )
Offline Offline
Sr. Member
****
Karma: 0
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sto realizzando un progettino piccolo e ambizioso. Si tratta di una soluzione che porta in tcp/ip una comunicazione rs485 in full duplex.
Senza nulla voler togliere alla sempre sana sperimentazione , in commercio c'e' 'sta roba che uso da anni
http://www.moxa.com/product/NPort_5130.htm

Ma ci sono anche questi
http://www.moxa.com/product/NPort_Z2150.htm
http://www.moxa.com/product/NPort_Z3150.htm

E visto che l'argomento zigbee e' abbastanza dibattuto ..

Ciao
Logged

Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sono più propenso a credere che si tratti di un'altra periferica in rete , piuttosto che l'ip autocambiante

A me e' successo tanto tempo fa per una prova al volo che dovevo fare, e dove ho scoperto che quando fai copy & past del tuo codice scritto in occasioni diverse, tipo copy&past di cio' che hai fatto 1 mese prima, e' altamente probabile che tu faccia casino.

Infatti ho sbagliato a copiare un puntatore, non ho copiato la sua init, quindi in eseguzione aveva valore boh, e quando il codice passava di li mi sporcava la memoria in un punto a piacere, fortuna vuole che me ne sia accorto ancora prima di fare test di modulo perche' ad un semplice run ho notato che

192.168.1.14 --> 192.168.1.carattere-a-caso-buttato-dalla-function-che-sborda

poteva andare anche peggio

192.168.1.14 --> caratteri . a-caso . buttati-dentro . dalla-function-che-sborda

diversa subnet, e chi lo vede piu'  smiley-mr-green ?


Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10097
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@brunol949: bell'oggettino ma toglie il gusto del far da sè, siamo hobbisti non professionisti  smiley-mr-green

@asamlink: mi piace molto l'idea di convertire(o incapsulare) un flusso in un altro tipo, solo non capisco la necessità dei usare una Mega.. credo che per tipo di codice una UNO, ma anche meno, dovrebbe bastare!
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tutto sta funzionando correttamente. E fino ad ora non ho mai effettuato uno stress test efficace.

la wiz5100 soffre anche di congestion avoidance, cioe' detta molto semplicemente quando la rete e' congestionata non adotta affatto le misure che dovrebbero portare la fsm del tcp/ip nello stato di slowstart, con finestre mute per almeno un paio di tempi di trama in modo da far sgonfiare l'ingorgo, invece da quello che ho visto io mettendola sotto torchio andava avanti a buttare byte in rete con la conseguenza di rilevare soltanto collision-jam dando pure fastidio alle altre schede (e le tulip mi si sono incazzate parecchio, le sentivo distintamente fare grrrrrrrrrrr da dentro il router).

Siccome non posso nemmeno intervenire ritoccando il comportamento della fsm del tcp/ip perche' nella wiz questa cosa e' embedded blindata dentro al chip ho scelto Enc dove sono io padrone e responsabile del comportamento.


NOTA.
resettare la wiz la riporta in slowstart, ammazzi il throughput, pero' con quel workaround si prendono 2 piccioni con 1 fava.
« Last Edit: March 08, 2012, 05:47:17 am by legacy » Logged

Copparo
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,

Premetto che in programmazione forse non sono una cima, ma il progetto che realizzato pesa... 45 K.
E' ralizzato su misura, e porta con se' molteplici funzionalita'. Tra le quali la configurazione dell'apparato stesso tramite menu.
Il menu configura l'ip, il MAC, l'ora, la SD per il log, il dhcp (on off nel caso di IP dinamico), la password e un numero seriale.
Tutte configurazioni salvate in EEPROM.

Il protocollo e' adattato all'esigenza dell'apparato con la quale comunica, e propone un'interfaccia di comunicazione in TCP. In pratica ci si collega solo nel caso di conoscenza della password e solo se non e' presente gia' una comunicazione.

E' vero, ho conosciuto Arduino da hobbista, ma sto cercando di usarlo per creare un prodotto commerciale da allegare alle macchine che vengono prodotte. Ho dato piena fiducia ad Arduino e sono convinto di aver fatto la scelta giusta.

Grazie di tutto.
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2741
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sono più propenso a credere che si tratti di un'altra periferica in rete , piuttosto che l'ip autocambiante smiley
ARP che dice? il MAC è il suo? come viene risolto il nome di quell'ip?


Non ci sono macchine in rete con quell'ip anche perchè gli ho assegnati nel router con ip statici e relative porte forwarding da un LIST-DHCP, in pratica ho impostato nel router tutti i MAC e ciascun MAC riconosciuto viene assegnato un preciso IP altrimenti ciccia niente rete. Ho dovuto assegnarli perche ho molti forward sulle porte dei diversi pc raggiunti dall'esterno

Router 1 Fastweb LAN loc 192.168.1.1 .... IP WAN xx.xxx.xxx.xxx ecc.
Router 2 WIFI LAN loc 192.168.2.1
ci sono 3 pc
pc 1 MAC xx-xx-xx-xx-xx-xx > IP 192.168.2.100
pc 2 MAC xx-xx-xx-xx-xx-xx > IP 192.168.2.101
pc 3 MAC xx-xx-xx-xx-xx-xx > IP 192.168.2.102

Arduino MAC DE-AD-BE-EF-FE-ED > IP 192.168.2.177 il mac non è suo quello che usiamo sempre negli sketc, se lo cambio non si connette, ovviamente il router lo nega se non corrisponde a quello della lista

Cellulari connesione wifi 4
cell 1 MAC xx-xx-xx-xx-xx-xx > IP 192.168.2.200
cell 2 MAC xx-xx-xx-xx-xx-xx > IP 192.168.2.201
cell 3 MAC xx-xx-xx-xx-xx-xx > IP 192.168.2.202
cell 4 MAC xx-xx-xx-xx-xx-xx > IP 192.168.2.202

ecco perchè mi chiedo come ha fatto a cambiare

ciao
« Last Edit: March 08, 2012, 05:56:54 am by pablos » Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Copparo
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
a wiz5100 soffre anche di congestion avoidance.
Oddio, non ho pensato ad un oggetto che risponda a N client, ma solo ad uno alla volta e rifiuta gli altri. E' vero che la gestione e' sul software, ma la topologia alla quale esso si interfaccia, e' una LAN privata che ha richieste mirate. Per lesterno... ci sara' un server che espone dei wcf, utilizzati da un server web.

Quote
NOTA.
resettare la wiz la riporta in slowstart, ammazzi il throughput, pero' con quel workaround si prendono 2 piccioni con 1 fava.
Grazie per l'info.
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2741
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@asamlink
Quote
E' vero, ho conosciuto Arduino da hobbista, ma sto cercando di usarlo per creare un prodotto commerciale da allegare alle macchine che vengono prodotte.

allora prenditi un "ethernet to 485 converter" già fatto, ti risparmi un bel po' di kb di programma se intendi avere affidabilità e un uso commerciale

ciao
« Last Edit: March 08, 2012, 06:18:03 am by pablos » Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Milan, Italy
Offline Offline
Sr. Member
****
Karma: 0
Posts: 328
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@asamlink
Guarda io ho fatto un progetto simile, per un telnet server comanda relè, parametri salvati in eeprom e configurabili dal client, ho usato la stessa soluzione un socket aperto, tutti gli altri non possono accedere e ricevono un messaggio d'avviso, ovviamente ci ho messo connection timeout sull'attività e quant'altro per essere sicuro di non rimanere chiuso fuori, l'ho installato poco dopo l'arducamp, che se non ricordo male è stato a giugno, e non l'ho mai spento, è dopo un gruppo di continuità, e funziona tuttora benissimo.
Penso che il problemi nascano dall'utilizzo condiviso del bus spi tra ethernet ed sd, magari ne we porto un arduino con sd e webserver nella webcave e lo pubblico su internet così vediamo cosa succede, al massimo se si pianta lo spengo e riaccendo con il telnet server, ho ancora due prese libere.

Alberto
Logged


Malo ( VI )
Offline Offline
Sr. Member
****
Karma: 0
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

allora prenditi un "ethernet to 485 converter" già fatto, ti risparmi un bel po' di kb di programma se intendi avere affidabilità e un uso commerciale
E' quello che consigliavo piu' sopra
Se lo scopo e' hobbystico per studio , ben venga

Se lo scopo e' commerciale ci sono prodotti di svariate marche supercollaudati
Io ho citato il Moxa perche li uso da anni ; sia per controllare macchine via Internet che per remotare seriali non altrimenti collegabili per motivi di distanza

Ciao
Logged

Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2741
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@asamlink
Quote
Ho dato piena fiducia ad Arduino e sono convinto di aver fatto la scelta giusta.

Dipende cosa vuoi farci, anche io all'inizio ero molto affascinato da questo piccolo gioiellino, ma aggiungendo idee e utilità, nonostante sia un Mega ha troppe limitazioni e troppo lento per quello che voglio fare io. Processi troppo lenti, poca mem, lan lenta.  Purtroppo mi sa che devo andare su un mini pc mainboard accessoriata di tutto compreso hard disk e SO, un iterfaccia utente touch da 11'' usb ad esempio non ce la puoi mettere. Vedremo
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 7
Posts: 2961
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Confermo, le apparecchiature che produce Moxa sono dei tori da lavoro smiley-wink e sono perfette da usare in ambito industriale perchè rispondono già a tutte le norme (le ho usate anch'io).
@pablos riesci a riprodurre la condizione d'errore ?
Logged

Pages: 1 ... 3 4 [5] 6 7 ... 10   Go Up
Jump to: