Para que o leitor possa se contextualizar, na postagem anterior…
Blynk – Utilizando com o Módulo Relé WiFi IoT ESP8266 ESP-01
Nesta postagem você vai aprender a utilizar o Blynk em conjunto com o Módulo Relé WiFi IoT ESP8266 ESP-01. Esta integração possibilita fazer o acionamento de lâmpadas e outras cargas AC remotamente a partir do seu smartphone ou tablet utilizando a internet.
Caso ainda não conheça o Blynk, recomendo que leia a postagem Conhecendo o Blynk, pois nela apresentei a ferramenta, mostrei as opções de configurações, mostrei as funções básicas e ensinei a instalar o pacote de bibliotecas na IDE do Arduino.
O Módulo Relé WiFi IoT ESP8266 ESP-01 é um dispositivo IoT (Internet of Things ou Internet das Coisas) que permite o acionamento remoto de cargas AC como lâmpadas, motores e demais equipamentos elétricos que funcionem dentro das especificações do módulo.
Este módulo é baseado no ESP8266 ESP-01, logo, é possível controlar a placa através de redes WiFi, visto que o ESP-01 possui conexão sem fio nativa. Para acionamento de cargas de corrente alternada, o módulo conta com um relé 3V que é controlado através de um dos GPIOs do ESP-01. A tensão de alimentação da placa é de 5V e é recomendável que esta fonte de alimentação de 5V forneça pelo menos 300mA para o módulo.
Se tratando de um projeto de automação residencial, o Blynk possibilita controlar as lâmpadas (e outras cargas AC) a partir de um smartphone ou tablet que esteja conectado à internet pela rede WiFi ou até mesmo no 3G / 4G.
Para demonstrar esta integração será utilizado uma lâmpada conectada ao Módulo Relé WiFi IoT ESP8266 ESP-01. O controle da lâmpada vai ser feito através do app Blynk instalado no smartphone ou tablet.
É importante ressaltar que há versão utilizada do Módulo Relé WiFi IoT ESP8266 ESP-01 nesta prática é a 4.0. Há versões anteriores deste módulo que possuem erros de projeto e que não permitem o funcionamento correto da placa.
Será necessário que tenha o Blynk instalado e configurado no seu smartphone ou tablet, e que tenha a biblioteca Blynk instalada na IDE do Arduino. Acesse a postagem Conhecendo o Blynk, pois nela explico tudo isso detalhadamente.
Para carregar o código no Módulo Relé WiFi IoT ESP8266 ESP-01 você irá precisar de um conversor USB serial ou até mesmo um Arduino, pois é necessário conectar o módulo ao computador.
O ESP-01 possui oito pinos de conexão, contudo, vamos utilizar apenas seis pinos para fazer o carregamento de código na placa:
Os pinos RST e GPIO2 não serão utilizados. O pino CH-PD pode estar identificado no módulo com a sigla EN, o GPIO0 pode ser identificado como IO0 e o GPIO2 pode ser identificado como IO2.
– Utilizando o conversor USB serial do Arduino como intermédio:
O próximo passo é conectar o ESP-01 ao computador. Caso não possua um conversor usb serial, poderá utilizar o Arduino para fazer a ponte entre em ESP-01 e o computador. Além do Arduino com Cabo USB e do ESP-01 que acompanha o módulo você irá precisar de:
01 – Protoboard de 400 Pontos
01 – Chave Táctil / Push Button
03 – Resistor de 10KΩ
06 – Cabos Jumper macho-fêmea
07 – Cabos Jumper macho-macho
OBS: antes de montar o esquema de ligação com o Arduino, você deverá carregar um código em branco na placa para garantir que o conversor USB serial não esteja sendo utilizado. Carregue o código abaixo em seu Arduino e prossiga:
1 2 3 4 5 6 7 |
void setup() { } void loop() { } |
Utilizei o Arduino Uno R3 para este tutorial, contudo, você pode utilizar outros modelos da placa.
– Utilizando o Adaptador Conversor USB Serial:
Você irá precisar do seguintes itens além do Adaptador Conversor USB Serial TTL PL2303HX e do ESP-01 que acompanha o módulo:
01 – Protoboard de 400 Pontos
01 – Chave Táctil / Push Button
04 – Cabos Jumper macho-fêmea
01 – Cabos Jumper macho-macho
02 – Cabos Jumper fêmea-fêmea
OBS: O PL2303 possui alimentação 5V e 3V3. Utilize a alimentação 3V3 e ignore o pino 5V.
Veja que em ambos os esquemas de ligação é necessário o uso de um botão que está conectado ao GND e ao pino GPIO0 do ESP-01. Para colocar o ESP-01 em modo de gravação é necessário que o pino GPIO0 inicie conectado ao GND. Portanto, sempre que for gravar um firmware / código em qualquer módulo da linha ESP8266, lembre-se de conectar o GPIO0 ao GND antes de inserir o cabo USB no computador. Caso não vá gravar um firmware / código no módulo, não há necessidade de conectar o GPIO0 ao GND.
Após efetuar um dos esquemas de ligação acima, basta manter pressionado o botão na protoboard e conectar o cabo USB (ao Arduino e ao computador) ou o conversor USB serial ao computador. Após conectado solte o botão, pois o ESP-01 já vai estar em modo de gravação.
Em seguida acesse o ‘Painel de Controle’ do Windows, ‘Gerenciador de Dispositivos’, e na janela que abrir vá até ‘Portas (COM e LPT)’. Você poderá ver o dispositivo conectado e o número da porta COM em que ele foi alocado:
Se estiver utilizando o PL2303HX e o mesmo não estiver sendo reconhecido pelo o Windows, acesse a postagem Conversor USB Serial TTL PL2303HX – Instalação no Windows 10, veja como resolver e em seguida retorne para continuar.
Se você utiliza alguma versão do IDE do Arduino inferior a 1.6.12, acesse a postagem Wemos D1 – Configurando a IDE do Arduino, veja como instalar o pacote ESP8266 no IDE e em seguida retorne para continuar.
Clique AQUI e veja como fazer a instalação do pacote de bibliotecas do Blynk no IDE do Arduino e em seguida retorne para continuar.
Copie o código abaixo e cole no IDE do Arduino:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <ESP8266WiFi.h> //INCLUSÃO DE BIBLIOTECA #include <BlynkSimpleEsp8266.h> //INCLUSÃO DE BIBLIOTECA char auth[] = "YourAuthToken"; //AUTH TOKEN (FORNECIDO PELO PROJETO NO BLYNK E POR E-MAIL) char ssid[] = "NOME DA SUA REDE WIFI"; //VARIÁVEL QUE ARMAZENA O NOME DA REDE SEM FIO EM QUE VAI CONECTAR char pass[] = "SENHA DA SUA REDE WIFI"; //VARIÁVEL QUE ARMAZENA A SENHA DA REDE SEM FIO EM QUE VAI CONECTAR const int GPIO_0 = 0; //PINO DIGITAL UTILIZADO PELO RELÉ DO MÓDULO void setup(){ pinMode(GPIO_0, OUTPUT); //DEFINE O PINO COMO SAÍDA digitalWrite(GPIO_0, HIGH); //RELÉ INICIA DESLIGADO Blynk.begin(auth, ssid, pass); //INICIALIZA A COMUNICAÇÃO BLYNK INFORMANDO OS PARÂMETROS } void loop(){ Blynk.run(); //INICIALIZA O BLYNK } |
No código vá até a linha char auth[] = “YourAuthToken”; apague o texto YourAuthToken e adicione o seu AuthToken (para mais detalhes sobre como obter o AuthToken, clique AQUI):
Você deverá inserir o nome da sua rede WiFi na linha char ssid[] = “NOME DA SUA REDE WIFI”; e a senha deverá inserir na linha char pass[] = “SENHA DA SUA REDE WIFI”;:
No menu “Ferramentas” do IDE, selecione a opção “Placas”, role a lista e selecione “Generic ESP8266 Module”:
Ainda no menu “Ferramentas”, selecione a opção “Porta” e marque a porta COM em que sua placa foi alocada.
Em seguida, clique no botão para enviar o código ao ESP8266 e aguarde o carregamento.
OBS: após enviar um código ao ESP8266, sempre que for enviar um novo código será necessário desconectar o cabo USB do computador, colocar a GPIO0 conectada ao GND (manter pressionado o botão na protoboard) e conectar o cabo USB ao computador. Caso não faça desta forma, irá receber os erros espcomm_sync failed / espcomm_open failed / espcomm_upload_mem failed:
Terminado o carregamento do código, acople o ESP-01 no módulo. Para prosseguir, além do Módulo Relé WiFi IoT ESP8266 ESP-01Módulo Relé WiFi IoT ESP8266 ESP-01 você irá precisar dos seguintes itens:
01 – Fonte 5V 1A
01 – Lâmpada
01 – Receptáculo (boquilha)
– Cabo paralelo de 1,5mm ou 2,5mm
– Tomada (Rede alternada de 127V)
– Roteador com conexão WiFi
Caso queira alternativas para alimentar o módulo diretamente pela rede AC de 127V / 220V, você pode utilizar a Fonte (Conversor) AC-DC Buck Step Down 5V 700mA ou a Fonte HLK-PM01 100-240V para 5V 3W.
Monte o esquema de ligação conforme a imagem abaixo:
Com o esquema montado, ligue a fonte 5V a alimentação para que o módulo seja energizado.
Em seguida, abra o app Blynk em seu dispositivo móvel Android ou iOS, faça login e acesse o seu projeto. Se ainda não tem o projeto criado no Blynk, clique AQUI e leia a postagem para aprender a fazer as devidas configurações do projeto. Seu projeto deverá ser criado com as seguintes configurações:
Na tela principal do projeto, vá até a lista de widgets e selecione o “Button” para que ele seja inserido no contêiner do app:
Com o widget inserido no contêiner principal, clique sobre o “Button” para acessar as configurações. Em “OUTPUT” selecione o tipo de pino “Digital” e gp0. As configurações deverão ficar similar a imagem abaixo:
Depois de efetuar a configuração do widget você terá uma tela similar a imagem abaixo:
Clique no botão de “Play” para iniciar a conexão e em seguida confira se o projeto está online:
Agora basta pressionar o botão no app Blynk para acender ou apagar a lâmpada.
Veja no vídeo abaixo o resultado final:
Você vai perceber que ao energizar o módulo, a lâmpada que está conectada ao relé irá piscar rapidamente e apagar. Isto ocorre, pois o acionamento do relé é feito a partir do GPIO0 e este pino inicializa ligado. Por este motivo, no código foi definido que o GPIO0 deverá assumir o estado de desligado após a inicialização do ESP8266.
Agora que já sabe como usar o Módulo Relé WiFi IoT ESP8266 ESP-01 em conjunto com o Blynk, você pode adquirir mais unidades do módulo e espalhar pela sua casa para acionar mais lâmpadas e até mesmo a TV, cafeteira, aparelho de som, home theater e outros dispositivos elétricos que sejam compatíveis com as especificações do módulo.
Gostou desta postagem? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Como usar com Arduino – Conversor de Nível Lógico 3.3V / 5V
Próxima postagem: Como usar com Arduino – Módulo Relé 5V de 16 Canais
Olá. É possivel acrescentar a esse projeto um botão interruptor? Para não ficar dependente somente do app.
Olá Weder.
Agradeço pelo comentário!
Sim, é possível.
Alguém conseguiu fazer com um rele de dois canais? Não estou conseguindo acionar o relé.
Como ficaria esse cara ligado com a Alexa?
Boa tarde,
É possível ligar este rele com um interruptor paralelo? Se possível qual o esquema de ligação?
Já agradeço a resposta e parabéns pelo trabalho.
Boa tarde,
Fiz tudo certo e o relé mais o Eps01 não está conectando no wifii. Aparece “wasn´t online yet” no Blynk do celular.
O código que lancei foi:
#include //INCLUSÃO DE BIBLIOTECA
#include //INCLUSÃO DE BIBLIOTECA
char auth[] = “Dd9ohuW2xkelaCTG9k1o8pQyy5lYm-T4”; //AUTH TOKEN (FORNECIDO PELO PROJETO NO BLYNK E POR E-MAIL)
char ssid[] = “Raquel_2G”; //VARIÁVEL QUE ARMAZENA O NOME DA REDE SEM FIO EM QUE VAI CONECTAR
char pass[] = “18122015”; //VARIÁVEL QUE ARMAZENA A SENHA DA REDE SEM FIO EM QUE VAI CONECTAR
const int GPIO_0 = 0; //PINO DIGITAL UTILIZADO PELO RELÉ DO MÓDULO
void setup(){
pinMode(GPIO_0, OUTPUT); //DEFINE O PINO COMO SAÍDA
digitalWrite(GPIO_0, HIGH); //RELÉ INICIA DESLIGADO
Blynk.begin(auth, ssid, pass); //INICIALIZA A COMUNICAÇÃO BLYNK INFORMANDO OS PARÂMETROS
}
void loop(){
Blynk.run(); //INICIALIZA O BLYNK
}
Caro Flávio tenho exatamente o mesmo problema. Sou um iniciante do Arduino, segui exatamente os circuitos e recomendações e foi tudo bem até o momento de acionar o rele pelo aplicativo Blink. Recebi a mesma informação no Blink do celular (IOS) que ele “não estava ainda online”. Não sei o que fazer. Gostaria de saber se já tens uma solução ?
A propósito o presente artigo está muito bom, pena que não consigo concretizar o meu projeto, talvez até por uma falha minha.
abs
Carlos
O meu também não concectou Você encontrou a Solução para o problema?
Olá amigo a versão 4.0 que citou é do esp8266 ou do módulo relé pelo que li há um conflito que corrompe o nível lógico agora minha dúvida é como concertar isto?
Olá Luis.
Agradeço pelo comentário!
A versão do módulo (placa com o relé) que foi utilizada no tutorial e que é comercializada pela MasterWalker Shop é a versão 4.0.
Não tem nenhuma descrição no módulo!
Olá Daniel.
Agradeço pelo comentário!
No texto por diversas vezes é citado o Módulo Relé WiFi IoT ESP8266 ESP-01 e se clicar nele irá acessar o link e poderá ver as informações sobre ele.
Boa noite amigo,
fiz exatamente como descrito! meu aparelho conecta porem não aciona o relê , oque pode ser?
Olá Daniel.
Agradeço pelo comentário!
Qual a versão do seu módulo?
Olá Euler, em sua loja tem esse módulo mas com dois relés e também é possível usar o Blynk?
Olá Elias.
Agradeço pelo comentário!
Em nossa loja só há o módulo de 1 canal.
Há no mercado a opção de 2 canais e também pode ser usado com o Blynk.
Olá Euler, teria um código para o relé com dois canais?
Esqueci de mencionar. Parabéns pelo tutorial. Ficou muito bom.
Agradeço pelo comentário e reconhecimento!
Vlw!!!
Bom dia.
Tenho 3 duvidas
1) Na linha abaixo, porque usar o HIGH? Esta ação não irá falar pro GPIO-0 ficar em estado ligado? Ou o funcionamento é invertido, ou seja, quando coloca HIGH coloca o pino em LOW?
digitalWrite(GPIO_0, HIGH); //RELÉ INICIA DESLIGADO
2) Da mesma forma que a 1, so que no Blynk. Vi que você inverteu lá o 0 com o 1. É pelo mesmo motivo?
3) Sobre o comportamento que, ao ligar o circuito, a lâmpada pisca rapidamente. É possível evitar isto? Minha pergunte se deve ao fato de que não é uma lampada que irei acionar e sim para abrir um portão. Então, toda vez que eu ligar, ou tiver um queda na luz e o ESP iniciar novamente, o portão irá abrir indevidamente. Pode me ajudar?
Olá Marcos.
Agradeço pelo comentário!
1) O GPIO_0 é ligado quando recebe um sinal LOW e é desligado quando recebe um sinal HIGH.
2) A primeira resposta é válida para esta pergunta.
3) Não há como evitar, visto que o pino utilizado pelo módulo é o GPIO_0.
Olá! Muito bom o tutorial! Seguinte, eu possuo 4 modulos exatamente iguais a este. Como encontro a versão do modulo? Vc se refere a “4.0”, seria versão do firmaware ou versão de montagem da placa em si?
Eu estou tendo problemas, pois bem antes de pensar em usar o blink, estou querendo ligar o modulo dentro do meu interfone e poder controla-lo, mas ao energiza-lo, ele abre a portaria do meu predio, kkkkkkkkkkk
Eu nao consegui encontrar uma solução para isso. Estou pensando em inverter as conexoes do modulo, por ex utilizar o GPIO3 ou o GPIO1 para acionar o rele, mas ai eu teria que fazer uma gambiarra de fios, o que meio que desfaz a praticidade de usar este modulo, por isso fiquei preocupado quando vc mencionou que “versões anteriores com erro de projeto”… Voce ja passou por isso, ou teria alguma solução para me indicar?
Abração!
Olá Marcelo.
Agradeço pelo comentário!
O 4.0 se trata da versão da placa. Na parte debaixo da placa vem escrito v4.0.
Versões diferentes da 4.0 de fato possuem problema na construção. Veja que no código disponibilizado na postagem há a linha:
digitalWrite(GPIO_0, HIGH); //RELÉ INICIA DESLIGADO
Ou seja, no momento em que o módulo é energizado o relé permanecerá desligado.
Se por ventura nos seus módulos não houver identificação na parte debaixo, certamente eles são de versões anteriores. Se quiser, pode adquirir a versão 4.0 e testar no seu interfone:
https://www.masterwalkershop.com.br/modulo-esp8266-esp-01-iot-rele-wifi-5v
Se for alterar o pino de acionamento realmente terá que fazer uma gambiarra.
Ola. Tb tenho um problema parecido. percebi que ao energizar o dispositivo ele tende a piscar. (fechar e abrir o rele bem rápido).
No seu caso o port~ao se abre…
Me parece uma falha de Hardware visto que utiliza a gpio0 para comandar o Rele e a mesma precisa de um pull-up
Ola Euler,
Ao tentar subir o codigo da placa 8266 colocar a GPIO0 conectada ao GND (manter pressionado o botão na protoboard) e conectar o cabo USB ao computador. continua dando erro. Não tenho o adaptador USB fiz as conexões diretamente na placa Arduino 1. Vc saberia me explicar porque da erro.
Muito obrigado.
Olá Ian.
Agradeço pelo comentário!
Seguindo o esquema disponível na postagem não tem como dar erro:
Muito bom !
mais tenho uma duvida! eu tenho 4 desses como faço para add os 4 no mesmo projeto com o blynk ?
fiz do mesmo jeiro que vc fez e funcionou, mais so com 1, quando coloco outro nao funciona, ai tenho que fazer outro projeto com outro código de segurança, no blynk fica em telas separadas, como resolver isso ? obrigado pela atenção
Olá Joziel.
Agradeço pelo comentário!
Recomendo que dê uma lida no Seletor de Dispositivos e veja se atende ao que precisa:
http://docs.blynk.cc/#widgets-interface-device-selector
Euler, boa tarde!
Estou tentando fazer esse projeto para uma futura automação nas luzes externas de casa. Infelizmente não estou conseguindo fazer com que o ESP 01 trabalhe em modo standalone.
Tenho três módulos ESP 01, todos funcionam em conjunto com o arduino, mas não conseguem se conectar a rede quando estão utilizando seu próprio microcontrolador.
Obs.: Todos estão com o firmware v1.5.4.1. (Há algum mais recente?)
Obrigado pelo conteúdo!
Olá Emerson.
Agradeço pelo comentário!
Nesse caso, você deverá utilizar o respectivo código para ESP8266 e não o firmware(código) de comandos AT.
O código desta postagem é para ser carregado justamente no ESP8266 e fazer o que deseja.
Valeu Euler, por esse artigo consegui entender a parte de ligação AC (saída do rele). Obrigado!
Olá Edgard.
Agradeço pelo comentário!
Por nada!
Olá Amigo, fiz exatamente tudo que está descrito, porém quando ligo, a lampada fica piscando como se a programação feita no ESP estivesse sendo ignorada pelo Módulo relê.
pode me ajudar?
Olá Maycon.
Agradeço pelo comentário!
Este tutorial é válido somente para o módulo igual ao da imagem do artigo. Outros módulos parecidos, podem utilizar outro pino do ESP8266 para fazer acionamento da carga AC.