IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

liaison Internet [Arduino ESP32]


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Par défaut liaison Internet
    Bonjour à tous,

    Mon petit problème du jour est en continuité avec mon post précédent
    mais cette fois vers internet et non plus en local
    je m'explique , j'essaie de faire communiquer un ESP32 Wroom 32 avec Google
    pour me permettre de faire un cadre photos en affichant des photos via GooglePhotos

    et je souhaiterai savoir pourquoi à partir du croquis suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    #include <WiFi.h>
    #include <HTTPClient.h>
     
    const char* ssid = "user";
    const char* password =  "pwd";
     
    void setup() {
     
      Serial.begin(115200);
      delay(1000);
     
      WiFi.begin(ssid, password); 
     
      while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("Connecting to WiFi..");
      }
     
      Serial.println("Connected to the WiFi network");
    }
     
    const char* root_ca= \
    "-----BEGIN CERTIFICATE-----\n" \
    "MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH\n" \
    "MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM\n" \
    "QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy\n" \
    "MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl\n" \
    "cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB\n" \
    "AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM\n" \
    "f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX\n" \
    "mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7\n" \
    "zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P\n" \
    "fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc\n" \
    "vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4\n" \
    "Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp\n" \
    "zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO\n" \
    "Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW\n" \
    "k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+\n" \
    "DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF\n" \
    "lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV\n" \
    "HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW\n" \
    "Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1\n" \
    "d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z\n" \
    "XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR\n" \
    "gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3\n" \
    "d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv\n" \
    "J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg\n" \
    "DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM\n" \
    "+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy\n" \
    "F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9\n" \
    "SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws\n" \
    "E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl\n" \
    "-----END CERTIFICATE-----\n";
     
    void loop() {
     
      if ((WiFi.status() == WL_CONNECTED)) { //Check the current connection status
     
        HTTPClient http;
        http.begin("https://www.google.com"); //Specify the URL and certificate
        int httpCode = http.GET();                                                  //Make the request
     
        if (httpCode > 0) { //Check for the returning code
     
            String payload = http.getString();
            Serial.println(httpCode);
            Serial.println(payload);
          }
     
        else {
          Serial.println("Error on HTTP request");
        }
     
        http.end(); //Free the resources
      }
     
      delay(10000);
    }

    lorsque je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        HTTPClient http;
        http.begin("https://www.google.com"); //Specify the URL and certificate
        int httpCode = http.GET();

    la console me répond ceci :

    *****************************************
    Nom : 2022-11-05_10-19-07.jpg
