Regleta electrónica
DESLIZADOR ELECTRONICO
O piloto 5 Tomas de 220V a través de WIFI
Aquí estoy con un nuevo proyecto y esta vez no es otro reloj más o menos digital. Hace algún tiempo ravanando en YouTube en busca de noticias para proponer, Encontré el proyecto terminado y terminado de una regleta de alimentación controlada por Bluetooth. Entonces me pregunté si podría reproducirlo de alguna manera adaptándolo a mis necesidades.. Comencé a estudiar lo que había visto con la condición de usar solo componentes que ya estaban en posesión y, por lo tanto, a un costo que no digo ridículo, pero casi.
Comenzando desde la base, canibalicé una zapatilla 6 lugares con interruptores individuales que tuvieron algún problema con los interruptores. No son exactamente los mejores y después de un tiempo se descomponen. La regleta en cuestión es la de la foto de abajo.:

Cada interruptor tiene una luz indicadora que consiste en una pequeña bombilla de guisantes (recuerda los que una vez se usaron para iluminar el árbol de Navidad ?) con una resistencia a la caída. Pero son frágiles y, a fuerza de maniobrarlos, tarde o temprano se rompen..
Entonces procedamos con el proyecto: la base esta ahi. Luego entregue el destornillador y abra la zapatilla. Desconectamos todos los interruptores y los retiramos de la carcasa.. Cada interruptor se puede desmontar fácilmente dejando solo una carcasa rectangular vacía utilizable y suficientemente grande.
Vamonos: Cada uno de ellos está conectado en paralelo a una rama del voltaje de entrada, mientras que la otra rama está conectada a un interruptor conectado a la otra rama del voltaje. Así que vamos a aislar 5 de los seis líderes así que tienes 5 cables individuales (uno para cada enchufe). Porque cinco y no eres ?.
¿Por qué dejé el primer enchufe conectado a 220 para usarlo fuera de contexto.
Pero más que palabras valen hechos y en la foto de abajo puedes ver en qué se ha convertido:

Podemos ver: cada carcasa del interruptor se llenó con un LED rojo de alto brillo y se incorporó (con su resistencia a la caída) en un bastidor de cera (el de las velas para ser claro). Aunque en esta foto no se ven en el lado izquierdo de la zapatilla, se practicaron 2 agujeros: uno para pasar el cable de voltaje único de cada toma y el cable "maestro" para cerrar cada contacto individual. El segundo orificio para pasar los cables de cada LED y el cable de tierra común para todos los LED.. Tenga en cuenta el orificio que albergaba el interruptor de la primera toma. En la foto puedes ver que el segundo y sexto pellizco están bajo tensión 220 y la luz LED relacionada está encendida. Esta foto se refiere a las primeras pruebas funcionales antes de la producción del hardware real..
ESTUDIO DE PROYECTO:
Como dije, todo el proyecto debe costar muy poco, siempre y cuando solo use componentes que ya tiene o, como máximo, compre solo los necesarios..
Primera idea: use una página WEB con la que controlar individualmente cada uno de los enchufes de encendido y apagado.
Segunda idea: use un dispositivo BlueTooth para hacer lo mismo.
Cual es el mas simple ? : depende del grado de experiencia que tengamos cada uno de nosotros aficionados, aficionado o profesional, tiene relación con la programación de los dos sistemas. Personalmente, soy un aficionado sin pretensiones y creo que obtengo suficiente en ambos sistemas. Entonces, para cada modo, vemos complicaciones y facilidades:
Idea WEB: Quizás sea el más complicado ya que requiere recursos y conocimiento de cierto nivel. Los recursos pueden ser: Placa Arduino y escudo de Ethernet, pero las experiencias hechas por mí mismo hace unos años no me han satisfecho a mí y al escudo en sí NO gestiona el WIFI. Entonces fue descartado. Si queremos hacer algo más "moderno" y usar WIFI (tanto hoy está de moda !) se pueden usar formularios ESP_8266 que en un tamaño de 25 mm para 12,5 Recopilan un microprocesador programable completo a través de Arduino y específicamente para hacer conexiones WIFI utilizando SERVIDOR WEB y otros sistemas.
¿Cuál es la complicación de esta elección? ?: Una buena experiencia de programación "C", personalización del entorno Arduino para gestionar este módulo, conocimiento de las páginas HTML y su programación. Todo esto puede no estar al alcance de todos. Yo personalmente hice un poco’ de experiencia tanto en tiempos recientes como remotos, al menos en lo que respecta a páginas HTML. Pero creo que incluso si usted no es un "experto", existe una gran cantidad de material ON_LINE que lo ayuda a programar estos módulos ESP al proporcionar ejemplos más o menos complejos.
La única desventaja muchas veces es el idioma.: muchos sitios son de habla inglesa.
Idea BlueTooth: Este es quizás el más simple: El módulo BlueTooth no se conecta en WIFI sino precisamente a través del protocolo Bluetooth disponible en todas las tabletas y móviles. Se puede usar conectándolo en modo serie a un micro arduino, o usa alguna APP (o programarlo para aquellos que son capaces) producido para el propósito. En este caso, se puede utilizar en modo serie con la biblioteca Arduino "Serial_Software". El boceto debe programarse para recibir los caracteres en serie que la aplicación envía a través del puerto en serie. Hay varias APLICACIONES que administran este módulo de forma serial. Entonces, la única complicación es la programación del boceto.
Después de analizar las dos ideas, decidí usar los módulos ESP_8266 por varias razones. Hace un tiempo había comprado bien 5 del modelo ESP_01 tener experiencias. Solo había usado uno para producir un reloj digital ON_LINE o tomar tiempo de Internet al verlo en una pantalla LCD (fecha y hora completas). ¿Por qué entonces dejarlos envejecer en el cajón? ?.
El uso de este micro implica una serie de "complicaciones" y "ajustes" en el entorno Arduino IDE. No es difícil seguir las instrucciones que se encuentran en la WEB para actualizar el IDE tanto en términos de "tarjetas" que deben administrarse como en términos de "bibliotecas" utilizables.. De hecho, tanto las "pestañas" como las "bibliotecas" son muchas, pero primero debe insertar la siguiente definición en la configuración del IDE de Arduino:
URL adicionales para el administrador de la tarjeta: http // arduino.esp8266.com / stable / package_esp8266com_index,json
Entonces, si no se ejecuta automáticamente, desde el menú "herramientas", seleccione "Administración de tarjetas" y deje que el IDE busque las "tarjetas" para agregar. Luego tendrá que elegir de la lista propuesta como se muestra: (en mi ide ya están instalados).

Si todo va bien en la selección de las tarjetas para usar, encontrará una lista de tarjetas ESP que se pueden usar: en este caso, simplemente seleccione el elemento "Módulo ESP8266 genérico".
ESP8266_01 presenta (a pesar de su tamaño) ben 8 alfiler:
• VCC (3,3V obligatorio !) e GND.
• Dos pines definidos GPIO_0 y GPIO_2. Son pines que se pueden ver como ENTRADA / SALIDA de señales lógicas (Bit "0" Bit "1") siempre con respecto al nivel 3V. .
• RST para restablecer el micro a tierra para restablecerlo de otro modo a la lógica "1".
• Pin EN (habilitar) que habilita el micro si está configurado en lógica "1".
• Dos pines TX / RX que se pueden usar para recibir y transmitir datos en serie, recordando que el nivel de señal se basa en la fuente de alimentación de 3V. TX y TX también se definen como GPIO_1 y GPIO_3 ya que podrían usarse como pines de E / S pero con cuidado.
La complicación en el uso de este micro radica en la programación si no se usa un sistema adecuado. El pin GPIO_0 también se llama GPIO_0FLASH porque si se coloca en el suelo, permite escribir el boceto en la memoria flash del micro.
No es tan fácil como parece: Hay una secuencia específica de operaciones a realizar para llevar dicho micro a la condición de aceptar la carga: apágalo, lleve GPIO_0 a tierra y luego vuelva a encenderlo o reinicie siempre con GPIO_0 a tierra. Pero no fue facil. Tuve la previsión (sin saberlo) comprar un módulo "depurador" con el que lo resolví sin saberlo (primero) solo este problema de carga.
Aquí están los dos módulos.: A la izquierda, un módulo ESP_01 y a la derecha, el módulo depurador.. Es muy útil: se ve como un puerto serie (CON), tiene un botón para reiniciar el micro y el conector macho es la copia exacta del 8 micro pin y por lo tanto perfectamente utilizable. No hay problema para cargar el boceto, ya que realiza automáticamente la operación descrita en párrafo anterior. Después de cargar, puede probar el boceto sin quitarlo del adaptador. Encontré este módulo en Futura_Shop a aproximadamente 6 euro. Tenga cuidado con otros adaptadores porque no tienen estas características.

Otra complicación en el uso de este micro está en la fuente de alimentación.: el solo quiere 3,3 V y requiere un sistema de suministro de energía que suministre 3 V con al menos 1 A de corriente.
Y no termina ahí: los niveles GPIO_0, GPIO_2 también están en el nivel 3V. Ahora, si se van a utilizar para interactuar con otros dispositivos que funcionan a nivel de 5 V, se necesita un convertidor de nivel (o divisor de voltaje que desaconsejo) como una interfaz entre los pines del micro y los pines de otros dispositivos. Casi todos los dispositivos con el protocolo I2C requieren los niveles correctos de 5V en los pines SDA / SCL. Por cierto, en mi reloj de Internet con LCD I2C, utilicé estos convertidores entre GPIO_0 y GPIO_2 del micro.
Así es como se ven: A la izquierda la fuente de alimentación con salida de 3V y a la derecha el módulo convertidor de nivel con 4 canales. Estos convertidores tienen una entrada de 5V y 3V llamada HV y LV.
Las salidas son bidireccionales.: lo que entra en 5V sale a 3 y viceversa.

(Imágenes copiadas del sitio EBMSTORE.it)
NOTA IMPORTANTE que casi olvido: cuando salen de la fábrica (chino) todos los ESP están equipados con un software para administrar los comandos "AT", para entender aquellos que se usaron una vez en módems telefónicos antiguos. Con estos comandos puedes verificar, entre otros, también la conexión WIFI a su enrutador y también verifique cuántos están dentro del alcance del chip, incluso si son limitados. Para probar estos comandos, incluso sin la necesidad de bocetos específicos, se requiere una conexión en serie (velocidad de transmisión 115200) utilizando el monitor serie Arduino o el Hyper Terminal de Windows. Luego necesita un convertidor RS232 / USB para conectarse a un puerto USB en la PC. Debajo de una de las conexiones posibles. En el convertidor RS232 FTDI, el puente debe moverse de 5V a 3V para que las señales sean compatibles.

PRECAUCIÓN: la primera vez que se carga un boceto en el ESP, este software "AT" se pierde y se debe descargar una aplicación especial "FLASH" de la web para volver a cargarlo.
El proyecto comienza a tomar forma.: tenemos el micro, la fuente de alimentación correcta y el adaptador de nivel lógico. Ahora necesitamos estudiar cómo encender / apagar individualmente 5 tomó un 220 de la zapatilla. He probado dos sistemas:
1. Conducción de un triac mediante acoplador de fotos con señal lógica "1". Ya había experimentado con estos dispositivos con diferentes circuitos, pero siempre han demostrado ser poco confiables y no son adecuados para lámparas de bajo consumo.. Este es uno de los circuitos..

