La Wemos D1 Mini est une carte de développement pour objets connectés basée sur le module ESP8266 ESP-12E développée par la société du Wemos CC. Vous pouvez vous la procurer entre 2,90€ et 5€ sur aliexpress ou Banggood. Comme pour toutes les cartes Arduino, vous trouverez également de nombreux clones qui fonctionne parfaitement.
Nouveautés Wemos à découvrir : D1 Mini Pro, Wemos XI, Shield SHT30
Cette petite carte est vraiment très pratique à programmer et à utiliser. La programmation pourra se faire directement depuis l’IDE Arduino ou en Lua (à l’aide d’ESPlorer déjà présenté dans cet article) en la branchant à l’ordinateur à l’aide d’un câble USB. Sur Mac OS X, elle est reconnue immédiatement sur le port /dev/cu.wchusbserialfaxxxx. Si vous rencontrez des problèmes, il est toutefois possible d’installer manuellement le drivers CH340. Vous pouvez le récupérer ici. Pour Windows, vous trouverez également le drivers CH340 ici en cas de besoin.
Sommaire
- 1 Cartes à empiler et accessoires pour Wemos D1 mini
- 2 Toutes les promos sur les shields officiels
- 3 Comment utiliser la Wemos D1 mini avec l’IDE Arduino
- 4 Comment utiliser les interruptions
- 5 Programmer la Wemos D1 Mini en Lua
- 6 Développer sans programmation avec ESP Easy
- 7 Tutoriels et projets DIY à base de Wemos d1 mini
Cartes à empiler et accessoires pour Wemos D1 mini
Wemos (et d’autres fabricants) a également développé des shields d’apprentissages / prototypage qui viennent s’empiler sur la carte (les borniers à souder sont livrés avec la carte, à vous de choisir celui qu’il vous faut au moment de la soudure).
Broche (Pin) | ||
Carte ESP8266 Wemos D1 Mini
Entre 2,90€ et 4,42€ en Asie (livraison entre 3 à 5 semaines). Environ 8€ depuis l’Europe. |
||
Alimentation 5/3A micro-usb
L’ESP8266 est sensible à la qualité de l’alimentation (risque de plantage). Une alimentation de qualité est recommandée. |
||
Chargeur pour batterie LiPo avec connecteur micro USB. Connecteur batterie à la norme JSH XH2-2.54mm | ||
Relais 1 sortie 250VAC/10A ou 30VDC/10A. Accessible sur la broche D1 (GPIO5) | D1 | |
1-Button, bouton connecté | ||
DHT11 : mesure de température et d’humidité. Shield non officiel
Librairie Adafruit : https://github.com/adafruit/DHT-sensor-library. Tutoriel : librairie DHT.h |
D4 | |
DHT22 mesure de température et d’humidité à l’aide. Shield non officiel
Librairie Adafruit : https://github.com/adafruit/DHT-sensor-library. Tutoriel : présentation, code Arduino, ESP Easy |
D4 | |
SHT30 : mesure de température et humidité sur le bus I2C | D1 – SCL
D2 – SDA |
|
DHT12 : nouveau shield officiel permettant la mesure de température et humidité sur le bus I2C. | D1 – SCL
D2 – SDA |
|
Ecran OLED SSD1306 I2C 64×48 pixels.. Guide complet sur les librairies pour utiliser un écran OLED. | D1 – SCL
D2 – SDA |
|
Lecteur de carte micro SD (idéal pour fabriquer un mini enregistreur de données) | D5 – CLK D6 – MISO D7 – MOSI
D8 – CS |
|
Platine de prototypage | ||
Base double. Permet d’installer une Wemos sur un emplacement (et de superposer un shields). Un 2nd emplacement permet d’installer un 2nd shields. | ||
Base triple | ||
Driver I2C pour piloter 2 moteurs (15 VDC max.)
Environ 2,85€ (hors frais de port) |
D1 – SCL
D2 – SDA |
|
Alimentation DC 7 à 24 Volts (1A max.) | ||
Led RGB pilotée par un contrôleur WS2812B. Fonctionne avec la librairie Adafruit Neopixel |
D2 | |
Matrice de Led 8×8 |
Toutes les promos sur les shields officiels
Toute la documentation technique
Micro-contrôleur | ESP-8266EX |
WiFi | 802.11 b/g/n |
Tension de fonctionnement | 3.3V |
Digital I/O Pins | 11 |
Entrée analogique | 1 (3.2V max.) |
Fréquence | 80MHz/160MHz |
Flash | 4M bytes |
Longueur | 34.2mm |
Largeur | 25.6mm |
Poids | 10g |
Port USB | micro USB |
Puissance Max. | 5V via le port USB ou le Pin 5V sur la carte |
Reset | Un bouton de Reset qui ré-initialise 5V, 3.3V et GND |
Et le repérage des Pins
Pin sur la carte | Fonction | Correspondance ESP-8266 |
TX | TXD | TXD |
RX | RXD | RXD |
A0 | Analog input, max 3.3V input | A0 |
D0 | IO | GPIO16 |
D1 | IO, SCL | GPIO5 |
D2 | IO, SDA | GPIO4 |
D3 | IO, 10k Pull-up | GPIO0 |
D4 | IO, 10k Pull-up, BUILTIN_LED | GPIO2 |
D5 | IO, SCK | GPIO14 |
D6 | IO, MISO | GPIO12 |
D7 | IO, MOSI | GPIO13 |
D8 | IO, 10k Pull-down, SS | GPIO15 |
G | GND | GND |
5V | 5V | – |
3V3 | 3.3V | 3.3V |
RST | Reset | RST |
Correspondance des Pins de la Wemos D1 Mini
Attention, comme tous les modules ESP8266, ne dépassez pas une tension de 3.3V sur les IO.
Toutes les broches supportent les interruptions, le PWM, la communication I2C et One-Wire sauf la broche D0.
Comment utiliser la Wemos D1 mini avec l’IDE Arduino
La Wemos D1 Mini s’utilise comme toutes les cartes ESP8266. Commencez par configurer l’IDE Arduino. Ouvrez les Préférences et ajoutez le dépôt vers la librairie esp8266.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Allez dans le gestionnaire de carte et cherchez esp8266, puis cliquez sur installer.
Dans la liste des cartes, choisissez WeMos D1 R2 & Mini dans la liste ESP8266 Modules.
Pour ma part j’ai du opter pour une vitesse d’upload de 115200 bauds. Si vous rencontrez des problèmes, voici quelques pistes :
- Faites un Reset,
- Débranchez puis rebranchez la carte,
- Retirez la carte du montage (surtout à la première utilisation).
Cette carte est livrée avec un série d’exemples que vous pouvez télécharger sur github ici. Placez le répertoire dans votre dossier Arduino et relancez l’IDE pour actualiser la liste des exemples. Une section est dédiée aux shields :
- 1 Button : bouton connecté
- DHT pro : pour le DHT22
- DHT : pour le DHT11
- Micro SD : lecteur de carte SD
- Relay : commande de relai 10A – 230V (courant alternatif) ou 10A – 30V (courant continu)
- WS2812B : pilote pour bandeau de LED RVB
Concernant le repérage des broches dans le code Arduino, on peut utiliser la référence de la broche indiquée sur la carte directement dans le programmes Arduino (par exemple D2 à la place de 4). Si vous souhaitez que votre programme puisse fonctionner indifféremment sur un Arduino ou un ESP, le mieux est de continuer à utiliser les références Arduino.
Cet article sur le même thème peut aussi vous intéresser
Comment utiliser les interruptions
Par rapport à un Arduino Uno qui ne possède que 2 interruptions, on peut brancher une interruption sur toutes les broches de Wemos D1 Mini, à l’exception de la broche D0 qui est réservée au sleep mode.
Avec l’IDE Arduino, utilisez comme d’habitude les fonctions attachInterrupt et detachInterrupt.
Pour attacher une interruption : attachInterrupt (interruption, fonction, mode)
- interruption : Indiquer la broche sur laquelle est branchée l’interruption, par exemple 4 pour la broche D4 de la Wemos.
- fonction : La fonction appelée lorsque l’interruption est déclenchée
- modes :
- LOW : l’interruption se déclenche lorsque la broche est au niveau BAS
- CHANGE : l’interruption se déclenche lorsque la broche change d’état BAS/HAUT
- RISING : l’interruption se déclenche lorsque la broche passe de l’état BAS vers HAUT (front montant)
- FALLING : l’interruption se déclenche lorsque la broche passe de l’état HAUT vers l’état BAS (front descendant)
Détacher une interruption : detachInterrupt(broche ou numéro de l’interruption).
Programmer la Wemos D1 Mini en Lua
Pour ceux qui préfèrent le Lua et NodeMCU, vous pouvez programmer la Wemos dans ce langage. Je vous conseil d’utiliser ESPlorer, un programme écrit en Java que je vous ai déjà présenté dans cet article. Pour réinstaller le firmware d’origine, suivez cet article.
Développer sans programmation avec ESP Easy
Enfin, la Wemos se prête très bien à l’utilisation du firmware ESP Easy. ESP Easy permet de faire des mesures, commander des actionneurs, communiquer avec un serveur domotique ou un service en ligne très simplement. Pour tout savoir sur ESP Easy, suivez ce guide complet.
Tutoriels et projets DIY à base de Wemos d1 mini
Vous pouvez commencer par lire ce tutoriel si vous débutez dans la programmation des modules ESP8266 avec du code Arduino. Voici ensuite tous les tutoriels et projets DIY développés à l’aide de la WeMos d1 mini.
- ESP32, broches GPIO et fonctions associées. I/O, PWM, RTC, I2C, SPI, ADC, DAC
- ESP32-CAM. Broches et équipements ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- ESP32-CAM. Quel modèle choisir ? ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- M5Stack Atomic GPS. Tracker ESP32 TinyGPS++, export GPX sur carte SD, visualisation sur Google Maps ou VSCode
- Home Assistant. Installer le snap sur NAS Synology sur une machine virtuelle Ubuntu
- ESP32-CAM. Souder l’antenne externe pour améliorer la portée et la stabilité du flux vidéo
- 5 astuces pour ESP32-CAM. Adresse IP fixe. Mode AP. Rotation image 90°. Récupération automatique connexion WiFi. stockage du code HTML
- ESP32-CAM. Migrer le projet CameraWebServer pour l’IDE Arduino vers PlatformIO
- Jusqu’à 66% de réduction sur les cartes de développement et montres ESP32 TTGO chez Banggood
- Nouveau ESP32-C3, la relève des ESP8266 et ESP01 est là !
- 🛍 Black Friday 2020. Imprimantes 3D en #PROMO sur Aliexpress
- Nouveautés, projets, tutoriels domotique et objets connectés en novembre 2020
- 🛍 Black Friday 2020. Coupon #PROMO sur les imprimantes 3D chez Gearbest
- 🛍 Black Friday 2020. Jusqu’à -33% sur les accessoires domotiques Netatmo sur Amazon
- Nouvelle TTGO T5-4.7 ESP32 avec écran ePaper et support batterie 18650
- 🛍 Raspberry Pi 4 2Go ou 4Go en #PROMO chez Gearbest à partir de 39,75€
- Waveshare lance deux bundles Raspberry Pi 400 + écran tactile 7″ ou 13,3″
- Nouveau M5PAPER ESP32 de M5Stack. Dashboard domotique ePaper tactile ou IoT
- T-Watch. Code simplifié pour extinction et réveil avec BMA423 ou AXP202 de l’ESP32
- T-Watch. Mise en veille et réveil de l’ESP32 avec accéléromètre BMA423 ou AXP202
- T-Watch. Menu, pages, navigation entre écrans avec TFT_eSPI
- T-Watch. Dessiner des fractales de Mandelbrot ou Julia avec un ESP32
- T-Watch. Afficher des images XBM (TFT_eSPI) et C++ (LVGL). Compatible ESP32, Arduino
- T-Watch. Mixer les librairies LVGL et TFT_eSPI dans un même projet ESP32
- T-Watch. Débuter avec la librairie ESP32 TFT_eSPI. Afficher texte, formes, détection tactile
- T-Watch. Créer votre 1er projet ESP32 avec la librairie LilyGoWatch (IDE Arduino ou PlatformIO)
- TTGO T-Watch ESP32. Quel modèle choisir ? Cartes d’extension disponibles
- T-Watch et T-Block. Repérage des broches du Core PCB ESP32 et des cartes d’extension
- T-Watch 2020. Repérage des broches et spécifications de la montre connectée ESP32 TTGO
- Microscope motorisé avec caméra HQ pour Raspberry Pi et interface HTML
- Flask + Bootstrap. Interface HTML pour projets Python sans effort
- Piloter un moteur pas à pas Nema 17 avec la librairie RpiMotorLib Python pour A4988
- Ouvrir une page HTML au démarrage de Raspberry Pi OS avec Chromium Browser en plein écran (mode kiosk)
- Stocker des données sur une carte micro SD. Code Arduino compatible ESP32, ESP8266
- 4 solutions pour ajouter des E/S à un projet Arduino, ESP8266, ESP32, ESP8266, Raspberry Pi. ADS1115, MCP23017, PCF8574, PCA9685
- Nouveautés, projets, tutoriels domotique et objets connectés du 2 octobre 2020
- 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
- ESP32. Utiliser les Timers et alarmes avec du code Arduino
- ESP32. Utiliser les interruptions externes avec du code Arduino
- ESP32. Utiliser les entrées / sorties numériques du GPIO avec du code Arduino
- ESP32. Comment utiliser la librairie WiFiManager pour gérer les connexions WiFi
- ESP32. Comment se connecter au réseau WiFi local avec du code Arduino
- Nouveautés, projets, tutoriels domotique et objets connectés du 14 au 18 septembre 2020
- 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
- ESP01. Quel programmeur choisir ? Modification pour passer en Flash Mode
- Développer avec PlatformIO. Problèmes et solutions
- Platformio.ini, astuces et paramètres utiles. data_dir, monitor_speed, upload_port…
- Résumé de la semaine domotique et objets connectés du 7 au 11 septembre 2020
- ESP32. Stocker des données temporaires dans la mémoire RTC durant la mise en veille
- ESP32. Code Arduino pour mise en sommeil (Deep Sleep) et réveils (Timer, Touch Pad, GPIO…)
- Débuter avec ArduinoJSON v6, librairie Arduino pour manipuler des objets JSON
- Résumé de la semaine du 31 Août au 4 septembre 2020.
- ESP32 Sketch data upload pour IDE Arduino. Téléverser des fichiers SPIFFS sur la mémoire flash
- ESP32. Débuter avec la librairie SPIFFS.h pour lire, écrire, modifier des fichiers
- ESP32. Accéder aux fichiers SPIFFS en FTP avec la librairie ESP8266FtpServer
- TensorFlow Lite Micro est disponible pour ESP32 et ESP32-EYE (ESP32-CAM)
- 🛍 Accessoires Xiaomi Aqara ou Mijia en #PROMO. Ampoules connectées, détecteur de mouvement, ouverture et fuite d’eau, sondes température, humidité, fuite d’eau…
- Débuter avec le bus I2C sur Arduino ESP8266 ESP32. Librairie Wire.h
- Résumé de la semaine du 24 au 28 Août 2020
- Promos Aliexpress Back to School rentrée 2020. Raspberry Pi 4, ESP32, ESP32-CAM, imprimantes 3D
- Nouveaux STM32WL LoRa et STM32WB avec Bluetooth Zigbee et OpenThread
- Nouvelle librairie multitâche HeliOS pour Arduino AVR, SAM et SAMD
- Ventes flash et promos rentrée 2020 chez Gearbest. Domotique, imprimantes 3D, objets connectés
- Ventes flash Amazon rentrée 2020. Domotique, objets connectés, impression 3D, caméras IP…
- ESP32-PICO-V3-ZERO, développement rapide de produits Alexa Connect Kit
- Adresses I2C des capteurs et actionneurs les plus courants
- Test caméra thermique AMG8833/AMG8831 avec du code Arduino. Capteur infrarouge matriciel 64 points
- ESP8266. Téléverser le dossier data (SPIFFS ou LittleFS) depuis PlatformIO
- Migrer un projet de l’IDE Arduino vers PlatformIO. ESP32, ESP8266 ou autre
- ESP8266. Téléverser avec LittleFS Data Upload pour IDE Arduino
- ESP8266. Utiliser la librairie LittleFS pour lire, écrire, modifier des fichiers
- ESP8266. Comment lire, écrire, effacer l’EEPROM. Calculer l’espace nécessaire en bytes
Mises à jour :
- 2/06/2016 : comment utiliser les interruptions dans le code Arduino
- 03/09/2016 : nouveaux shields : chargeur de batterie LiPo, base double
- 8/02/2017 : repérage des broches des shields
- Débuter avec le BH1750 (GY-302), mesurer la qualité de l’éclairage de votre habitation (Arduino/ESP8266/ESP32)
- WeMos disparait, nouvelle gamme LoLin 2019
- ESP8266, activer le mode Deep Sleep, réveil (wake up) avec un détecteur de mouvement PIR
- Nouvelle Wemos LoLin d1 mini Pro, ESP8266EX 16MB, connecteurs IPEX, I2C, batterie LiPo
- Wemos LoLin D32 Pro ESP32 avec support écran TFT, connecteur et chargeur batterie LiPo et lecteur de carte SD
- CCS811 IAQ, test du capteur de qualité de l’air TVOC, eCO2 bus i2C (Arduino, ESP8266)
Avez-vous aimé cet article ?