Hallo zusammen !
ich wollte euch um eure Hilfe bitten.......
ich versuche grade das ESP8266 ans laufen zu bekommen und hab zum testen erstmal ein abgeänderten Sketch von der HP genommen:
#include <SPI.h>
#include <Ethernet.h> // Netzwerk-Bibliothek
#include <Flash.h> // Für Speichern der HTML-Daten im Flash statt RAM
#include <MemoryFree.h> // Freien RAM auslesen
byte mac[] = { 0x54, 0x55, 0x58, 0x10, 0x00, 0x24 }; // entspricht einer MAC von 84.85.88.16.0.36
byte ip[] = { 192, 168, 1, 7 }; // IP-Adresse
byte gateway[] = { 192, 168, 1, 1 }; // Gateway
byte subnet[] = { 255, 255, 255, 0 };
EthernetServer server(80);
String readString = String(100); // string for fetching data from address
boolean RC1 = false; // Status flag
boolean RC2 = false;
boolean RC3 = false;
boolean RC4 = false;
void setup(){
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
// Transmitter is connected to Arduino Pin #10
Serial.begin(9600);
}
void loop(){
// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString = readString + c;
}
Serial.print(c); //output chars to serial port
if (c == 'n') { //if HTTP request has ended
//---------------------Schaltprofile--------------------
// indexOf locates a character or String within another String.
if(readString.indexOf("rc1=An") > -1)
{
Serial.println("Steckdose 1 eingeschaltet!");
RC1 = true;
}
if(readString.indexOf("rc1=Aus") > -1)
{
Serial.println("Steckdose 1 ausgeschaltet!");
RC1 = false;
}
if(readString.indexOf("rc2=An") > -1)
{
Serial.println("Steckdose 2 eingeschaltet!");
RC2 = true;
}
if(readString.indexOf("rc2=Aus") > -1)
{
Serial.println("Steckdose 2 ausgeschaltet!");
RC2 = false;
}
if(readString.indexOf("rc3=An") > -1)
{
Serial.println("Steckdose 3 eingeschaltet!");
RC3 = true;
}
if(readString.indexOf("rc3=Aus") > -1)
{
Serial.println("Steckdose 3 ausgeschaltet!");
RC3 = false;
}
if(readString.indexOf("rc4=An") > -1)
{
Serial.println("Steckdose 4 eingeschaltet!");
RC4 = true;
}
if(readString.indexOf("rc4=Aus") > -1)
{
Serial.println("Steckdose 4 ausgeschaltet!");
RC4 = false;
}
if(readString.indexOf("alloff=Alle+ausschalten") > -1)
{
Serial.println("Alles ausgeschaltet");
RC1 = false;
RC2 = false;
RC3 = false;
RC4 = false;
}
//--------------------------HTML------------------------
client << F("HTTP/1.1 200 OKn");
client << F("Content-Type: text/htmlnn");
client << F("");
client << F("<html>");
client << F("<head><title>Arduino Webserver - basti</title></head>n");
client << F("<body margin=0 padding=0 style='font-family:Verdana; background-color:#ccc;'>n");
//---Tabellen-Header
client << F("<table style='border-collapse:collapse;'>");
client << F("<tr style='font-weight:bold; border-bottom:2px solid #000;'><td>Steckdose</td><td colspan=2>Aktion</td><td>Status</td></tr>");
//---Steckdose 1
client << F("<tr>");
client << F("<td>Steckdose 1</td>");
client << F("<td><form method=get><input type=submit name=rc1 value='An'></form></td>");
client << F("<td><form method=get><input type=submit name=rc1 value='Aus'></form></td>");
if (RC1)
client << F("<td><span style='color:green;'>AN</span></td>");
else
client << F("<td><span style='color:red;'>AUS</span></td>");
client << F("</tr>");
//---Steckdose 2
client << F("<tr>");
client << F("<td>Steckdose 2</td>");
client << F("<td><form method=get><input type=submit name=rc2 value='An'></form></td>");
client << F("<td><form method=get><input type=submit name=rc2 value='Aus'></form></td>");
if (RC2)
client << F("<td><span style='color:green;'>AN</span></td>");
else
client << F("<td><span style='color:red;'>AUS</span></td>");
client << F("</tr>");
//---Steckdose 3
client << F("<tr>");
client << F("<td>Steckdose 3</td>");
client << F("<td><form method=get><input type=submit name=rc3 value='An'></form></td>");
client << F("<td><form method=get><input type=submit name=rc3 value='Aus'></form></td>");
if (RC3)
client << F("<td><span style='color:green;'>AN</span></td>");
else
client << F("<td><span style='color:red;'>AUS</span></td>");
client << F("</tr>");
//---Steckdose 4
client << F("<tr>");
client << F("<td>Steckdose 4</td>");
client << F("<td><form method=get><input type=submit name=rc4 value='An'></form></td>");
client << F("<td><form method=get><input type=submit name=rc4 value='Aus'></form></td>");
if (RC4)
client << F("<td><span style='color:green;'>AN</span></td>");
else
client << F("<td><span style='color:red;'>AUS</span></td>");
client << F("</tr>");
//---Alle Steckdosen ausschalten
client << F("<tr><td colspan=4><form method=get><input type=submit name=alloff value='Alle ausschalten'></form></td></tr>");
//---System-Infos
client << F("<tr><td colspan=4>
<span style='font-size:8px;'>Freier RAM:&nbsp;");
client.println(freeMemory());
client << F("Byte</span></td></tr>");
client << F("<tr><td colspan=4><span style='font-size:8px;'>Arduino Laufzeit:&nbsp;");
client.println(millis()/1000/60);
client << F("Minuten</span></td></tr>");
//---Tabellen-Footer
client << F("<table>");
//---HTML Ende
client << F("</body></html>");
//clearing string for next read
readString="";
//stopping client
client.stop();
}
}
}
}
}
hab ich das richtig verstanden ?
ich rufe das über den Browser auf, dann wird mir dieses Fenster mit den Buttons usw angezeigt und da ich ja die Funkgeschichte entfert hab, erscheint dann im Serialen Monitor das Entsprechende ?
Leider kann ich über den Browser nicht darauf zugreifen......
ich hab //192.168.1.7 eingegeben......
Allerdings hab ich die MAC Adresse nicht geändert...
Und die IP meines Wlan-Routers ist: 192.168.1.1
Das ESP ist mit TX an RX(= Pin0 vom Mega), mit RX an TX(=Pin1 vom Mega) und mit 3,3V und CH_PD an 3,3V (vom Mega) und mit Gnd an Gnd (vom Mega) angeschlossen und die LED leuchtet auch....
Der ESP wird mir unter Netzwerk (da wo mein Router und die meiner Nachbarn stehen) angezeigt