Taula de continguts:

ESP8266-01 Temporitzador intel·ligent IoT per a domòtica: 9 passos (amb imatges)
ESP8266-01 Temporitzador intel·ligent IoT per a domòtica: 9 passos (amb imatges)

Vídeo: ESP8266-01 Temporitzador intel·ligent IoT per a domòtica: 9 passos (amb imatges)

Vídeo: ESP8266-01 Temporitzador intel·ligent IoT per a domòtica: 9 passos (amb imatges)
Vídeo: UNBOXING iPHONE X: WARNING! Nangangain ng TANGA to!!! 2024, Desembre
Anonim
ESP8266-01 Temporitzador intel·ligent IoT per a domòtica
ESP8266-01 Temporitzador intel·ligent IoT per a domòtica
ESP8266-01 Temporitzador intel·ligent IoT per a domòtica
ESP8266-01 Temporitzador intel·ligent IoT per a domòtica
ESP8266-01 Temporitzador intel·ligent IoT per a domòtica
ESP8266-01 Temporitzador intel·ligent IoT per a domòtica

ACTUALITZACIONS

2018-09-30: Firmware actualitzat a la versió 1.09. Ara amb el suport bàsic de Sonoff

2018-10-01: versió de prova de la versió 1.10 del microprogramari disponible per provar a ESP8266-01 amb problemes

Com que les noves paraules de moda són Internet Of Things (IoT) i domòtica, vaig decidir mirar els elements actuals de casa i dels voltants que es controlen mitjançant algun tipus de dispositiu. Els elements que van destacar són els següents:

  • Bomba de piscina
  • Farcit d’aigua de la piscina
  • Piscina i llums dels voltants
  • Llums d'armaris de TV / Entreteniment

L’element comú que s’utilitza per controlar aquests dispositius són els temporitzadors de taps de paret estàndard. Tots els dispositius estan equipats amb el seu propi temporitzador i estan ubicats en diferents llocs. Llavors, per què he escollit aquests elements per començar amb els projectes d'Internet de les coses o domòtica?

Doncs bé, viure a Sud-àfrica significa que les falles d’energia són habituals. Amb les estadístiques de casa meva, vaig tenir 35 fallades d’alimentació el darrer any, amb un total de 40 hores. Normalment, això no és un problema, ja que tots els temporitzadors instal·lats actualment estan equipats amb una bateria de seguretat per mantenir el temps durant les falles d’alimentació. Però hi ha alguns problemes:

  • Aquestes bateries de còpia de seguretat només duren un o dos anys, i s’ha de substituir el temporitzador. Els temporitzadors estan construïts de manera que cal destruir el temporitzador per accedir a la bateria interna de Ni-Cad.
  • Cada vegada que falla l’alimentació, cal reprogramar els temporitzadors amb bateries defectuoses i establir el temps.
  • La ubicació física del temporitzador, quan es connecta a la presa de paret, fa que sigui gairebé impossible llegir les pantalles LCD que visualitzen el temporitzador des de la part superior. Això vol dir que cal desconnectar el temporitzador o que m’he d’estirar a terra per configurar o ajustar els temporitzadors després d’una fallada d’alimentació.

A causa dels motius anteriors, vaig decidir provar la possibilitat de substituir els temporitzadors per un temporitzador intel·ligent IoT, connectat a la meva xarxa domèstica local.

La idea era dissenyar un temporitzador autònom que permeti:

  • Ajusteu automàticament l’hora actual mitjançant Internet (IoT)
  • Operat sense cap acció de l'usuari (intel·ligent)
  • Activar / desactivar una sortida segons els temps establerts (temporitzador)
  • Programable i controlable mitjançant xarxa (domòtica)

Pas 1: el disseny ESP8266-01

El disseny ESP8266-01
El disseny ESP8266-01
El disseny ESP8266-01
El disseny ESP8266-01

El disseny es va fer mitjançant un mòdul WiFi ESP8266-01, ja que això era el que tenia disponible. En la forma més senzilla, l'ESP8266-01 té quatre pins d'E / S:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Modes d'engegada

