Régua de energia eletrônica
SLIPPER ELETRÔNICO
Ou piloto 5 Tomadas de 220V via WIFI
Aqui estou eu com um novo projeto e desta vez não é mais um relógio mais ou menos digital. Há algum tempo atrás ravanando no YouTube em busca de novidades para propor, Encontrei o projeto finalizado de uma régua de energia controlada via Bluetooth. Eu me perguntei se poderia reproduzi-lo de alguma forma, adaptando-o às minhas necessidades. Comecei a estudar o que tinha visto com a condição de usar apenas componentes já em posse e, portanto, a um custo que não digo ridículo, mas quase.
A partir da base, canibalizei um chinelo 6 locais com switches únicos que tiveram algum problema nos próprios switches. Eles não são exatamente os melhores e depois de algum tempo eles quebram. O filtro de linha em questão é o da foto abaixo:

Cada interruptor possui uma luz indicadora que consiste em uma pequena lâmpada de ervilha (lembre-se dos que antes eram usados para iluminar a árvore de Natal ?) com uma resistência à queda. Mas eles são frágeis e, por manobras, mais cedo ou mais tarde eles quebram.
Então, vamos prosseguir com o projeto: a base está lá. Em seguida, passe a chave de fenda e abra o chinelo. Desconectamos todos os interruptores e os removemos da caixa. Cada chave pode ser facilmente desmontada, deixando apenas um compartimento retangular vazio útil e suficientemente grande.
Vamos continuar: Cada um deles é conectado em paralelo a um ramo da tensão de entrada enquanto o outro ramo está conectado a um comutador conectado ao outro ramo da tensão. Então vamos isolar 5 dos seis líderes, então você tem 5 fios simples (um para cada soquete). Porque cinco e você não é ?.
Por que deixei a primeira tomada conectada ao 220 para usá-lo fora de contexto.
Mas mais do que palavras valem fatos e na foto abaixo você pode ver o que se tornou:

Nós podemos ver: cada caixa do interruptor foi preenchida com um LED vermelho de alto brilho e incorporada (com sua resistência a quedas) em uma carcaça de cera (o de velas para ficar claro). Embora nesta foto eles não sejam vistos no lado esquerdo do chinelo, eles foram praticados 2 buracos: um para passar o fio de tensão única de cada soquete e o fio "mestre" para fechar cada contato individual. O segundo orifício para passar os fios de cada LED e o fio terra comum para todos os LEDs. Observe o orifício que abrigava o interruptor do primeiro soquete. Na foto você pode ver que o segundo e o sexto beliscão estão sob tensão 220 e a luz LED relacionada está acesa. Esta foto refere-se aos primeiros testes funcionais antes da produção do hardware real.
ESTUDO DO PROJETO:
Como eu disse, todo o projeto deve custar muito pouco, desde que você use apenas componentes que já possui ou, no máximo, compre apenas os necessários.
Primeira ideia: use uma página WEB para controlar cada um dos soquetes on e / ou off individualmente.
Segunda ideia: use um dispositivo BlueTooth para fazer o mesmo.
Qual é o mais simples ? : depende do grau de experiência que cada um de nós amadores, amador ou profissional, tem em relação à programação dos dois sistemas. Pessoalmente, sou um hobby despretensioso e acho que recebo o suficiente nos dois sistemas. Então, para cada modo, vemos complicações e facilitações:
Ideia WEB: Talvez seja o mais complicado, pois requer recursos e conhecimento de um certo nível. Os recursos podem ser: Placa Arduino e blindagem Ethernet, mas as experiências feitas por mim há alguns anos atrás não me satisfizeram nem ao próprio escudo NÃO gerencia o WI-FI. Então foi descartado. Se queremos fazer algo mais "moderno" e usar WIFI (muito hoje está na moda !) formulários podem ser usados ESP_8266 do que em um tamanho de 25 mm para 12,5 eles coletam um microprocessador programável completo via Arduino e específico para fazer conexões WIFI usando SERVIDOR WEB e outros sistemas.
Qual é a complicação dessa escolha ?: Uma boa experiência de programação "C", customização do ambiente Arduino para gerenciar este módulo, conhecimento das páginas HTML e sua programação. Tudo isso pode não estar ao alcance de todos. Eu pessoalmente fiz um pouco’ experiência tanto nos últimos tempos quanto nos remotos, pelo menos no que diz respeito às páginas HTML. Mas acredito que, mesmo que você não seja um "especialista", existe muito material ON_LINE que ajuda a programar esses módulos ESP, fornecendo exemplos mais ou menos complexos.
A única desvantagem muitas vezes é a linguagem: muitos sites são de língua inglesa.
Idea BlueTooth: Este é talvez o mais simples: o módulo BlueTooth não se conecta em WIFI, mas precisamente via protocolo Bluetooth disponível em todos os tablets e celulares. Pode ser usado conectando-o no modo serial a um micro arduino, ou use algum aplicativo (ou programá-lo para aqueles que são capazes) produzido para o efeito. Nesse caso, ele pode ser usado no modo serial com a biblioteca "Serial_Software" do Arduino. O esboço deve ser programado para receber os caracteres seriais que o APP envia através da porta serial. Existem vários aplicativos que gerenciam este módulo de maneira serial. Portanto, a única complicação é a programação do esboço.
Depois de analisar as duas idéias, decidi usar os módulos ESP_8266 por vários motivos. Algum tempo atrás eu tinha comprado bem 5 do modelo ESP_01 ter experiências. Eu tinha usado apenas um para produzir um relógio digital ON_LINE ou tirar um tempo da Internet, visualizando-o em um LCD (data e hora completas). Por que então deixá-los envelhecer na gaveta ?.
O uso deste micro envolve uma série de "complicações" e "ajustes" no ambiente IDE do Arduino. Não é difícil seguir as instruções encontradas na WEB para atualizar o IDE em termos de "cartões" que devem ser gerenciados e em termos de "bibliotecas" utilizáveis. De fato, as "guias" e as "bibliotecas" são muitas, mas primeiro você precisa inserir a seguinte definição nas configurações do IDE do Arduino:
URLs adicionais para o gerenciador de cartões: http // arduino.esp8266.com / stable / package_esp8266com_index,json
Então, se não for executado automaticamente, no menu "ferramentas", selecione "Gerenciamento de cartões" e deixe o IDE pesquisar os "cartões" a serem adicionados. Você deve então escolher na lista proposta, como mostrado: (no meu ide já está instalado).