2. Conducción de un relé con foto acoplador o transistor también accionado por una señal lógica "1". Los siguientes dos diagramas no presentan problemas específicos, excepto el que tiene un acoplador fotográfico que funciona solo con relés de 12V.


La elección recayó en la interfaz de relé de 5V también porque tenía casi disponible 10 relés de circuito impreso con doble intercambio que también se pueden usar para cambiar voltajes de 220V. Estos relés son bastante viejos y no recuerdo dónde los canibalicé. Este es el modelo:

Hice un prototipo, probé la funcionalidad y luego decidí preparar toda la interfaz para administrar cinco de estos relés utilizando la interfaz con transistores.
Solo queda un último problema: los relés son 5, micro ESP tiene am 2 pines utilizables sin problemas. Por lo tanto, se necesita un dispositivo para aumentar estos pines. También en este caso, mi experiencia pasada con dispositivos de tipo PCF8574 como el de la figura me ayuda:

Este dispositivo interactúa con el protocolo I2C direccionable en 7 diferentes direcciones (ver puentes en la figura). Se puede insertar en cascada con otros dispositivos similares u otras pantallas LCD tipo I2C, excepto la dirección correcta. El único problema con estos dispositivos es el tamaño e insertarlo en una PCB puede causar algunos problemas.. Sería preferible usar el chip único ya que no requiere circuitos particulares: 5V para fuente de alimentación incluso si admite 3V, un par de resistencias pull_up a los pines SDA / SCL, algunos puentes para asignar la dirección y nada más.
la 8 alfiler (más uno definió INT como una interrupción) pueden ser solo de entrada o solo de salida o mixtos. Leer o escribir en estos pines se realiza simplemente con la biblioteca WIRE (Wire.write o Wire.read).
Pero hay problemas: no para los pines definidos en la entrada, pero para aquellos definidos en la salida es necesario verificar bien cómo deben usarse. La corriente máxima (vedi i hoja de datos) es muy poco, incluso para conducir un solo LED. Varios foros ON_LINE demuestran cómo deben conectarse los LED o dispositivos que, por su naturaleza, absorben corrientes superiores a las suministradas por el dispositivo..

Esta figura es uno de los ejemplos de trabajo para encender 8 LED: se puede ver su conexión: Anodo a VCC, cátodo con R hacia los pasadores. Al realizar las pruebas adecuadas, pude notar el excelente brillo de un LED verde clásico. Sin embargo, es importante saber que cuando el sistema está encendido, todos los pines del chip están configurados en lógica "1": por lo tanto, mientras que para el esquema anterior no hay anomalías (los LED se iluminan solo si el pin correspondiente está conectado a tierra), en mi caso puede dar problemas porque todos los relés se activan con la señal lógica "1". Sin embargo, es superable, ya que en el boceto, la primera operación sería llevar todos los pines al "0" lógico.. mamá, siempre hay un "pero", hay un momento en el que, en cuanto a milésimas, debe tenerse en cuenta: el micro comienza después de unos segundos y esto podría causar problemas.
No olvidemos que el voltaje de 220V pasará por los relés..
Dadas estas premisas, para evitar sorpresas, trato de hacer algunas pruebas con cables voladores y bocetos mínimos, Conecto el PCF a arduino (Protocolo de cable) y un pin en la entrada del prototipo de encendido del relé (Disparador con "1" lógico). perfecto: se enciende y apaga, pero si se repite incluso a intervalos de unos segundos, NO FUNCIONA !, demostrando que no es confiable.
Por lo tanto, creo que la escasa disponibilidad de corriente es la causa de esta falta de fiabilidad.: después de algunas vueltas ON_LINE decido cambiar el método de activación: en lugar de llevar un "1" lógico, el pin lo lleva a tierra. Pero esto implica un cambio en el circuito de disparo para el cual, no tener que cambiarlo todo, Interpongo un circuito inverso entre los pines PCF y las entradas. A primera vista, un 74Ls04 podría estar bien, sin embargo, preferí usar un ULN2003A que es un "SIETE DARLIGTON ARRAY" que proporciona una corriente de 500ma. Siete entradas y tantas salidas, sin embargo, todas "Open_Collector" por lo que se requiere una R de 4,7 ohm (o mas alto) en pull_up hacia 5V para cada pin. También actúa como un inversor por el cual una entrada en "1" se invierte en una salida en "0" y viceversa. Excelente para lo que necesito: Simplemente tendré que cambiar el método de encendido en el boceto: de "1" a "0" para cada relé. Y no tendré que preocuparme si todos los pines del chip van a "1". En la figura, la disposición de los pasadores..

