[ESP8266-12F] Connection à serveur impossible

Bonjour.

Je débute dans la programmation (aussi bien en arduino que dans le reste) et je bute sur un problème.

Mon but final étant d'envoyer les valeurs de mon capteur d'hygrométrie de sol à ma base de donnée qui se trouve sur un serveur en ligne, je souhaite y aller step by step et me familiariser avec les requêtes HTTPS.

J'ai alors ouvert l'exemple disponible dans l'IDE Arduino (onglet EST8266Wifi) intitulé "HTTPSRequest". La connexion au wifi se faite bien, la requête ne se fait pas (j'ai laissé les informations de base sauf celles concernant le réseau wifi).

Le point ou cela pose problème est le suivant :

connecting to api.github.com
Using fingerprint '5F F1 60 31 09 04 3E F2 90 D2 B0 8A 50 38 04 E8 37 9F BC 76'
connection failed

Voici le programme de l'exemple :

#include 
#include 

#ifndef STASSID
#define STASSID "réseau wifi"
#define STAPSK  "mdp_wifi"
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

const char* host = "api.github.com";
const int httpsPort = 443;

// Use web browser to view and copy
// SHA1 fingerprint of the certificate
const char fingerprint[] PROGMEM = "5F F1 60 31 09 04 3E F2 90 D2 B0 8A 50 38 04 E8 37 9F BC 76";

void setup() {
  Serial.begin(115200);
  Serial.println();
  Serial.print("connecting to ");
  Serial.println(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

  // Use WiFiClientSecure class to create TLS connection
  WiFiClientSecure client;
  Serial.print("connecting to ");
  Serial.println(host);

  Serial.printf("Using fingerprint '%s'\n", fingerprint);
  client.setFingerprint(fingerprint);

  if (!client.connect(host, httpsPort)) {
    Serial.println("connection failed");
    return;
  }

  String url = "/repos/esp8266/Arduino/commits/master/status";
  Serial.print("requesting URL: ");
  Serial.println(url);

  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "User-Agent: BuildFailureDetectorESP8266\r\n" +
               "Connection: close\r\n\r\n");

  Serial.println("request sent");
  while (client.connected()) {
    String line = client.readStringUntil('\n');
    if (line == "\r") {
      Serial.println("headers received");
      break;
    }
  }
  String line = client.readStringUntil('\n');
  if (line.startsWith("{\"state\":\"success\"")) {
    Serial.println("esp8266/Arduino CI successfull!");
  } else {
    Serial.println("esp8266/Arduino CI has failed");
  }
  Serial.println("reply was:");
  Serial.println("==========");
  Serial.println(line);
  Serial.println("==========");
  Serial.println("closing connection");
}

void loop() {
}

Si vous avez besoin de plus d'infos, je suis à votre disposition.

Merci d'avance !

Bonjour

Les empreintes numériques SHA ne sont pas éternelles, celle de api.github.com n'a plus la valeur fixée dans l'exemple :

5F F1 60 31 09 04 3E .........

[u]Comme indiqué dans l'exemple/u utiliser un navigateur pour connaître la valeur actuelle

Avec FireFox faire : Outils Informations sur la page Sécurité Afficher le certificat........empreinte numérique SHA-1

Merci bien, ça fonctionne mieux ! Mais cela veut dire que je dois le changer manuellement chaque fois que celui-ci se met à jour ?

J'ai dit "ça fonctionne mieux" parce que c'est pas encore opé, j'ai ce message qui s'affiche : "esp8266/Arduino CI has failed"

......
WiFi connected
IP address: 
192.168.0.35
connecting to zortx.duckdns.org
Using fingerprint '48 FE 81 E6 8D 49 5B 77 83 D7 5C E5 50 7A 4A 38 22 6D 02 02'
requesting URL: /phpmyadmin/index.php
request sent
headers received
esp8266/Arduino CI has failed
reply was:
==========
39b4

==========
closing connection

Cela veut dire qu'il n'a pas trouvé l'information qu'il cherche, mais est-ce de la faute du programme ?

Mais cela veut dire que je dois le changer manuellement chaque fois que celui-ci se met à jour ?

A ma connaissance (très limitée sur https ) oui.

Cela veut dire qu'il n'a pas trouvé l'information qu'il cherche, mais est-ce de la faute du programme ?

la connection sécurisée au serveur a pu se faire (elle n'est donc plus impossible !) mais la requếte n'est pas acceptée : requête mal formulée ne correspondant à ce que le serveur attend ?)