Go Down

Topic: collegameto Ethernet tra 2 arduino (Read 997 times) previous topic - next topic

lollo1100

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

lesto

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
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

lollo1100

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

lesto

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, http://arduino.cc/en/Reference/Ethernet, un Client e un Server
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

PaoloP

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.  :smiley-mr-green:

Naturalmente, a livello fisico, i collegamenti devono essere corretti.  ;)
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

lesto


- 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)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

fafidio


Quote
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! :smiley-mr-green: XD :smiley-mr-green:

lesto

non oso immaginare che succede se lo inviti a prendere caffè  :smiley-mr-green:
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

fafidio

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?

lesto

La stessa va bene tanro importa l'accoppiata ip e porta
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up