Wemos D1 mini : carte de développement ESP8266 pour objets connectés à moins de 5€ • Domotique et objets connectés à faire soi-même

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.

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

environ 2,20€

Relais 1 sortie 250VAC/10A ou 30VDC/10A. Accessible sur la broche D1 (GPIO5)

environ 3,2€

D1
1-Button, bouton connecté

environ 1,95€

DHT11 : mesure de température et d’humidité. Shield non officiel

environ 2,70€

Librairie Adafruit : https://github.com/adafruit/DHT-sensor-libraryTutoriel : librairie DHT.h

D4
DHT22 mesure de température et d’humidité à l’aide. Shield non officiel

à partir de 2,77€

Librairie Adafruit : https://github.com/adafruit/DHT-sensor-libraryTutoriel : présentation, code Arduino, ESP Easy

D4
SHT30 : mesure de température et humidité sur le bus I2C

environ 2,90€

Librairie et exemple sur GitHub

D1 – SCL

D2 – SDA

DHT12 : nouveau shield officiel permettant la mesure de température et humidité sur le bus I2C.

environ 1,30€ (hors frais de port)

D1 – SCL

D2 – SDA

Ecran OLED SSD1306 I2C 64×48 pixels.. Guide complet sur les librairies pour utiliser un écran OLED.

environ 4,40€

D1 – SCL

D2 – SDA

Lecteur de carte micro SD (idéal pour fabriquer un mini enregistreur de données)

environ 2,60€

D5 – CLK D6 – MISO D7 – MOSI

D8 – CS

Platine de prototypage

environ 0,70€

Base double. Permet d’installer une Wemos sur un emplacement (et de superposer un shields). Un 2nd emplacement permet d’installer un 2nd shields.

Environ 0,95€

Base triple

Environ 0,76€

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.)

Environ1,80€ (hors frais de port)

Led RGB pilotée par un contrôleur WS2812B. Fonctionne avec la librairie Adafruit Neopixel

à partir de 0,84€

Adafruit_NeoPixel_Libraryexemple Arduino

D2

Matrice de Led 8×8

Environ 1,65€

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.

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

Avez-vous aimé cet article ?