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

Carte 1 relais

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.

Les 2 cartes présentées ici rassemblent un ESP32, 1 ou 4relais, et un bloc alimentation sur la même carte.

On les trouve chez Aliexpress :

Avantages

  • regroupement ESP32, 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 (carte 1 relais)

Cette carte dispose d’une entrée 230V AC pour son alimentation.

4 connecteurs * 10 pins

3V3CLK5VGND
SD0SD1SD3CMD
IO15IO2IO13SD2
IO0IO4IO14IO12
IO16 (Relais)IO17IO26IO27
IO5IO18IO33IO25
IO19GNDIO35IO32
IO21RXD0SVNIO34
TXD0IO22ENSVP
IO23 (LED bleue)GNDGND3V3

Connecteur programmation

IO0GNDGNDRXTX5V

Autres

RelaisIO16
LED bleueIO23
Bouton EN (Reset)EN
Bouton IO0IO0

Connexions Hardware (carte 4 relais)

Cette carte dispose de 3 entrées au choix pour l’alimentation :

  • 230V AC
  • 7V à 30V DC
  • 5V DC

4 connecteurs * 10 pins

3V3CLK5VGND
SD0SD1SD3CMD
G15G2G13SD2
G0G4G14G12
G16G17G26 (relais)G27
G5G18G33 (relais)G25 (relais)
G19GNDG35G32 (relais)
G21RXDSVNG34
TXD0G22ENSVP
G23 (LED )GNDGND3V3

La disponibilité des GPIO est bien détaillée dans de document : https://www.upesy.fr/blogs/tutorials/esp32-pinout-reference-gpio-pins-ultimate-guide

Connecteur programmation

IO0GNDGNDRXTX5V

Autres

Bouton EN (Reset)EN
Bouton IO0IO0
Carte 4 relais

Programmation

Pour télécharger du code, il faut connecter une interface USB / TTL avec le strap d’alimentation sur 3V3.

Pour l’alimentation de la carte ESP32 pendant la programmation, on a 2 choix :

  • alimenter par l’adaptateur série sortie VCC vers le 5V de la carte ESP (bien que l’on soit en 3.3V et ne fonctionnera que pour la programmation)
  • alimenter l’ESP32 en 230V et pas de liaison série sortie VCC vers carte ESP32

Pour lancer la programmation, il faut :

  • rester appuyé sur le bouton IO0
  • appuyez sur EN (Enable/Reset)
  • relâchez les 2 boutons

Ainsi l’ESP 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 ESP32 DEV module. Vous trouverez des détails sur la mise en route ici : https://f1atb.fr/programmation-de-lesp32-application-au-routeur-photovoltaique/

Avec l’Arduino, intégrez dans votre code le mode OTA 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 ESP32 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

Exemple de réalisation

Pilotage lumière, buzzer et mesure de température et luminosité

Ici un exemple regroupant :

  • Capteur de présence Infra Rouge
  • Capteur de luminosité
  • Capteur (DHT22) de température et humidité
  • Buzzer comme sonnette
  • Interface vers un interrupteur A/M
  • Relais pour la lumière

Pilotage lumières,climatisation Airton , et mesure de température.

Autre exemple avec la version 4 relais qui pilote des lumières et dispose de 4 senseurs ou effecteurs:

  • Détecteur de présence PIR Infra rouge
  • Mesure de la luminosité sur une entrée analogique
  • Un émetteur Infra-Rouge pour piloter une climatisation Airton
  • Un capteur de température et humidité DHT22

En plus 2 entrées connectées à des interrupteurs pour allumer/éteindre manuellement la lumière

Le code en yaml pour ESPHome / Home Assistant est disponible ici : https://github.com/F1ATB/Climatisation-Airton

Attention, le diagramme de directivité du IR Transmitter (disponible chez Aliexpress) est étroit, il faut pouvoir ajuster sa position afin de bien viser le climatiseur.

Climatiseur réversible Airton / Pompe à chaleur

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...