Se tudo der certo na seleção dos cartões a serem usados, você encontrará uma lista de cartões ESP que podem ser usados: neste caso, basta selecionar o item "Módulo ESP8266 genérico".
ESP8266_01 apresenta (apesar do seu tamanho) ben 8 PIN:
• VCC (3,3V obrigatório !) e GND.
• Dois pinos definidos GPIO_0 e GPIO_2. São pinos que podem ser vistos como INPUT / OUTPUT de sinais lógicos (Bit "0" Bit "1") sempre em relação ao nível 3V. .
• RST para redefinir o micro para o aterramento para redefini-lo da lógica "1".
• Pin EN (habilitar) que habilita o micro se definido como lógico "1".
• Dois pinos TX / RX que podem ser usados para receber e transmitir dados seriais, lembrando que o nível do sinal é baseado na fonte de alimentação de 3V. TX e TX também são definidos como GPIO_1 e GPIO_3, pois podem ser usados como pinos de E / S, mas com cuidado.
A complicação no uso deste micro reside na programação se um sistema adequado não for usado. O pino GPIO_0 também é chamado de GPIO_0FLASH porque, se colocado no chão, permite escrever o esboço na memória flash do micro.
Não é tão fácil quanto parece: existe uma sequência específica de operações a serem realizadas para trazer o referido micro à condição de aceitar o upload: Desligue isso, coloque o GPIO_0 no chão e ligue-o novamente ou sempre redefina com o GPIO_0 no chão. Mas não foi fácil. Eu tive a previsão (sem o saber) para comprar um módulo "depurador" com o qual eu o resolvi sem conhecê-lo (no início) apenas este problema de carregamento.
Aqui estão os dois módulos: À esquerda, um módulo ESP_01 e à direita, o módulo Debugger. É muito útil: é visto como uma porta serial (COM), possui um botão para redefinir o micro e o conector macho é a cópia exata do 8 micro pin e, portanto, perfeitamente utilizável. Não há problema em carregar o esboço, pois ele executa automaticamente a operação descrita em parágrafo anterior. Após o carregamento, você pode testar o esboço sem removê-lo do adaptador. Encontrei este módulo no Futura_Shop em aproximadamente 6 euro. Desconfie de outros adaptadores porque eles não têm esses recursos.

