SONOFF: een afstandsschakelaar om apparaten uit of in te schakelen

sonoff

Stel je voor iets op afstand in- of uitschakelen? Je kunt de verwarming aanzetten, of uitzetten als je hem per ongeluk aan hebt laten staan, je kunt ook jaloezieën openen of sluiten als je automatische jaloezieën hebt, of je huis op een geschikte temperatuur brengen door de airconditioning overal te bedienen. Wel, dat is wat een SONOFF.

Een van de je kunt op de markt de Itead Sonoff vinden. Het is een apparaat dat is gebaseerd op de ESP8266-module, wat zeker bekend zal klinken als je een maker bent en doe-het-zelf-projecten maakt met Arduino. Het is een zeer populaire wifi-module waaraan we al een speciaal artikel in Hwlibre. Op dat module hebben een relais toegevoegd om te reageren op de aangesloten apparaten en zo dingen uit of aan te kunnen zetten via wifi.

Wat is een zoon?

Un Sonoff is een slimme wifi-schakelaar om een ​​elektrisch apparaat op afstand aan en uit te kunnen zetten. Met dit apparaat kun je via een wifi-router in huis of op kantoor verbinding maken met internet. Vanaf elk apparaat dat op het netwerk is aangesloten en waar dan ook, u kunt ermee communiceren om uw apparaten te bedienen.

Veel commerciële sonoffs hebben uw eigen app voor Android of iOS die een gemakkelijke bediening mogelijk maken. Zo heeft de Sonoff Basic de app eWeLink. Bovendien kunt u met veel van deze apps ook timers configureren zodat ze op een bepaald tijdstip worden geactiveerd. Dat zorgt er bijvoorbeeld voor dat je nu op vakantie dat je niet thuis bent kunt programmeren zodat de radio aan en uit gaat of de jaloezieën omhoog en de uitstraling dat het huis bezet is om diefstal te voorkomen ...

Bovendien implementeren sommige commerciële Sonoffs functies zodat u ze op sensoren kunt aansluiten en dat de apparaten in- of uitschakelen afhankelijk van de temperatuur, geluid, aanwezigheidssensor, vochtigheid, etc. Dit kan handig zijn voor een tuinirrigatiesysteem, om het huis goed te voorzien van airconditioning, enz. Zelfs sommige modellen die zijn ontworpen voor gedomotiseerde huizen zijn compatibel met Amazon Alexa / Echo, Google Home, enz.

Andere add-ons

Naast de sonoff, er zijn andere apparaten die u wellicht als aanvulling kunnen interesseren, zoals wifi-stopcontacten, wifi-lampfittingen, wifi-schakelaars, wifi-RF-gateway, SC-wifi-station, enz., die een perfecte aanvulling zijn op uw wifi-relais of sonoff.

Maak je eigen Sonoff met Arduino en een ESP8266-module (eenvoudig)

Ondanks dat het een heel eenvoudig en goedkoop apparaat is, ben je misschien niet altijd geïnteresseerd om er een te kopen. Als je een maker bent en je houdt ervan om je eigen doe-het-zelfprojecten te maken, in plaats van de commerciële sonoff te kopen, u kunt het zelf maken. Dat zou gebeuren door een relaismodule voor Arduino en een wifi-module te gebruiken. Op deze manier heeft u uw project aangesloten en klaar voor gebruik op het relais dat verantwoordelijk zal zijn voor het onderbreken of aansluiten van het hoogspanningsapparaat.

Een andere mogelijkheid is hack een Sonoff al gedaan om nieuwe functionaliteiten te brengen. Hiervoor is de beste optie die u heeft de itad sonoff. Bijvoorbeeld de Geen producten gevonden., een apparaat van een maker-georiënteerd Chinees bedrijf. Het apparaat is zeer goed gedocumenteerd en daarom kan het gemakkelijk worden gehackt om het aan te passen en aan te passen aan uw projecten. Door op een ESP8266 te zijn gebaseerd, wordt alles eenvoudiger en heeft het een eigen bedieningsapp voor mobiele apparaten.

Maak een eenvoudige Sonoff met Arduino

Misschien wordt het gemakkelijker voor u maak je eigen Sonoff met Arduino moeten de firmware van de Itead wijzigen. Het gebruik van de Itead en andere kant-en-klare apparaten is heel eenvoudig, maar van alleen het gebruik ervan tot het aanpassen van hun firmware is er een groot verschil. Dus misschien ben je geïnteresseerd in een eenvoudige manier om een ​​Sonoff door jou te laten maken.

Wat heb je nodig?

alle wat je nodig hebt voor dit project is het:

  • Arduino UNO, of het zou ook een ander bord waard zijn.
  • Breadboard of PCB als je gaat solderen.
  • ESP8266-module
  • Relaismodule
  • Bedrading voor verbindingen
  • PC met Arduino IDE en kabel voor programmeren
  • Elektrisch apparaat dat u via wifi wilt bedienen

Stap voor stap opbouw

Arduino-verbinding met ESP8266 en relais