15 réponses

  1. JMH dit :

    Bonsoir André,
    Ce composant peut il être utilisé pour le routeur ? Y a t’il une limitation par le logiciel ? Je ne vois pas de problème du point de vue Hardware.
    Il possède déjà un relais et surtout l’alim 220v; c’est un plus
    J’en ai commandé un et je vais tester. J’ai mis en stby le développement du CI pour ça.
    Bravo pour votre réactivité pour les debugs soft (V5.02, gestion du capteur de température)

  2. Marcos83 dit :

    Sympa ce module !!
    Je vois une version 6 du routeur qui pointe son nez 😉.
    En tout cas, André je suis admiratif devant votre capacité à produire autant de nouveaux projets en si peu de temps ! j’ai vu que vous aviez repris mon code auto discovery home assistant dans les dernières version routeur. Vous l’avez magnifiquement optimisé. Une vraie machine ! Épatant !
    Merci pour ces nouveautés prometteuses et votre partage.

  3. Jean-Michel Pillone dit :

    Re- bonsoir André, oubliez le PS de mon message précédent j’ai retrouvé l’article en question.

    Encore merci

    Jean michel

  4. Franck dit :

    Bonjour et merci pour tous ces articles.
    Cependant je me permets quelques nota bene issues de mon expérience sur ce type de carte avec relais embarqués.
    1- Il vaut mieux oublier l’alimentation (en 3 ou 5V ) les deux fonctionnent mais le risque est très grand d’oublier à un moment que l’alim 230 est présente ce qui au mieux peut détruire la carte ESP, au pire votre PC…
    2 – Si le relais alimente une charge inductive, (pompe par exemple), cela engendre des comportements bizarre sur la carte qui souvent la mettent en rideau… (je n’ai pas l’expertise pour développer mais j’ai du mettre un second relais, un comble 🙁 )
    3 – la qualité de fabrication, sur 3 cartes achetées, 2 seulement fonctionnent… a peu près… j’ai beaucoup de soucis pour maintenir en fonctionnement ces cartes sur le long terme, malgré des routines d’auto-surveillance du code, soucis que je n’ai pas avec les cartes « standards » ESP. (là aussi, je ne sais pas diagnostiquer le pourquoi…).
    4 – Attention, c’est du 230V qui se ballade dans la carte, mettre un film isolant sur le dessous peut éviter quelques secousses… 😉
    bref je suis revenu à l’utilisation des cartes standards avec relais externes.
    Bonne année 2024

  5. Alain dit :

    Bonsoir André,
    j’ai voulu faire un téléversment sur la carte avec un relai mais j’ai cette erreur : MD5
    Compressed 18992 bytes to 13112…
    Writing at 0x00001000… (100 %)
    Wrote 18992 bytes (13112 compressed) at 0x00001000 in 0.2 seconds (effective 678.9 kbit/s)…
    File md5: 03b32c0cabcc0c857bc2ae029a696d68
    Flash md5: d5cb4735e5d52a4f26019d113b36e207
    MD5 of 0xFF is fb0d8f08f299b9d5a5a87d75bdfef241

    A fatal error occurred: MD5 of file does not match data in flash!
    Failed uploading: uploading error: exit status 2
    une idée du problème?
    Cdlt

  6. Alain dit :

    Bonjour André,
    j’ai essayé même avec vos anciennes versions, rien ni fait, vous n’avez pas eu cette erreur sur les votres?
    je vais chercher sur le net
    Cdlt

  7. Alain dit :

    André, c’est fait pareil toujour la même erreur
    j’ai uploader en .bin un ESP 32 à partir de mon terminal puis fait un download sur la carte ça téléverse jusqu’à 100% puis toujour l’erreur qui revient
    je me demande si l’esp n’ a pas un problème ou bien la carte :
    esptool.py v4.5.1
    Serial port /dev/cu.usbserial-A50285BI
    Connecting…
    Chip is ESP32-D0WD-V3 (revision v3.1)
    Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
    Crystal is 40MHz
    MAC: e4:65:b8:82:46:e8
    Stub is already running. No upload is necessary.
    Configuring flash size…
    Erasing flash (this may take a while)…
    Chip erase completed successfully in 0.0s
    Compressed 4194304 bytes to 737690…
    Wrote 4194304 bytes (737690 compressed) at 0x00000000 in 71.1 seconds (effective 472.0 kbit/s)… (il a bien écrit le fichier .bin)
    File md5: 50779a339f3bcdcb10b44e14e08ae595 (mais toujours les trois lignes ! !)
    Flash md5: 9e638ae6ff5a3f62b17b73d14fb5218d
    MD5 of 0xFF is 2b7a70fa59f8173635bcbe956bad56c6

  8. Alain dit :

    André,
    J’ai enfin trouvé c’est la tension en 3,3V après mesure elle était que 2,9V j’ai mis le pont en 5V sur la carte USB/TTL et la bingo j’ai pu téléversé sans erreur et créer un fichier .bin
    si cette info peut servir à d’autres.
    Cdlt
    Uploading stub…
    Running stub…
    Stub running…
    4194304 (100 %)
    4194304 (100 %)
    Read 4194304 bytes at 0x00000000 in 393.8 seconds (85.2 kbit/s)…
    Hard resetting via RTS pin…

  9. Alain dit :

    Pour tout ceux qu’ils veulent utiliser cette carte pour faire le routeur il faut impérativement changer la ligne 88 (#define zeroCross 23) en 21 dans le code avant de téléverser car le 23 est pour une led bleu sur la carte

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *