ralphi: Fehlermeldung bei file_get_contents - String auslesen.

Beitrag lesen

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.