Outra complicação no uso deste micro está na fonte de alimentação: ele só quer 3,3 V e requer um sistema de fonte de alimentação que forneça 3V com pelo menos 1A de corrente.
E não acaba aí: os níveis GPIO_0, GPIO_2 também estão no nível 3V. Agora, se eles devem ser usados para fazer interface com outros dispositivos que trabalham no nível 5V, é necessário um conversor de nível (divisores de tensão que eu não recomendo) como uma interface entre os pinos do micro e os pinos de outros dispositivos. Quase todos os dispositivos com o protocolo I2C requerem os níveis corretos de 5V nos pinos SDA / SCL. Aliás, no meu relógio de internet com LCD I2C, usei esses conversores entre GPIO_0 e GPIO_2 do micro.
Aqui está como eles se parecem: À esquerda a fonte de alimentação com saída de 3V e à direita o módulo conversor de nível com 4 canais. Esses conversores têm uma entrada de 5V e 3V denominada HV e LV.
As saídas são bidirecionais: o que entra em 5V sai para 3 e vice versa.

(Imagens copiadas do site EBMSTORE.it)
NOTA IMPORTANTE que eu quase esqueci: quando eles saem da fábrica (chinês) todos os ESPs estão equipados com software para gerenciar os comandos "AT" para entender aqueles que foram usados uma vez em modems telefônicos antigos. Com esses comandos, você pode verificar, entre outros, também a conexão WIFI ao seu roteador e verifique também quantos estão ao alcance do chip, mesmo que limitados. Para experimentar estes comandos, mesmo sem a necessidade de esboços específicos, é necessária uma conexão serial (taxa de transmissão 115200) usando o monitor serial Arduino ou o Windows Hyper Terminal. Você precisa de um conversor RS232 / USB para conectar a uma porta USB no PC. Abaixo de uma das conexões possíveis. No conversor RS232 FTDI, o jumper deve ser movido de 5V para 3V para tornar os sinais compatíveis.

CUIDADO: ao carregar qualquer esboço no ESP pela primeira vez, esse software "AT" é perdido e um aplicativo "FLASH" especial deve ser baixado da Web para recarregá-lo.
O projeto começa a tomar forma: nós temos o micro, a fonte de alimentação correta e o adaptador de nível lógico. Agora precisamos estudar como ativar / desativar individualmente 5 levou um 220 do chinelo. Eu testei dois sistemas:
1. Condução de um triac via acoplador de foto com sinal lógico "1". Eu já havia experimentado esses dispositivos com circuitos diferentes, mas eles sempre provaram não ser confiáveis e não são adequados para lâmpadas economizadoras de energia. Este é um dos circuitos.

2. Dirigir um relé com fotoacoplador ou via transistor também acionado por um sinal lógico "1". Os dois diagramas a seguir não apresentam problemas específicos, exceto aquele com fotoacoplador funcionando apenas com relés de 12V.


A escolha caiu na interface do relé de 5V também porque eu tinha quase disponível 10 relés de circuito impresso com troca dupla que também podem ser usados para alternar tensões para 220V. Esses relés são bem antigos e não me lembro onde os canibalizei. Este é o modelo:

Fiz um protótipo. Testei a funcionalidade e decidi preparar toda a interface para gerenciar cinco desses relés usando a interface com transistores..
Apenas um último problema permanece: relés são 5, micro ESP tem am 2 pinos utilizáveis sem problemas. Portanto, é necessário um dispositivo para aumentar esses pinos. Também neste caso, minha experiência anterior com dispositivos do tipo PCF8574, como o da figura, me ajuda:

Este dispositivo faz interface com o protocolo I2C endereçável em 7 endereços diferentes (veja jumpers na figura). Pode ser conectado em cascata com outros dispositivos similares ou outros LCDs do tipo I2C, exceto o endereço correto. O único problema com esses dispositivos é o tamanho e a inserção em uma PCB pode causar alguns problemas. Seria preferível usar o chip único, pois não requer circuitos específicos: 5V para fonte de alimentação, mesmo que suporte 3V, alguns resistores pull_up para os pinos SDA / SCL, algumas pontes para atribuir o endereço e nada mais.
o 8 PIN (mais um definido INT como uma interrupção) eles podem ser apenas de entrada ou apenas de saída ou misturados. A leitura ou gravação desses pinos é feita simplesmente com a biblioteca WIRE (Wire.write ou Wire.read).
Mas tem problemas: não para os pinos definidos na entrada, mas para aqueles definidos na saída é necessário verificar bem como eles devem ser usados. A corrente máxima (vedi i datasheet) é muito pouco para dirigir um único LED. Vários fóruns do ON_LINE demonstram como devem ser conectados quaisquer LEDs ou dispositivos que, por natureza, absorvem correntes superiores às fornecidas pelo dispositivo.

Esta figura é um dos exemplos de trabalho para ativar 8 conduziu: sua conexão pode ser vista: Anodo a VCC, cátodo com R em direção aos pinos. Ao fazer testes adequados, pude notar o excelente brilho de um LED verde clássico. É importante, no entanto, saber que, quando o sistema é ligado, todos os pinos do chip são configurados para a lógica "1": portanto, enquanto no esquema anterior não há anomalias (os LEDs acenderão apenas se o pino relevante estiver aterrado), no meu caso, pode dar problemas porque todos os relés são acionados com o sinal lógico "1". No entanto, é superável, pois no esboço a primeira operação a fazer seria levar todos os pinos à lógica "0". mamãe, sempre existe um "mas", há um tempo em que, em termos de milésimos, devemos ter em mente: o micro inicia após alguns segundos e isso pode causar problemas.
Não vamos esquecer que a tensão de 220V passará pelos relés.
Dadas essas premissas, para evitar surpresas, tento fazer alguns testes com cabos voadores e esboços mínimos, Eu conecto o PCF ao arduino (Protocolo WIRE) e um pino na entrada do protótipo de ignição por relé (Gatilho com "1" lógico). perfeito: liga e desliga, mas se repetido mesmo em intervalos de alguns segundos, NÃO FUNCIONA !, provando não confiável.
Portanto, acredito que a falta de disponibilidade atual é a causa dessa falta de confiabilidade: depois de algumas voltas ON_LINE, decido alterar o método de disparo: em vez de carregar um "1" lógico, o pino o leva ao chão. Mas isso envolve uma alteração no circuito de gatilho para o qual, para não ter que mudar tudo, Interponho um circuito reverso entre os pinos do PCF e as entradas. À primeira vista, um 74Ls04 pode ser bom, no entanto, eu preferi usar um ULN2003A, que é um "SEVEN DARLIGTON ARRAY", que fornece uma corrente de 500ma. Sete entradas e tantas saídas, no entanto, todos os "Open_Collector", portanto um R de é necessário 4,7 ohm (ou mais alto) em pull_up em direção a 5V para cada pino. Ele também atua como um inversor, pelo qual uma entrada em "1" é invertida em uma saída em "0" e vice-versa. Excelente para o que eu preciso: Vou simplesmente mudar o método de ignição no esboço: de "1" a "0" para cada relé. E não precisarei me preocupar se todos os pinos do chip vão para "1". Na figura, a disposição dos pinos.

INÍCIO DO PROJETO:
Acredito, neste momento, ter tudo disponível para começar a produzir PCBs e implementar alguns esboços com ESP_01. Vamos fazer a "lista de compras" para descobrir se realmente temos tudo o que precisamos e isso é:
• modelo N.1 ESP8266 01
• Conversor de nível N.1 5V / 3V
• Fonte de alimentação N.1 3V (Entrada da 5 um 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. (qualquer cor)
• N. 10 valores de resistências de acordo com o esquema
• Vários conectores e soquetes para montagem.
• Botão Micro Reset
• Conduziu (qualquer cor) como um espião do sistema ON_LINE
Não tendo instrumentação mais ou menos profissional e nem mesmo um ambiente adequado, tenho que me contentar em produzir apenas PCBs pequenos. Portanto, este projeto consiste em dois PCBs: PCB PRINCIPAL para abrigar o coração do sistema e PCB RELAIS para abrigar relés.
PCB PRINCIPAL:
Eu não desenhei um circuito para derivar essa placa, mas ela foi desenhada à mão livre tentando evitar jumpers e compactar melhor os componentes.

Você pode ver: os conectores no canto superior esquerdo para alimentar a mesma placa e outros; o conector de quatro pinos para inserir o PCF8574. No canto inferior esquerdo do retângulo vermelho está a fonte de alimentação de 3V. No meio, o conversor de nível à direita, o conector fêmea para a inserção do ESP_01. O retângulo amarelo invertido em forma de L serve como um guia para cortar a parte em excesso da placa de circuito impresso. Aqui está a foto do PCB produzido. O corte foi usado para inserir o cartão PCF.

RELAY PCB:
Este pcb é o mais complexo e, para o design, comecei a partir de outro protótipo de pcb produzido para teste, fazendo as correções necessárias e fazendo uma cópia / pasta na prática.
O diagrama de fiação é o das figuras anteriores. No topo do PCB podemos ver i 6 conectores relacionados a: 5 para o 5 soquetes e o sexto para o segundo ramo da tensão em 220. Abaixo, os pinos de alimentação de 5V que serão conectados ao PCB principal. No centro eu 5 pino de entrada para sinais de disparo de relé. Os diodos após cada entrada são 1n4148.

Aqui na foto como é a placa de retransmissão concluída.

Você não vai acreditar, mas depois de toda a produção de PCB (concepção e produção) Percebo que esqueci de inserir um componente fundamental: o driver de interface entre as saídas do PCF8574 e as entradas do relé PCB. Eu certamente não consegui explodir o que foi feito e tive que me contentar em fazer um pcb adicional para abrigar o driver a ser interposto. E eu produzi o seguinte:

As resistências de PULL_UP são 4.7K.
No final desta foto, o projeto concluído:

No meio entre o PCB_Main e o PCB_Relais, o cartão de condutor. Os três conectores brancos à direita da placa de relé são usados para conectar os cabos de tensão do 5 Ele levou. O sexto, o outro cabo de tensão do 220. Mesmo se você não perceber bem no canto inferior direito, há o botão vermelho que redefine o micro ESP e, ao lado dele, um LED que acende quando todo o sistema está ON_LINE, como explicarei no capítulo do software.
Tenha piedade de construir o estande: como bricolage eles são um verdadeiro deslizamento de terra: as dimensões do recipiente são 10×20 cm !! em plexiglass.
Na foto a seguir, o projeto completo e funcional.

Infelizmente, o filtro de linha não pode acomodar nada, dado o tamanho dos dispositivos.
O software de gerenciamento:
E aqui estamos na parte mais interessante e fundamental de todo o projeto. Como eu disse no começo, a escolha recaiu sobre o uso de uma interface WEB através de uma página HTML que pode ser gerenciada via WIFI a partir de qualquer PC, Tábua, ou telefone celular. Afirmo que a realização dos esboços não é toda farinha da minha bolsa, mas, através da WEB, consegui fazer o download de vários exemplos de gerenciamento de um WEB_SERVER para ativar e desativar LEDs e, a partir desses exemplos, comecei a implementar os esboços, completando-os com o gerenciamento do PCF8574. um pouco’ experiência na implementação de páginas HTML que eu fiz isso anos atrás, mas foi há muito tempo que eu tive que atualizar minha memória.
Os esboços criados produzem a seguinte página HTML:

Na primeira linha, o status dos relés para indicar quais estão "ON" e quais "OFF". Na segunda e linha 5 botões para ativar "ON" cada relé, na terceira fila outros 5 botões para desligar cada relé. Cada vez que o botão relativo é pressionado, a primeira linha é atualizada de acordo. Finalmente no 4 linha dois botões "ALL_ON" e "ALL_OFF" liga ou desliga todos os relés de uma só vez.
Abaixo está a página HTML de um esboço adicional: Aliás, o design do botão foi realizado com o software WYSIWYG, que produz páginas HTML visualmente.

O procedimento é semelhante, mas com uma diversidade: A primeira linha sempre destaca o status dos relés. Os botões abaixo têm uma função dupla: quando estão "vermelhos" significa que o relé relativo está desligado. Cada vez que pressiona o botão relativo fica azul e o texto muda de LIGADO para DESLIGADO, e assim para todos os outros, bem como o botão "ALL_ON", que fica azul "ALL_OFF". E a primeira linha sempre destaca o status dos relés.
ESTRUTURA E LÓGICA DE SKETCHES:
Eu implementei dois esboços chamados Ciabatta_Web e Ciabatta_Web3. A lógica de programação é substancialmente a mesma, apenas o método de gerenciamento do PCF8574 muda com relação à ativação / desativação dos relés e à gravação das linhas que compõem a página da web..
Para gerenciar as páginas HTML ON_LINE com o suporte do ESP_01 e outros modelos, existem vários métodos para uma abordagem correta: Não me refiro aqui sobre quais e quantos são, cada um com suas características específicas e um método de gerenciamento diferente. Descreverei apenas o usado nos dois esboços.
Para acessar um sistema WIFI_Server, você precisa:
A livraria “ESP8266WiFi”. Esse a_tantum deve ter sido carregado quando o IDE do Arduino para as placas ESP foi atualizado.
A definição dos parâmetros para acessar seu roteador doméstico: “ssid”Qual é o nome atribuído ao roteador, e la sua password. Duas definições simples como estas: Os nomes podem ser de sua escolha.
const char * ssid = "nome do roteador";
const char * pwd = "senha atribuída"
Por fim, a atribuição da porta ao WiFiServer com esta definição:
Servidor WiFiServer (80); (o servidor "escuta" na porta 80)
Obviamente, a definição de biblioteca também é necessária FIO que é usado para gerenciar o PCF8574.
Nos dois esboços, a possibilidade de depuração foi inserida inserindo o Serial.print clássico() em pontos mais ou menos críticos do esboço através do monitor serial do Arduino ou (que eu recomendo) Terminal Hyper do Windows. Infelizmente no Windows 10 este aplicativo não é fornecido, então você precisa pesquisá-lo na Web e baixar a versão gratuita.
A porta serial com baud a é então habilitada 115200 para ESP (parece não funcionar a velocidades mais baixas) mas também é inserido um procedimento pelo qual, se você não pressionar nenhuma tecla dentro 3 segundos, a gravação no monitor serial dos sinais de depuração programados adequadamente é inibida. Mas esta é minha escolha pessoal. Afinal, não há outros métodos de depuração interativos, esta é a melhor solução para evitar ficar no escuro quando o esboço, por algum motivo, não responde.
NOTA: Para depurar o monitor, é necessário que o ESP esteja conectado a um conversor serial do tipo FTDI232 ou ao módulo "depurador" que eu descrevi anteriormente para atribuir uma porta COM.
Em seguida, procedemos à inicialização do Wifi com o comando: WiFi.start(ssid, pwd) e verificando através de um loop "while" que o WiFi.status estar bem: ou testando o parâmetro WL_CONNECTED até ficar tudo bem. Como a resposta do roteador pode ser maior que o normal, é uma boa ideia inserir um timer de alguns segundos para evitar um loop infinito. O roteador pode não responder se os parâmetros estiverem incorretos ou por outros motivos.
Realizando o WiFI.start(ssid, pwd) por padrão, quando o roteador responde e a conexão é feita, um endereço IP no formato clássico é atribuído ao ESP 192.168.1.XXX onde XXX é o endereço real atribuído. Torna-se, portanto, necessário saber qual endereço foi atribuído (DHCP ativado no roteador) ao ESP para conectar e iniciar a página HTML a partir do navegador. Este endereço nunca será alterado quando estiver associado ao endereço MAC do ESP.
Mas como sabemos qual endereço foi atribuído ?: O sistema de depuração no monitor serial é útil: depois que a conexão estiver ok, o endereço designado com a frase é enviado através do Serial.print clássico: Serial.print(WiFi.localIP()).
Existe outro sistema para remediar esse possível inconveniente: atribua um endereço estático com as seguintes definições:
IPAddress ip (192.168.1.XXX) para definir o endereço que você deseja no parâmetro XXX.
Gateway IPAddress (192.168.1.1) endereço de gateway do roteador
Sub-rede IPAddress (255.255.255.0) máscara de endereço.
Então, após o WiFi.begin, adicione a frase WiFi.config(ip,Porta de entrada,sub-rede). Para acessar, basta digitar o endereço atribuído para conectar-se ao acesso. Os nomes são do seu agrado.
No final dessas operações, você obtém sucesso com a frase "server.begin()Inicia o servidor pronto para ouvir solicitações vindas do navegador.
Neste ponto e somente este ponto através do PCF8574 (que já foi inicializado) um byte é enviado com a configuração 0111 111: ou o pouco 7 no qual um LED está conectado, acende, mas todos os relés do filtro de linha permanecem desligados. A iluminação deste LED verifica se todas as operações executadas estão corretas e se o sistema "servidor" está on_line. Esse sistema de led é uma escolha pessoal.
Na "configuração", não há mais nada a acrescentar, exceto as operações de configuração de outros dispositivos que, no caso do projeto, existem.
No "loop", a parte do leão vem do gerenciamento do "cliente" ou do sistema que deve interagir com o servidor e receber os comandos enviados da página WEB. A primeira coisa é instruir o "cliente" para verificar se o servidor está disponível: um loop após a frase " Cliente WiFiClient = server.available()Permite verificar quando o servidor está disponível. Se responder positivamente, verificamos com um loop se o cliente está disponível . Se tudo correr bem, podemos continuar lendo quando é enviado do navegador, armazenando-o em uma string, e consequentemente enviar ao cliente as instruções que compõem a página HTML. A instrução client.print ou client.println funciona como Serial.print e, portanto, as sentenças HTML são definidas entre colchetes. A string que armazenamos contém o que foi definido nos parâmetros, ou seja, qual botão foi pressionado. Uma rotina especial analisa essa string e prepara a que deve ser exibida na página WEB para indicar qual relé está LIGADO ou DESLIGADO..
Mas mais do que palavras, fatos são necessários: aqui está o que é emitido (depurar o esboço ativo) desde quando nos conectamos com o navegador:
Saída de porta serial para verificação de conexão:
Régua de energia WEB 3
Conectando ao TPLINK_8968 >>>>> CONEXÃO DO ROTEADOR
…………. >>>>>> AGUARDANDO CONEXÃO
WiFi conectado. endereço de IP: 192.168.1.113 >>>>>>> SERVIDOR LIGADO POR IP ASSOCIADO
A CONEXÃO AO ENDEREÇO É FEITO DO NAVEGADOR 192.168.1.113 E A PÁGINA HTML PROGRAMADA É EMITIDA
Novo cliente
OBTER / HTTP / 1.1
Hospedeiro: 192.168.1.113
Agente de usuário: Mozilla / 5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko / 20100101 Firefox / 78.0
Aceitar: text / html,application / xhtml + xml,application / xml;q = 0,9, imagem / webp,*/*;q = 0,8
Accept-Language: isso Isso,isto;q = 0,8, en-US;q = 0,5, em;q = 0,3
Accept-Encoding: gzip, esvaziar
Conexão: mantenha vivo
Solicitações de atualização insegura: 1
Cliente desconectado. >>>>>>> DESCONEXÃO DO CLIENTE DO SKETCH
>>>>>>>> NENHUMA OPERAÇÃO NECESSÁRIA
A partir daqui em diante, para todas as operações realizadas na página do navegador, as seguintes frases serão emitidas quando um botão for pressionado
Hospedeiro: 192.168.1.113
Agente de usuário: Mozilla / 5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko / 20100101 Firefox / 78.0
Aceitar: text / html,application / xhtml + xml,application / xml;q = 0,9, imagem / webp,*/*;q = 0,8
Accept-Language: isso Isso,isto;q = 0,8, en-US;q = 0,5, em;q = 0,3
Accept-Encoding: gzip, esvaziar
Conexão: mantenha vivo
Referer: http://192.168.1.113/6/EM >>>>>>>> Eis o que o navegador envia após pressionar um botão: Neste caso, o sexto botão
Solicitações de atualização insegura: 1
Cliente desconectado.
CONCLUSÕES:
Afirmo que tudo o que foi criado e concluído é apenas e exclusivamente produzido por mim. Certamente pode ser melhorado e pensado de uma maneira diferente e mais profissional. As escolhas de circuito também podem estar sujeitas a alterações e, certamente, uma abordagem diferente pode dar melhores resultados. Mas eu não sou profissional e minha experiência em eletrônica é limitada.
No entanto, agradeço a atenção.
Gvsoft July 2020.

Grande projeto, especialmente no nível didático.
Obra de um belo compromisso. Para um certo caso, parece-me que o Just4Fun fez um cupom como a parte do ESP-01 e PCF8574.
Finalmente, mais do que um chinelo, será uma bota, como os componentes ficaram com um certo volume e não é possível montá-los no lugar dos comutadores.
No entanto, sempre uma explicação interessante desses módulos que nos meus testes causaram alguma dor de cabeça.