Hi ihr µler
Ich bin seit ca. 3 Wochen auch dabei und bin begeistert!
Allerdings war mir "damals" nicht bewusst das es verschiedene Netzwerk Chipsätze gibt und bin daher auf den ENC28j60 gekommen.
Jetzt habe ich schon viel Zeit mit der Suche nach einer brauchbaren Lib vertan.....
Habe dann ja auch eine gefunden die mir brauchbar erschien, damit habe ich auch ein kleinen Webserver zum laufen gebracht.
Nun habe ich aber das Problem sobald ich über rc-switch ein Steuersignal ausgebe das sich der Server weghängt da die Variable rec voll gespämmt wird und ich kann es nicht nachzuvollziehen wie das zustande kommt.
Ich hoffe das mir hier Jemand mit mehr Erfahrung helfen kann.
Soo hier der Code:
#include <etherShield.h>
#include <ETHER_28J60.h>
#include <RCSwitch.h>
//Netzwek Conf
static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};
static uint8_t ip[4] = {192, 168, 0, 88};
static uint16_t port = 80;
// RCSwitch Conf
RCSwitch mySwitch = RCSwitch();
int RCTransmissionPin = 12;
ETHER_28J60 e;
void setup()
{
Serial.begin(9600);
e.setup(mac, ip, port);
mySwitch.enableTransmit( RCTransmissionPin );
}
void loop()
{
char* rec;
int recint;
if (rec = e.serviceRequest()){
//-----------------------------------------Webseite--------------------------------------//
e.print("<html><head><title>Arduino HomeContol</title></head><body>");
e.print("<center><hr>");
e.print("<H1><h1>Willkommen bei den Arduino HomeContol</h1></H1>");
e.print("</center><hr>");
e.print("</body></html>");
e.respond();
recint = atoi(rec);
if (recint > 0 ){
Serial.print("Eingehendes Request = " );
Serial.println (recint);
Serial.print("Ausgeloeste Funktion: ");
switch (recint) {
//-------------------------------------Housecode 10000------------------------------------//
case 110:
mySwitch.switchOff("10000", 1);
Serial.println("Dose 1 OFF");
//ReplyBuffer = "Dose 1 OFF";
break;
case 111:
mySwitch.switchOn("10000", 1);
Serial.println("Dose 1 ON");
//ReplyBuffer = "Dose 1 ON";
break;
//-----------------------------------------------//
case 120:
mySwitch.switchOff("10000", 2);
Serial.println("Dose 2 OFF");
//ReplyBuffer = "Dose 2 OFF";
break;
case 121:
mySwitch.switchOn("10000", 2);
Serial.println("Dose 2 ON");
//ReplyBuffer = "Dose 2 ON";
break;
//-----------------------------------------------//
case 130:
mySwitch.switchOff("10000", 3);
Serial.println("Dose 3 OFF");
//ReplyBuffer = "Dose 3 OFF";
break;
case 131:
mySwitch.switchOn("10000", 3);
Serial.println("Dose 3 ON");
//ReplyBuffer = "Dose 3 ON";
break;
//-----------------------------------------------//
case 140:
mySwitch.switchOff("10000", 4);
Serial.println("Dose 4 OFF");
//ReplyBuffer = "Dose 4 OFF";
break;
case 141:
mySwitch.switchOn("10000", 4);
Serial.println("Dose 4 ON");
//ReplyBuffer = "Dose 4 ON";
break;
//-----------------------------------------------//
case 150:
mySwitch.switchOff("10000", 5);
Serial.println("Dose 5 OFF");
//ReplyBuffer = "Dose 5 OFF";
break;
case 151:
mySwitch.switchOn("10000", 5);
Serial.println("Dose 5 ON");
//ReplyBuffer = "Dose 5 ON";
break;
//-------------------------------------Housecode 11000------------------------------------//
case 210:
mySwitch.switchOff("11000", 1);
Serial.println("Dose 6 OFF");
//ReplyBuffer = "Dose 6 OFF";
break;
case 211:
mySwitch.switchOn("11000", 1);
Serial.println("Dose 6 ON");
//ReplyBuffer = "Dose 6 ON";
break;
//-----------------------------------------------//
case 220:
mySwitch.switchOff("11000", 2);
Serial.println("Dose 7 OFF");
//ReplyBuffer = "Dose 7 OFF";
break;
case 221:
mySwitch.switchOn("11000", 2);
Serial.println("Dose 7 ON");
//ReplyBuffer = "Dose 7 ON";
break;
//-----------------------------------------------//
case 230:
mySwitch.switchOff("11000", 3);
Serial.println("Dose 8 OFF");
//ReplyBuffer = "Dose 8 OFF";
break;
case 231:
mySwitch.switchOn("11000", 3);
Serial.println("Dose 8 ON");
//ReplyBuffer = "Dose 8 ON";
break;
//-----------------------------------------------//
case 240:
mySwitch.switchOff("11000", 4);
Serial.println("Dose 9 OFF");
//ReplyBuffer = "Dose 9 OFF";
break;
case 241:
mySwitch.switchOn("11000", 4);
Serial.println("Dose 9 ON");
//ReplyBuffer = "Dose 9 ON";
break;
//-----------------------------------------------//
case 250:
mySwitch.switchOff("11000", 5);
Serial.println("Dose 10 OFF");
//ReplyBuffer = "Dose 10 OFF";
break;
case 251:
mySwitch.switchOn("11000", 5);
Serial.println("Dose 10 ON");
//ReplyBuffer = "Dose 10 ON";
break;
//-----------------------------------------Stellung A------------------------------------//
case 810:
mySwitch.sendTriState("1FFF1FF00001");
Serial.println("Dose 11 OFF");
//ReplyBuffer = "Dose 11 OFF";
break;
case 811:
mySwitch.sendTriState("1FFF1FF00010");
Serial.println("Dose 11 ON");
//ReplyBuffer = "Dose 11 ON";
break;
//-----------------------------------------------//
case 820:
mySwitch.sendTriState("1FFFF1F00001");
Serial.println("Dose 12 OFF");
//ReplyBuffer = "Dose 12 OFF";
break;
case 821:
mySwitch.sendTriState("1FFFF1F00010");
Serial.println("Dose 12 ON");
//ReplyBuffer = "Dose 12 ON";
break;
//-----------------------------------------------//
case 830:
mySwitch.sendTriState("1FFFFF100001");
Serial.println("Dose 13 OFF");
//ReplyBuffer = "Dose 13 OFF";
break;
case 831:
mySwitch.sendTriState("1FFFFF100010");
Serial.println("Dose 13 ON");
//ReplyBuffer = "Dose 13 ON";
break;
//-----------------------------------------Stellung B------------------------------------//
case 910:
mySwitch.sendTriState("F1FF1FF00001");
Serial.println("Dose 14 OFF");
//ReplyBuffer = "Dose 14 OFF";
break;
case 911:
mySwitch.sendTriState("F1FF1FF00010");
Serial.println("Dose 14 ON");
//ReplyBuffer = "Dose 14 ON";
break;
//-----------------------------------------------//
case 920:
mySwitch.sendTriState("F1FFF1F00001");
Serial.println("Dose 15 OFF");
//ReplyBuffer = "Dose 15 OFF";
break;
case 921:
mySwitch.sendTriState("F1FFF1F00010");
Serial.println("Dose 15 ON");
//ReplyBuffer = "Dose 15 ON";
break;
//-----------------------------------------------//
case 930:
mySwitch.sendTriState("F1FFFF100001");
Serial.println("Dose 16 OFF");
//ReplyBuffer = "Dose 16 OFF";
break;
case 931:
mySwitch.sendTriState("F1FFFF100010");
Serial.println("Dose 16 ON");
//ReplyBuffer = "Dose 16 ON";
break;
}
Serial.println("//=============================================//");
// Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
// Udp.write(ReplyBuffer);
// Udp.endPacket();
}
}
//----------------------------------------------------------
delay(10);
}
///----------------------------------------------------------
Hier noch Paar Bilder zu den Ding
Gruß
Shojo