ciao ragazzi, sono nuovo del forum ma lo seguo con molto interesse...
mi sto appassionando sempre di più al mondo di Arduino, ho un progetto in mente che cerco di realizzare da oltre una settimana.
Non riuscendoci chiedo il vostro aiuto a riguardo...
Avrei la necessità di far comunicare tra loro due schede Arduino Ethernet.
Le schede sono connesse tra loro tramite cavo cross, e dovrebbero scambiare tra loro informazioni del tipo:
- serie numeriche
- parole
- dati da sensori
- semplici caratteri
Leggendo il libro " Arduino uno programmazione avanzata" mi sembra di aver capito che posso impostare le due schede Arduino come server, come client, oppure come trasferimenti di tipo UDP. Nonostante tutto non riesco a configurare in maniera corretta gli sketch. Preciso che i due arduino sono collegati a due pc differenti tramite usb, e connesse tra loro tramite cavo cross.
Quì sotto vi allego i due sketch che abbiamo caricato sulle schede, uno per la scheda Tx e l'altro per quella Rx. (ovviamente questa era solo una prova, infatti noi dovremmo realizzare un sistema di scambio dati bidirezionale)
GRAZIE IN ANTICIPO!!!
Scheda Tx:------------------------------------------------------------------------------------
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0x8D, 0x52};
byte ipMattia[] = {192, 168, 1, 100};
unsigned int localPort = 8888;
byte ipMaury[] = {192, 168, 1, 200};
unsigned int portMaury = 8080;
EthernetUDP MattiaUdp;
void setup() {
Ethernet.begin(mac,ipMattia);
MattiaUdp.begin(localPort);
}
void loop() {
MattiaUdp.beginPacket (ipMaury, portMaury);
MattiaUdp.write ("ciao");
delay(50);
MattiaUdp.endPacket();
delay(1000);
}
Scheda Rx:-----------------------------------------------------------------------------------------
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0x8D, 0x2B};
byte ipMaury[] = {192, 168, 1, 200};
byte localPort = 8080;
byte ipMattia[] = {192, 168, 1, 100};
unsigned int portMattia = 8888;
EthernetUDP MauryUdp;
void setup() {
Ethernet.begin(mac,ipMaury);
MauryUdp.begin(localPort);
Serial.begin(9600);
}
void loop() {
byte datiRx = MauryUdp.read();
Serial.println (datiRx);
delay(3000);
}