#371IntermédiaireIoT

ESP32 Station IoT de Pièce (Relais + DHT22)

Allume ta lampe depuis ton téléphone et suis la température et l'humidité de ta pièce en direct, où que tu sois. Ce projet est le guide pas à pas du modèle IoT Station de pièce de l'appli, avec un ESP32, un module relais et un DHT22. Va dans Atelier › Appareils › Ajouter un appareil et choisis Station de pièce ; Ohmi prépare le code avec ta clé d'appareil. Le code ici est un exemple : la clé et les infos Wi-Fi sont à remplacer.

0.0(0)
1 terminé
ESP32 Station IoT de Pièce (Relais + DHT22)
Tu veux allumer la lumière sans quitter le canapé, ou voir la température de ta chambre quand tu es dehors ? Ce projet est fait pour toi. La carte allume et éteint une lampe avec un relais, et un capteur de température et d'humidité envoie ses mesures à ton téléphone toutes les quelques secondes, dans un graphique. L'appli prépare le code pour toi ; tu branches les fils et tu le téléverses. Tu commences avec une LED à la place d'une lampe, pour apprendre le câblage et la sécurité avant de toucher au secteur.
IoT · contrôle à distanceVotre premier appareil est gratuit

Contrôlez cet appareil depuis l'app

Connectez votre ESP32 ou Raspberry Pi Pico W au Wi-Fi, allumez-le et éteignez-le depuis votre téléphone et suivez les mesures en direct. Ohmi prépare le code ; vous saisissez seulement vos identifiants Wi-Fi et vous le téléversez.

Modèle dans l'app : Station de pièce

  • Où le trouver dans l'app ?Ajoutez un nouvel appareil depuis l'onglet Outils ou Atelier › Appareils, puis choisissez ce modèle.
  • Bibliothèque ArduinoOuvrez le gestionnaire de bibliothèques de l'Arduino IDE, cherchez BlueGraysIoT et installez-la.
Télécharger l'app gratuitement

L'offre gratuite comprend 1 appareil, 1 graphique et 24 heures d'historique. Premium ajoute plus d'appareils, plus de graphiques et un historique plus long.

Schéma du circuit

ESP32 Station IoT de Pièce (Relais + DHT22) - Circuit

Code source

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   ESP32 Station IoT de Pièce (Relais + DHT22)
4// ─────────────────────────────────────────
5// Le modèle IoT "Station de pièce" de l'appli BlueGrays : tu allumes et
6// éteins une lampe avec un relais depuis ton téléphone, et le DHT22 envoie
7// la température et l'humidité de la pièce à l'appli toutes les 2
8// secondes. Ohmi prépare le vrai code dans l'appli avec ta propre clé
9// d'appareil (Atelier › Appareils › Ajouter un appareil) ; le code ici est
10// un exemple, la clé d'appareil et les infos Wi-Fi sont à remplacer.
11// Gestionnaire de bibliothèques : BlueGraysIoT (avec ses dépendances). La
12// carte ne se connecte qu'aux réseaux Wi-Fi 2,4 GHz. Le relais s'active
13// sur LOW. Ne branche une lampe 230 V qu'avec quelqu'un d'expérimenté ;
14// essaie d'abord avec une LED.
15//
16// Broches :
17//   GPIO26 -> IN du module relais
18//   5V, GND -> Module relais VCC, GND
19//   Relais COM -> 5V, NO -> 220 ohms -> anode de la LED, cathode de la LED -> GND
20//   GPIO4 -> DHT22 OUT (données)
21//   3V3, GND -> DHT22 VCC, GND
22//   Pico W : relais IN GP15, DHT22 OUT GP16
23
24/*
25 * Station de pièce · BlueGrays IoT
26 * BlueGrays · bluegrays.com
27 * Ne partage pas ce code : il contient la clé de ton appareil et ton mot de passe Wi-Fi.
28 */
29
30#include <BlueGraysIoT.h>
31#include <DHT.h>
32
33const char *DEVICE_KEY = "TA_CLE_APPAREIL";
34const char *WIFI_NAME = "TON_RESEAU_WIFI";
35const char *WIFI_PASSWORD = "TON_MOT_DE_PASSE_WIFI";
36
37BlueGraysIoT bg(DEVICE_KEY);
38
39const int RELAY_PIN = 26;
40const bool RELAY_ACTIVE_LOW = true;  // la plupart des modules relais s’activent sur LOW
41void setRelay(bool on) { digitalWrite(RELAY_PIN, (on != RELAY_ACTIVE_LOW) ? HIGH : LOW); }
42DHT dht(4, DHT22);
43unsigned long lastReadMs = 0;
44
45void setup() {
46  Serial.begin(115200);
47  pinMode(RELAY_PIN, OUTPUT);
48  setRelay(false);
49  bg.onSwitch("lamba", setRelay);
50  dht.begin();
51  bg.setDeadband("sicaklik", 0.1);
52  bg.setDeadband("nem", 1.0);
53  bg.setDebug(Serial);
54  bg.setLanguage(BG_LANG_EN);
55  bg.begin(WIFI_NAME, WIFI_PASSWORD);
56}
57
58void loop() {
59  bg.loop();  // évite ici les longs delay()
60  if (millis() - lastReadMs >= 2000) {
61    lastReadMs = millis();
62    bg.send("sicaklik", dht.readTemperature());
63    bg.send("nem", dht.readHumidity());
64  }
65}
66

FAQ

Puis-je téléverser directement le code de cette page ?

Tu peux, mais la carte ne se connectera pas : la clé d'appareil et les infos Wi-Fi sont des valeurs à remplacer. Dans l'appli, va dans Atelier › Appareils › Ajouter un appareil et choisis Station de pièce ; Ohmi prépare le code avec ta clé, le nom de ton réseau et ton mot de passe. Copie ce code et téléverse-le. Tu peux revoir le code complet plus tard dans Appareil › Code et clé.

Est-ce que ça marche avec une Pico W ?

Oui. Choisis Pico W comme carte en ajoutant l'appareil ; le code reste le même, seules les broches changent : le relais sur GP15, le DHT22 sur GP16. Dans l'Arduino IDE, installe le paquet "pico" depuis le Gestionnaire de cartes. Le circuit et la photo de cette page ont été faits avec un ESP32.

Puis-je brancher une vraie lampe en 230 V ?

Le 230 V peut tuer et provoquer un incendie. Essaie d'abord avec une LED, comme sur cette page. Si tu passes à une vraie lampe, fais-le avec quelqu'un qui s'y connaît en électricité : prise débranchée, seule la phase passe par les bornes COM et NO du relais, aucun fil dénudé à l'air, le circuit dans un boîtier fermé et la puissance de la lampe sous la limite indiquée sur le module.

Mon mot de passe Wi-Fi et ma clé d'appareil sont-ils en sécurité ?

Ton mot de passe Wi-Fi reste sur ton téléphone et n'est jamais envoyé à notre serveur ; il est ajouté au code sur le téléphone. La clé d'appareil ne voyage que dans l'en-tête de la connexion sécurisée et n'est jamais affichée dans le moniteur série. Les deux sont quand même dans le code, alors ne partage pas le code copié depuis l'appli. Si quelqu'un a vu ta clé, prends-en une nouvelle avec Renouveler la clé et téléverse le nouveau code.