Show Posts
Pages: [1]
1  International / Nederlands / Re: IO Communicatie tussen Arduino's onderling over Ethernet on: February 13, 2013, 01:30:32 pm
Hallo,

De afgelopen tijd heb ik het (redelijk) druk gehad.
ondanks dat ben ik toch een aantal avonden met mijn arduinos aan het prutsen geweest.

heb wat standaard voorbeelden genomen die ik zelf heb geprobeerd uit te werken.
het is mij echter helaas nog niet gelukt om dit werkend te krijgen.
ik denk dat het een en ander nog mist in mijn programma's, maar wat mist er/doe ik fout ?

de code voor het versturen van een pakketje (draait op Arduino Ethernet):
Code:
// Voor de Arduino Ethernet !!

#include <SPI.h>       
#include <Ethernet.h>
#include <EthernetUdp.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0x8D, 0xE6};
byte ip[]  = { 192, 168, 0, 11 };
byte gw[] = { 192, 168, 0, 1 };
byte subnet[] = { 255, 255, 255, 0 };

unsigned int localPort = 8888;      // local port to listen on

// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;

const int buttonPin = 2;
int buttonState = 0;

void setup() {
  Serial.begin(9600);
  Ethernet.begin(mac,ip);
  Udp.begin(localPort);
  pinMode(buttonPin, INPUT);
  Serial.println("verbinding met Arduino Ethernet");
}

void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    Serial.println("Pin 2 hoog");
    Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
    Udp.write("hello");
    Udp.endPacket();
    delay(1000);
  } else {
    Serial.println("Pin 2 laag");
    delay(1000);
  }
}

de code voor het ontvangen van een pakketje (draait op Arduino Uno + Ethernet shield):
Code:
// voor de Arduino Uno + Ethernet !!

#include <SPI.h>       
#include <Ethernet.h>
#include <EthernetUdp.h>
 
// Enter a MAC address and IP address for your controller below.
 // The IP address will be dependent on your local network:
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip[]  = { 192, 168, 0, 10 };
byte gw[] = { 192, 168, 0, 1 };
byte subnet[] = { 255, 255, 255, 0 };
 
unsigned int localPort = 8888;      // local port to listen on
 
// An EthernetUDP instance to let us send and receive packets over UDP
 EthernetUDP Udp;
 
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
 
void setup() {
   Serial.begin(9600);
   Serial.println("verbinding met Arduino Uno + shield");
   Ethernet.begin(mac,ip);
   Udp.begin(localPort);
 
}
 
void loop() {
 
  int packetSize = Udp.parsePacket();
   if(packetSize)
   {
     Serial.print("Received packet of size ");
     Serial.println(packetSize);
     Serial.print("From ");
     IPAddress remote = Udp.remoteIP();
     for (int i =0; i < 4; i++)
     {
       Serial.print(remote[i], DEC);
       if (i < 3)
       {
         Serial.print(".");
       }
     }
     Serial.print(", port ");
     Serial.println(Udp.remotePort());
 
    // read the packet into packetBufffer
     Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
     Serial.println("Contents:");
     Serial.println(packetBuffer);
 }
 }

Wat gaat er fout bij bovenstaande programma's ?
Probeer het nu met een "hello" berichtje, later wil ik zoals ik in mijn
eerste bericht vermeld er IO mee aansturen.

"broncode" arduinosite: http://arduino.cc/en/Reference/EthernetUDPWrite en http://arduino.cc/en/Reference/EthernetUDPRead

Met vriendelijke groet,

Matthijs
2  International / Nederlands / Re: IO Communicatie tussen Arduino's onderling over Ethernet on: December 08, 2012, 09:04:46 am
Kan gewoon via utp protocol. Ik probeer dit weekend een voorbeeld te posten.
Kijk al eens naar mijn Castduino project op www.jo3ri.be onder arduino, projecten, castduino.
Wat jij wil zit daar ook in verwerkt: arduino's die met elkaar spreken over lan.

Wauw, erg mooi project. gaaf om te zien wat er allemaal mogelijk is met een Arduino !!
Ik heb jouw programma uiteraard ook geprobeerd, werkt erg mooi.
Maar jou programma is erg uitgebreid en lastig voor mij om te lezen.
sommige stukjes snap ik, sommige stukjes uit je programma ook niet.

Als jij nog een voorbeeld wilt posten zou ik leuk vinden !

Van jou Castduino project ga ik zeker dingen overnemen, zitten erg leuke dingen zoals de lay-out en setup pagina !!
3  International / Nederlands / IO Communicatie tussen Arduino's onderling over Ethernet on: December 06, 2012, 02:23:57 pm
Hallo,

Voor een projectje bij mij thuis ben aan het proberen 2 Arduino's onderling met elkaar te laten communiseren via ethernet (dus modum/router).
Het is de bedoeling dat de ene Arduino een output bij de andere Arduino kan aansturen.
Arduino 1 krijgt bijv. een Input binnen en stuurd dat vervolgens naar Arduino 2 die een relais aanstuurd.
Ik werk op school en thuis al wel 1,5 jaar met Arduino maar dit lukt mij nog niet smiley-confuse

tech. spec.:
- thuis een Wiznet Ethernetshield + Arduino Uno rev3 en Arduino Ethernet.
- Webservers en dergelijke standaard ethernetprogramma's zijn al wel gelukt om draaiende te krijgen.
- heb thuis ook een ChipKit MAX32 + ChipKit Networkshield waar dat programma op moet maar dat is de volgende (kleine) uitdaging  smiley-cool

Mijn vragen:
- Weet iemand hoe deze communicatie heet ?
- Kan iemand mij uitleggen hoe ik dit moet aanpakken/beginnen ?
- Voorbeelden / voorbeeldcode ?

Met vriendelijke groet,

Matthijs
Pages: [1]