einfaches IP Telegramm

Hallo zusammen,

ich suche eine ganz einfache Anleitung, wie man per IP-Telegramm eine Funktion ausführen kann.
Kann jemand mal einen Hinweis auf ein einfaches Tutorial geben.

Ich poste mal, was ich versucht habe… aber nicht funktioniert hat. Es soll durch ein IP Telegramm, was ‘L’ enthält ein Lauflicht angestoßen werden…

Danke
Gruß
M

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

byte mac = {
0x90, 0xa2, 0xda, 0x0d, 0x08, 0xad };//uno
//0x90, 0xa2, 0xda, 0x0d, 0x08, 0xac };// mega
// HIER IP-ADRESSE EINSTELLEN:
byte ip = {
192,168,1,99 };
unsigned int localPort = 8888;

char packBuff[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,

EthernetUDP Udp;

void setup()
{

Ethernet.begin(mac,ip);
Udp.begin(localPort);
Serial.begin(9600);
Serial.println(“");
Serial.println(Ethernet.localIP());
Serial.println("
”);
Serial.println();
Serial.println();
}

void loop()
{
int packetSize = Udp.parsePacket();
if(packetSize) //Wenn Daten anliegen
{
Udp.read(packBuff,UDP_TX_PACKET_MAX_SIZE); //UDP abrufen

if (packBuff[0] == ‘L’)
{
digitalWrite(3,HIGH); // Pin 3 auf Hell (255)
delay(100); // 100ms warten
digitalWrite(3,LOW); //Pin 3 auf Dunkel (0)
delay(100); // …
digitalWrite(5,HIGH); // Pin 3 auf Hell (255)
delay(100); // 100ms warten
digitalWrite(5,LOW); //Pin 3 auf Dunkel (0)
delay(100); // …
digitalWrite(6,HIGH); // Pin 3 auf Hell (255)
delay(100); // 100ms warten
digitalWrite(6,LOW); //Pin 3 auf Dunkel (0)

}
}
}

mbaecker:
Kann jemand mal einen Hinweis auf ein einfaches Tutorial geben.

Zum Ethernet-Shield gibt es den Beispiel-Sketch "UDPSendReceive", aus dem Du den geposteten Code offenbar zurückentwickelt hast.

Hast Du auch den orgiginalen "UDPSendReceive" Beispiel-Sketch ausprobiert? Funktioniert der?

Diese originale Beispielsketch gibt reichlich Debug.-Daten auf dem Seriellen Monitor aus,, z.B. wenn ein Paket empfangen wurde:

  • Paketgröße
  • Remote-IP
  • Port
  • den Inhalt des übermittelten Pakets

Den gesamten Debug-Code zur Ausgabe über den seriellen Monitor hast Du in Deinem Sketch entfernt.

Warum fügst Du den Debug-Code aus dem Beispiel "UDPSendReceive" (ggf. mit leichten Änderungen) nicht wieder in Deinen Sketch ein, wenn er nicht funktioniert, um dann anhand der Ausgaben auf dem seriellen Monitor zu sehen, was genau nicht funktioniert?