Installation 100% logiciel sans intervention sur le matériel
SonOff mini R2

Le SonOff mini est un module trÚs utile en domotique. Il dispose de nombreuses caractéristiques séduisantes comme:
– une taille rĂ©duite 42*42*20mm permettant de se loger Ă  l’intĂ©rieur de boites d’interrupteurs muraux
– un relais permettant de commuter du 230v jusqu’Ă  10A
– une entrĂ©e permettant de recevoir une commande comme un interrupteur
– une liaison wifi permettant un contrĂŽle Ă  distance
– un microcontrĂŽleur (ESP 8285 similaire au 8266) programmable pour gĂ©rer la logique de l’ensemble
– un prix en dessous de 10€

Dans un prĂ©cĂ©dent article, j’ai dĂ©crit l’installation du firmware ESP Easy pour personnaliser son SonOff. Cette installation nĂ©cessitant de souder des broches peu en rebuter plus d’un. Ici on utilise l’IDE Arduino pour dĂ©velopper son propre code et le tĂ©lĂ©charger en mode OTA (On The Air) par le WiFi. Cela offre la possibilitĂ© de piloter le relais du SonOff depuis un systĂšme domotique (HA, Domoticz..) ou depuis une page web sur son smartphone. Ceci Ă©vite de passer par les applications propriĂ©taires sur smartphone qui font transiter vos commandes via un cloud localisĂ© quelque part dans le monde.

Etape 1 : Installation – SonOff DIY

Sortir le SonOff de sa boite et le brancher sur le 230V. On va utiliser le mode dit DIY (Do IT Yourself) du SonOff pour accéder à la reprogrammation du firmware.

Une fois mis sous tension, il faut appuyer sur l’interrupteur du boitier au moins 5s (voire une deuxiĂšme fois 5s si le systĂšme a dĂ©jĂ  Ă©tĂ© programmĂ©). La led bleu clignote rapidement, le SonOff passe en Ă©mission Wifi (Access Point « ITEAD….xxxxx ») se connecter avec un smartphone avec le mot de passe 12345678. Si la connexion ne se fait pas automatiquement, l’adresse IP Ă  rentrer dans votre navigateur est  http://10.10.7.1/. Renseigner alors le nom du wifi local Ă  utiliser (SSID) Ă  l’avenir ainsi que le mot de passe de votre rĂ©seau.

TĂ©lĂ©charger l’outil « SonOff DIY Mode Tool » . DĂ©zippez le fichier et dans le dossier « tool » lancez l’exĂ©cutable « tool_01DIY85(v3.3.0).exe » sur un PC connectĂ© au mĂȘme rĂ©seau que votre Wifi. Entre temps, trouvez via votre box internet ou tout autre outil, l’adresse IP qui a Ă©tĂ© attribuĂ©e Ă  votre SonOff-Mini. Cet outil va scanner votre rĂ©seau et trouver le SonOff.

L’outil SonOff DIY Mode Tool pour windows permet de se familiariser avec les commandes Ă  passer (REST API) au SonOff pour contrĂŽler le relais depuis un systĂšme de domotique, mais on n’a aucun contrĂŽle sur le firmware. Par contre, il y a en haut Ă  droite un bouton « Firmware Flash » ou « Brush machine » qui permet de tĂ©lĂ©charger un nouveau firmware.

DIY Mode Tool à télécharger sur le web.

Etape 2 : Installation Nouveau Firmware

Comme l’accĂšs au micro-contrĂŽleur ESP, ne peut se faire que par le Wifi, il faut y implanter un logiciel qui permet des mises Ă  jour par le WiFi dit OTA (On The Air). Pour cela, on utilise l’outil de dĂ©veloppement IDE d’Arduino.

Solution 1

