WIFINina HTTP Request an Python Socket Server

Hallo Leute, ich habe einen Arduino UNO Wifi Rev2 an welchem ein RFID Lesegerät angeschlossen ist.
Diese habe ich jetzt soweit mit dem WLAN verbunden und möchte jetzt jedes mal wenn eine Karte auf das Lesegeärt gelegt wird einen String mittels einer HTTP Request an den Socketserver schicken.

Leider hab ich von der ganzen Thematik nicht soviel Ahnung und komme nicht wirklich weiter da ich im Socket Server immer nur “GET / HTTP/1.1” 500 - als Fehlermeldung bekomme.

Ich hab das Gefühl meine HTTP Request ist einfach falsch… Da ich trotz intensiver Google recherche nicht weiter komme und das Beispiel von WIFINina nicht funktioniert hoffe ich dass ihr mir helfen könnt.

Anbei der Relevante Code aus meinem Arduino:

void httpRequest() {
  // close any connection before send a new request.
  // This will free the socket on the Nina module
  client.stop();

  // if there's a successful connection:
  if (client.connect(server, 5005)) {
    Serial.println("connecting...");
    // send the HTTP PUT request:
    
     
    client.println("POST / HTTP/1.1");
   
   client.println("Host: 192.168.0.177");
    client.println("User-Agent: JOY IT NFC");
   client.println("Connection: close");
    client.println();
    client.println ("<!DOCTYPE HTML>");
    client.println ("<html>");
    client.println(str);
    
    client.println ("</html>");
    
      client.stop();
    // note the time that the connection was made:
    lastConnectionTime = millis();
  } else {
    // if you couldn't make a connection:
    Serial.println("connection failed");
  }
}

Viele Grüße

Hi,

ich empfehle Dir ein Programm, wie SOAPUI, Postman, o.ä. zu installieren und damit einen gültigen HTTP-Request abzusetzen.
Wenn das gelingt, kannst Du die Parameter und den Body nachbauen.

Keine Ahnung weshalb Du "Connection: close" mit gibst, keinen Datentyp, aber den Body HTML formatierst.
Sieht für mich überhaupt nicht schlüssig aus.

Dass Du etwas von "Socketserver" schreibst, bringt auch nicht mehr Licht ins dunkel. In diesem Falle, wäre ein http-Request grundlegend der falsche Ansatz.

Was muss ich denn in Arduino schreiben um nur einen einzigen String an den Socketserver weiterzugeben und die Verbindung danach zu schließen das kann ja wohl kein Hexenwerk sein auch wenn es mir momentan so vor kommt.

Kann gut sein dass ein http request da der falsche Ansatz ist aber was muss ich dann tun?

Evtl. solltest Du uns mal sagen, was Du für einen Socketserver verwendest, an welchen Ports der lauscht und warum überhaupt einen Socketserver.

Gruß Tommy

Ist das überhaupt ein Socketserver? TCP oder UDP?
Beispiele gibt es in der Doku von WifiNina für alle Fälle.

Aktuell sendest Du ein "POST", kommentiert ist mit "PUT" und geantwortet wird auf ein "GET".

Bin da voll bei Tommy! Ohne zu wissen was die Daten empfangen soll kann Dir da niemand helfen.