Wemos propose une grande gamme de cartes d’extension (Shield) pour la LoLin D1 Mini. Elles sont regroupées dans cet article de présentation au fur et à mesure de leur sortie. Dans ce tutoriel rapide, nous allons découvrir comment assembler le shield DHT22 et l’utiliser dans un code Arduino ou à l’aide du firmware ESP Easy.
Article actualisé le 21 avril 2020
Déballage du shield DHT22 pour LoLin d1 mini
Comme toutes les cartes Wemos, celle-ci est livrée avec 3 types de connecteurs à souder :
- Pour platine de prototypage (breadboard)
- Connecteur à superposer court
- Connecteur à superposer long
La carte mesure 36 (longueur) x 25 (largeur) x 9.6 (hauteur) mm. Il faudra ajouter quelques millimètres supplémentaires en fonction du connecteur choisi.
Shield DHT22 pour Wemos D1 Mini
Une fois assemblé, on obtient cette configuration par exemple. Il est encore possible d’empiler d’autres shields (écran OLED, alimentation sur batterie…)
Le Shield embarque un DHT22 tout à fait classique, le même que l’on retrouve dans les nombreux kits d’apprentissage Arduino / Raspberry Pi. On va donc pouvoir utiliser les librairies déjà développées pour les 2 plateformes, ou disons plutôt les 3 plateformes si on considère l’ESP8266 comme une plateforme à part entière. Le DHT22 (ou le DHT11) est soudé sur la carte d’extension. Il n’est donc pas possible de choisir la broche. On ira récupérer les mesures sur la broche D4, équivalent au GPIO-2 de l’Arduino.
Code Arduino
Avant de commencer, il est nécessaire d’installer la librairie Adafruit (la plus utilisée). Elle est très facile à installer depuis le gestionnaire de bibliothèque de l’IDE Arduino.
/* DHT Shield - Simple
*
* Example testing sketch for various DHT humidity/temperature sensors
* Written by ladyada, public domain
*
* Depends on Adafruit DHT Arduino library
* https://github.com/adafruit/DHT-sensor-library
*/
#include "DHT.h"
#define DHTPIN D4 // what pin we're connected to
// Uncomment whatever type you're using!
#define DHTTYPE DHT12 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors. This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Impossible de lire la sonde DHT!");
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
Source : https://github.com/wemos/D1_mini_Examples/blob/master/examples/04.Shields/DHT_Shield/Simple/Simple.ino Téléchargez le programme dans la Wemos et ouvrez le moniteur série pour recevoir les mesures. Plusieurs exemples ont été mis à disposition par Wemos sur Github ici
- Simple.ino : exemple ci-dessus
- SimpleServer.ino : un bon exemple pour apprendre comment développer un ESP8266 comme un serveur WEB. Un ouvre un page internet dans un navigateur pour lire les mesures renvoyées par la sonde.
- DeepSleep.ino : un exemple intégrant la mise en sommeil et le réveil à interval régulier de l’ESP8266 pour une utilisation sur batterie.
ESP Easy R120 ou Mega : une sonde de température et humidité en 5 minutes chrono !
Si vous n’avez qu’une petite sonde de température connectée à développer, ESP Easy suffira amplement. Les capteurs DHT11/DHT22 sont très bien gérés. Si vous débutez avec ESP Easy, suivez ce tutoriel pour installer le firmware et vous configurer la connexion Wi-Fi de la Wemos D1 Mini. Un fois connecté, allez à l’onglet Device et cliquer sur un Edit (n’importe quelle ligne). Dans la liste des Devices, choisissez Temperature & Humidity – DHT, puis ajustez les paramètres comme ceci
- Name : donnez un nom.
- Delay : le délai de rafraichissement des mesures. Inutile d’aller trop vite.
- IDX / Var : choisissez un identifiant (1 à 255), différent de 0 sinon ça ne fonctionne pas. Si vous utilisez Domoticz, ce sera l’identifiant interne
- GPIO : obligatoirement GPIO-2
- DHT Type : sélectionnez le type de votre carte
- Cochez Send Data si vous voulez envoyer les mesures à un serveur domotique
- Formula : pas vraiment utilise
- Decimals : vous pouvez limiter à un chiffre après la virgule. C’est bien assez.
- Nommez les variables 1 et 2. Choisissez un nom court, sans espace ni caractères accentués. Il est utilisé pour identifier les variables pour communiquer avec un serveur domotique, MQTT, etc…
Vous pouvez maintenant intégrer très facilement votre sonde à une serveur domotique (Jeedom, Domoticz) ou récupérer les mesures avec Node-RED pour créer de graphiques avec Grafana.
Tous les shields compatibles LoLin d1 mini
La liste détaillée et les informations techniques des cartes d’extension pour L’ESP8266 LoLin d1 mini sont mises à jour régulièrement sur cette page.



- Stocker des données sur une carte micro SD. Code Arduino compatible ESP32, ESP8266
- Débuter Arduino. Recevoir des commandes depuis le port série (compatible ESP32 ESP8266)
- Fonctions C++ print•println•printf•sprintf pour Arduino ESP32 ESP8266. Combiner•formater → port série
- String C++. concat•c_srt•indexOf•replace•subString… pour Arduino ESP32 ESP8266
- ESP01. Débuter avec l’IDE Arduino ou PlatformIO. Quel module choisir ? Repérage des broches
- Comment attribuer une IP fixe à un projet ESP32 ESP8266 ou ESP01
Hello,
L’article date quelque peu maintenant, mais je souhaiterais connaitre la hauteur total de l’ensemble.
Hauteur qui commence du dessous de la wemos d1 au dessus du dht 22 (je n’utiliserai pas l’extension de PIN)
merci par avance l’ami 🙂
Bonjour visvic, l’ensemble mesure 15mm (en soudant le DHT22 vers le bas ce qui est plus compact), sinon 23mm sans prendre en compte les broches de la Wemos. Pour obtenir quelque chose de plus compact, vous pouvez prendre le nouveau shield DHT12 http://s.click.aliexpress.com/e/c4UI8Cti. La sonde peut être détachée et déportée, une idée géniale. A très bientôt