L'estat lògic dels pins d'E / S s'utilitza per determinar en quin mode s'iniciarà l'ESP8266-01. El primer pas va ser determinar quins dels pins d'E / S es poden utilitzar per accionar un relé de sortida.

  • Per a l’encesa normal, GPIO0 i GPIO2 s’han d’establir a la lògica HIGH. Per tant, és evident que aquests dos pins no es poden utilitzar com a sortida digital.
  • El pin Tx es configura com a sortida en encendre i la sortida és alta. Aquest pin Tx també transmet algunes dades de sèrie durant l’engegada. Per tant, aquest pin tampoc no es pot utilitzar com a sortida.

L’únic pin restant és el pin Rx. Aquest pin es configura com a entrada a l’engegada i no s’ha d’estirar durant l’engegada. Per tant, aquest pin és el més adequat per utilitzar-lo com a pin de sortida.

Arrencada

Per assegurar el mode d’arrencada correcte de l’ESP8266-01 durant l’engegada, els passadors següents s’eleven amb resistències de 10K:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Això garanteix que la unitat arrenci correctament cada vegada.

Relé de sortida

El RX és l'únic pin adequat per utilitzar-se com a sortida. Així, aquest pin s'utilitza per accionar el relé de sortida a través d'un transistor NPN. Es van afegir les resistències estàndard del díode del volant i de les transistors.

Botó MODE / SET

El botó està connectat a GPIO2 i, amb el botó alliberat, una resistència de 10K elevarà GPIO2. Amb el botó premut, GPIO2 es posa a 0V.

Aquest botó s'utilitza per a dues funcions:

  • Configuració inicial per connectar la unitat a una xarxa WiFi local
  • Per controlar manualment la sortida durant les operacions normals

Indicador LED

El LED està connectat a GPIO0 i indica el següent:

  • En engegar-se inicialment, parpelleja FAST per indicar el mode de configuració de WiFi
  • Parpelleja lent quan el temps de la unitat no està configurat
  • indica l'estat On / Off del relé de sortida

Pas 2: la font d'alimentació

La font d'alimentació
La font d'alimentació
La font d'alimentació
La font d'alimentació
La font d'alimentació
La font d'alimentació

Faré servir el temporitzador intel·ligent IoT en diferents nivells de tensió, per tant, hi ha dues opcions de subministrament d’alimentació disponibles:

12 - 24V CC

El convertidor CC-CC utilitzat és adequat per a subministraments de fins a 28 V CC. La sortida del convertidor és ajustable i està configurada a 5V. Cal fer-ho abans de connectar el mòdul ESP8266.

Es va afegir un díode per protegir-se de la polaritat inversa a l’entrada de subministrament.

220V AC Per a aquesta opció, he pogut obtenir una petita font d’alimentació en mode de commutador de 220V / 5V a eBay.

Independentment del voltatge d’entrada, el temporitzador intel·ligent IoT necessita dues fonts d’alimentació:

Carril de 5V

Amb les dues opcions, el corrent continu de 5 V s’obté d’una font d’alimentació en mode commutat i no d’un regulador lineal. Això significa que hi ha una calor mínima generada per la font d'alimentació. El 5V s’utilitza per accionar el relé de sortida

Carril de 3,3V

El 3,3V per a l’ESP8266-01 s’obté d’un regulador ASM1117 3.3. L'ASM1117 3.3 és un regulador lineal i pot suportar fins a 500 mA. No obstant això, la calor generada estarà determinada per la tensió d'entrada a l'ASM1117. Per reduir la calor, l'ASM1117 s'alimenta des del carril de 5 V.

Filtrat de soroll

Per reduir l’ondulació de la tensió a l’ESP8266-01, el carril de 3,3V està equipat amb un condensador de 100 a 1000uf. Tant els rails de 5V com els de 3,3V també estan protegits contra condensadors de 0,1uf de les interferències d'alta freqüència.

Pas 3: Muntatge de la placa PC

Muntatge de la placa PC
Muntatge de la placa PC
Muntatge de la placa PC
Muntatge de la placa PC
Muntatge de la placa PC
Muntatge de la placa PC

El PC Board es va dissenyar utilitzant la versió gratuïta de Eagle. És un tauler d’una sola cara que es pot fabricar fàcilment a casa mitjançant el mètode de transferència de tòner.

Un cop feta la PC Board, munteu la PC Board en l’ordre següent:

  • Soldeu el regulador ASM1117 i tres components SMD de 0,1uf al costat de soldadura de la placa
  • Afegiu el pont únic al costat component del tauler
  • Soldeu els resistors i els díodes al seu lloc
  • Afegiu les capçaleres del mòdul ESP8266-01
  • Afegiu els pins de capçalera del LED i del botó
  • Afegiu els terminals de cargol
  • Mitjançant pins de capçalera, connecteu el convertidor CC / CC a la placa.
  • Soldeu el relleu al lloc
  • Completeu la placa soldant el transistor i el condensador de 100uf.

