Construire une station météo personnelle fiable avec Arduino, ESP8266 et ThingSpeak
Composants et fournitures
| Composant | Quantité |
|---|---|
| Adafruit BMP180 (capteur pression/température) | 1 |
| DHT11 Capteur température & humidité (4 broches) | 1 |
| LDR (Photorésistance) | 1 |
| Espressif ESP8266 ESP-01 | 1 |
| Arduino Nano R3 | 1 |
| Résistance 4,75 kΩ | 1 |
| Résistance 51 kΩ | 1 |
| Module convertisseur abaisseur LM2596 DC-DC | 1 |
| Prise DC jack | 1 |
| Interrupteur | 1 |
| Adaptateur secteur 12V-2A | 1 |
| PCB (circuit imprimé) | 1 |
| Connecteur mâle 40 positions 1 rangée (2,54 mm) | 1 |
| Connecteur femelle 8 positions 1 rangée (2,54 mm) | 5 |
| Boîtier en plastique | 1 |
Outils et machines nécessaires
- Dénudeur de fils
- Pistolet à colle chaude
- Fer à souder
- Tournevis
- Lime (pour finitions manuelles)
Applications et services en ligne
- Arduino IDE
- API ThingSpeak
À propos de ce projet
Introduction : Construire une station météo personnelle
Assis dans votre pièce, vous commencez à transpirer ou à avoir froid ; vous vous demandez quelle est la température ou l'humidité ambiante. C'est ce qui m'est arrivé il y a quelque temps.
C'est ainsi qu'est née l'idée de cette station météo personnelle, qui surveille la température, l'humidité, la pression et l'intensité lumineuse de votre pièce et envoie les données vers un canal privé sur ThingSpeak.com.
C'est parti !
Étape 1 : Vidéo rapide
Voici une courte vidéo résumant tout en 5 minutes. Cliquez ici pour la regarder sur YouTube.
Étape 2 : Composants électroniques nécessaires
Description : Nous utilisons le DHT11 pour l'humidité, le BMP180 pour la température et la pression, et une photorésistance (LDR) pour une estimation de l'intensité lumineuse. L'Arduino Nano récupère les données de ces capteurs et les envoie à l'ESP8266 pour les téléverser vers votre canal privé ThingSpeak. L'Arduino Nano est alimenté par un adaptateur 12V-2A, tandis que les capteurs et l'ESP8266 reçoivent une tension abaissée via le convertisseur LM2596.

Étape 3 : Outils et éléments supplémentaires
Outils : Dénudeur, lime, pistolet à colle, tournevis, fer à souder et fil à souder.
Éléments supplémentaires : Boîtier plastique 10×10×5 cm (environ), circuit imprimé à usage général, barrettes mâles/femelles et connecteurs femelles.

Étape 4 : Prérequis logiciels
Pour visualiser les données des capteurs, il faut un canal privé sur ThingSpeak.com et l'Arduino IDE pour programmer le Nano.
- Canal privé ThingSpeak.com
- Arduino IDE (dernière version recommandée)
Téléchargez l'IDE Arduino depuis arduino.cc. Créons maintenant le canal ThingSpeak.
Étape 5 : Créer un canal privé sur ThingSpeak.com
- Allez sur thingspeak.com et cliquez sur « Sign Up » (coin supérieur droit)
- Remplissez les informations et cliquez sur « Create account »
- Cliquez sur « New Channel »
- Remplissez les détails du canal et activez 4 champs (pour nos 4 valeurs capteurs), puis « Save Channel »
- Cliquez sur « API Keys » et notez votre « Write API Key »

C'est tout, vous avez maintenant votre canal ThingSpeak privé.
Étape 6 : Schéma de la station météo
Voici le schéma (fichier Fritzing joint). Les connexions sont simples :
- BMP180 → port I2C de l'Arduino Nano
- LDR en diviseur de tension avec résistance 51 kΩ → jonction sur broche A1
- Broche data DHT11 tirée à 4,7 kΩ → broche A0
- ESP8266 TX/RX → D10/D11 du Nano ; CH_PD → rail 3,3V
- Réglez le LM2596 sur 3,3V via son potentiomètre. Connectez sa sortie aux VCC/GND des capteurs et de l'ESP8266
- Entrée LM2596 depuis l'adaptateur 12V-2A, qui alimente aussi Vin/GND du Nano

