Jy verbeel jou skakel iets aan of aan? U kan die verwarming aanskakel, of uitskakel as u dit per ongeluk laat staan het, u kan ook blindings oopmaak of toemaak as u outomatiese persone het, of u huis op 'n geskikte temperatuur kan maak deur die lugversorging oral te gebruik. Wel, dit is wat 'n SONOFF.
Byvoorbeeld, een van die wat u op die mark kan vind, is die Itead Sonoff. Dit is 'n toestel wat gebaseer is op die ESP8266-module, wat beslis bekend sal klink as u 'n vervaardiger is en selfdoenprojekte met Arduino skep. Dit is 'n baie gewilde WiFi-module waaraan ons reeds 'n spesiale artikel in Hwlibre. Daarop module het 'n aflos bygevoeg om op die gekoppelde toestelle op te tree en sodoende dinge via WiFi uit te skakel of aan te skakel.
Index
Wat is 'n sonoff?
Un Sonoff is 'n WiFi-slim skakelaar om 'n elektriese toestel op afstand te kan aanskakel. Met hierdie toestel kan u via 'n WiFi-router in u huis of kantoor met die internet verbind word. Van enige toestel wat aan die netwerk en oral gekoppel is, kan u daarmee kommunikeer om u toestelle te beheer.
Baie kommersiële sonoffs het jou eie app vir Android of iOS wat maklike beheer moontlik maak. Byvoorbeeld, die Sonoff Basic het die app eWeLink. Daarbenewens kan baie van hierdie programme u ook in staat stel om timer te stel sodat dit op 'n spesifieke tyd geaktiveer word. Dit laat byvoorbeeld toe dat u nou op vakansie dat u nie meer van die huis af is nie, kan programmeer sodat die radio in- en afgeskakel kan word of die blindings opgelig word en dat die huis besigtig is om diefstal te vermy ...
Daarbenewens implementeer sommige kommersiële Sonoffs funksies sodat u dit aan sensors kan koppel en dat die toestelle in- of afgeskakel word, afhangende van die temperatuur, klank, teenwoordigheidssensor, humiditeit, ens. Dit kan handig wees vir 'n tuinbesproeiingstelsel, om die huis behoorlik te lug, ens. Selfs sommige modelle wat ontwerp is vir huise met die domotisering, is verenigbaar met Amazon Alexa / Echo, Google Home, ens.
Ander byvoegings
Benewens die sonoff, daar is ander toestelle wat u as aanvulling kan interesseer, soos WiFi-sokkies, WiFi-gloeilampe, WiFi-skakelaars, WiFi-RF-poort, SC-WiFi-stasie, ens., wat die perfekte aanvullings is vir u WiFi-aflos of sonoff.
Maak u eie Sonoff met Arduino en 'n ESP8266-module (maklik)
Ondanks die feit dat dit 'n baie eenvoudige en goedkoop toestel is, stel u dalk nie altyd daarin belang om een te koop nie. As u 'n vervaardiger is en u eie DIY-projekte wil skep, in plaas van die kommersiële sonoff te koop, jy kan dit self skep. Dit sou gebeur deur 'n aflosmodule vir Arduino en 'n WiFi-module te gebruik. Op hierdie manier sal u die projek verbind en gereed wees om te werk op die aflos wat verantwoordelik is vir die onderbreking of aansluiting van die hoogspanningstoestel.
'N Ander moontlikheid is kap 'n Sonoff reeds gedoen om nuwe funksies te bring. Hiervoor is die beste opsie wat u het itead sonoff. Byvoorbeeld, die Geen produkte gevind nie., 'n toestel van 'n vervaardigergerigte Chinese maatskappy. Die toestel is baie goed gedokumenteer en daarom kan dit maklik gekap word om dit aan te pas en aan te pas by u projekte. Deur op 'n ESP8266 gebaseer te wees, sal alles makliker wees, en dit bevat sy eie beheer-app vir mobiele toestelle.
Skep 'n eenvoudige Sonoff met Arduino
Miskien sal dit vir u makliker wees skep u eie Sonoff met Arduino die firmware van die Itead moet verander. Die gebruik van Itead en ander kant-en-klare toestelle is baie eenvoudig, maar van die gebruik daarvan tot die wysiging van hul firmware is daar 'n groot verskil. So miskien stel u belang in 'n eenvoudige manier om 'n Sonoff deur u te laat skep.
Wat het jy nodig?
Alle wat jy nodig het vir hierdie projek is dit:
- Arduino UNO, of dit sou ook 'n ander bord werd wees.
- Broodbord of PCB as u gaan soldeer.
- ESP8266-module
- Relais-module
- Bedrading vir verbindings
- PC met Arduino IDE en kabel vir programmering
- Elektriese toestel wat u via WiFi wil beheer
Stap-vir-stap konstruksie
Om te begin bou jou tuisgemaakte Sonoff volg dit stap vir stap gids:
- Sodra u al die elemente het, moet u verbind die skema behoorlik soos dit op die foto verskyn. Onthou dat die plek waar u 'Device' geplaas het, gekoppel is: stoof, waaier, TV, gloeilamp, ... en die stekker moet die toestel invoer. Soos u kan sien, is wat gedoen word om een van die geleidende drade wat na die toestel toe gaan, te onderbreek en die relais in te skakel om as skakelaar op te tree. As u vrae het oor die verbinding, kan u ons handleidings raadpleeg:
- Nou is die volgende program in Arduino IDE om dit behoorlik te laat werk. As u 'n beginner is, kan u ook laai die PDF af van ons programmeringshandleiding vir Arduino. 'N Eenvoudige kode-voorbeeld om die aflos en die rooi, groen en blou LED's te beheer, is:
#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; }
Sodra dit in die Arduino IDE ingeprop is en deur die seriële poort geprogrammeer is, moet alles goed werk. Alhoewel u die seriële monitor kan gebruik, moet u 'n eenvoudiger webkoppelvlak of 'n klein app vir iOS of Android skep. In die geval van HTML-kode Dit is makliker en dit sou op hierdie manier in u blaaier die aan of af van die LED's en die toestel wat aan die relais gekoppel is, kan bestuur:
<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 kan dit in enige teksversorger skryf en dit met die naam stoor beheer.html. Onthou dat u http: //XXX.XXX.XX: 80 moet vervang om dit goed te laat werk die toepaslike IP in u geval, dit wil sê, die een wat binne u WiFi-netwerk aan ESP8266 toegewys is ... Aan die ander kant, as u die toesteletiket A wil vervang deur die naam van die toestel wat u gebruik, en dit meer intuïtief wil maak, kan u dit gerus doen ...
As u hierdie control.html nou oopmaak met enige webblaaier kan u Sonoff hanteer. Deur op die knoppies te klik, sal u sien hoe u stroombaan werk.
Verander die Sonoff-firmware (gevorderd)
'N Ander operasie wat u kan doen, hoewel dit weens die ingewikkeldheid nie vir die meeste gebruikers aanbeveel word nie, is om die Itead sonoff-firmware. Dit is moontlik, maar dit behels baie stappe en is ingewikkeld as u nie regtig weet wat u doen nie. Om u 'n idee te gee, laat ek u agter wat u benodig en die noodsaaklike stappe, asook skakels na die firmware en volledige riglyne vir ingeval u die noodsaaklike stappe durf lees ...
Gebruik ESPurna
Wat het jy nodig?
Om die Itead Sonoff te gebruik en te programmeer, u benodig die volgende items:
- Itead Sonoff WiFi Basic
- FTDI- of TTL-adapter en -kabel (USB / seriële penne)
- Skroewedraaier
- Ander elemente wat nodig is vir u projek
- 'N Rekenaar vir programmering
Verander Itead Sonoff WiFi Basic-firmware (basiese stappe)
Om die Itead Sonoff te wysig, moet u een koop en volg die volgende stappe:
Maak seker dat dit ontkoppel is voordat u die toestel hanteer. Dit is nie raadsaam om die aflos of stroombaan te manipuleer as dit aan die netwerk gekoppel is nie, aangesien u met 220V met AC sal werk en dit nie 'n onskadelike GS-stroombaan is wat teen lae spanning werk nie ...
- Haal die plastiekdop van die Sonoff af om toegang tot die interne stroombaan te hê. U kan 'n skroewedraaier gebruik om die sybedekkings eers te verwyder en dan die las wat by die twee dele van die hoofkas aansluit, te loer totdat u dit kan verwyder.
- As u na die stroombaan voor u kyk, kan dit baie goed onderskei word die dele van die ESP8266-module:
- Die elektriese elemente rondom die aflos is van die AC / DC-omskakelaar.
- Die vierkantige swart komponent is die relais wat werk by 5v (bedieningsdeel) en 220v (uitset).
- In die middel het u 'n paar seriële verbindingspennetjies. U kan dit gebruik om die mikrobeheerder te programmeer of om meer elemente aan te sluit. Op die GPIO14 kan u aandrywers of sensors verbind.
- U sal ook 'n drukknop langs die penne sien. U kan dit druk om die modusse te verander wat u kan instel.
- Die LED wat die werking en die modus of toestand waarin dit is, aandui.
- En twee groen verbindings aan elke punt van die PBC. Een daarvan is 'n invoer en die ander 'n uitset. Die naaste aan die aflos is die AC-ingang, dit wil sê, waar die toestel aan die elektriese netwerk gekoppel is. Die ander is die aansluiting waar u die toestel wat u wil in- of aan skakel, kan koppel. Onthou dat dit tot 10A ondersteun, dit wil sê 'n verbruik van 2,2kW vir 220v.
- Nou sal u met die verbindingspennetjies werk om u program te laai. Vir haar u benodig die FTDI of TTL, waarmee u hierdie penne aan 'n USB op u rekenaar kan koppel. Maar as u dit nie verbind nie, moet u onthou dat die geïntegreerde mikrobeheerder twee werkmodusse het, 'n UART-modus en 'n FLASH-modus. Met die UART-modus kan u die program en die FLASH laai om dit uit te voer. Om na die UART-modus te gaan om die program te kan skryf, moet u die GPIO0 (LOW) en GPIO2 (HIGH) penne in sekere toestande plaas. Die program word gelaai deur die penne gemerk RX en TX. Natuurlik moet u ook die 3v3- en GND-kragpennetjies gebruik, sowel as die GPIO0-drukknop, die LED of GPIO13 en die relais op die GPIO12.
- Nadat u die verbinding behoorlik gemaak het en u USB-kabel het om dit aan die rekenaar te koppel, kan u begin met die programmering self. Onthou dat wanneer FTDI, u moet die RX- en TX-verbindings oorsteek, dit wil sê, die RX van die Itead na die TX van die FTDI en andersom.
- Later sou dit 'n kwessie van gebruik wees Arduino IDE om die nodige kode te skep vir die beheer wat u wil doen (u moet die ESP8266-kaart kies as die mikrobeheerder om op te neem). Dit kan u ook help firmware ontwikkel deur Xose Pérez. Dit word ESPurna genoem en dit is spesifiek vir Sonoff WiFi. Met sy beheerpaneel kan u netwerk- en sekuriteitsparameters beheer.
- Uiteindelik, as u dit reeds het, kan u die penne terugbring GPIO0 en GPIO2 na High High state onderskeidelik om na die FLASH-modus terug te keer en u program uit te voer.
- Sodra u klaar is, kan u maak die regte verbindings op u Sonoff om die toestelle wat u wil hê aan te sluit en krag te gee. Vanuit die app kan u alles beheer ...
Meer inligting - Maklike programmering
Gebruik Tasmota
Om dit te doen met Tasmota in plaas van ESPurna, die generiese stappe om dit te doen, sou hulle wees:
- U moet eers die saak van Itead Sonoff oopmaak soos in die vorige geval.
- Dan moet u die bedrading of penne soldeer om die kragverbindings en die USB-na-UART TTL-adapter te kan maak.
- Gaan na Arduino IDE en in Tools moet u die ESP8266-bord kies in plaas van Arduino UNO of die een wat u by verstek het. U installeer die nuwe bord.
- Nou aflaai Tasmota en installeer dit behoorlik om te integreer met Arduino IDE.
- Dit is nou die tyd om u projek te programmeer en op te stel soos u wil en dit op die moederbord te stoor ... As u klaar is, kan u die komponente aan die sonoff koppel soos in die geval van ESPurna.
Meer inligting - Tuisoutomatisering
7 kommentaar, los joune
Die webbediener werk nie; dit laai nie in die blaaier nie.
Hallo John,
U bedoel as u die IP in u webblaaier plaas? Het u seker gemaak dat u die regte IP binne die plaaslike netwerk ingestel het? Die openbare IP is nie geldig nie. Dit moet die een wees wat aan die sonoff toegeken word. Boonop moet u in die html-kode ook die X vervang deur die toepaslike IP.
Groete!
In werklikheid het ek albei gedoen, maar die oomblik dat ek die IP in die blaaier laai, kry dit my 'n mislukte verbinding. As ek die webbediener bestuur, word dit nie in die vorm van knoppies gelaai nie, maar in teks.
Hallo John,
Dit werk reg vir my, ek verstaan nie hoekom dit met u gebeur nie ...
Ek sal ondersoek instel en as ek die probleem vind, sal ek u daarvan in kennis stel.
'N Groet en dankie vir die lees
Hallo,
Ek verstaan nie dat u AT-kodes gebruik met die biblioteke wat ons het nie.
Ek sien ook nie dat u die WIFI-modus van die ESP8266 gebruik nie, wat die fokus van hierdie artikel is.
Stel 'n skoner en duideliker voorbeeld, en u sal sien dat die projek verstaan.
'N groet.
Ek het vergeet,
As u 'n aflos wil hê, beheer die ESP8266 dit op sigself, gebruik die Arduino as u die firmware wil laai.
Nog 'n groet.
Ek het al u stappe gevolg en dit werk nie vir my nie. Hoe om te weet wat is die IP wat aan my ESP8266 gegee is