La premiĂšre possibilitĂ© est d’utiliser un exemple fourni dans l’IDE. Choisir le programme « ArduinoOTA/BasicOTA » pour ESP8266. C’est le minimum requis Ă  implanter dans tout programme pour ĂȘtre en possibilitĂ© de le mettre Ă  jour ultĂ©rieurement. Retirer toutes les sorties sur le port sĂ©rie non disponible : Serial….

Dans l’Arduino IDE, il faut choisir la carte Generic ‘ESP8266 Module. Dans le code, rentrer le SSID et le mot de passe du WiFi. Surtout ne pas oublier, car vous ne pourriez plus accĂ©der Ă  l’ESP sauf Ă  le reprogrammer par du hardware.
Ce bout de code ne fait rien Ă  part installer le minimum pour faire des mises Ă  jour via le WiFi.

Pour crĂ©er le binaire Ă  ‘uploader’ vers l’ESP, allez dans croquis, sĂ©lectionnez ‘Exporter les binaires compilĂ©s’. On retrouve le binaire dans le dossier source avec une extension .bin

Avec l’outil DIY Mode Tool, uploadez le fichier binaire. Par la suite, l’IDE Arduino reconnait votre accĂšs Ă  la carte par Wifi, et vous pourrez ‘uploader’ n’importe quelle application, mais toujours y inclure au minimum :

  • #include <ArduinoOTA.h> , la librairie OTA
  • ArduinoOTA.begin(); dans le setup
  • ArduinoOTA.handle(); dans la boucle loop

Solution 2

La seconde possibilitĂ© est d’implanter l’exemple tĂ©lĂ©chargeable ici qui permet de piloter le relais :

  • depuis une page web,
  • Ă  distance depuis une application domotique avec une commande http ,
  • en branchant un interrupteur sur les entrĂ©es S1 et S2 de l’ESP Mini R2

Pour crĂ©er le binaire Ă  ‘uploader’ vers l’ESP, dezippez le fichier tĂ©lĂ©chargĂ© qui comprend un dossier avec un fichier .ino et un fichier.h . Ouvrir le fichier source .ino dans l’IDE Arduino. SĂ©lectionnez la carte ‘Generic ESP 8266 module, allez dans croquis, sĂ©lectionnez ‘Exporter les binaires compilĂ©s’. On retrouve le binaire dans le dossier source avec une extension .bin

Avec l’outil DIY Mode Tool, uploadez le fichier binaire vers l’ESP.

À ce stade, le programme implantĂ© va tourner, mais il ne connait pas le nom du wifi oĂč se connecter. Il va passer en mode Wifi : point d’accĂšs. Prenez votre smartphone ou un PC avec une interface Wifi. Recherchez un rĂ©seau qui s’appelle : F1ATB-SonOff-…..
Connectez-vous au rĂ©seau, il n’y a pas de mot de passe.
Lancez un navigateur Ă  l’adresse : http://192.168.4.1
L’ESP va vous envoyer une page vous demandant le nom du rĂ©seau WIFI sur lequel il devra se connecter Ă  l’avenir, ainsi que le mot de passe. Ces valeurs sont stockĂ©es dans la mĂ©moire EEPROM de l’ESP.
Connectez-vous avec votre smartphone ou PC Ă  ce rĂ©seau WIFI et vous y retrouverez l’ESP Ă  l’adresse IP qui lui aura Ă©tĂ© attribuĂ© par votre box. Si vous ne connaissez pas l’adresse IP, regardez au niveau de votre box la liste des machines connectĂ©es.

Par sĂ©curitĂ©, si l’ESP en mode point d’accĂšs, n’a pas de client au bout de 3mn, il se reset. Si par la suite, il n’arrive pas Ă  se connecter, il repasse en mode point d’accĂšs pendant 3mn.

Ordres accĂšs Ă  distance

On accĂšde Ă  l’ESP par l’adresse ip (ex:192.168.1.10) ou par http://hostname.local , un serveur mDNS Ă©tant implantĂ©.

