Collegamento client - server con shield W5100

Ciao a tutti,
ho un problema banale ma non riesco a trovare la soluzione:
voglio semplicemente mettere in comunicazione due board (client Mega ADK ; server Leonardo) tramite utilizzo di libreria Ethernet.h e shield basate su W5100.
Finché testo i due applicativi singolarmente, usando il mio PC come client o server, tutto funziona correttamente. Quando passo a collegare tra loro le due shield non succede nulla, il server parte e si mette in ascolto correttamente ma il client continua a provare a connettersi senza riuscirci.
Quello che mi insospettisce è che (a differenza di quando uno dei due partner è il mio PC) non vedo neanche blinkare i led delle shield.

Sto usando esempi di codice base tratti dal reference, escluderei il codice dalle cause; e in ogni caso quando il partner è il PC entrambi gli applicativi funzionano correttamente.

Sicuramente si tratta di una banalità, ma non riesco a trovare documentazione su questo usecase.

Grazie a tutti per l'aiuto!

Benvenuto nella sezione Italiana del forum :slight_smile:

Cortesemente, leggi attentamente il REGOLAMENTO di detta sezione:
[REGOLAMENTO] Come usare questa sezione del forum
e poi, come da suddetto regolamento (punto 16.7), fai la tua presentazione IN CODA ALL'APPOSITA DISCUSSIONE:
Presentazioni nuovi iscritti: fatevi conoscere da tutti! (Part 2)
spiegando bene quali esperienze hai in elettronica e in programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie
Alex

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento, nessuno ti risponderà (eventuali risposte, o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. :wink:

Ciao Alex,
grazie per il benvenuto e per la dritta.
Ho letto il regolamento e mi sono presentato nella discussione che mi hai indicato.
Spero di aver detto tutto ciò che serve.
Grazie ancora
ciao
Vanni

Per aiutarci a capire meglio, posta il codice usato (sia server sia client, mi raccomando di marcare il codice con il tag "CODE") e spiega meglio come sono connessi alla rete fisica e via PC come l'hai provato.

forse ho trovato, anche se non ho capito il perché...
dato che i led delle due shield non davano segni di vita quando le collegavo fra loro (ma si attivavano subito nel collegarle al PC), ho provato a collegarne una a uno switch. Nel farlo i led hanno cominciato ad accendersi. Adesso devo trovare un secondo cavo di rete per collegare anche l'altra allo switch e verificare che la comunicazione funzioni.
Se così fosse, secondo te quale può essere la causa?

Non puoi collegare direttamente due periferiche Ethernet di questo tipo con un normale cavo ("dritto", o "straight") perché, diciamo in modo analogo al collegamento seriale, sarebbe necessario invertire alcune connessioni (come per la seriale, il pin TX da un lato su RX dall'altro, ed RX su TX). Spesso ci sono porte con "AutoSensing" ossia oltre alla velocità sono in grado di capire anche il tipo di cavo connesso ed adeguarsi di conseguenza, mentre questi semplici W5100 non lo fanno.

Per cui o usi uno switch intermedio come hai fatto, oppure devi acquistare un cavo Ethernet "incrociato".

1 Like

vedi che si trattava di una banalità... ho lavorato tanto con dispositivi che comunicano in eth senza mai pormi il problema, adesso ho capito che praticamente tutti supportano quello che si chiama "auto-crossover".
Cmq, ho trovato un secondo cavo per eseguire il test con lo switch interposto e ti confermo che tutto funziona correttamente.

Grazie mille!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.