Affichages : 917
Taille : 210,1 Ko

    ****************************************

    Erreur 404
    Est-ce un problème de DNS ?

    Bien merci par avance

    pascal

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    c'est sans doute parceque vous faites une requête HTTPS avec une fonction qui fait du HTTP

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Par défaut
    Citation Envoyé par Jay M Voir le message
    c'est sans doute parceque vous faites une requête HTTPS avec une fonction qui fait du HTTP
    Bonjour, Jay M
    A vrai dire je ne sais pas
    après avoir épluché le net ,j'ai teste avec :
    "https://www.google.com/"
    je me suis retrouvé avec un code 200
    mais en contradiction avec ce que l'on met dans le moteur de recherches
    donc...

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    il y a pas mal d'exemple de requête GET en https pour ESP32 - en voici un pris au hasard sur une recherche google pour "ESP32 HTTPS GET"

    https://techtutorialsx.com/2017/11/1...s-get-request/

  5. #5
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 900
    Par défaut
    Salut à tous.

    J'ai refait le test afin de comprendre ce qui ne va pas.
    L'url n'est pas bon. Il faut terminer l'url par un /
    Voici mon exemple qui fonctionne chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    #include <WiFi.h>
    #include <HTTPClient.h>
     
    #include "L:/Arduino/MyLibraries/Param.h"
     
    String _name="https://www.google.fr/";
     
     
    void setup()
    {
    	Serial.begin(115200);
    	delay(1000);
     
    	WiFi.mode(WIFI_STA);
    	WiFi.begin(sta_ssid,sta_pwd);
     
    	Serial.print("Connecting to WiFi ");
    	while (WiFi.status() != WL_CONNECTED)
    	{
    		delay(1000);
    		Serial.print(".");
    	}
     
    	Serial.println("\r\nConnected to the WiFi network");
    	Serial.print("Local ESP32 IP: ");
    	Serial.println(WiFi.localIP());
    }
     
     
    void loop()
    {
    	if ((WiFi.status() == WL_CONNECTED))
    	{
    		HTTPClient http;
    		http.begin(_name.c_str());
     
    		int httpCode = http.GET();
     
    		if (httpCode > 0)
    		{
    			Serial.print("HTTP Response code: ");
    			Serial.println(httpCode);
     
    			String payload = http.getString();
    			Serial.println(payload);
    		}
    		else
    		{
    			Serial.print("Error Response code: ");
    			Serial.println(httpCode);
    		}
     
    		http.end();
    	}
    	else
    	{
    		Serial.println("WiFi Disconnected");
    		}
     
    	delay(10000);
    }
    J'ai bien un code 200 !

    Cordialement.
    Artemus24.
    @+

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Par défaut
    Bonjour

    Et encore merci à tous pour votre aide
    j'avais fini par essayer "/" en fin d'URL et je confirme que j'ai bien eu un code 200

    Là où çà se corse c'est que j'ai appliqué çà dans mon croquis de cadre photo ( sous Google Photo) et récupérer
    le lien de Google Photo mais qu'à ce jour je n'arrive pas à le faire fonctionner
    je précise que lorsque met le lien directement dans le moteur de recherche, celui-ci fonctionne mais dès que je
    le mets dans le croquis je me retrouve avec un code -1

    je continue ...

  7. #7
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 900
    Par défaut
    Salutcobra38.

    Tu parles de ceci dans ton sketch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http.begin("https://www.google.com");
    et de ce que j'ai mis dans mon sketch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String _name="https://www.google.fr/";
    http.begin(_name.c_str());
    Cordialement.
    Artemus24.
    @+

  8. #8
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Salutcobra38.

    Tu parles de ceci dans ton sketch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http.begin("https://www.google.com");
    et de ce que j'ai mis dans mon sketch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String _name="https://www.google.fr/";
    http.begin(_name.c_str());
    Cordialement.
    Artemus24.
    @+
    Salut Artemus24

    Si je comprends ton message , je devrais mieux formater le : http.begin()
    c'est çà ?
    mais mon croquis traite l'url de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
     
    #define GOOGLE_PHOTO_SHARE_LINK "url"  // <===== URL à chercher
    #define PHOTO_URL_PREFIX "https://lh3.googleusercontent.com/"
    ../..
     
    void loop()
    {
      if (WiFiMulti.run() != WL_CONNECTED)
      {
        // wait for WiFi connection
        delay(500);
      }
      else if (millis() < next_show_millis)
      {
        delay(1000);
      }
      else
      {
        HTTPClient https;
     
        if (!photoCount)
        {
          https.collectHeaders(headerkeys, sizeof(headerkeys) / sizeof(char *));  //<===========================
     
     
          Serial.println(F("[HTTPS] begin..."));
          https.begin(*client, F(GOOGLE_PHOTO_SHARE_LINK));
          https.setTimeout(HTTP_TIMEOUT);
     
          Serial.println(F("[HTTPS] GET..."));
          int httpCode = https.GET();
          Serial.print(F("[HTTPS] return code: "));          <== ici retour du code -1
          Serial.println(httpCode);
     
          // redirect
          if (httpCode == HTTP_CODE_FOUND)
          {
            char redirectUrl[256];
            strcpy(redirectUrl, https.header((size_t)0).c_str()); //<===========================
            https.end();
     
            Serial.print(F("redirectUrl: "));
            Serial.println(redirectUrl);
     
     
            Serial.println(F("[HTTPS] begin..."));
            https.begin(*client, redirectUrl);
            https.setTimeout(HTTP_TIMEOUT);
     
     
            Serial.println(F("[HTTPS] GET..."));
            httpCode = https.GET();
            Serial.print(F("[HTTPS] GET... code: "));
            Serial.println(httpCode);
          }
     
          if (httpCode != HTTP_CODE_OK)
          {
     
            Serial.print(F("[HTTPS] GET... failed, error: "));
            Serial.println(https.errorToString(httpCode));
            delay(9000); // don't repeat the wrong thing too fast
            // return;
          }
          else
          {
            ../..
            }
     
    #if defined(ESP32)
      // notify WDT still working
      feedLoopWDT();
    #elif defined(ESP8266)
      yield();
    #endif
    }
    Comment puis-je faire pour adapter le formattage stp ?

    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. C et internet
    Par microbug dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 17/11/2003, 11h54
  2. [Réseau] Créer une connexion Internet
    Par Tranber dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 17/10/2002, 17h01
  3. registre de connexion windows internet
    Par lafaryan dans le forum Web & réseau
    Réponses: 2
    Dernier message: 21/08/2002, 12h52
  4. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43
  5. internet explorer
    Par numeror dans le forum Web & réseau
    Réponses: 2
    Dernier message: 22/07/2002, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo