- ESP Smart Plug para Domótica
- Materiais requisitados
- Programa Smart Plug para ESP8266
- Diagrama de circuito
- Invólucro impresso em 3D para soquete Smart Plug
Desde que comecei a trabalhar com os módulos ESP Wi-Fi, sempre quis construir uma tomada Wi-Fi inteligente que me permitisse controlar minhas cargas AC sem fio por meio de um smartphone. Embora produtos como esses já estejam disponíveis no mercado, como o popular Moko WiFi Smart Plug ou Sonoff, eles são um pouco caros e, além disso, não dão a você a alegria de construir o seu próprio. Então, neste projeto, vou mostrar como você pode construir seu próprio Smart plug usando o módulo ESP8266 Wi-Fi. O dispositivo que construímos pode ser facilmente conectado a qualquer tomada CA existente e, na outra extremidade, você pode conectar a carga real simplesmente conectando-a a esta tomada em nosso dispositivo. Depois disso, basta manter o interruptor principal de sua tomada sempre ligado, e você pode controlar sua carga diretamente do seu Smartphone. Diversão, certo? Então, vamos entrar no projeto….
ESP Smart Plug para Domótica
Já construímos um punhado de projetos de automação residencial, desde automação residencial simples baseada em RF até automação residencial controlada por voz baseada em assistente do Google. Mas hoje, o requisito deste projeto é um pouco diferente.
Aqui, o objetivo é ligar / desligar meu roteador Wi-Fi usando apenas o Smartphone diretamente da minha estação de trabalho. Porque às vezes minha conexão com a Internet cai e quando ligo para o atendimento ao cliente, a resposta padrão que recebo é “Senhor, desculpe o transtorno causado. Reinicie o seu roteador, desligando-o e ligando-o novamente após alguns segundos ” Puffff! Cansado de andar sempre até o roteador, decidi construir este plugue inteligente wi - fi e controlar meu roteador usando-o.
Mas, espere um minuto! Não terei mais acesso à Internet assim que desligar meu roteador. Então, como vou ligá-lo novamente remotamente? Felizmente, nosso ESP8266 pode ser usado como um ponto de acesso, o que significa que também pode atuar como um roteador, enviando seu próprio sinal wi-fi. Este sinal Wi-Fi estará sempre disponível enquanto o ESP8266 estiver ligado. Assim, programaremos nosso ESP8266 como um portal cativo, dessa forma, uma vez conectado ao sinal Wi-Fi do ESP, seremos levados a uma página da Web de onde podemos ligar / desligar nossa carga.
Materiais requisitados
1. Módulo ESP8266 Wi-Fi
2. Conversor Hi-Link AC para DC (3,3 V)
3. Relé 3V
4. Transistor NPN BC547
5. Módulo Programador FTDI
6. Escudo Arduino Wi-Fi
7. Fios de conexão
Nota: estamos usando este Arduino Wi-Fi Shield que construímos anteriormente. A placa é usada apenas para fazer upload do código Arduino para o módulo ESP8266. Se você não tiver esta placa, você pode construir uma usando o link de usar este circuito programador ESP8266 simples para fazer o upload do seu código.
Programa Smart Plug para ESP8266
Antes de prosseguirmos, vamos mergulhar direto no programa para entender como nosso plugue inteligente DIY WiFi funcionará. Como você pode ver aqui, começamos o programa incluindo alguns arquivos de cabeçalho e configurando um servidor de rede DNS
#incluir
Em seguida, inicializamos o pino 2 do GPIO do ESP como saída que será usada para controlar nossa carga. Depois disso, temos um longo código HTML para nossa página da web. Aqui, temos totalmente três telas em nossa página da Web, a saber, a tela inicial, na tela e fora da tela.
String Home_Screen = "" // Página 1 - Código HTML da tela inicial "" " " + style_detials + "
""Bem-vindo - CircuitDigest
"" "; String ON_Screen =" "// Página 2 - Se o dispositivo estiver LIGADO" "" "+ style_detials +" ""Smart Plug - Ligado
"" "; String OFF_Screen =" "// Página 3 - Se o dispositivo estiver DESLIGADO " " " " + style_detials + " " "Smart Plug - DESLIGADO
" " ";Essas três páginas da Web, quando abertas, aparecerão algo assim. Você pode personalizar sua página da web para que ela apareça do jeito que você gosta.
Então temos nossa função de configuração de void dentro da qual definimos nosso ESP para funcionar como um ponto de acesso e também damos um nome para ele, aqui “ESP_Smart_Plug”. Quando qualquer usuário se conectar a este Wi-Fi, ele será levado para a página inicial que definimos anteriormente.
pinMode (LED_BUILTIN, OUTPUT); // LED pino como saída para indicação pinMode (GPIO_2, OUTPUT); // Pino GPIO como saída para controle de relé WiFi.mode (WIFI_AP); // Definir ESP no modo AP WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Nomeie sua rede AP dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Abrir a tela inicial por padrão webServer.send (302, "texto / simples", ""); });
Na página inicial, se o usuário clicar no botão LIGAR, a página na tela será exibida e o pino GPIO 2 será definido como alto
// ON_Screen webServer.on ("/ relay_ON", () {// Se o botão de ativação for pressionado digitalWrite (LED_BUILTIN, LOW); // Desligue o LED digitalWrite (GPIO_2, HIGH); // Desligue o Relay webServer.send (200, "text / html", ON_Screen); // Exibir esta tela });
Da mesma forma, se o usuário clicar no botão desligar, a página fora da tela será exibida e o pino GPIO 2 será definido como BAIXO.
// OF_Screen webServer.on ("/ relay_OFF", () {// Se o botão desligar for pressionado digitalWrite (LED_BUILTIN, HIGH); // Ligue o LED digitalWrite (GPIO_2, LOW); // Ligue o relé webServer.send (200, "text / html", OFF_Screen); // Exibir esta tela });
O código completo junto com os arquivos da biblioteca podem ser baixados como um arquivo ZIP no link fornecido a seguir. Agora que nosso código está pronto, podemos carregá-lo em nosso módulo ESP, simplesmente clicando no botão de upload e, em seguida, aguardar que o código seja carregado. O programa completo, juntamente com os arquivos da biblioteca, podem ser baixados do link abaixo
ESP8266 Smart Plug - Download do código do Arduino
Aqueles que possuem o escudo Wi-Fi podem simplesmente conectar seus módulos juntos conforme mostrado acima e conectá-lo ao seu computador para começar a programar nosso ESP8266 usando o IDE Arduino. Pessoas que não têm esta placa podem usar o diagrama de circuito mencionado anteriormente.
Assim que o código for carregado, procure por redes Wi-Fi em seu telefone e você deverá encontrar um sinal chamado “ESP_Smart_Plug”. Conecte-se a ele e você será direcionado para a página da Web que acabamos de criar. Aqui, quando você pressiona o botão de desligar, você deve notar o LED em nossa placa ESP desligando e quando você pressiona o botão de ligar o LED deve ligar novamente.
Depois de verificar o código mais algumas vezes, não precisaremos mais da placa do programador para este projeto. Agora, temos que construir um circuito para alimentar nosso módulo ESP diretamente da tensão de rede e usar seu pino GPIO para alternar um relé. Para construir este circuito, usei um módulo conversor AC-DC da Hi-Link que converte a tensão AC da rede elétrica para 3,3 V DC com uma corrente de saída de 900mA suficiente para alimentar o módulo ESP através da rede. O relé do lado de saída é um relé de 3,3 V que pode ser controlado pelo pino GPIO do ESP através de um transistor como este BC547. Também precisaremos de um resistor de 1k para limitar a corrente de base do nosso transistor.
Diagrama de circuito
O diagrama de circuito completo para o plugue inteligente Wi-Fi seria parecido com este.
A rede AC para alimentar nosso projeto será obtida através deste plugue. Os outros componentes são os que explicam o fone. Outra coisa importante para se concentrar é em manter o GPIO-0 e o GPIO-2 alto durante a inicialização. Caso contrário, o módulo ESP entrará no modo de programação e o código de saída não funcionará. Portanto, usei um resistor de 10k (valores entre 3,3k a 10k podem ser usados) para puxar o pino GPIO alto por padrão. Alternativamente, você também pode usar um transistor PNP no lugar do BC547 e alternar o relé do lado alto. Com o diagrama de circuito pronto, planejei como soldar esses componentes mantendo o tamanho da placa o menor possível para que caísse dentro de um pequeno invólucro e procedesse com a soldagem da placa.
Invólucro impresso em 3D para soquete Smart Plug
Em seguida, medi as dimensões da placa usando meu nônio e também medi as dimensões do plugue e do soquete para projetar um revestimento para o meu plugue inteligente. Meu projeto parecia mais ou menos assim abaixo, uma vez que foi feito.
Depois de ficar satisfeito com o design, exportei-o como um arquivo STL, cortei-o com base nas configurações da impressora e finalmente imprimi-o. Novamente, o arquivo STL também está disponível para download em thingiverse e você pode imprimir seu próprio gabinete usando-o.
Depois que a impressão foi feita, fiquei bastante satisfeito com o resultado. Então continuei adicionando os fios à minha placa e também os parafusei nos terminais de alimentação e no soquete. Com a conexão completa feita, montei o circuito em meu invólucro e tudo se encaixou bem como você pode ver aqui.
Com meu plugue inteligente pronto para a ação, fui até meu roteador, tracei o fio para encontrar o adaptador. Em seguida, retirei-o da tomada, conectei o plugue inteligente à mesma tomada e liguei. Agora eu conectei o adaptador de volta ao nosso plugue inteligente e assim posso controlá-lo a partir do meu telefone. Da mesma forma, você pode controlar qualquer carga de CA de baixa potência em sua casa e se divertir.
O código completo pode ser baixado aqui e o vídeo de trabalho para esta tomada inteligente DIY pode ser encontrado na parte inferior desta página. Espero que tenha gostado do projeto, deixe-me saber na seção de comentários o que você automatizaria com este dispositivo. Se você tiver alguma dúvida, deixe-a no fórum e eu tentarei ao máximo respondê-la.