Pages: 1 2 3 [4] 5 6 ... 8   Go Down
Author Topic: Ethernet Shield mi blocca tutto !  (Read 7239 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sai in che punto del codice si è bloccata? eri a corto di ram?

mi sa che bisogna indagare salvando in una sd tutti i comandi inviati dall'arduino al modulo e le risposte...
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Genova
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3255
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
A) Dal PC posso pingare. (la shield risponde sempre)
questo già lo sapevamo

Quote
B) Qualsiasi richiesta faccio via Ethernet, non arriva all' Arduino (evidentemente la Ethernet Shield non manda nulla)
questo già lo sapevamo

Quote
C) Rifare Ethernet.begin non serve a nulla. (La Ethernet Shield non si riprende)
Non ho capito quando lo fai questo begin? farlo dopo che si trombata non serve no smiley

Quote
D) Il tasto RESET non serve a nulla. (Arduino si riavvia, esegue lo sketch, rifa' Ethernet.begin, dialoga con la seriale, accende i LED... ma la Ethernet Shield non si riprende)
Ti è venuta mica la brillante idea di separare i reset dello shield con quello di arduino? In tal caso resettare solo lo shield non ripartirà mai.

Però così non arriviamo da nessuna parte:

Quanti giorni è rimasta on-line? ti sei segnato l'ora e giorno di inizio?
Quante connessioni hai fatto in questo lasso di tempo?
Da dove ti sei connesso ? sempre da un pc fisso, smartphone, ip pubblico ....
Hai messo un led lampeggiante per vedere l'attività di arduino?
Come l'hai trovato questo led dopo lo schianto della ethernet? acceso fisso? spento? o lampeggia ancora nonostante il blocco eth?

ciao
« Last Edit: April 07, 2013, 07:16:44 pm by pablos » Logged

no comment

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

pablos, tu che hai la sceda puoi metterti a controllare quello che ho scritto prima, e farti un piccolo programmino che continua a lanciare richieste verso la shield, in modo da capire subito se è un problema che sorge dopo un tot di richiesta?
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Leggendo qui:
http://forum.freetronics.com/viewtopic.php?f=4&t=176&sid=3be84fa1272c65468d9ff57bdf3a749f&start=40#p1154
potrebbe essere che il problema si verifica quando si utilizza anche la seriale a buadrate superiori a 19200...
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
A) Dal PC posso pingare. (la shield risponde sempre)
questo già lo sapevamo
Abbiamo la conferma.


Quote
B) Qualsiasi richiesta faccio via Ethernet, non arriva all' Arduino (evidentemente la Ethernet Shield non manda nulla)
questo già lo sapevamo
Abbiamo la conferma.


Quote
C) Rifare Ethernet.begin non serve a nulla. (La Ethernet Shield non si riprende)
Non ho capito quando lo fai questo begin?
Rileggi il mio messaggio. Seconda riga.


