HTML Request POST

Hallo.
Versuche einen HTML-Aufruf zu senden (POST), komme dabei leider nicht weiter.
Bsp: html://10.x.x.x:81/sende?data=wert(x)
Gescheitert mit, wie muss der Code aussehen?

  WiFiClient dataclient
  if (dataclient.connect("10.x.x.x", 81)) {
      dataclient.println("POST /sende?data=wert(x)");
      
      while(dataclient.connected())  
      {
        while(dataclient.available())
        {
        char ch = dataclient.read();
        Serial.write(ch);
        }
      }
    dataclient.stop();
    delay(200);  
  }

Danke.

1 Like

Hallo @sense-it,

so wie Du Deine Frage stellst, kann man nur orakeln, was Du ├╝berhaupt vor hast und woran es scheitert!

Ich w├╝rde Dir folgende Vorgehensweise empfehlen:

1.) Werde Dir dar├╝ber klar, zu wem Du etwas senden willst. Da Du hier im senseBox-Forum schreibst, vermute ich, dass Du Sensordaten an OpenSenseMap senden willst? Dann lautet die Adresse:

  • wenn Du unverschl├╝sseltes HTTP machen willst: ingress.opensensemap.org auf Port 80
  • Alternativ (besser aber komplizierter) verschl├╝sselt, also HTTPS: api.opensensemap.org auf Port 443

2.) Wenn Du wei├čt, zu wem Du etwas schicken willst, solltest Du Dir die Frage beantworten, was Du dort hinsenden m├Âchtest. Ich nehme an Sensordaten. Hat Deine Box einen, oder mehrere Sensoren? Nachdem du die Box registriert und die Sensoren angelegt hast, musst Du Dir die ID der Box und die IDs der Sensoren raussuchen, denn die musst Du angeben, sonst wei├č OpenSenseMap nicht, welche der tausenden Boxen und Sensoren Du ├╝berhaupt bist.

3.) Wie der API-Aufruf (also das HTTP) genau aussehen muss, ist dokumentiert. Das solltest Du lesen und versuchen zu verstehen, denn es beantwortet die Frage, was Du genau dort hinschicken musst, damit es auch verstanden wird:
https://docs.opensensemap.org/#api-Measurements-postNewMeasurement

Schau Dir auch den Beispielcode an, den Du beim Registrieren der Box bekommst.

Gru├č,
Sebastian

Hi @mv-meisenknoedel.
Danke f├╝r die Antwort. Es geht nicht um das Versenden nach oSM. Das ist soweit funktional.
Es geht darum per http request an weitere Systeme die Daten zu versenden, eine Unterscheidung nach den Sensoren ist nat├╝rlich klar. Deshalb die allgemeine Frage, wie ein Aufruf der Art html://10.x.x.x:81/sende?data=wert(x), also an Adresse x.x.x.x mit Portangabe versendet werden kann.

Danke und Gru├č

Dann solltest Du Dir ├Ąhnliche Fragen wie oben beantworten, nur eben f├╝r die von Dir gemeinten ÔÇ×weiteren SystemeÔÇť. html://... h├Ârt sich schon mal nicht richtig an.