Von MicroPython zu Arduino http.POST

Hallo Freunde, bin neu in Arduino. Wie stellt man diesen MicroPython Code auf Arduino um?
Kann mir einer helfen?
Vielen Dank im vorraus.

url =str(settings.Gateway)+'livedaten.php'
userdata = {"p0": str(0),
"p1": str(0),
"p2": str(LogTime),
"p3": str(neutemp),
"p4": str(neufeuchte),
"p5": str(fRSI)}

try:
res = urequests.post(url, data=json.dumps(userdata))
res.close()
print('Daten wurden zum Server gesendet')

Welchen Code ?
Ich kann hier fast nichts erkenne. Setze mal bitte keine unsichtbaren Farben ein, sondern setze das in Code-Tags.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Dazu den Sketch markieren und die Schaltfläche klicken, oder [ code] davor und [ / code] dahinter ohne Leerzeichen.

Das kannst du in deinem Startbeitrag noch nachträglich machen.

Damit wird dieser für alle besser lesbar.

Es braucht da deine Zuarbeit, fertige Sketch gibts hier nicht.
Es gibt nur Hilfe zur Selbsthilfe.

Du brauchst zunächst einen Sketch, der die Variablen ala

LogTime
neutemp
neufeuchte
fRSI

ermittelt. Das muss von dir kommen.
ordentlich in Code Tags. Wenn du nicht weist was Code Tags sind, lies im Forum how to nach wie das geht.

Dann: Für den POST verwendest du als Ausgangsbasis das IDE Beispiel

Ethernet | WebClient

Das probierst du erst mal unverändert aus und gibst bescheid, wenn das geklappt hat.

Wenn beides gegeben ist (Dein Grundsketch und das funktionierende Ethernet-Beispiel) - sinds nur mehr ein paar Zeilen.

Danke für die Info. Mir geht es nur darum wie ein json string in Arduino gesetzt wird und wi er verschickt wird.
So möchte ich ihn dann senden.
int httpResponseCode = http.POST(daten);

Mir geht es nur darum

Kurze Antwort: strcpy und strcat

Hier hab ich einen Code-Schnippsel für den ESP8266:

Gib uns doch mal die Info, welchen Prozessor Du verwendest, denn da unterscheiden sich die Vorgehensweisen erheblich.
Bei microPython vermute ich einen ESP.

Gruß Tommy

Ich habe den M5Stack-Core2 am laufen.

Also einen ESP32. Da könntest Du Dir mal das hier ansehen und das für JSON, wobei man das reine senden auch problemlos händisch machen kann, wie noiasca schrieb und Fips es in seinen Beispielen demonstriert.

Gruß Tommy

TOP
so habe ich es hinbekommen.
http.addHeader("Content-Type", "application/json");
int httpResponseCode = http.POST("{"p0":"24.25","p1":"49.54","p2":"1005.14"}");
vielen dank euch!

Die Frage ist nur, wenn ich einen String einfügen will, anstatt die Zahl 1005.14, wie wird soetwas eingefügt?

einen char buffer definieren.
den Buffer mit strcpy und strcat zusammenbauen.
den Buffer dem client übergeben (http.POST)

Oder die angegebenen Links durcharbeiten.

Gruß Tommy

Habe es jetzt so gelöst.

payload = "{"p0":"0","p1":"0","p2":"20:01:56","p3":$temperature$}";
payload.replace("$temperature$",String(Temperatur));
int httpResponseCode = http.POST(payload);