Om te beginnen bouw je zelfgemaakte Sonoff volg deze stap voor stap gids:

  1. Als je eenmaal alle elementen hebt, moet je dat doen sluit het schema correct aan zoals het op de afbeelding wordt weergegeven. Onthoud dat waar ik "Apparaat" heb gezet is waar wat je wilt bedienen zal worden aangesloten: kachel, ventilator, TV, gloeilamp, ... en de stekker moet dat apparaat voeden. Zoals u kunt zien, wordt een van de geleidende draden die naar het apparaat gaan, onderbroken en het relais als schakelaar geplaatst. Als u vragen heeft over de aansluiting, kunt u onze handleidingen raadplegen:
    1. Hoe sluit ik ESP8266 aan op Arduino?
    2. Hoe gebruik je het relais met Arduino?
  2. Nu is het volgende programma in Arduino IDE om het goed te laten werken. Als je een beginner bent, kan dat ook download de pdf van onze programmeerhandleiding voor Arduino. Een eenvoudig codevoorbeeld om het relais en de rode, groene en blauwe LED's te besturen, zou zijn:
#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;
}

Eenmaal aangesloten op de Arduino IDE en geprogrammeerd via de seriële poort, zou alles goed moeten werken. Hoewel u de seriële monitor kunt gebruiken, moet u een eenvoudigere webinterface of een kleine app voor iOS of Android maken. In het geval van HTML code Het is gemakkelijker en het zou ongeveer zo zijn, op die manier zou je vanuit je browser het in- of uitschakelen van de LED's en het apparaat dat op het relais is aangesloten kunnen beheren:

<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>

U kunt het in elke teksteditor schrijven en het met de naam opslaan controle.html. Onthoud dat om het goed te laten werken, u http: //XXX.XXX.XX: 80 moet vervangen door het juiste IP-adres in uw geval, dat wil zeggen, degene die is toegewezen aan ESP8266 binnen uw WiFi-netwerk ... Aan de andere kant, als u het apparaatlabel A wilt vervangen door de naam van het apparaat dat u gebruikt en het intuïtiever wilt maken, voel je dan vrij om dat te doen ...

Webinterfacecontrole

Als u nu deze control.html opent met elke webbrowser kan uw Sonoff aan. Door op de knoppen te klikken, ziet u hoe uw schakeling werkt.

Wijzig de Sonoff-firmware (geavanceerd)

Een andere bewerking die u kunt uitvoeren, hoewel deze vanwege de complexiteit voor de meeste gebruikers niet wordt aanbevolen, is het wijzigen van het Itead sonoff-firmware. Het is mogelijk, maar het omvat veel stappen en is ingewikkeld als u niet echt weet wat u doet. Om je een idee te geven laat ik je achter wat je nodig zou hebben en de essentiële stappen, evenals links naar de firmware en complete handleidingen voor het geval je het aandurft na het lezen van de essentiële stappen ...

Met behulp van ESPurna

Wat heb je nodig?

Om de Itead Sonoff te gebruiken en te programmeren, u heeft de volgende items nodig:

  • Itead Sonoff WiFi Basic
  • FTDI- of TTL-adapter en kabel (USB / seriële pinnen)
  • schroevedraaier
  • Andere elementen die nodig zijn voor uw project
  • Een computer om te programmeren

Wijzig Itead Sonoff WiFi Basic-firmware (basisstappen)

Itead sonoff circuit

Om de Itead Sonoff te wijzigen, moet u er een aanschaffen en volg de volgende stappen:

