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 :

ESP32 et liaison Internet


Sujet :

Arduino

  1. #1
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    Par défaut ESP32 et 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" \
    "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\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 : 712
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 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

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

  3. #3
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    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 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    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
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 381
    Points : 19 065
    Points
    19 065
    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.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    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
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 381
    Points : 19 065
    Points
    19 065
    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.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  8. #8
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    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

  9. #9
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut cobra38.

    Citation Envoyé par Cobra38
    Si je comprends ton message , je devrais mieux formater le : http.begin() c'est çà ?
    A priori, oui, mais je ne comprends pas trop ce que tu essayes de faire.
    Tu cherches à récupérer une image, est-ce bien cela ?

    Si tu veux définir ton url par un #DEFINE, cela ne change en rien le passage du paramètre unique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #define	__URL__		"https://www.google/fr/"
    ...
    ttp.begin(__URL__);
    Par contre, je ne connais pas cette syntaxe là, à deux paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    https.begin(*client, F(GOOGLE_PHOTO_SHARE_LINK));
    Es tu certain de *client ? Je ne vois pas dans ton sketch la déclarative de client. As tu essayé de ne pas mettre * devant ?
    Pour ce qui est de "F(GOOGLE_PHOTO_SHARE_LINK)", pourquoi ne pas mettre tout simplement "GOOGLE_PHOTO_SHARE_LINK".

    J'aurai tendance à écrire l'appel de la fonction ainsi : "https.begin(client, GOOGLE_PHOTO_SHARE_LINK);".

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  10. #10
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    Par défaut
    Oui je suis conscient que ma demande n'est pas claire
    mais rassures-toi pour moi non plus
    en ce qui concerne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    https.begin(*client, F(GOOGLE_PHOTO_SHARE_LINK));
    j'ai supprimé l'* est le résultat est :

    invalid user-defined conversion from 'WiFiClientSecure*' to 'WiFiClient&' [-fpermissive]

    pour historique sache que :
    je souhaite rapatrier mes photos issues d'un album de Google-Photos sur un cadre composé d'un ESP32 + ILI9341

    le problème est que çà a marché 1 semaine avec le croquis de base en rapatriant le lien Google
    mais à la suite d'une anomalie dont je ne trouve pas la cause
    celui-ci me renvoie un code -1 depuis
    je n'ai rien changé (semble-t-il) dans le croquis et je ne comprends pas pourquoi le lien me renvoie : connexion refused

  11. #11
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    Par défaut
    Bon ....

    Je tourne en rond (?)
    j'ai effectué le remplacement de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define GOOGLE_PHOTO_SHARE_LINK  "__URL___"
    String _name =GOOGLE_PHOTO_SHARE_LINK;
    puis
    //https.begin(*client,F(GOOGLE_PHOTO_SHARE_LINK)); par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     https.begin(*client,_name.c_str());
    j'ai toujours l'erreur code -1

  12. #12
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    Par défaut
    Bonjour à tous ,

    Ouff mon problème est, semble-t-il, réglé
    en fait le code -1 HTTPS n'était que le résultat dû à une mauvaise utilisation des
    librairies FFat.h et LittleFS.h

    ces librairies sont fournies avec le package ESP32 mais j'avoue ne pas savoir dans quels répertoires elle doivent être situées
    -Librairies Arduino ?
    -Tools ?
    -Hardware ?


    le croquis ne semblait pas pouvoir avoir accès à ces librairies et en conséquence , l'URL n'est pas correctement lu d'où le code -1
    la piste n'était donc pas le formatage de l'url mais bien la lecture du certificat

    je voulais vous remercier d'avoir pris un peu de votre temps pour m'aider

  13. #13
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Cobra38.

    FFat.h se trouve dans "C:\Users\mon_user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\FFat\src".
    LittleFS.h est une bibliothèque que j'ai installé chez moi, à partir de l'IDE Arduino : littleFS_esp32 by Lorol version 1.0.6.

    Il y en a partout, mais parfois ils sont en double comme dans le cas de WiFI.h.

    Peut-on connaitre la version de ton IDE Arduino que tu utilises ?
    Est-ce que tu as que des ESP32 ? Des arduino ? Des ESP8266 ? Autres ?

    Je serai intéressé par comprendre comment tu as fait pour récupérer une photo et l'afficher avec ton esp32.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  14. #14
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    Par défaut
    Bonjour Artemus24

    Peut-on connaitre la version de ton IDE Arduino que tu utilises ?
    Version : 1.8.19

    Est-ce que tu as que des ESP32 ? Des arduino ? Des ESP8266 ? Autres ?
    Oui , Wemos , ESP32 Wrover etc ...
    c'est selon ce que je veux faire , j'ai des petits-enfants exigeant donc il faut je teste ...

    Je serai intéressé par comprendre comment tu as fait pour récupérer une photo et l'afficher avec ton esp32.
    Je me suis inspiré de ce projet génial là :
    https://www.instructables.com/Google-Photo-Clock/
    je suis honnêtement bien incapable de créer ce type de projet mais c'était intéressant de s'"avoir comment le faire

  15. #15
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Cobra38.

    Je suis aussi sous IDE Arduino 1.8.19. et j'ai trois NodeMcu ESP32 que j'ai acheté chez Gotronic.
    J'ai un écran TFT 1.8" 128x160 de chez Joy-it dont le driver est ST7735.
    Celui du lien est un écran TFT 2.8" 240x320 de chez Hailege dont le driver est ST7796S.

    Sur mon TFT 1.8", j'ai les broches suivantes :
    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
    +-----------------+----------------------+
    | Broche TFT 1.8" | Broche NodeMcu ESP32 |
    +-----------------+----------------------+
    | VCC   (5 volts) |         VIN          |
    | GND             |         GND          |
    | SCL             |         D18          |
    | SDA             |         D23          |
    | RS/DC           |         D15          |
    | RES     (RESET) |         D19          |
    | CS              |         D05          |
    +-----------------+----------------------+
    | MISO            |                      |
    | SCLK            |                      |
    | MOSI            |                      |
    | CS              |                      |
    +-----------------+----------------------+
    Ces branchements sont ceux que j'utilise par ailleurs dans mes scketch où j'ai besoin de mon TFT.

    Il faut installer les mêmes bibliothèques que l'auteur utilise sinon cela risque de ne pas fonctionner.
    Arduino_GFX_Library.h --> "GFX library for arduino" by Moon On Our Nation" version 1.3.0.
    J'installe la bibliothèque et je compile "GooglePhotoClock.ino".
    Erreur de compilation, il manque la déclaration de TFT_RST que je corrige.
    Après cela, plus aucune erreur à la compilation.

    Comme je l'ai indiqué, mon écran néccessite le driver ST7735 alors que ce sketch utilise le driver ST7796S.
    Autre problème, le format de mon TFT est 128x160. Le sketch utile le format 240x320.
    Je m'arrête là.

    Le code est mal écrit.
    Il aurait dû créer un fichier où l'on rentre tout ce qui est spécifique à notre environnement :
    --> ESP32 ou ESP8266.
    --> ssid (box wifi)
    --> password (box wifi)
    --> les déclaratives du branchement du TFT comme la variable TFT_RST qui manquait.
    --> le lien vers le site Google où l'on stocke les photos.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  16. #16
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    Par défaut
    Salut Artemus24

    Le code est mal écrit.
    Il aurait dû créer un fichier où l'on rentre tout ce qui est spécifique à notre environnement :
    --> ESP32 ou ESP8266.
    --> ssid (box wifi)
    --> password (box wifi)
    --> les déclaratives du branchement du TFT comme la variable TFT_RST qui manquait.
    --> le lien vers le site Google où l'on stocke les photos.
    Tu as certainement raison mais comme je l'ai dit, j'aurai été incapable de le faire ...
    moi j'utilise un ILI9341 , je ne dis pas que çà était facile mais il fonctionne
    par contre si tu as des idées pour mettre les données dans un fichier config.txt que je peux uploader via IDE , je suis preneur

    pascal

  17. #17
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Cobra38.

    Normalement, ce n'est pas à toi de le faire mais au créateur de ce sketch.

    Sinon, ce n'est pas très compliqué à faire. Dans le sketch, tu rajoutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "F:/le/chemin/vers/ton/sketch/ou/tu/auras/mis/config.txt"
    Avant tous les autres includes.

    Ce fichier "config.txt", tu le mets dans le même répertoire que ton sketch.
    Puis tu déplaces tout ce qui est spécifique du sketch vers ton fichier "config.txt".

    Cela permet de ne pas intervenir dans le sketch.

    As tu pu enfin voir une image sur ton TFT ?

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  18. #18
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    Par défaut
    Merci Artemus24

    ok pour le fichier "config.txt" je vais essayer

    As tu pu enfin voir une image sur ton TFT ?
    Oui , maintenant çà fonctionne , j'ai créé un album de 85 photos sous Google-Photos
    et je lis toutes les minutes une nouvelle photo ...
    je voudrais juste y ajouter la température & humidité locales en plus de l'heure

  19. #19
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Cobra38.

    C'est bien que tu puisses t'en sortir.
    Entre deux messages dans ce forum, j'ai fait un petit programme qui manipule un servo-moteur pour un membre de ce forum.
    Vu que c'était basique, je pense qu'il sera content.

    Cobra38, si tout est bon, tu peux mettre ton sujet à résolu.

    Cordialement.
    Artemus24
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  20. #20
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 762
    Points : 230
    Points
    230
    Par défaut
    Ok

    Un grand merci à tous !!!

    Bon WE

    pascal

+ 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