Étape 7 : Assemblage sur circuit imprimé à usage général (GCB)
Utilisez les barrettes femelles pour le Nano et l'ESP8266, soudez-les, utilisez des connecteurs femelles pour rallonger les capteurs et le LM2596 (qui seront fixés au couvercle/parois du boîtier), des barrettes mâles pour les points de connexion, réalisez le schéma avec fils ou rails de soudure, et vérifiez l'absence de courts-circuits au multimètre avant alimentation.

Étape 8 : Code
Le code est simple et commenté. Avant de téléverser :
- Installez toutes les bibliothèques nécessaires
- Remplacez les tirets par votre SSID WiFi (ligne 14)
- Remplacez les tirets par votre mot de passe WiFi (ligne 15)
- Remplacez les tirets par votre clé API Write ThingSpeak (ligne 17)
- Coupez l'alimentation 12V pendant la programmation du Nano
Code et bibliothèques sur GitHub : Personal-Weather-Station-14
#include <SoftwareSerial.h>
#include <Wire.h>
#include <dht.h>
#include <Adafruit_BMP085.h>
#define DEBUG 0
#define dht_pin A0
#define lightSensor A1
dht DHT;
Adafruit_BMP085 bmp;
SoftwareSerial esp8266Module(10, 11); // RX, TX
String network = "----"; // SSID
String password = "-------------"; // Mot de passe WiFi
#define IP "184.106.153.149" // IP ThingSpeak
String GET = "GET /update?key=----------------"; // Clé API
void setup() {
if(DEBUG){ Serial.begin(9600); }
esp8266Module.begin(9600);
if (!bmp.begin()) {
if(DEBUG){ Serial.println("Capteur BMP085 non trouvé !"); }
while (1) {}
}
delay(2000);
}
void loop() {
setupEsp8266();
DHT.read11(dht_pin);
double humi = DHT.humidity;
double bmp_temp = bmp.readTemperature();
double bmp_pressure = bmp.readPressure();
int lightIntensity = analogRead(lightSensor);
updateTemp(String(bmp_temp), String(lightIntensity), String(bmp_pressure), String(humi));
delay(30000);
}
// Configuration ESP8266, mode station, connexion WiFi, envoi données...
Étape 9 : Préparation du boîtier
Percez des trous pour la prise DC et l'interrupteur sur une paroi, et pour les capteurs sur le couvercle. Utilisez une lame chaude pour découper le plastique, puis limez les bords.

Étape 10 : Fermeture
Placez le PCB assemblé dans le boîtier. Positionnez l'interrupteur, la prise DC et les capteurs dans leurs trous, fixez-les à la colle chaude, puis vissez le couvercle.
Votre station météo personnelle est prête ! Allumez l'alimentation et consultez température, humidité, pression et luminosité depuis n'importe où via votre canal ThingSpeak privé sur smartphone/PC/tablette.
Code complet
Disponible sur GitHub : Personal-Weather-Station-14
Schéma

schematic.fzz
Processus de fabrication
- Station météo solaire DIY avec Raspberry Pi
- Construction d'une station météo extérieure avec Raspberry Pi 2 et ADS‑WS1
- Construire une station météo Raspberry Pi qui envoie les données météo quotidiennes par email
- Intégrer votre station météo à CWOP : Guide pratique
- Moniteur météo – Station météo DIY Raspberry Pi avec upload Dropbox
- Station météo avancée v2.0 : Surveillance en temps réel de température, pression, humidité et altitude
- Stores intelligents : contrôle automatisé de la lumière avec Arduino et énergie solaire
- Télécharger les données du capteur DHT11 vers ThingSpeak avec Arduino MKR1000
- Station Météo Arduino Portable à 10$ – Nano, DHT22, BMP180 et LCD