Votre petit Weemos D1 est LA puce idéale pour vos projets IoT (Internet Of Things) car il sait utiliser des tas de périphériques, de capteurs. Ici, nous allons nous intéresser au shield relai, une platine munie d’un seul et unique relai qui va venir s’enficher sur le Weemos D1 :

Avant de débuter, nous allons poser quelques bases :

  • vous avez déjà un broker MQTT d’installé
  • votre Weemos D1 est flashé avec EasyESP
  • dans la configuration, nous avons appelé notre ESP wimosD1
  • nous enverrons nos trames MQTT de commande sur wimosd1/relay

Si MQTT vous est totalement inconnu, je vous invite à lire cet excellent billet sur Framboise314, LE site dédié aux petits RaspberryPi.

Au boulot maintenant : commençons par aller dans la configuration ESPEasy du Weemos, dans hardware, et désactivons l’I2C :

Nous allons maintenant ajouter un périphérique Generic – MQTT Import dans devices :

Le nom est relay1 et il ne répondra qu’aux trames adressées au nom de l’ESP (souvenez-vous, nous avons choisi wimosd1) suivi de relay.

Dans TOOLS, ADVANCED, activons les RULES en cochant la case ad-hoc, comme l’aurait dit le capitaine d’un nom voisin :

Une nouvelle option RULES va alors apparaitre dans le menu de configuration d’ESPEasy. Voici la règle à ajouter :

on relay1#relay=1 do
Publish %sysname%/relay,relai actif
GPIO,5,1
endon

on relay1#relay=2 do
Publish %sysname%/relay,relai coupé
GPIO,5,0
endon

En clair, lorsque nous enverrons à wimosd1/relay la valeur 1, le relai s’activera. En envoyant 0, il se coupera ! Simple non ?

Ouvrez un terminal sur votre broker MQTT, placez vous en écoute MQTT :

mosquitto_sub -v -t 'wimosd1/#' 

Ouvrez un second terminal, toujours sur le broker MQTT, et lancez la commande :

mosquitto_pub -t 'wimosd1/relay' -m 1 

Et voici le relai qui s’active, dans le premier terminal vous verrez passer ces messages :

wimosd1/relay 1
wimosd1/relay relai actif

Vous savez désormais comment faire réagir un Weemos D1 à des ordres MQTT. A vous maintenant d’approfondir les scripts, d’intégrer de nouvelles actions en fonction d’une température par ex, d’un mouvement détecté avec un capteur PIR, etc.