ThingSpeak est un service de gestion de l’Internet des objets (IoT) qui permet aux utilisateurs de collecter et de stocker des données de capteurs, de les analyser et de les visualiser en temps réel. Il est également possible de déclencher des actions basées sur des événements en utilisant les données collectées par les capteurs.
ThingSpeak est particulièrement utile pour les projets de robotique, de domotique et de capteurs, car il offre une plateforme simple et facile à utiliser pour collecter et analyser les données des capteurs. Il est également possible de connecter ThingSpeak à d’autres services en ligne, comme Twitter et IFTTT, pour déclencher des actions basées sur des événements en temps réel.
Pour utiliser ThingSpeak, vous devez créer un compte et configurer un canal pour chaque capteur que vous souhaitez utiliser. Vous pouvez alors utiliser l’API ThingSpeak pour envoyer des données de capteurs à votre canal et visualiser les données en temps réel sur le site Web de ThingSpeak. Vous pouvez également configurer des alertes et des actions basées sur des événements en utilisant les fonctionnalités de gestion de l’événement de ThingSpeak.
ThingSpeak est une plateforme gratuite, mais il existe également des plans payants qui offrent des fonctionnalités supplémentaires, comme la possibilité de stocker plus de données et de déclencher des actions plus complexes basées sur des événements.
Grâce à la carte Arduino et le module ESP8266 connectés à l’Internet des objets (IoT: Internet of Things), il est possible de suivre en temps réel la température et l’humidité mesurées par le capteur DTH11.
Pour créer des applications d’enregistrement de données capteurs, on peut utiliser ThingSpeak qui est une API et une application open source pour l’Internet des objets, permettant de stocker et de collecter les données des objets connectés.
Pour envoyer des données de température et d’humidité à ThingSpeak, vous devrez utiliser un capteur de température et d’humidité DTH11 et un appareil compatible avec ThingSpeak, comme un microcontrôleur ou un module de communication IoT. Vous devrez également créer un compte sur ThingSpeak et configurer un canal pour chaque capteur que vous souhaitez utiliser.
Voici les étapes générales à suivre pour envoyer des données de température et d’humidité à ThingSpeak:
Il est important de noter que vous devrez peut-être configurer un réseau de communication, comme le WiFi, pour permettre à votre appareil de communiquer avec ThingSpeak. Vous devrez également suivre les instructions du fabricant pour configurer la carte Arduino et le capteur de température et d’humidité DTH11.
carte Arduino
Une carte Arduino est une carte de développement électronique basée sur un microcontrôleur. Elle est conçue pour être facilement utilisable par les développeurs et les hobbyistes pour créer des projets électroniques.
Les cartes Arduino sont principalement utilisées pour contrôler des appareils électroniques en utilisant du code informatique, mais elles peuvent également être utilisées pour traiter et afficher des données. Elles sont souvent utilisées dans des projets de robotique, de domotique, de domaine de l’Internet des objets (IoT) et dans de nombreux autres domaines de l’électronique de loisir et professionnelle.
un module wifi ESP8266
Le module WiFi ESP8266 est un module de communication sans fil utilisé pour connecter des périphériques et des cartes de développement à un réseau WiFi. Il est couramment utilisé avec des cartes de développement comme Arduino et Micro:bit pour créer des projets IoT et pour ajouter des fonctionnalités de communication sans fil à ces cartes.
capteur DTH11
Le capteur DTH11 est un capteur de température et d’humidité qui peut être utilisé pour mesurer la température et l’humidité relative de l’air dans un environnement. Il est souvent utilisé dans les projets de robotique, de domotique et de capteurs pour mesurer la température et l’humidité de l’air et prendre des décisions basées sur ces données.
Le capteur DTH11 est équipé d’un capteur de température et d’humidité intégré qui peut mesurer la température de l’air à une précision de ±2°C et l’humidité relative de l’air à une précision de ±5%.
Module d’alimentation 3.3V/5V
Un module d’alimentation 3.3V/5V est un module de conversion de tension qui permet de fournir une tension de 3,3V ou de 5V à un circuit électronique. Il est souvent utilisé pour alimenter des cartes de développement et des capteurs qui nécessitent une tension de 3,3V ou de 5V.
Les fils de connexion sont des fils électriques utilisés pour connecter des composants électroniques à une carte de développement ESP32. Ils sont généralement utilisés pour connecter des capteurs, des actionneurs, des afficheurs et d’autres composants à la carte ESP32 afin de créer des circuits électroniques.
Il existe deux types de fils de connexion: les fils de connexion mâle-mâle et les fils de connexion mâle-femelle. Les fils de connexion mâle-mâle sont utilisés pour connecter des composants qui ont tous deux des broches mâles, tandis que les fils de connexion mâle-femelle sont utilisés pour connecter des composants avec une broche mâle et une broche femelle.
Les fils de connexion sont généralement fabriqués en cuivre ou en alliage de cuivre et sont revêtus d’un isolant en plastique pour protéger les fils électriques et empêcher les courts-circuits. Ils sont disponibles dans une variété de couleurs pour aider à identifier et organiser les différents fils dans un circuit.
Plaque d’essai
Une plaque d’essai est un type de carte de développement électronique qui permet aux développeurs de tester et de prototyper facilement des circuits électroniques. Elles sont souvent utilisées par les développeurs pour tester rapidement des idées et des conceptions avant de les intégrer à un projet plus important ou de les intégrer dans une carte de développement plus permanente.
Les plaques d’essai sont généralement basées sur un microcontrôleur, qui est un processeur facile à utiliser et à programmer qui peut être utilisé pour contrôler une variété de circuits électroniques. Les plaques d’essai incluent généralement des broches d’extension qui permettent de connecter facilement des composants électroniques tels que des capteurs, des afficheurs, des moteurs et d’autres composants.
Pour réaliser le montage
Pour le module ESP8266, on connecte:
Pour la capteur DHT11, on connecte:
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
#include <Adafruit_ESP8266.h> #include <SoftwareSerial.h> #define ESP_RX 3 #define ESP_TX 4 #define ESP_RST 8 SoftwareSerial softser(ESP_RX, ESP_TX); // Must declare output stream before Adafruit_ESP8266 constructor; can be // a SoftwareSerial stream, or Serial/Serial1/etc. for UART. Adafruit_ESP8266 wifi(&softser, &Serial, ESP_RST); // Must call begin() on the stream(s) before using Adafruit_ESP8266 object. #define ESP_SSID "HUAWEI Y5 2019" // Your network name here #define ESP_PASS "b582058c4d86" // Your network password here String API = "KM7MYIGX8G2X6GA0"; // CHANGE ME #define HOST "api.thingspeak.com" // Find/Google your email provider's SMTP outgoing server name for unencrypted email #define PORT 80 // Find/Google your email provider's SMTP outgoing port for unencrypted email String field = "field1"; int count = 0; // we'll use this int to keep track of which command we need to send next bool send_flag = false; // we'll use this flag to know when to send the email commands #include <dht11.h> #define DHT11PIN 5 // broche DATA -> broche 4 dht11 DHT11; void setup() { char buffer[50]; // This might work with other firmware versions (no guarantees) // by providing a string to ID the tail end of the boot message: // comment/replace this if you are using something other than v 0.9.2.4! wifi.setBootMarker(F("Version:0.9.2.4]\r\n\r\nready")); softser.begin(9600); // Soft serial connection to ESP8266 Serial.begin(57600); while(!Serial); // UART serial debug // Test if module is ready Serial.print(F("Hard reset...")); if(!wifi.hardReset()) { Serial.println(F("no response from module.")); for(;;); } Serial.println(F("OK.")); Serial.print(F("Soft reset...")); if(!wifi.softReset()) { Serial.println(F("no response from module.")); for(;;); } Serial.println(F("OK.")); Serial.print(F("Checking firmware version...")); wifi.println(F("AT+GMR")); if(wifi.readLine(buffer, sizeof(buffer))) { Serial.println(buffer); wifi.find(); // Discard the 'OK' that follows } else { Serial.println(F("error")); } Serial.print(F("Connecting to WiFi...")); if(wifi.connectToAP(F(ESP_SSID), F(ESP_PASS))) { // IP addr check isn't part of library yet, but // we can manually request and place in a string. Serial.print(F("OK\nChecking IP addr...")); wifi.println(F("AT+CIFSR")); if(wifi.readLine(buffer, sizeof(buffer))) { Serial.println(buffer); wifi.find(); // Discard the 'OK' that follows Serial.print(F("Connecting to host...")); Serial.print("Connected.."); wifi.println("AT+CIPMUX=0"); // configure for single connection, //we should only be connected to one SMTP server wifi.find(); wifi.closeTCP(); // close any open TCP connections wifi.find(); Serial.println("Type \"send it\" to send an email"); } else { // IP addr check failed Serial.println(F("error")); } } else { // WiFi connection failed Serial.println(F("FAIL")); } } void loop() { send_flag = true; if(send_flag){ // the send_flat is set, this means we are or need to start sending SMTP commands if(do_next()){ // execute the next command count++; // increment the count so that the next command will be executed next time. } } } boolean do_next() { switch(count){ case 0: Serial.println("Connecting..."); return wifi.connectTCP(F(HOST), PORT); break; case 1: DHT11.read(DHT11PIN); char charVal2[100]; char charVal1[100]="GET /update?api_key=KM7MYIGX8G2X6GA0&field1="; //itoa(sensor, charVal2, 10); dtostrf((float)DHT11.temperature, 4, 2, charVal2); strcat(charVal1,charVal2); strcat(charVal1,"&field2="); dtostrf((float)DHT11.humidity, 4, 2, charVal2); strcat(charVal1,charVal2); return wifi.cipSend(charVal1); // Envoi des données au site Thinkspeak delay(60000); } } |
Ney 20-09-2323
Bonjour J’ai beaucoup lutter avec le code mais ça marche pas chez moi J’ai besoin de votre aide Merci 🙏🏻