Genova
Offline
Edison Member
Karma: 13
Posts: 2437
|
 |
« Reply #60 on: March 07, 2012, 06:35:16 pm » |
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
Faraday Member
Karma: 6
Posts: 2954
The quieter you become, the more you can hear
|
 |
« Reply #61 on: March 08, 2012, 01:22:51 am » |
sono più propenso a credere che si tratti di un'altra periferica in rete , piuttosto che l'ip autocambiante  ARP che dice? il MAC è il suo? come viene risolto il nome di quell'ip?
|
|
|
|
|
Logged
|
|
|
|
|
Copparo
Offline
Newbie
Karma: 0
Posts: 42
|
 |
« Reply #62 on: March 08, 2012, 05:03:45 am » |
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  . 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
|
|
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 873
|
 |
« Reply #64 on: March 08, 2012, 05:35:25 am » |
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'  ?
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 82
Posts: 8193
:(){:|:&};:
|
 |
« Reply #65 on: March 08, 2012, 05:36:45 am » |
@brunol949: bell'oggettino ma toglie il gusto del far da sè, siamo hobbisti non professionisti  @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
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 873
|
 |
« Reply #66 on: March 08, 2012, 05:45:30 am » |
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
Newbie
Karma: 0
Posts: 42
|
 |
« Reply #67 on: March 08, 2012, 05:50:12 am » |
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
Edison Member
Karma: 13
Posts: 2437
|
 |
« Reply #68 on: March 08, 2012, 05:50:19 am » |
sono più propenso a credere che si tratti di un'altra periferica in rete , piuttosto che l'ip autocambiante  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
Newbie
Karma: 0
Posts: 42
|
 |
« Reply #69 on: March 08, 2012, 05:55:13 am » |
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. 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
Edison Member
Karma: 13
Posts: 2437
|
 |
« Reply #70 on: March 08, 2012, 06:06:03 am » |
@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
Sr. Member
Karma: 0
Posts: 286
|
 |
« Reply #71 on: March 08, 2012, 06:13:58 am » |
@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
Sr. Member
Karma: 0
Posts: 371
|
 |
« Reply #72 on: March 08, 2012, 06:16:30 am » |
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
|
|
|
|
|
Genova
Offline
Edison Member
Karma: 13
Posts: 2437
|
 |
« Reply #73 on: March 08, 2012, 06:19:26 am » |
@asamlink 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
Faraday Member
Karma: 6
Posts: 2954
The quieter you become, the more you can hear
|
 |
« Reply #74 on: March 08, 2012, 06:20:18 am » |
Confermo, le apparecchiature che produce Moxa sono dei tori da lavoro  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
|
|
|
|
|
|