INICIANDO EL PROYECTO:
Yo creo, en este punto, tener todo disponible para comenzar a producir PCB e implementar algunos bocetos con ESP_01. Hagamos la "lista de compras" para averiguar si realmente tenemos todo lo que necesitamos y eso es:
• Modelo N.1 ESP8266 01
• N.1 5V / 3V convertidor de nivel
• N.1 fuente de alimentación de 3V (Entrada da 5 un máximo de 9V)
• N. 1 PCF8574
• N. 1 ULN2003A
• N. 5 Modelo Relais Finder 30.22
• N. 5 transistor BC547
• N. 5 diodos 1N4007
• N. 5 LED AL. (cualquier color)
• N. 10 valores de resistencia según el esquema
• Varios conectores y enchufes para montaje.
• Botón de reinicio micro
• LED (cualquier color) como espía del sistema ON_LINE
Al no tener una instrumentación más o menos profesional y ni siquiera un entorno adecuado, me tengo que conformar con producir solo PCB pequeños. Por lo tanto, este proyecto consta de dos PCB: PCB PRINCIPAL para alojar el corazón del sistema y PCB RELAIS para alojar los relés.
PCB principal:
No dibujé un circuito del cual derivar este pcb pero fue dibujado a mano alzada tratando de evitar puentes y compactar mejor los componentes.

Puedes ver: los conectores en la parte superior izquierda para alimentar la misma placa y otros; el conector de cuatro pines para insertar el PCF8574. En la parte inferior izquierda del rectángulo rojo se encuentra la fuente de alimentación de 3V.. En el medio, el convertidor de nivel a la derecha, el conector hembra para la inserción del ESP_01. El rectángulo amarillo invertido en forma de L sirve como guía para cortar el exceso de PCB. Aquí está la foto del PCB producido. El corte se usó para insertar la tarjeta PCF.

RELÉ PCB:
Este pcb es el más complejo y para el diseño comencé desde otro prototipo de pcb producido para probar haciendo las correcciones necesarias y haciendo una copia / pegado en la práctica.
El diagrama de cableado es el de las figuras anteriores.. En la parte superior de la pcb podemos ver i 6 conectores relacionados con: 5 Para el 5 enchufes y el sexto para la segunda rama del voltaje a 220. Abajo, a la izquierda, los pines de alimentación de 5 V que se conectarán a la PCB principal. En el centro i 5 pin de entrada para señales de activación de relé. Los diodos después de cada entrada son 1n4148.

Aquí en la foto cómo se ve la tarjeta de relevo completa.

No lo creerás, pero después de toda la producción de PCB (diseño y producción) Me doy cuenta de que me he olvidado de insertar un componente fundamental: El controlador de interfaz entre las salidas del PCF8574 y las entradas de la PCB del relé. Ciertamente no pude hacer estallar lo que hice y tuve que conformarme con hacer un pcb adicional para alojar el controlador que se interpuso. Y produje lo siguiente:

Las resistencias de PULL_UP son 4.7K.
Al final de esta foto el proyecto completado:

En el medio entre PCB_Main y PCB_Relais está la tarjeta de conductor. Los tres conectores blancos a la derecha de la placa de relés se utilizan para conectar los cables de voltaje de la 5 Él tomó. El sexto el otro cable de voltaje del 220. Incluso si no se nota bien en la parte inferior derecha, hay un botón rojo que restablece el micro ESP y al lado un LED que se ilumina cuando todo el sistema está ENCENDIDO, como explicaré en el capítulo de software..
Ten piedad de construir el stand: como bricolaje son un verdadero derrumbe: las dimensiones del contenedor son 10×20 cm !! en plexiglás.
En la siguiente foto el proyecto completo y funcional..

Desafortunadamente, la regleta de alimentación no puede acomodar nada dado el tamaño de los dispositivos.
El software de gestión:
Y aquí estamos en la parte más interesante y fundamental de todo el proyecto.. Como dije al principio, la elección recayó en el uso de una interfaz WEB a través de una página HTML que se puede administrar a través de WIFI desde cualquier PC, Tableta, o teléfono móvil. Declaro que la realización de los bocetos no es todo harina de mi bolso, pero a través de la WEB pude descargar varios ejemplos de administración de un WEB_SERVER para encender y apagar los LED y a partir de estos ejemplos comencé a implementar los bocetos al completarlos con la administración del PCF8574. algo’ de experiencia en la implementación de páginas HTML que lo había hecho hace años, pero fue hace mucho tiempo que tuve que actualizar mi memoria.
Los bocetos creados producen la siguiente página HTML:

En la primera línea, el estado de los relés para indicar cuáles están "ENCENDIDOS" y cuáles "APAGADOS". En la segunda fila 5 botones para "ENCENDER" cada relé, en la tercera fila otros 5 botones para apagar cada relé. Cada vez que se presiona el botón relativo, la primera fila se actualiza en consecuencia. Finalmente en el 4 la fila dos botones "ALL_ON" y "ALL_OFF" encienden o apagan todos los relés de una vez.
Esta es la página HTML de un boceto adicional.: Por cierto, el diseño del botón se realizó con el software WYSIWYG que produce páginas HTML visualmente.

El procedimiento es similar pero con diversidad.: La primera línea siempre resalta el estado de los relés.. Los botones a continuación tienen una doble función: cuando están "rojos" significa que el relé relativo está apagado. Cada vez que presiona el botón relativo se vuelve azul y la redacción cambia de ON a OFF, y así para todos los demás, así como el botón "ALL_ON" que se vuelve azul "ALL_OFF". Y la primera línea siempre resalta el estado de los relés..
ESTRUCTURA Y LÓGICA DE DIBUJOS:
He implementado dos bocetos llamados Ciabatta_Web y Ciabatta_Web3. La lógica de programación es sustancialmente la misma, solo el método de administración del PCF8574 cambia con respecto al encendido / apagado de los relés y la escritura de las líneas que componen la página web.
Para administrar páginas HTML ON_LINE con el soporte de ESP_01 y otros modelos, Hay varios métodos para un enfoque correcto: No me detengo aquí en cuáles y cuántos son, ya que cada uno tiene sus características específicas y un método de gestión diferente.. Solo describiré el utilizado en los dos bocetos..
Para acceder a un sistema WIFI_Server necesitas:
La librería "ESP8266WiFi”. Ese a_tantum debe haberse cargado cuando se actualizó el IDE de Arduino para las placas ESP.
La definición de los parámetros para acceder a su enrutador doméstico: “ssid"¿Cuál es el nombre asignado al enrutador?, y tu contraseña. Dos definiciones simples como estas: Los nombres pueden ser de tu elección..
const char * ssid = "nombre del enrutador";
const char * pwd = "contraseña asignada"
Finalmente, la asignación del puerto al servidor WiFi con esta definición:
Servidor WiFiServer (80); (el servidor "escucha" en la puerta 80)
Por supuesto, también se necesita la definición de la biblioteca CABLE que se usa para administrar el PCF8574.
En ambos bocetos, se insertó la posibilidad de depuración insertando el clásico Serial.print() en puntos más o menos críticos del boceto a través del Arduino o el monitor en serie (que recomiendo) lHyper Terminal di Windows. Desafortunadamente en Windows 10 esta aplicación no se proporciona, por lo tanto, es necesario buscarla en la Web y descargar la versión gratuita.
Entonces se habilita el puerto serie con baudios a 115200 para ESP (no parece funcionar a velocidades más bajas) pero también se inserta un procedimiento por el cual si no presiona ninguna tecla dentro 3 segundos se inhibe la escritura en el monitor en serie de las señales de depuración programadas adecuadamente. Pero esta es mi elección personal. Después de todo, no hay otros métodos interactivos de depuración, Esta es la mejor solución para evitar estar en la oscuridad cuando el boceto por alguna razón no responde.
NOTA: para depurar el monitor es necesario que el ESP esté conectado a un convertidor en serie tipo FTDI232 o al módulo "depurador" que describí previamente para asignar un puerto COM.
Luego procedemos a inicializar el Wifi con el comando: WiFi.start(ssid, pwd) y comprobando a través de un ciclo "while" que el WiFi.status estar bien: o probando el parámetro WL_CONECTADO hasta que esté bien. Dado que la respuesta del enrutador puede ser más larga de lo normal, es una buena idea insertar un temporizador de unos segundos para evitar un bucle infinito. Es posible que el enrutador no responda si los parámetros son incorrectos o por otras razones.
Realizando el WiFI.start(ssid, pwd) de forma predeterminada cuando el enrutador responde y se establece la conexión, se asigna una dirección IP en forma clásica al ESP 192.168.1.XXX donde XXX es la dirección real asignada. Por lo tanto, se hace necesario saber qué dirección se ha asignado (DHCP habilitado en el enrutador) ESP para poder conectarse e iniciar la página HTML desde el navegador. Esta dirección nunca cambiará cuando esté asociada con la dirección MAC ESP.
Pero, ¿cómo sabemos qué dirección ha sido asignada? ?: El sistema de depuración en el monitor en serie es útil: después de que la conexión esté bien, la dirección asignada con la frase se envía a través del clásico Serial.print: Serial.print(WiFi.localIP()).
Existe otro sistema para remediar este posible inconveniente.: asignar una dirección estática con las siguientes definiciones:
IPAddress ip (192.168.1.XXX) para definir la dirección que desea en el parámetro XXX.
IPAddress gateway (192.168.1.1) dirección de puerta de enlace del enrutador
Subred IP (255.255.255.0) máscara de dirección.
Entonces, después de WiFi.begin, agregue la frase WiFi.config(ip,puerta,subred). Para acceder, simplemente ingrese la dirección asignada para conectarse para acceder. Los nombres son de tu agrado.
Al final de estas operaciones, tiene éxito con la frase "server.begin()"Inicia el servidor listo para escuchar las solicitudes provenientes del navegador.
En este punto y solo en este punto a través del PCF8574 (que ya ha sido inicializado) se envía un byte con la configuración 0111 111: o el bit 7 en el que está conectado un LED, se ilumina pero todos los relés de la regleta de alimentación permanecen apagados. La iluminación de este LED verifica que todas las operaciones realizadas estén bien y que el sistema "servidor" esté en línea. Este sistema led es una elección personal..
En la "configuración" no hay nada más que agregar, excepto las operaciones para la configuración de otros dispositivos que en el caso del proyecto hay.
En el "bucle", la mayor parte proviene de la administración del "cliente" o del sistema que debe interactuar con el servidor y recibir los comandos enviados desde la página WEB. Lo primero es indicarle al "cliente" que verifique si el servidor está disponible: un bucle después de la oración " Cliente WiFiClient = servidor.disponible()"Le permite verificar cuándo el servidor está disponible. Si responde positivamente, verificamos con un bucle que el cliente está disponible . Si todo continúa bien, podemos continuar con la lectura cuando se envía desde el navegador, almacenarlo en una cadena, y en consecuencia enviar al cliente las instrucciones que componen la página HTML. La instrucción client.print o client.println funciona como Serial.print y, por lo tanto, las oraciones HTML se definen entre paréntesis. La cadena que hemos almacenado contiene lo que se ha definido en los parámetros, es decir, qué botón se ha presionado.. Una rutina especial analiza esta cadena y prepara la que debe mostrarse en la página WEB para indicar qué relé está ENCENDIDO o APAGADO.
Pero más que palabras, se necesitan hechos: esto es lo que se emite (depurar el boceto activo) desde cuando nos conectamos con el navegador:
Salida de puerto serie para verificación de conexión:
Regleta de alimentación WEB 3
Conectando a TPLINK_8968 >>>>> CONEXIÓN DE ENRUTADOR
…………. >>>>>> ESPERANDO LA CONEXIÓN
WiFi conectado. dirección IP: 192.168.1.113 >>>>>>> SERVIDOR CONEXIÓN IP ASOCIADO
LA CONEXIÓN A LA DIRECCIÓN SE HACE DEL NAVEGADOR 192.168.1.113 Y SE PUBLICA LA PÁGINA HTML PROGRAMADA
Cliente nuevo
OBTENER / HTTP / 1.1
Anfitrión: 192.168.1.113
Agente de usuario: Mozilla / 5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko / 20100101 Firefox / 78.0
Aceptar: texto / html,aplicación / xhtml + xml,aplicación / xml;q = 0.9, imagen / webp,*/*;q = 0.8
Aceptar lenguaje: eso eso,eso;q = 0.8, en-US;q=0.5,en;q = 0.3
Aceptar-Codificación: gzip, desinflar
Conexión: mantener viva
Solicitudes de actualización inseguras: 1
Cliente desconectado. >>>>>>> DESCONEXIÓN DEL CLIENTE DEL DIBUJO
>>>>>>>> NO SE REQUIERE OPERACIÓN
DESDE AQUÍ HACIA ADELANTE PARA CADA OPERACIÓN REALIZADA EN LA PÁGINA DEL NAVEGADOR, LAS SIGUIENTES FRASES SERÁN EMPEZADAS CUANDO SE PRESIONE UN BOTÓN
Anfitrión: 192.168.1.113
Agente de usuario: Mozilla / 5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko / 20100101 Firefox / 78.0
Aceptar: texto / html,aplicación / xhtml + xml,aplicación / xml;q = 0.9, imagen / webp,*/*;q = 0.8
Aceptar lenguaje: eso eso,eso;q = 0.8, en-US;q=0.5,en;q = 0.3
Aceptar-Codificación: gzip, desinflar
Conexión: mantener viva
Árbitro: http://192.168.1.113/6/EN >>>>>>>> AQUÍ ES LO QUE ENVÍA EL NAVEGADOR DESPUÉS DE PRESIONAR UN BOTÓN: EN ESTE CASO EL SEXTO BOTÓN
Solicitudes de actualización inseguras: 1
Cliente desconectado.
CONCLUSIONES:
Declaro que todo lo que ha sido creado y completado es producido única y exclusivamente por mí mismo.. Ciertamente se puede mejorar y pensar de una manera diferente y más profesional.. Las opciones de circuito también pueden estar sujetas a cambios y, ciertamente, un enfoque diferente podría dar mejores resultados. Pero no soy profesional y mi experiencia en electrónica es limitada..
Sin embargo, agradezco la atención.
Gvsoft July 2020.

Gran proyecto, especialmente a nivel didáctico.
Obra de un hermoso compromiso. Para cierto caso, me parece que Just4Fun ha hecho un cupón como la parte ESP-01 e PCF8574.
Finalmente, más que una zapatilla, será una bota, dado que los componentes se han vuelto de cierto volumen y no es factible montarlos en lugar de los interruptores.
Sin embargo, siempre hay una explicación interesante de estos módulos que en mis pruebas me han dado un poco de dolor de cabeza..