Quote
D) Il tasto RESET non serve a nulla. (Arduino si riavvia, esegue lo sketch, rifa' Ethernet.begin, dialoga con la seriale, accende i LED... ma la Ethernet Shield non si riprende)
Ti è venuta mica la brillante idea di separare i reset dello shield con quello di arduino?
Hai mangiato pesante ?
Da dove ti vengono queste idee ??

Comunque no, non ho separato il segnale di reset. Io premo il segnale di reset _SULLA_ Ethernet Shield e in questa maniera resetto tutto (perlomeno la mia intenzione e' questa, ma la Ethernet Shield non si resetta)


Però così non arriviamo da nessuna parte:
Hai mangiato pesante !
Se hai da chiedere, chiedi. Io sono qui per risolvere un problema che assilla piu' di qualcuno. Se vuoi informazioni basta chiedere, senza questi toni.


Quanti giorni è rimasta on-line? ti sei segnato l'ora e giorno di inizio?
Ho fatto e caricato lo sketch mercoledi sera.
Ho trovato la Ethernet Shield bloccata domenica sera.


Quante connessioni hai fatto in questo lasso di tempo?
Probabilmente 8 in totale.


Da dove ti sei connesso ? sempre da un pc fisso, smartphone, ip pubblico ....
Connessioni effettuate ogni sera sempre solo da un PC con Windows XP
Nessun accesso da esterno.


Hai messo un led lampeggiante per vedere l'attività di arduino?
Si. ( l' ho gia' scritto piu' volte)


Come l'hai trovato questo led dopo lo schianto della ethernet? acceso fisso? spento? o lampeggia ancora nonostante il blocco eth?
Il led verde (lampegga ogni 10000 loop) lampeggiava come doveva, segno che lo sketch stava girando.
Pero' al boowser non arrivava nessuna risposta.

Il led rosso (si accende quando ad ogni connessione dal browser) non si accendeva mai, ho provato piu' volte il refresh della pagina.


ciao
Ciao
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3255
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

che tipo che sei  smiley-mr-green... mi sa che noi litigheremo facilmente  smiley-grin smiley-grin smiley-grin smiley-grin
Logged

no comment

Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@Acik
Tanto per capire, fai uso di interrupt o di seriale nel tuo programma? Perché leggendo qui:
http://code.google.com/p/arduino/issues/detail?id=384
dice che il problema potrebbe essere che se arriva un interrupt durante la scrittura sulla SPI si potrebbe danneggiare il dato della SPI...

EDIT: avevo letto male, li parla se due dispositivi vanno a lavorare su una SPI, dei quali uno via interrupt... Non credo sia il tuo caso...
« Last Edit: April 08, 2013, 03:01:51 pm by Janos » Logged

Genova
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3255
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
potrebbe essere che il problema si verifica quando si utilizza anche la seriale a buadrate superiori a 19200...
i miei sketch di test non hanno mai superato i 9600 baud .... altri test la seriale era totalmente esclusa .... si inchiodava lo stesso

diciamo che in 16 mesi ne ho fatto di prove e debug  su tutte le lib che impiegano lo shield smiley-grin
Logged

no comment

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Acik
Tanto per capire, fai uso di interrupt o di seriale nel tuo programma? Perché leggendo qui:
http://code.google.com/p/arduino/issues/detail?id=384
dice che il problema potrebbe essere che se arriva un interrupt durante la scrittura sulla SPI si potrebbe danneggiare il dato della SPI...

EDIT: avevo letto male, li parla se due dispositivi vanno a lavorare su una SPI, dei quali uno via interrupt... Non credo sia il tuo caso...
Provare non costa molto, basta mettere un cli() prima dell'operazione da fare via SPI ed un sei() subito dopo, per vedere se dipende da questo (sempre che la lib SPI non usi gli interrupt).
Logged


Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sfortunatamente (o per fortuna, dipende dai punti di vista) oggi in ditta ci siamo imbattuti in questo problema. Il bello è che abbiato trovato una condizione ripetibile, quindi domani faccio in fretta a provare.

Lo scopo del software è banale, prendere quello che leggo da ethernet, inviarlo su seriale e viceversa: dopo poco cade la connessione, risponde solo al ping e non si ripristina neppure dopo un reset...
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nei miei sketch attuali, non faccio uso della seriale. Nemmeno interrupt.

Eppure si blocca..... e non sono ancora riuscito a capire perche'.

Quello che posso aggiungere e' che a me, statisticamente si e' bloccato piu' spesso non usandolo (o usandolo una volta al giorno) piuttosto che usandolo pesantemente...
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

allora, i pin SD e Ethernet vanno settati sempre anche se non usati se no sono flottanti e a caso possono diventare 1, e ci si mette una pull-down. (ricordo che l'arduino ha solo pull-up)

Quote
Il bello è che abbiato trovato una condizione ripetibile, quindi domani faccio in fretta a provare.
il codice pls!!!


ragazzuoli quì c'è da capirte in QUALE istruzione della libreria si blocca, e dopo QUALE comando... sempre che sia sempre lo stesso punto/comando.
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Sr. Member
****
Karma: 0
Posts: 361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sfortunatamente (o per fortuna, dipende dai punti di vista) oggi in ditta ci siamo imbattuti in questo problema. Il bello è che abbiato trovato una condizione ripetibile, quindi domani faccio in fretta a provare.
Per fortuna !

Lo scopo del software è banale, prendere quello che leggo da ethernet, inviarlo su seriale e viceversa: dopo poco cade la connessione, risponde solo al ping e non si ripristina neppure dopo un reset...
Eh. Appunto.
Ma esistera' un modo per resettare questa shield senza spegnerla ??
Un comando da inviare via SPI ?
Un piedino da collegare da qualche parte...
Il RESET poi... perche' non funge ?
Logged

Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Eccolo, ma ho modificato anche la lib ufficiale in alcune parti per avere la possibilità di gestire più connessioni insieme. Comunque ecco il tutto...

* Arduino.cpp (1.9 KB - downloaded 12 times.)
* EthernetClient.cpp (3.45 KB - downloaded 13 times.)
* EthernetClient.h (0.89 KB - downloaded 12 times.)
* EthernetServer.cpp (3.45 KB - downloaded 18 times.)
Logged

Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusate il doppio post ma non potevo aggiungere più di 4 allegati...  smiley-wink

* EthernetServer.h (0.61 KB - downloaded 10 times.)
* EthernetServerSocket.h (1.15 KB - downloaded 11 times.)
* EthernetServerSocket.cpp (1.14 KB - downloaded 8 times.)
Logged

Pages: 1 2 3 [4] 5 6 ... 8   Go Up
Jump to: