ESP8266 (NodeMCU) post requette vers url/fichier.json

Bonsoir à tous,

j’essaie de me connecter à un url qui contient un fichier json pour recevoir des datas grace au PARSE de ArduinoJSON, le protocoles est :le https et j’utilise le Nodemcu ESP12-E.

j’ai trouvé un exemple sur le net : lien

je voulais le tester d’abord l’exemple pour ensuite inclure la librairie ArduinoJson mais celà ne marche pas .

Voilà le code :

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

#include <ESP8266HTTPClient.h>

#include <WiFiClientSecureBearSSL.h>


const uint8_t fingerprint[20] = { fingerprint obtenu à partir du certificat dans le navigateur};

ESP8266WiFiMulti WiFiMulti;

void setup() {

  Serial.begin(115200);
  // Serial.setDebugOutput(true);

  Serial.println();
  Serial.println();
  Serial.println();

  for (uint8_t t = 4; t > 0; t--) {
    Serial.printf("[SETUP] WAIT %d...\n", t);
    Serial.flush();
    delay(1000);
  }

  WiFi.mode(WIFI_STA);
  WiFiMulti.addAP("ssid", "mdp wifi");
}

void loop() {
  // wait for WiFi connection
  if ((WiFiMulti.run() == WL_CONNECTED)) {

    std::unique_ptr<BearSSL::WiFiClientSecure>client(new BearSSL::WiFiClientSecure);

    client->setFingerprint(fingerprint);

    HTTPClient https;

    Serial.print("[HTTPS] begin...\n");
    if (https.begin(*client, "https://URL HTTPS ")) {  // HTTPS

      Serial.print("[HTTPS] GET...\n");
      // start connection and send HTTP header
      int httpCode = https.GET();

      // httpCode will be negative on error
      if (httpCode > 0) {
        // HTTP header has been send and Server response header has been handled
        Serial.printf("[HTTPS] GET... code: %d\n", httpCode);

        // file found at server
        if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
          String payload = https.getString();
          Serial.println(payload);
        }
      } else {
        Serial.printf("[HTTPS] GET... failed, error: %s\n", https.errorToString(httpCode).c_str());
      }

      https.end();
    } else {
      Serial.printf("[HTTPS] Unable to connect\n");
    }
  }

  Serial.println("Wait 10s before next round...");
  delay(10000);
}

Serial :

[HTTPS] GET... failed, error: connection refuse

Merci d’avance !

Vous avez pris le code ici on dirait, mais ce qu’on n’a pas c’est le fingerprint et l’url Que vous utilisez(j’imagine que c’est un truc privé)...

essayez le code avec un autre site, si ça fonctionne c’est que vous avez un souci dans votre url ou (en supposant que le site web soit bien accessible depuis votre esp)

Bonjour J-M-L,

Oui j'ai pris le code d'un exemple qui utilise l'exemple de la librairie.

J'ai essayé avec un autre site genre (google) mais cela ne fonctionne toujours pas