Zorg ervoor dat het is losgekoppeld voordat u het apparaat aanraakt. Het is niet aan te raden om het relais of circuit te manipuleren wanneer het op het netwerk is aangesloten, aangezien u met wisselstroom op 220v werkt en het geen ongevaarlijke gelijkstroomcircuit is dat op lage spanningen werkt ...

  1. Verwijder de plastic dop van de Sonoff om toegang te krijgen tot het interne circuit. U kunt een schroevendraaier gebruiken om eerst de zijafdekkingen te verwijderen en vervolgens de verbinding tussen de twee delen van de hoofdbehuizing los te wrikken totdat u deze kunt verwijderen.
  2. Als je naar het circuit voor je kijkt, zijn ze heel goed te onderscheiden de onderdelen van de ESP8266-module:
    1. De elektrische elementen rond het relais zijn afkomstig van de AC / DC-omzetter.
    2. De vierkante zwarte component is het relais dat werkt op 5v (stuurdeel) en 220v (output).
    3. In het midden heb je een aantal seriële verbindingspinnen. U kunt ze gebruiken om de microcontroller te programmeren of om meer elementen aan te sluiten. Op de GPIO14 kun je actuatoren of sensoren aansluiten.
    4. Naast de pinnen zie je ook een drukknop. U kunt erop drukken om de modi te wijzigen die u kunt instellen.
    5. De LED die de werking aangeeft en de modus of toestand waarin deze zich bevindt.
    6. En twee groene connectoren aan elk uiteinde van de PBC. Een daarvan is een input en de andere een output. Het dichtst bij het relais is de AC-ingang, dat wil zeggen waar het apparaat is aangesloten op het elektrische netwerk. De andere is het stopcontact waarop u het apparaat kunt aansluiten dat u wilt in- of uitschakelen. Onthoud dat het tot 10A ondersteunt, dat wil zeggen een verbruik van 2,2 kW voor 220 V.
  3. Nu ga je aan de slag met de verbindingspinnen om je programma te laden. Voor haar je hebt de FTDI of TTL nodig, zodat u deze pinnen op een USB op uw computer kunt aansluiten. Maar afgezien van het aansluiten, moet u niet vergeten dat de geïntegreerde microcontroller twee bedrijfsmodi heeft, een UART-modus en een FLASH-modus. Met de UART-modus kunt u het programma laden en de FLASH om het uit te voeren. Om naar de UART-modus te gaan om het programma te kunnen schrijven, moet je de GPIO0 (LOW) en GPIO2 (HIGH) pinnen in bepaalde toestanden plaatsen. Het programma wordt geladen via de pinnen gemarkeerd met RX en TX. Je zult natuurlijk ook de 3v3- en GND-powerpennen moeten gebruiken, evenals de GPIO0-drukknop, de LED of GPIO13 en het relais op de GPIO12.
  4. Als je eenmaal de verbinding goed hebt gemaakt en je hebt je USB-kabel om hem op de pc aan te sluiten, kun je beginnen met het programmeren zelf. Onthoud dat wanneer FTDI moet u de RX- en TX-verbindingen oversteken, dat wil zeggen, de RX van de Itead naar de TX van de FTDI en vice versa.
  5. Later zou het een kwestie zijn van gebruiken Arduino IDE om de benodigde code te maken voor de controle die u wilt uitvoeren (u moet de ESP8266-kaart selecteren als het microcontroller-apparaat om op te nemen). Het kan je ook helpen firmware ontwikkeld door Xose Pérez. Het heet ESPurna en het is specifiek voor Sonoff WiFi. Met het configuratiescherm kunt u netwerk- en beveiligingsparameters beheren.
  6. Uiteindelijk, als je het al hebt, kun je de pinnen retourneren GPIO0 en GPIO2 naar hoge hoge staten respectievelijk om terug te keren naar de FLASH-modus en uw programma uit te voeren.
  7. Als je klaar bent, kan dat maak de juiste verbindingen op uw Sonoff om de gewenste apparaten aan te sluiten en ze van stroom te voorzien. Vanuit de app kun je alles bedienen ...

Meer informatie - Makkelijk programmeren

Tasmota gebruiken

Om het te doen met Tasmota in plaats van ESPurna, de generieke stappen om dat te doen zouden ze zijn:

  1. U moet eerst de behuizing van de Itead Sonoff openen zoals in het vorige geval.
  2. Dan moet je de bedrading of pinnen solderen om de stroomaansluitingen te kunnen maken en de USB naar UART TTL adapter.
  3. Ga naar Arduino IDE en in Tools moet je het ESP8266-bord selecteren in plaats van Arduino UNO of degene die je standaard hebt. U installeert het nieuwe bord.
  4. nu download Tasmota en installeer het correct om te integreren met Arduino IDE.
  5. Dit is het moment om uw project te programmeren en configureren zoals u wilt en het op het moederbord op te slaan ... Als u klaar bent, kunt u de componenten op de sonoff aansluiten, zoals in het geval van ESPurna.

Meer informatie - Domotica


7 reacties, laat de jouwe achter

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   John M zei

    De webserver werkt niet, hij laadt niet in de browser.

    1.    Isaac zei

      Hola Juan,
      U bedoelt wanneer u het IP-adres in uw webbrowser plaatst? Weet u zeker dat u het juiste IP-adres heeft ingesteld binnen het lokale netwerk? Het openbare IP-adres is niet geldig. Het moet degene zijn die aan de zoon is toegewezen. Bovendien moet u in de html-code ook de X vervangen door het juiste IP-adres.
      Groeten!

      1.    John zei

        In feite deed ik beide, maar op het moment dat ik het IP-adres in de browser laad, krijg ik een mislukte verbinding. Ook als ik de webserver draai, wordt deze niet in de vorm van knoppen, maar in tekst geladen.

        1.    Isaac zei

          Hola Juan,
          Het werkt voor mij correct, ik begrijp niet waarom dat jou overkomt ...
          Ik zal het onderzoeken en als ik het probleem vind, zal ik u hiervan op de hoogte stellen.
          Een groet en bedankt voor het lezen

  2.   Joan zei

    Hallo,
    Ik begrijp niet dat je met de bibliotheken die we hebben AT-codes gebruikt….

    Ik zie je ook niet de WIFI-modus van de ESP8266 gebruiken, die de focus van dit artikel is.

    Geef een schoner en duidelijker voorbeeld en u zult zien dat het project het zal begrijpen.

    Een groet.

    1.    Joan zei

      Ik vergat,
      Als je een relais wilt, bestuurt de ESP8266 het zelf, gebruik de Arduino als je de firmware wilt laden.

      Nog een groet.

  3.   ANDRES REMBERTO GUZMAN GALVAN zei

    Ik heb al je stappen gevolgd en het werkt niet voor mij, hoe te weten wat het IP-adres is dat aan mijn ESP8266 is gegeven