Station météo WiFi avec ESP8266 et capteur DHT22
Composants et fournitures
| Espressif ESP8266 ESP-01 | ×1 |
| Capteur de température DHT22 | ×1 |
| Plaque d'essai (breadboard) générique | ×1 |
| Fils de connexion (génériques) | ×1 |
| Module UDOO USB / Série Debug | ×1 |
| Arduino UNO | ×1 |
À propos du projet
Je voulais concevoir une petite station météo pour suivre automatiquement les variables météorologiques extérieures sur de longues périodes et les enregistrer dans un tableau. C'était surtout pour le plaisir, pour comprendre le comportement de ces facteurs météo dans ma région et chez moi. Ma région a d'excellentes conditions pour l'agriculture et la production de légumes en abondance, pour les vendre à la ville principale.
Étape 1
Préparation du matériel et connexion de base.
Étape 2 : Connexion et programmation de l'ESP8266
Connectez l'ESP8266 à l'Arduino et téléversez le code depuis l'IDE. Utilisez le port série pour charger le code directement dans le module ESP8266. Attention : cela efface le firmware d'origine. Pour le restaurer, une procédure longue est nécessaire – consultez la vidéo recommandée pour un raccourci.
Étape 3 : Connexion du capteur DHT22
Câblez le capteur DHT22 selon le schéma (broche de données sur GPIO2 de l'ESP8266).
Étape 4 : Vérification de la communication avec ThingSpeak
Configurez un canal ThingSpeak au préalable. Les lignes de code obligatoires pour communiquer :
#include <ThingSpeak.h>
unsigned long myChannelNumber = 167319;
const char * myWriteAPIKey = "XXXP9V86RWR7R9Y";
ThingSpeak.writeField(myChannelNumber, 1, h, myWriteAPIKey); // Humidité
delay(20000);
ThingSpeak.writeField(myChannelNumber, 2, t, myWriteAPIKey); // Température
delay(20000);
Étape 5 : Alimentation
Important : L'ESP8266 consomme beaucoup de courant. Une cause fréquente d'échec est l'alimentation uniquement via le port USB du PC. Utilisez une source d'alimentation externe.
Étape 6 : Extension
Si vous pouvez enregistrer 8 champs par canal, pensez à ajouter d'autres capteurs : pression barométrique, etc. !
Code
temphumwifi.ino (Arduino / ESP8266)
#include <ThingSpeak.h>
/* DEVELOPPEUR: hernando Bolanos - Collaborations - code original et librairies
pour modules WiFi et envoi vers ThingSpeak - Librairies selon chaque auteur */
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#include <ESP8266WiFi.h>
unsigned long myChannelNumber = 167319;
const char * myWriteAPIKey = "XXXP9V86RWR7R9Y";
const char* ssid = "VOTRE_SSID";
const char* password = "VOTRE_MOT_DE_PASSE";
WiFiClient client;
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
dht.begin();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println(WiFi.localIP());
ThingSpeak.begin(client);
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
Serial.println("Humidité: "); Serial.println(h);
Serial.println("Température: "); Serial.println(t);
delay(2000);
ThingSpeak.writeField(myChannelNumber, 1, h, myWriteAPIKey);
delay(20000);
ThingSpeak.writeField(myChannelNumber, 2, t, myWriteAPIKey);
delay(20000);
}
Schématiques
Schéma de câblage ESP8266 + DHT22 disponible.
Processus de fabrication
- Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
- Construire une station météo Raspberry Pi qui envoie les données météo quotidiennes par email
- Construire un système de surveillance température et lumière multi-capteurs avec Raspberry Pi et DS18B20
- Maîtriser le contrôle des capteurs et actionneurs sur Raspberry Pi : Accéléromètre, Servo et Streaming de données
- Vérifier et calibrer votre capteur d'humidité pour des mesures précises
- Surveillance Précise de Température et Humidité avec SHT15 sur Windows 10 IoT Core
- Intégration d'un capteur thermocouple avec l'Arduino Portenta H7 via le MAX6675
- Projet capteur DHT11 température/humidité avec indicateurs LED et buzzer piézo
- Bocal Intelligent IoT avec ESP8266, Arduino et Capteur Ultrasonique – Surveillance Temps Réel