Contrôle Alimentation à distance avec SOnOff

Si vous avez besoin d’alimenter ou couper le secteur à distance sur un émetteur ou un relais par exemple, des solutions domotique existent. Ce que je vous propose ici, c’est une solution dont vous pouvez personnaliser la logique de mise en route ou d’arrêt.

Pour la partie Hardware, prenez un ensemble SonOff (basic) que l’on trouve pour 10€ sur Amazon ou Ebay. C’est un relais pilotable par Wifi à l’aide d’un micro-controleur de la famille des ESP8266. Un bouton poussoir et une LED permettent un contrôle local. D’un coté du boitier on alimente en 220v, de l’autre on sort du 220v ou non suivant l’état du relais.

Pour la partie software, ne prenez pas le logiciel installé d’origine sur le SonOff qui vous oblige à passer par la chine pour commander l’alimentation de votre équipement. Implantez le firmware open source ESP Easy qui fait des merveilles sans se prendre la tête avec une programmation compliquée.

Installation du Firmware

Adaptateur USB – TTL

Ouvrir le SonOff, au milieu du CI, il y a 4 trous ou l’on pourra souder 4 pins pour programmer le SonOff avec un adaptateur USB TTL que l’on trouve pour 6€ chez Amazon, Cdiscount, Ebay…

Reliez l’adaptateur au circuit du SonOff ainsi:

Adaptateur TTL 3v3SonOff
GroundGround
TXRX
RXTX
Alimentation 3v33v3

Les autres pins de l’adaptateur ne sont pas utilisées.

Attention sur 3 points:

  • Il faut sur l’adaptateur mettre le cavalier sur 3v3 et ne pas rester en 5v. C’est lui qui alimentera le SonOff (ESPEASY).
  • Certains SonOff ont 5 trous pour accéder en plus au GPIO14 qui permet de connecter un senseur comme un thermomètre.
  • Surtout ne pas alimenter le SonOff avec l’entrée 220v. L’isolation n’est pas garantie.

On a besoin de la dernière version du firmware d’ESP Easy que l’on trouve sur github. Téléchargez la dernière « Release Mega xxxx » en .zip et dezipez l’ensemble.

Il y a plusieurs binaires possibles. Pour le chip ESP se trouvant dans le SonOff, prenez la version titrée « normal_1M_ESP8266 » qui se trouve dans le sous-dossier « bin » en la copiant dans le même dossier que le logiciel de flashage, « FlashESP8266 ».

Lancez le programme « FlashESP8266 », sélectionnez le port série sur lequel windows a attaché le port USB de l’adaptateur.

Pour passer le SonOff (Esp ) en mode programmation, il faut rester appuyé sur le bouton poussoir au moment de la mise sous tension en branchant le câble USB. Puis vous lancez la programmation qui prendra une minute environ.

Notez: avec les dernières versions en 2020, j’ai beaucoup de coupures Wifi. Une ancienne version de 2018:
ESP_Easy_v2.0-20180124_normal_ESP8285_1024.bin
donne de bons résultats, adaptée au processeur 8285.

Programmation du WIFI

Redémarrez le SonOff en coupant et en le re-alimentant soit par le 3v3 ou directement par l’entrée 220v (en étant déconnecté de l’adaptateur). A ce moment l’ESP ne sait pas à quel réseau Wifi se connecter, il va passer en mode point d’accès wifi et émettre son propre signal. Ouvrez votre téléphone ou un PC avec un Wifi et recherchez un réseau qui se nomme ESP…., connectez vous à ce réseau. Si un mot de passe est demandé c’est « configesp ». Une page web va s’ouvrir et vous verrez la liste des réseaux wifi autour de chez vous. Sélectionnez votre wifi et donnez le mot de passe de votre réseau. L’ESP va rentrer dans ses paramètres votre Wifi et basculer dessus pour continuer la programmation. Cette opération est délicate et souvent il faut s’y reprendre à plusieurs fois. Pour limiter les déboires, faites cette opération à coté de la box qui émet le signal wifi afin qu’il soit fort et pas trop perturbé par le voisinage. Repérez au moment du basculement sur votre réseau Wifi, l’adresse IP que votre box aura attribué par DHCP à l’ESP. Pour information, l’opération de connexion initiale au signal wifi de l’ESP se fait en général à l’adresse IP: 192.168.4.1. Cela peut aider dans certains cas.

Configuration du SonOff (ESP)

Une fois connecté à votre réseau Wifi, vous accédez au SonOff en tapant l’adresse IP 192.168.xxx.xxx attribué par votre box dans un navigateur. Un mini serveur WEB sur l’ESP vous permet de configurer et personnaliser l’ensemble. Pour fixer l’adresse IP de votre SonOff(ESP) plutot que d’utiliser l’attribution par DHCP, allez dans l’onglet « Config ».

L’onglet « Controllers », permet, si besoin, de lier l’ESP à un système central de gestion de la domotique comme Domoticz. Dans l’onglet « Hardware », il n’y a rien à faire.

L’onglet « Device » est important pour déclarer le relais et le bouton poussoir connectés à l’ESP.

Editez une ligne pour le relais qui se trouve connecté au GPIO-12.

Pour le bouton poussoir, il se trouve sur le GPIO-0

La LED se trouve connecté au GPIO 13 mais ne nécessite pas d’être déclaré dans les devices. Elle sera adressé directement dans l’onglet « Rules » qui permet une personnalisation de la programmation. Éditez la « Rules 1 » et entrez le programme suivant:

On System#Boot do
   timerSet,1,2
  GPIO 13,1 // LED  Off
  event Allumer
 endon

 On Rules#Timer=1 do
   GPIO 13,1
 if [Relais#Etat]=1
     timerSet,1,1
     Pulse,13,0,900  //Flash LED long Power On
   else 
      Pulse,13,0,50 //Flash LED court Power Off
       timerSet,1,3
   endif
 endon

 On Bouton#Poussoir=0 do
     if [Relais#Etat]=1
         GPIO 12,0 //Relais Off
   else 
         GPIO 12,1  //Relais On
      endon
   endif
 endon

 On Allumer do
     GPIO 12,1  //Relais On    
 endon

 On Eteindre do
     GPIO 12,0  //Relais Off    
 endon

Comme le montre la programmation ci dessus on a:

  • le relais passe en on à la mise sous tension pour remettre le courant suite à une coupure.
  • La LED est sur le GPIO-13 et s’allume si 0
  • Grace au timer 1, la LED clignote court si le relais est off et clignote long si le relais est on
  • Avec le bouton poussoir on peut allumer ou éteindre

Avec le langage de programmation d’ESPEasy dont on trouve sur le site de bons tutoriaux, il est possible d’implanter de nombreuses autres fonctionnalités comme la prise en compte de l’heure, de s’envoyer des mails etc..

Pour allumer ou éteindre à distance envoyer les commandes suivantes depuis la barre d’adresse d’un navigateur:

  • http://192.168.x.y/control?cmd=event,Allumer
  • http://192.168.x.y/control?cmd=event,Eteindre

en remplaçant x et y par l’adresse IP de l’ESP sur le réseau. Pour un accès par le monde extérieur, faite une redirection de port au niveau de la Box internet ver le port 80 de l’ESP.

Ensemble du système avec le câblage de la terre par l’extérieur du SonOff