Thingspeak avec esp32

L'intervalle d'au moins 15s est à réa dans le code , soit par delay() soit par l'utilisation de millis, soit dans mon cas par la durée de mise en sommeil profond (deep-sleep).

Sans librairie ThingSpeak j'ai plutôt fait des requêtes GET dans ce style :

  // connection TCP au serveur désignée par 'host','port'
  WiFiClient client;

  if (!client.connect(host, port)) {
    Serial.println("erreur de connection");
    Serial.println("attente x sec...");
    delay(10);
  }

  // préparer la requete GET à ThingSpeak
  String url = "/update?key=";
  url += thingspeak_key;
  url += "&field1=";
  url += String(vbatt);
  url += "&field2=";
  url += String(temp_celsius);
  url += "&field3=";
  url += String(duree); // envoi dure session complète précédente (@ramRTC)

  // envoyer requete GET au serveur
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "Connection: close\r\n\r\n");

  //lire la réponse ThingSpeak
  String line = client.readStringUntil('\r');
  client.println(line);

  Serial.println("fermeture de la  connection");
  client.stop();