Hi Martin,
was heißt "pseudo"? Ist er ein Server oder ist er keiner? Und versteht bzw. spricht er korrektes HTTP?
Er hört auf einem Port und läßt 4 Verbindungen zu.
Schon mal gut. Aber Browser sind allgemein recht fehlertolerant. Gut möglich, dass der großzügig über irgendeinen Formfehler hinwegsieht, der andere, pingelige HTTP-Clients aus dem Tritt bringt. Welche Response-Header sendet denn dein Controller?
Das liegt an mir - in dem Fall keinen - Ich kann doch auch Textfiles einlesen !?
Bitte, zum (n+1). Mal: Beschreibe genau, was du tust! Wie sieht dein Test-Code aus?
Nun - beim ESP / µC ->
sendData("AT+CWMODE=1\r\n",1000,DEBUG); // configure as client
sendData("AT+CIPMUX=1\r\n",1000,DEBUG); // configure for multiple connections
sendData("AT+CIPSERVER=1,80\r\n",3000,DEBUG); // turn on server on port 80
} // loop
void serialEvent() { // seriell interrupt
// serveranfrage **
while(Serial.available()) {
lcd.setCursor(0, 3);
lcd.print("Datenanfrage");
if(Serial.find("+IPD,")) { // ID auslesen
delay(1000);
int connectionId = Serial.read()-48; // subtract 48 because the read() function returns
String cipSend = "AT+CIPSEND=";
cipSend += connectionId;
cipSend += ",";
cipSend += json_txt.length();
cipSend += "\r\n";
sendData(cipSend,1000,DEBUG);
sendData(json_txt,1000,DEBUG);
lcd.setCursor(0, 3);
lcd.print(cipSend);
String closeCommand = "AT+CIPCLOSE=";
closeCommand+=connectionId; // append connection id
closeCommand += "\r\n";
sendData(closeCommand,3000,DEBUG);
delay(1000);
} // wenn ID
} // daten in
}// ende interrupt
Also Länge des Strings + Conn-ID
und dann das Json
Im json_txt steht der Textstring.
Viele Grüße aus LA
ralphi
--
"Nicht alles was einfach ist, ist genial, aber alles was genial ist, ist einfach" - Albert E.
"Nicht alles was einfach ist, ist genial, aber alles was genial ist, ist einfach" - Albert E.