ESP8266 + relais + alimentation 230V AC intégrés + capteurs

ESP12F Relay X4

Dans une installation domotique, on a souvent besoin au niveau local d’un ensemble comprenant des senseurs comme :

  • un détecteur de présence,
  • une mesure de luminosité
  • une mesure de la température

Un ou plusieurs relais comme actionneur.

Un microcontrôleur pour le traitement.

On trouve sur le marché de nombreux relais pilotables avec leur logiciel propriétaire, mais difficile d’y rajouter un senseur ou capteur.

La carte présentée ici rassemble un ESP8266, 4 relais, et un bloc alimentation sur la même carte.

On la trouve chez Aliexpress .

Avantages

  • regroupement ESP8266, relais et alimentation. Cela simplifie le câblage
  • Trous de fixation de la platine
  • Entrées/Sorties GPIO ou IO à câbler en dessous ou au-dessus, ce qui est très pratique
  • Nombreuses pins GND, 5V et 3.3V pour connecter les senseurs
Adaptateur USB / Serie (Aliexpress)

Défauts

  • Pas d’accès USB pour la première programmation. Il faut une interface USB/TTL

Connexions Hardware

Connecteur programmation

GNDGNDIO0RXTX5V

Connecteurs Relais

Relais 1RY1
Relais 2RY2
Relais 3RY3
Relais 4RY4
Par câblage, on associe un relais au GPIO de son choix.

Connecteurs GPIOs

ADCEN(reset)IO16IO14IO12IO13
IO5IO4IO0IO2IO15GND

Il y a un certains nombres de contraintes sur les GPIO de l’ESP8266. Leur disponibilité est donnée dans le tableau ci-dessous, ainsi que les recommandations.

LabelGPIOInputOutputNotes
D0GPIO16no interruptno PWM or I2C supportHIGH at boot
used to wake up from deep sleep
D1GPIO5OKOKoften used as SCL (I2C)
D2GPIO4OKOKoften used as SDA (I2C)
D3GPIO0pulled upOKconnected to FLASH button, boot fails if pulled LOW
D4GPIO2pulled upOKHIGH at boot
connected to on-board LED, boot fails if pulled LOW
D5GPIO14OKOKSPI (SCLK)
D6GPIO12OKOKSPI (MISO)
D7GPIO13OKOKSPI (MOSI)
D8GPIO15pulled to GNDOKSPI (CS)
Boot fails if pulled HIGH
RXGPIO3OKRX pinHIGH at boot
TXGPIO1TX pinOKHIGH at boot
debug output at boot, boot fails if pulled LOW
A0ADC0Analog InputX

Programmation

Pour télécharger du code, il faut connecter une interface USB / TTL avec le strap d’alimentation sur 3V3. On ne câble que la masse (GND) et le TX et le RX en croisant. TX carte programmation vers RX carte ESP8266. On ne câble pas le Vcc (l’alimentation)

Pour lancer la programmation, il faut :

  • mettre l’entrée IO0 temporairement à la masse
  • appuyez sur EN (Enable/Reset)
  • relâchez IO0 et En

Ainsi l’ESP 8266 attend la programmation. Une fois la programmation faite, re – appuyer sur EN pour relancer l’ESP32 sur le nouveau programme.

Logiciel

Ce module a l’avantage de ne pas être propriétaire, vous pouvez y mettre ce que bon vous semble.

Arduino

Avec l’outil IDE Arduino, vous pouvez développer votre propre code. Choisissez la carte Generic ESSP8266 module.

Avec l’Arduino, intégrez dans votre code le mode OTA (On The Air) permettant de mettre à jour le code à distance via le WIFI. Ainsi vous n’aurez plus besoin de l’interface USB/TTL

ESP Easy

Firmware permettant de programmer des ESP8266 ou ESP32 et disposant du code pour de nombreux capteurs sur le marché. Cela simplifie la programmation
https://espeasy.readthedocs.io/en/latest/index.html

ESPHome

Firmware puissant permettant de programmer son ESP8266 avec de simples descriptions d’interfaces, actions; évènements etc. dans un fichier yaml. Souvent associé au système domotique Home Assistant.
https://esphome.io/index.html

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...

5 réponses

  1. Sebastien dit :

    Bonjour, peut on piloter une vanne 3 voie avec une sonde de température ?
    Cordialement

  2. Machin dit :

    Intéressant. A toutes fins utiles il existe aussi toute la gamme Sonoff que l’on peut, soit flasher avec Tasmota soit y incorporer son propre firmware si on est un peu courageux.

  3. Jean michel Pillone dit :

    Ouah ! mais quel travail, j’en suis tout impressionné. Le simulateur est une merveille ! Quel moyen plus démonstratif que cela afin de montrer les differents modes de fonctionnement et leur incidence sur le « parasitage » du secteur .
    J’utilise depuis longtemps ce routeur en version Linky, que je fais évoluer ou pas en fonction de vos améliorations et de l’intérêt qu’elles représentent à mes yeux et au fonctionnement de mon installation.
    N’ayant , à ce jour, pas passé de convention avec Enedis, je n’ai pas droit à la partie négative des courbes de puissances puisque le Linky ne transmet pas dans les données brutes les puissances injectées.
    N’est il pas possible de remédier à cela puisque la puissance apparente à l’instant « t » est égale à « 0 » mais que les données brut signalent la présence d’un courant ? en faisant un « et » des deux conditions ne peut on pas inscrire la ou les courbes en négatif ?
    Merci encore pour votre travail acharné et au combien pédagogique .
    Cordialement.
    Jean-Michel