Un cop tots els components estiguin soldats a la placa, verifiqueu tots els punts de soldadura i assegureu-vos que no hi hagi curtcircuits entre els coixinets.

! ! ! NOTA IMPORTANT! ! ! Per assegurar-vos que la placa PC pot gestionar grans corrents als contactes de sortida, apliqueu una bona quantitat de soldadura a les pistes entre els contactes del relé i els terminals de cargol

Pas 4: prova de la placa PC

Proves de la placa PC
Proves de la placa PC

! ! ! Abans d’aplicar el poder! ! !

Traieu el mòdul ESP8266-01 de la unitat. Això és per evitar un sobreescalfament del regulador ASM1117 abans que s’ajusti el subministrament de 5V.

No es poden fer moltes proves després del muntatge. El pas més important és assegurar els nivells de tensió correctes.

  • Apliqueu 12 - 24V CC a la unitat.
  • Mesureu la tensió de sortida del convertidor CC / CC
  • Ajusteu la sortida del convertidor entre 5,0 i 5,5 V.
  • A continuació, mesureu el subministrament de 3,3 V.
  • Si els subministraments estan bé, traieu l’alimentació de la unitat

Ara podeu inserir el mòdul ESP8266-01 a les capçaleres proporcionades.

! ! ! Nota !

Quan hàgiu provat el temporitzador IoT i funcioni, utilitzeu una laca transparent per cobrir el costat de soldadura de la placa PC. Això evitarà l'oxidació de les vies i proporcionarà un aïllament addicional entre els contactes del relé i la resta del circuit

Pas 5: el recinte

El recinte
El recinte
El recinte
El recinte
El recinte
El recinte

La carcassa no és tan important, sempre que la placa de l'ordinador i tot el cablejat encaixin perfectament i de manera segura.

Per facilitar la construcció, he creat un cable amb el LED i el botó MODE / SETUP connectat. Això em va proporcionar més flexibilitat per muntar el LED i el botó al recinte. Aquest cable es connecta a la capçalera de la placa PC.

A la foto es mostra una de les unitats de 12V utilitzades per a llums LED.

Pas 6: programació de l'ESP8266-01 / NodeMCU

Programació de l’ESP8266-01 / NodeMCU
Programació de l’ESP8266-01 / NodeMCU
Programació de l’ESP8266-01 / NodeMCU
Programació de l’ESP8266-01 / NodeMCU
Programació de l’ESP8266-01 / NodeMCU
Programació de l’ESP8266-01 / NodeMCU

Per programar l’ESP8266-01, primer heu de configurar l’Arduino IDE. No entraré en aquests detalls, ja que hi ha un munt d’instructibles fantàstics disponibles sobre aquest tema. He triat els següents enllaços a Instructables com a referència, sense cap ordre específic per als autors. Gràcies pels seus instructables individuals.

Seguiu aquest ESP8266 i Arduino IDE per configurar l'Arduino IDE per al mòdul ESP8266.

A continuació, necessitareu un programador per programar l’ESP8266. Aquí hi ha dos enllaços:

Utilitzant Arduino Uno

Tauler de programació de bricolatge

Biblioteques

Haureu d’instal·lar biblioteques addicionals per poder compilar el codi. De nou, consulteu aquest instructiu:

Instal·leu i utilitzeu les biblioteques Arduino

No puc recordar quines llibreries he hagut d'instal·lar, però sé que s'ha de descarregar WiFiManager per separat.. Jo les he inclòs al fitxer Libraries.zip.

Pas 7: configuració per primera vegada

Configuració per primera vegada
Configuració per primera vegada
Configuració per primera vegada
Configuració per primera vegada
Configuració per primera vegada
Configuració per primera vegada

Quan s’utilitza per primera vegada, el temporitzador intel·ligent IoT ha d’estar connectat a una xarxa WiFi. Aquesta tasca es fa mitjançant la biblioteca WiFiManager, de manera que no cal escriure cap SSID ni contrasenya al codi.

