collegameto Ethernet tra 2 arduino

Buongiorno vorrei sapere se è possibile ottenere un collegamento ethernet diretto tra due arduino utilizzando un intellinet. Grazie :slight_smile:

che è un intellinet? Puoi postare un link?

Via ethernet ci sono varie soluzioni, le ethernet shield di solito supportano le connessioni TCP e UDP.

Di solito si usa il TCP che assicura che i dati arrivino a destinazione ed in ordine, ma nel caso di grossi flussi di dati in cui non importa perdere pezzi, l'importante è andare veloci (vedi streaming di flussi video) si usa l'UDP

una volta che hai aperto una comunicazione TCP, puoi comunicare esattamente come se stessi usando la Serial

in pratica ho uno switch un hub dell'intellinet che mi deve far da ponte x un collegamento ethernet tra 2 arduino ove uno funge da client e l'altro da server. Il problema + grande che trovo è nel mettere in collegamento i due arduino negli sketch

bhe la cosa importante è che il client conosca l'ip di quello che fa da server.

l'hub dovrebbe essere"stupido" ovvero non filtrare nessun pacchetto, anzi.. quindi non dovrebbe dare problemi.

il resto è facile, Ethernet - Arduino Reference, un Client e un Server

Se vuoi estendere la rete di Arduino collegati tra loro puoi vedere questo topic --> http://arduino.cc/forum/index.php/topic,77697.0.html
dove si parla del protocollo P2P Macaco --> http://arduino.cc/forum/index.php/topic,70030.0.html
--> http://www.freaklabs.org/index.php/Forum/Chibi-General/3086-MaCaco-Communication-Protocol.html

Comunque, in generale, per connettere tramite Ethernet più periferiche esse:

  • Non devono avere lo stesso MAC Address.
  • Non devono avere lo stesso indirizzo IP
  • Gli indirizzi IP devo essere nella stessa sottorete individuata tramite la SubNetMask, oppure deve essere presente un GateWay
  • Ogni periferica deve conoscere l'indirizzo IP dell'altra con cui vuole comunicare. (E' possibile reperire l'IP con una chiamata ARP).
  • Varie ed Eventuali. :grin:

Naturalmente, a livello fisico, i collegamenti devono essere corretti. :wink:

PaoloP:

  • Ogni periferica deve conoscere l'indirizzo IP dell'altra con cui vuole comunicare. (E' possibile reperire l'IP con una chiamata ARP).

permettimi di dissentire. I client devono conoscere/poter risalire all'ip del server o essere in ascolto sul corretto indirizzo multicast/bradcast (vale solo per UDP in reti locali)

poi nel caso TCP servono entrambi, ma il server lo conosce "in automagico" (ovvero in modo invisibile all'utente. che poi facica una richiesta ARP o altro non so sinceramente)

che è un intellinet? Puoi postare un link?

Come non conoscete l'intellinet? E' un hub che automaticamente genera i codici server- client per l'arduino, e se gli parli accende anche i led! :grin: XD :grin:

non oso immaginare che succede se lo inviti a prendere caffè :grin:

dovendo collegare i 2 server-client (quelli del progetto server-client sullo stesso arduino) la porta del primo server deve essere diversa da quella del secondo?
Mi spiego meglio: se su un server gli metto la porta 80 per comunicare con un solo client, sull'altro devo mettere la porta 81 oppure sempre la 80?

La stessa va bene tanro importa l'accoppiata ip e porta