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 :

Récupérer des données à partir de Thingspeak pour les afficher avec ESP32


Sujet :

Arduino

  1. #1
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    823
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 823
    Points : 236
    Points
    236
    Par défaut Récupérer des données à partir de Thingspeak pour les afficher avec ESP32
    Bonjour à Tous,

    J'ai un projet ( uPesy ESP32C3 Basic Low Power ) à l'extérieur qui me permet de collecter quelques données comme :
    T° eau
    Humidité de l'air
    Température de l'air
    Niveau Batterie

    Ces données sont transférées vers Thingspeak pour enregistrement via le protocole MQTT (extrait de l'envoi des infos) :
    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
     
     if (isWifiStarted)
        {
     
      		while (WiFi.status() != WL_CONNECTED) 
      		{
      		Serial.write('.');
      		delay(500);
          }
     
      	  Serial.println(" => Connecté");
      	  Serial.print("adresse IP:");   Serial.println(WiFi.localIP());
          isWifiReady = true;
     
    	  if (isWifiStarted) 
    	  {	  
    		  pubSubclient.setServer(server, 1883);
    		  D_timestamp();
    		  pubSubclient.connect(MQTT_CLIENT, MQTT_USER, MQTT_PASSWORD);
    		  delay(10);
    		  D_timestamp();
    		  D_println("MQTT connected");
    		  pubSubclient.loop();
    		  D_print("MQTT Publish: ");
    		  D_println(MQTT_TOPIC);
    		  String topicString ="channels/" + String(MQTT_TOPIC) + "/publish";
    		  String dataString = String("field1=" + String(temperature) + "&field2=" + String(humidity) + "&field3=" + String(batteryPercentage) + "&field4=" + String(piscine));
    		  pubSubclient.publish(topicString.c_str(),dataString.c_str());
    		  delay(100);
     
      		 // si la mémoire RTC n'était pas valide, on la met à jour pour le prochain réveil
      		if (!isRtcValid) {
      			rtcData.channel = WiFi.channel();
      			memcpy(rtcData.ap_mac, WiFi.BSSID(), 6); // les 6 octets de l'adresse mac
      			// puis on met à jour le CRC dans la structure
      			rtcData.crc32 = calculateCRC32MPGE2((uint8_t*)&rtcData, sizeof rtcData - sizeof(uint32_t));
      			Serial.println(" Sauv config pour la prochaine fois en mémoire RTC. ");
      			printStructure(rtcData);
        	}
          } 
     
    	    if  (tensionBrute > seuilTensionBruteBasse)
            {	
                D_timestamp();
                D_println("Batterie OK. Dormir....");
                D_printf("Battery Percentage: %i", batteryPercentage);	
    		    Serial.flush();
     		    esp_sleep_enable_timer_wakeup(300000000ull); // on programme un réveil pour dans 5mn (en µs)
    		} else{
    			D_timestamp();
                D_println("Batterie faible. Sommeil profond.");
                D_printf("Battery Percentage: %i", batteryPercentage);
                Serial.flush();
     		    esp_sleep_enable_timer_wakeup(3600000000ull); // on programme un réveil pour dans 1h (en µs)
    		}	
    	}
    Ce que je souhaite faire , ce serait d'avoir la possibilité de recueillir ces mêmes données pour les afficher en local sur (par ex) un ESP32-2432S028R

    Quel serait selon vous l'architecture la plus appropriée de cet ESP32 pour réaliser ce projet


    Merci par avance
    Cordialement
    pascal

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 712
    Points : 57 350
    Points
    57 350
    Billets dans le blog
    41
    Par défaut
    Bonjour,

    Je ne vois pas ce que tu veux faire exactement... Tu veux récupérer sur l'ESP les données qui ont déjà été envoyées sur thingspeak ? Et si tu as plusieurs années de données qui sont stockées sur thingspeak, tu veux les récupérer toutes sur l'ESP ?

  3. #3
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    823
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 823
    Points : 236
    Points
    236
    Par défaut
    Salut f-leb

    Je ne vois pas ce que tu veux faire exactement... Tu veux récupérer sur l'ESP les données qui ont déjà été envoyées sur thingspeak ? Et si tu as plusieurs années de données qui sont stockées sur thingspeak, tu veux les récupérer toutes sur l'ESP
    Non , non pas du tout je me suis mal exprimé pardon
    je souhaite juste récupérer les valeurs envoyées ( actuellement toutes les 5 mn) vers Thingspeak via MQTT
    et les afficher en local avec l'ESP32-2432S028R tout simplement
    en gros voir en local ce que j'envoie

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 712
    Points : 57 350
    Points
    57 350
    Billets dans le blog
    41
    Par défaut
    Citation Envoyé par cobra38 Voir le message
    ...je souhaite juste récupérer les valeurs envoyées ( actuellement toutes les 5 mn) vers Thingspeak via MQTT
    et les afficher en local avec l'ESP32-2432S028R tout simplement
    en gros voir en local ce que j'envoie
    Ok, mais je ne comprends pas pourquoi tu veux "les récupérer" une fois envoyées... Tu as des variables temperature, humidity, etc. qui stockent les dernières valeurs, tu peux t'en servir pour affichage, non ?

  5. #5
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    823
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 823
    Points : 236
    Points
    236
    Par défaut
    ok, mais je ne comprends pas pourquoi tu veux "les récupérer" une fois envoyées... Tu as des variables temperature, humidity, etc. qui stockent les dernières valeurs, tu peux t'en servir pour affichage, non ?
    Pas tout à fait , ces valeurs sont issues de mesures qui sont faites à l'extérieur dans un boitier étanche déporté
    je passe donc par mon Wifi pour envoyer ces mesures directement vers Thingspeack , je n'ai pas de module intérieur qui collecte les données et c'est çà que je souhaiterai faire
    une sorte de serveur qui puisse regrouper ces mesures plus d'autres environnantes
    j'espère avoir été plus clair dans mon explication

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 712
    Points : 57 350
    Points
    57 350
    Billets dans le blog
    41
    Par défaut
    Tu as besoin de stocker en local donc, sur un serveur local, une sorte de thingspeak mais chez toi...

    Tu as vu ce tutoriel ?

Discussions similaires

  1. Rappatrier des données d'un site pour les afficher sur le mien
    Par nebil dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 14/09/2017, 21h10
  2. Récupérer des données d'un fichier pour les afficher dans des pages html
    Par Millie31 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 15/10/2015, 14h22
  3. Réponses: 2
    Dernier message: 21/05/2006, 14h02
  4. Réponses: 20
    Dernier message: 19/12/2004, 18h52

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