http://<ip>   AccĂšs Ă  la page web de contrĂŽle du relais
http://<ip>/Relay?R=1   commande Ă  distance, relais on
http://<ip>/Relay?R=0   commande Ă  distance, relais off
http://<ip>/Debug   Debug et historique des commandes reçues

Par la suite, toutes les mises Ă  jour se font en OTA par l’IDE Arduino. Il faut sĂ©lectionner la carte Ă  la bonne adresse IP . Surtout, n’oubliez pas le bout de code pour accĂ©der en OTA :

  • #include <ArduinoOTA.h> , la librairie OTA
  • ArduinoOTA.begin(); dans le setup
  • ArduinoOTA.handle(); dans la boucle loop

Bugs Soft

L’IDE Arduino va vous demander un mot de passe lors de la compilation en mode OTA. RĂ©pondez n’importe quoi, 1 lettre minimum.

Parfois avec l’IDE Arduino en fin de transfert, l’icîne reste jaune et vous n’avez plus la main. Fermez l’IDE et le relancez.

SonOff Mini Hardware

La broche GPIO4 et la masse sont disponibles sur le bornier. Pour les autres broches, ouvrir le SonOff pour y accéder.

GPIO0SwitchProgrammation ESP
GPIO1TX
GPIO2
GPIO3RX
GPIO4Entrée sur le bornier
GPIO12Relais1= »On »0= »Off »
GPIO13LED bleueO= »Off » 1= »On »

En plus d’une commande par le web, on peut brancher un interrupteur qui Ă  chaque basculement fera changer l’Ă©tat du relais.

Montage avec un interrupteur en complément des commandes par WIFI

Dans une installation domestique, on peut remplacer un systÚme de va-et-vient avec 2 interrupteurs en implantant un SonOff qui reprendra les 2 interrupteurs existants. La liaison étant en basse tension 3.3v, on peut utiliser du fil de téléphone pour relier les interrupteurs entre eux.

Montage d’un va-et-vient avec SonOff Mini et 2 interrupteurs

Cet article a 26 commentaires

  1. StefanDu30

    Bonjour
    Je voulais ajouter la carte Generic ESP 8266 module mais je ne la trouve pas dans la liste d’ajout des carte sous arduino, comment procĂ©der ?
    Merci d’avance,

  2. StefanDu30

    Dsl c’est bon j’ai ajoutĂ© la carte, rĂ©ussi Ă  flasher puis a y donner les rĂ©seau et code wifi, par contre ensuite impossible d’y accĂ©der
si vous avez une idĂ©e je suis preneur ?

  3. StefanDu30

    Pour info complĂ©mentaire le sonoff reste allumĂ© bleu fixe sans changement mĂȘme en appuyant sur le switch

    1. F1ATB André

      Regardez si vous voyez le SonOff dans la liste des cartes vue par l’Arduino en Wifi et regardez s’il n’est pas passĂ© en mode point d’accĂšs.
      Cdlt

  4. StefanDu30

    Bonjour,
    C’est bon, aprĂšs avoir un peu galerĂ© j’ai accĂšs aux commandes via son serveur web merci ! Du coup si je veux le piloter avec le routeur, je renseigne son iP dans Host, le Port 80, par contre que dois-je mettre dans les commandes On et Off pour le piloter ? Respectivement GPIO=12&out=1 et GPIO=12&out=0 c’est correct ?

  5. StefanDu30

    Oui c’est bon, ok j’avais pas saisi merci j’essai ça ce soir !
    Merci encore !

  6. StefanDu30

    Rebonjour,
    Du coup j’ai fait le test en renseignant aussi l’IP mais ça ne fonctionne pas, si vous avez une idĂ©e je suis preneur, je comprends pas pourquoi d’autant plus qu’en appelant les pages web ça fonctionne, bouton pour allumer ou Ă©teindre le relais et appel page web relais Ă  1 ou Ă  0, seule la gestion par le routeur v3.03 ne fonctionne pas


    1. F1ATB André

      Je viens de faire le test avec le routeur V3.03_UxI. Voici mes paramĂštres. Ajustez l’adresse IP.
      Pilotage Relais SonOff

  7. StefanDu30

    Ok merci, je vais refaire un test, sinon je procÚderai différemment, je ferai un autre esp deporté avec contacteurs.
    Merci Ă  vous !

  8. JP BARRES

    Bonjour,
    merci pour votre travail.
    En utilisant la solution 2 pour modifier le firmware du relais, le fichier bin fait 294K et dans DIY FLASH Firmware Tool 3.3.0 j’ai un message d’erreur quand j’importe le firmware qui indique « Firmware file cannot be greater than 508k; the firmware must be Dout »
    Donc impossible de modifier le firmware.
    Avez-vous une idée ?

    1. F1ATB André

      Je comprends pas. Un changement de bibliothĂšque depuis que j’ai publiĂ© l’article?
      Cdlt

      1. JP BARRES

        Cela pourra peut ĂȘtre aider d’autres personnes, il faut paramĂ©trer dans « outils » de l’IDE arduino le mode flash en DOUT avant enxpoter les binaires compilĂ©s.
        Maintenant que j’ai flashĂ© « SonOff_MiniR2_RelayControl_V1.0.ino.bin » tout Ă  l’air bloquĂ© la led bleue reste allumĂ©e et je n’ai pas le rĂ©seau wifi « F1ATB-SonOff-
.. » Je continue les recherches 🙂

  9. Francis Cassen

    Bonjour AndrĂ©, j’essaie de configurer un Sonoff Mini R2, j’ai effectuĂ© l’Ă©tape 1 et je vois bien le module dans « DIY mode Tool ». Ensuite dans Arduino IDE j’ai crĂ©e le binaire BasicOTA sur la carte « Generic ESP8266 Module ». Lorsque je veux le charger dans le Sonoff avec « DIY Flash FirmwareTool », je clique sur OK et tous les boutons deviennent gris et il n’y a pas de progression et ça reste figĂ© comme ça. Une chose que j’ai remarquĂ© dans ArduinoIDE, dans la ligne d’Ă©tat en bas, il y a « Generic ESP8266 Module sur 192.168.1.56 [hors ligne] ». Cette adresse IP est celle du module ESP32 que j’ai configurĂ© avec votre programme prĂ©cĂ©demment. Je ne trouve pas le moyen de supprimer ce port dans ArduinoIDE. Pensez-vous que le problĂšme peut venir de lĂ  svp ? Merci pour votre aide.

    1. F1ATB André

      L’Arduino IDE affiche ESP8266 Module sur 192.168.1.56 parce qu’il voit cet ESP32 sur le rĂ©seau pour un accĂšs via OTA.

      Pensez à mettre à zéro le GPIO 0 pour passer le sonoff en mode programmation.

      1. Francis Cassen

        J’ai actionnĂ© le switch avec un fil et rĂ©essayĂ© malheureusement le rĂ©sultat est le mĂȘme, l’import ne fonctionne pas, mĂȘme en rapprochant le module de la box au cas oĂč il y aurait un problĂšme de rĂ©ception Wifi. Par le « DIY Tool » je peux passer le Sonoff en ON et en OFF et j’entends le relais manoeuvrĂ©. J’ai aussi dĂ©sactivĂ© le DHCP et forcĂ© l’IP en 192.168.1.56. C’est pas mieux, l’ArduinoIDE voit toujours cette IP hors ligne. Mon rĂ©seau Wifi a un SSID unique avec un rĂ©seau en 2,4Ghz et un 5Ghz, le Sonoff est sur le 2,4Ghz et mon PC sur le 5Ghz. Est- ce que ça pourrait venir de cela ? Si c’est cela je suis bloquĂ© car mon PC refuse de se connecter sur 2,4Ghz. Merci

        1. Francis Cassen

          J’ai dĂ©montĂ© le Sonoff et j’ai vu que le chipset Ă©tait un 8285. Est-ce que ça pourrait ĂȘtre le problĂšme ?

          1. F1ATB André

            8285 est proche du 8266 pour le compilation.
            Cdlt

  10. Francis Cassen

    D’accord, merci. Autre chose que j’ai remarquĂ©e, dans les infos du Sonoff fournies par DIY Tool, c’est que la valeur du paramĂštre otaUnlock est False. Est-ce que cela pourrait empĂȘcher de flasher ?

    1. Francis Cassen

      J’ai trouvĂ© des outils comme Postman et l’extension RESTer dans un navigateur qui permettent de lancer des requĂȘtes HTTP POST et qui actionnent le relais du Sonoff. Etant novice dans ces systĂšmes, il y a surement des choses qui m’Ă©chappent, mais je me disais serait-il possible de lancer ces requĂȘtes HTTP POST depuis l’ESP32 et ainsi ne pas avoir besoin de flasher le Sonoff ?

  11. Alex

    Bonjour Francis, j’ai le mĂȘme souci que toi, impossible d’envoyer le firmware (mĂ©thode 1 ou 2), l’outil DIY TOOL se grise. J’ai pourtant tout respectĂ© Ă  la lettre.
    Si tu trouves la solution, je suis preneur.

    1. Francis Cassen

      Bonjour Alex, je vois ta question juste maintenant, dĂ©solĂ©. Je suis passĂ© par la mĂ©thode hardware via un module TTL/USB que j’ai achetĂ© sur AliExpress et j’ai suivi les instructions d’AndrĂ© dans https://f1atb.fr/fr/sonoff-mini-esp-easy/. Par contre les pastilles +3,3V, TX et RX sont trĂšs fragiles et quand j’y ai soudĂ© les fiches, les pastilles se sont arrachĂ©es avec le poids des fiches. J’ai donc soudĂ© une fiche sur le 5V qui est plus solide en veillant bien Ă  mettre le cavalier sur 5V sur le TTL/USB. J’ai branchĂ© la fiche GND sur le bornier. J’ai lancĂ© le tĂ©lĂ©versement du programme et pendant la compilation j’ai pris les fiches TX et RX Ă  la main que j’ai plaquĂ©es sur les pastilles RX et TX et que j’ai tenues pendant le tĂ©lĂ©versement. J’ai fait ça sur 2 Sonoff et le routeur les commande parfaitement bien.

  12. Yvan

    Bonjour,
    Merci pour ce beau travail.
    Malheureusement, je confirme que la carte « Generic ESP 8266 module » n’est pas trouvĂ©e dan l’appli Arduino. Comment faire pour la charger ?
    Pour aller « droit au but », ne pourrait-on pas avoir en téléchargement directement le .BIN qui doit en résulter ?
    N’ayant pu charger votre code, je me suis rabattu sur Tasmota et j’ai trouvĂ© une page qui relate parfaitement les lignes de commandes Ă  passer depuis Windows, comme depuis Linux, donc j’ai fait profiter tout le monde: https://lindevs.com/flash-the-tasmota-firmware-on-sonoff-minir2-switch

  13. BOZZINI YANICK

    Bonjour,

    Est ‘il necessaire de flasher le le module SONOFF pour le rajouter a une installation routeur Solaire ? la cas Ă©chĂ©ant, quel module contact WIFI pouvez vous me proposer ?
    Merci pour tout , et super travail .

  14. Thierry Royer

    Bonjour, sais tu les commande Ă  envoyer pour un Sonoff POWR2 sous tasmota , J’ai essayĂ© cmnd/topic/Power On ou Power%20On sans succĂšs.
    Merci de ton aide

    1. Thierry Royer

      j’ai fini par trouver ! :/cm?cmnd=Power%20On et /cm?cmnd=Power%20Off

Laisser un commentaire