Seguiu aquests passos:

  • Enceneu la unitat
  • El LED començarà a parpellejar ràpidament
  • Premeu el botó MODE / SETUP
  • Quan el LED s’apagui, deixeu anar el botó
  • Espereu uns segons i obriu les connexions WiFi del telèfon intel·ligent o del dispositiu
  • Es podrà veure una nova paraula de xarxa WiFi anomenada IoT Timer
  • Seleccioneu aquest punt d'accés
  • Inicieu sessió al temporitzador IoT (no cal cap contrasenya)
  • Espereu fins que el dispositiu estigui connectat a la xarxa del temporitzador IoT
  • Obriu qualsevol navegador d'Internet
  • A la barra d’adreces, escriviu l’adreça IP següent: 192.168.4.1
  • S'obrirà la consola WiFiManager
  • Seleccioneu Configura WiFi
  • Es mostrarà una llista amb els punts de xarxes WiFi disponibles
  • Seleccioneu la xarxa WiFi necessària i escriviu la contrasenya
  • A continuació, introduïu l'adreça IP que voleu utilitzar per connectar-vos al temporitzador IoT
  • Introduïu l'adreça IP de la passarel·la predeterminada, seguida de la màscara
  • Un cop feta tota la configuració, feu clic al botó Desa
  • S'obrirà una finestra nova per confirmar que s'han guardat les noves credencials
  • Tanqueu el navegador

Un cop desada, la xarxa del temporitzador IoT s’aturarà i la unitat intentarà connectar-se a la vostra xarxa WiFi.

  • Connecteu el vostre telèfon intel·ligent o dispositiu a la mateixa xarxa WiFi que s’utilitzava per al temporitzador IoT.
  • Obriu el navegador
  • A la barra d’adreces, escriviu l’adreça IP del temporitzador IoT
  • S'obrirà la pàgina de configuració del temporitzador IoT

El vostre temporitzador IoT ja està a punt per utilitzar-se

Pas 8: Configuració del temporitzador IoT

Configuració del temporitzador IoT
Configuració del temporitzador IoT
Configuració del temporitzador IoT
Configuració del temporitzador IoT
Configuració del temporitzador IoT
Configuració del temporitzador IoT
Configuració del temporitzador IoT
Configuració del temporitzador IoT

La pàgina web integrada del temporitzador IoT consta de cinc seccions:

Estat

Mostra el nom del dispositiu, així com l'hora actual i l'estat de sortida del temporitzador

A més, el mode de funcionament del temporitzador es defineix en aquesta secció. Hi ha tres modes:

  • La sortida automàtica serà controlada pels diferents programes de temporitzador
  • Activat: la sortida està activada forçadament i es mantindrà activada fins que no es canviï el mode
  • Desactivat: la sortida es desactiva forçadament i es mantindrà desactivada fins que es canviï el mode.

Programes

Aquesta secció conté els temps d'activació i apagat del temporitzador. Hi ha set programes disponibles i cada programa es pot configurar individualment.

Abans de canviar el programa següent, premeu el botó DESA per desar els canvis fets al programa actual.

Funció de botó

El botó MODE / SETUP es pot utilitzar per controlar el relé de sortida durant el funcionament normal. Aquí, seleccioneu què ha de fer el botó quan es prem.

Marqueu la casella "Actualitza la funció del botó" abans de prémer el botó Desa per desar la nova configuració.

Configuració

Aquí podeu canviar el nom del temporitzador IoT. Això facilita la identificació entre diversos temporitzadors.

El temps a la unitat s’obté des d’Internet a través d’un servidor d’hora NTP. Per mostrar l’hora correcta, actualitzeu la zona horària a la vostra regió.

Si voleu fer servir un servidor de temps NTP diferent, introduïu la nova adreça IP a l'espai proporcionat.

Marqueu la casella "Actualitza la configuració" abans de prémer el botó Desa per desar la nova configuració.

NOTA

En canviar la zona horària, la nova hora només es definirà correctament durant la propera consulta de temps. La unitat està configurada per actualitzar el temps cada 5 minuts.

Ajust del temps

De vegades, el servidor de temps NTP no respon en cada consulta. Si es triga massa temps a establir-se el temps mitjançant el servidor NTP, podeu introduir l'hora i la data manualment.

Marqueu la casella "Actualitza l'hora" abans de prémer el botó Desa per desar la nova data i hora.

Sincronització horària

L'última part de la pàgina indica l'hora i la data en què es va sincronitzar l'última hora a través del servidor d'hora NTP.

Recomanat: