SONOFF: un interrupteur à distance pour éteindre ou allumer les appareils

sonoff

Tu t'imagine activer ou désactiver quelque chose à distance? Vous pouvez allumer le chauffage, ou l'éteindre si vous l'avez laissé allumé par erreur, vous pouvez également ouvrir ou fermer les stores si vous en avez des automatiques, ou rendre votre maison à une température appropriée en faisant fonctionner la climatisation de n'importe où. Eh bien, c'est ce qu'un SONOFF.

Par exemple, l'un des vous pouvez trouver sur le marché le Itead Sonoff. C'est un appareil basé sur le module ESP8266, qui vous semblera sûrement familier si vous êtes un créateur et créez des projets de bricolage avec Arduino. C'est un module WiFi très populaire auquel nous avons déjà dédié un article spécial dans Hwlibre. Pour que module ont ajouté un relais pour agir sur les appareils connectés et ainsi pouvoir éteindre ou allumer les choses via WiFi.

Qu'est-ce qu'un sonoff?

Un Sonoff est un commutateur intelligent WiFi pour pouvoir allumer et éteindre à distance un appareil électrique. Cet appareil vous permet d'être connecté à Internet via un routeur WiFi dans votre maison ou votre bureau. Depuis n'importe quel appareil connecté au réseau et n'importe où, vous pouvez interagir avec lui pour contrôler vos appareils.

Beaucoup de sonoffs commerciaux ont votre propre application pour Android ou iOS qui permettent un contrôle facile. Par exemple, le Sonoff Basic a l'application eWeLink. De plus, dans bon nombre de ces applications, elles vous permettent également de configurer des minuteries afin qu'elles soient activées à un moment précis. Par exemple, cela permet que maintenant en vacances que vous serez loin de chez vous, vous pouvez programmer pour que la radio soit allumée et éteinte ou que les stores soient relevés et que la maison soit occupée pour éviter le vol ...

De plus, certains Sonoff commerciaux implémentent fonctions afin que vous puissiez les connecter à des capteurs et que les appareils s'allument ou s'éteignent en fonction de la température, du son, du capteur de présence, de l'humidité, etc. Cela peut être utile pour un système d'irrigation de jardin, pour bien climatiser la maison, etc. Même certains modèles conçus pour les maisons domotisées sont compatibles avec Amazon Alexa / Echo, Google Home, etc.

Autres modules complémentaires

En plus du sonoff, il y a d'autres appareils qui peuvent vous intéresser en complément, comme les prises WiFi, les prises ampoules WiFi, les interrupteurs WiFi, la passerelle WiFi-RF, la station SC-WiFi, etc., qui sont des compléments parfaits pour votre relais WiFi ou sonoff.

Créez votre propre Sonoff avec Arduino et un module ESP8266 (Facile)

Bien qu'il s'agisse d'un appareil très simple et bon marché, vous ne serez peut-être pas toujours intéressé à en acheter un. Si vous êtes un créateur et que vous aimez créer vos propres projets de bricolage, au lieu d'acheter le sonoff commercial, vous pouvez le créer vous-même. Cela se produirait en utilisant un module de relais pour Arduino et un module WiFi. De cette façon, vous aurez votre projet connecté et prêt à fonctionner sur le relais qui sera chargé d'interrompre ou de connecter le dispositif haute tension.

Une autre possibilité est pirater un Sonoff déjà fait pour apporter de nouvelles fonctionnalités. Pour cela, la meilleure option que vous avez est la Itéad Sonoff. Par exemple, le Aucun produit trouvé., un appareil d'une entreprise chinoise orientée fabricant. L'appareil est très bien documenté et c'est pourquoi il peut être facilement piraté pour le modifier et l'adapter à vos projets. En étant basé sur un ESP8266, tout sera plus facile, et il comprend sa propre application de contrôle pour les appareils mobiles.

Créez un Sonoff simple avec Arduino

Peut-être que ce sera plus facile pour vous créez votre propre Sonoff avec Arduino doivent modifier le firmware de l'Itead. L'utilisation d'Itead et d'autres appareils prêts à l'emploi est très simple, mais de leur utilisation à la modification de leur firmware, il y a une grande différence. Alors peut-être êtes-vous intéressé par un moyen simple de créer un Sonoff par vous.

De quoi avez-vous besoin?

Tous ce dont vous avez besoin pour ce projet c'est:

  • Arduino UNO, ou cela vaudrait aussi une autre assiette.
  • Breadboard ou PCB si vous allez souder.
  • Module ESP8266
  • Module relais
  • Câblage pour les connexions
  • PC avec IDE Arduino et câble pour la programmation
  • Appareil électrique que vous souhaitez contrôler via WiFi

Construction étape par étape

Connexion Arduino avec ESP8266 et relais

Pour commencer construisez votre Sonoff maison suivez ceci guide étape par étape:

  1. Une fois que vous avez tous les éléments, vous devez connecter correctement le schéma tel qu'il apparaît sur l'image. Rappelez-vous que là où j'ai mis "Appareil", c'est là que ce que vous voulez contrôler sera connecté: poêle, ventilateur, TV, ampoule, ... et la prise doit alimenter ledit appareil. Comme vous pouvez le voir, ce qui est fait est d'interrompre l'un des fils conducteurs qui vont à l'appareil et d'interposer le relais pour agir comme un interrupteur. Si vous avez des questions sur la connexion, vous pouvez consulter nos manuels:
    1. Comment connecter ESP8266 à Arduino?
    2. Comment utiliser le relais avec Arduino?
  2. Maintenant, ce qui suit est programme dans l'IDE Arduino pour le faire fonctionner correctement. Si vous êtes débutant, vous pouvez également télécharger le PDF de notre manuel de programmation pour Arduino. Un exemple de code simple pour contrôler le relais et les LED rouges, vertes et bleues serait:
#include <SoftwareSerial.h>

#define DEBUG true

SoftwareSerial esp8266(2,3); 
void setup()
{
  SSSerial.begin(19200);
  esp8266.begin(19200);
  
  pinMode(10,OUTPUT);
  digitalWrite(10,LOW);
  
  pinMode(11,OUTPUT);
  digitalWrite(11,LOW);
  
  pinMode(12,OUTPUT);
  digitalWrite(12,LOW);
  
  pinMode(13,OUTPUT);
  digitalWrite(13,LOW);
   
  sendData("AT+RSTrn",2000,DEBUG); 
  sendData("AT+CWMODE=2rn",1000,DEBUG); 
  sendData("AT+CIFSRrn",1000,DEBUG); 
  sendData("AT+CIPMUX=1rn",1000,DEBUG);
  sendData("AT+CIPSERVER=1,80rn",1000,DEBUG); 
}

void loop()
{
  if(esp8266.available())
  {

    
    if(esp8266.find("+IPD,"))
    {
     delay(1000); 
     int connectionId = esp8266.read()-48; 
          
     esp8266.find("pin="); 
     
     int pinNumber = (esp8266.read()-48)*10;
     pinNumber += (esp8266.read()-48);
     
     digitalWrite(pinNumber, !digitalRead(pinNumber));  
     
     String closeCommand = "AT+CIPCLOSE="; 
     closeCommand+=connectionId;
     closeCommand+="rn";
     
     sendData(closeCommand,1000,DEBUG); 
    }
  }
}
String sendData(String command, const int timeout, boolean debug)
{
    String response = "";
    
    esp8266.print(command); 
    
    long int time = millis();
    
    while( (time+timeout) > millis())
    {
      while(esp8266.available())
      {
        
        char c = esp8266.read(); 
        response+=c;
      }  
    }
    
    if(debug)
    {
      Serial.print(response);
    }
    
    return response;
}

Une fois branché sur l'IDE Arduino et programmé via le port série, tout devrait fonctionner correctement. Bien que vous puissiez utiliser le moniteur série, il serait approprié de créer une interface Web plus simple ou une petite application pour iOS ou Android. Dans le cas de Code HTML C'est plus facile et ce serait quelque chose comme ça, de cette façon, à partir de votre navigateur, vous pourriez gérer l'allumage ou l'extinction des LED et de l'appareil connecté au relais:

<html>
<head>
<title>Control con Sonoff</title>
</head>
<body>
<button id="10" class="led">A</button>
<button id="11" class="led">LED AZUL</button>
<button id="12" class="led">LED VERDE</button>
<button id="13" class="led">LED ROJO</button>
<script src="jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$(".led").click(function(){ var p =
$(this).attr('id');
$.get("http://XXX.XXX.X.X:80/", {pin:p});
});
});
</script>
</body>
</html>

Vous pouvez l'écrire dans n'importe quel éditeur de texte et l'enregistrer avec le nom controle.html. N'oubliez pas que pour que cela fonctionne correctement, vous devez remplacer http: //XXX.XXX.XX: 80 par l'adresse IP appropriée dans votre cas, c'est-à-dire celui attribué à l'ESP8266 au sein de votre réseau WiFi ... Par contre, si vous souhaitez remplacer l'étiquette de l'appareil A par le nom de l'appareil que vous utilisez et le rendre plus intuitif, n'hésitez pas à le faire ...

Contrôle de l'interface Web

Maintenant, si vous ouvrez ce control.html avec n'importe quel navigateur Web peut gérer votre Sonoff. En cliquant sur les boutons, vous verrez comment fonctionne votre circuit.

Modifier le micrologiciel Sonoff (avancé)

Une autre opération que vous pouvez faire, bien qu'elle ne soit pas recommandée pour la plupart des utilisateurs en raison de sa complexité, consiste à modifier le Micrologiciel Itead Sonoff. C'est possible, mais cela implique de nombreuses étapes et c'est compliqué si vous ne savez pas vraiment ce que vous faites. Pour vous donner une idée je vous laisse ce dont vous auriez besoin et les étapes essentielles, ainsi que des liens vers le firmware et des guides complets au cas où vous oseriez après avoir lu les étapes essentielles ...

Utilisation d'ESPurna

De quoi avez-vous besoin?

Pour utiliser le Itead Sonoff et le programmer, vous aurez besoin des éléments suivants:

  • Itead Sonoff WiFi de base
  • Adaptateur et câble FTDI ou TTL (broches USB / série)
  • Tournevis
  • Autres éléments nécessaires à votre projet
  • Un ordinateur pour la programmation

Modifier le micrologiciel Itead Sonoff WiFi Basic (étapes de base)

Circuit Itead Sonoff

Pour modifier le Itead Sonoff, vous devez en acheter un et suivez les prochaines étapes:

Avant de manipuler l'appareil, assurez-vous qu'il est déconnecté. Il n'est pas conseillé de manipuler le relais ou le circuit lorsqu'il est connecté au réseau, car vous travaillerez avec du courant alternatif à 220v et ce n'est pas un circuit continu inoffensif qui fonctionne à basse tension ...

  1. Retirez le capuchon en plastique du Sonoff pour pouvoir accéder au circuit interne. Vous pouvez utiliser un tournevis pour retirer les couvercles latéraux en premier, puis soulever le joint qui relie les deux parties du boîtier principal jusqu'à ce que vous puissiez le retirer.
  2. Si vous regardez le circuit devant vous, ils peuvent être très bien différenciés les pièces du module ESP8266:
    1. Les éléments électriques autour du relais proviennent du convertisseur AC / DC.
    2. Le composant carré noir est le relais qui fonctionne à 5v (partie contrôle) et 220v (sortie).
    3. Au centre, vous avez des broches de connexion série. Vous pouvez les utiliser pour programmer le microcontrôleur ou pour connecter plus d'éléments. Sur le GPIO14, vous pouvez connecter des actionneurs ou des capteurs.
    4. Vous verrez également un bouton poussoir à côté des broches. Vous pouvez appuyer dessus pour changer les modes que vous pouvez définir.
    5. La LED qui indique le fonctionnement et le mode ou l'état dans lequel il se trouve.
    6. Et deux connecteurs verts à chaque extrémité du PBC. L'un d'eux est une entrée et l'autre une sortie. Le plus proche du relais est l'entrée CA, c'est-à-dire où l'appareil est connecté au réseau électrique. L'autre est la prise sur laquelle vous pouvez connecter l'appareil que vous souhaitez éteindre ou allumer. N'oubliez pas qu'il prend en charge jusqu'à 10A, soit une consommation de 2,2kW pour 220v.
  3. Vous allez maintenant travailler avec les broches de connexion pour charger votre programme. Pour elle vous aurez besoin du FTDI ou du TTL, vous permettant de connecter ces broches à une clé USB sur votre ordinateur. Mais au-delà de sa connexion, il faut se rappeler que le microcontrôleur intégré dispose de deux modes de fonctionnement, un mode UART et un autre FLASH. Le mode UART vous permet de charger le programme et le FLASH pour l'exécuter. Pour passer en mode UART pour pouvoir écrire le programme, vous devez mettre les broches GPIO0 (LOW) et GPIO2 (HIGH) dans certains états. Le programme sera chargé via les broches marquées RX et TX. Bien sûr, vous devrez également utiliser les broches d'alimentation 3v3 et GND, ainsi que le bouton poussoir GPIO0, la LED ou GPIO13 et le relais sur le GPIO12.
  4. Une fois que vous avez correctement effectué la connexion et que vous avez votre câble USB pour le connecter au PC, vous pouvez commencer la programmation elle-même. Souviens-toi que quand FTDI vous devez croiser les connexions RX et TX, c'est-à-dire le RX de l'Itead au TX du FTDI et vice versa.
  5. Plus tard, il s'agirait d'utiliser IDE Arduino pour créer le code nécessaire pour le contrôle que vous souhaitez effectuer (vous devez sélectionner la carte ESP8266 comme périphérique microcontrôleur à enregistrer). Cela peut aussi vous aider firmware développé par Xose Pérez. Ça s'appelle ESPurna et il est spécifique à Sonoff WiFi. Avec son panneau de contrôle, vous pouvez contrôler les paramètres de réseau et de sécurité.
  6. En fin de compte, lorsque vous l'avez déjà, vous pouvez retourner les broches GPIO0 et GPIO2 aux états High High respectivement pour revenir en mode FLASH et exécuter votre programme.
  7. Une fois terminé, vous pouvez établissez les bonnes connexions sur votre Sonoff pour connecter les appareils que vous souhaitez et leur donner de l'énergie. Depuis l'application, vous pouvez tout contrôler ...

Plus d'informations - Programmation facile

Utilisation de Tasmota

Pour le faire avec Tasmota au lieu d'ESPurna, le étapes génériques pour ce faire, ils seraient:

  1. Vous devez d'abord ouvrir le boîtier de l'Itead Sonoff comme dans le cas précédent.
  2. Ensuite, vous devez souder le câblage ou les broches pour pouvoir effectuer les connexions d'alimentation et l'adaptateur USB vers UART TTL.
  3. Accédez à l'IDE Arduino et dans Outils, vous devez sélectionner la carte ESP8266 au lieu de Arduino UNO ou celui que vous avez par défaut. Vous installez la nouvelle carte.
  4. maintenant télécharger Tasmota et installez-le correctement pour l'intégrer à Arduino IDE.
  5. Il est maintenant temps de programmer et de configurer votre projet comme vous le souhaitez et de le sauvegarder sur la carte mère… Une fois que vous avez terminé, vous pouvez connecter les composants au sonoff comme dans le cas d'ESPurna.

Plus d'informations - Automatisation de la maison


7 commentaires, laissez le vôtre

Laisser un commentaire

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

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Jean M dit

    Le serveur Web ne fonctionne pas, il ne se charge pas dans le navigateur.

    1.    Isaac dit

      Salut Jean,
      Vous voulez dire quand vous mettez l'adresse IP dans votre navigateur Web? Vous êtes-vous assuré d'avoir défini la bonne adresse IP dans le réseau local? L'adresse IP publique n'est pas valide. Ce doit être celui assigné au sonoff. De plus, dans le code html, vous devez également remplacer le X par l'adresse IP appropriée.
      Salutations!

      1.    Jean dit

        En fait, j'ai fait les deux, mais au moment où je charge l'IP dans le navigateur, cela me donne une connexion échouée. De plus, lorsque j'exécute le serveur Web, il n'est pas chargé sous forme de boutons, mais sous forme de texte.

        1.    Isaac dit

          Salut Jean,
          Cela fonctionne correctement pour moi, je ne comprends pas pourquoi cela vous arrive ...
          Je vais enquêter et si je trouve le problème, je vous en informerai.
          Un salut et merci pour la lecture

  2.   Joan dit

    Salut,
    Je ne comprends pas qu'avec les bibliothèques que nous avons, vous utilisez des codes AT….

    Je ne vous vois pas non plus utiliser le mode WIFI de l'ESP8266, objet de cet article.

    Donnez un exemple plus propre et plus clair et vous verrez que le projet comprendra.

    Salutations.

    1.    Joan dit

      J'ai oublié,
      Si vous voulez un relais, l'ESP8266 le contrôle par lui-même, utilisez l'Arduino si vous souhaitez charger le firmware.

      Une autre salutation.

  3.   ANDRES REMBERTO GUZMAN GALVAN dit

    J'ai suivi toutes tes étapes et ça ne marche pas pour moi, comment savoir quelle est l'IP qui a été donnée à mon ESP8266