wifi ESP8266

Como usar o Módulo Relé Wifi ESP8266 IoT com Blynk 87

No post anterior sobre o Módulo Relé WiFi ESP8266 mostramos detalhes do seu funcionamento. Agora que você já experimentou com esse módulo e já entendeu seu funcionamento, vamos mostrar como podemos customizá-lo para realizar tarefas além das pré configuradas modificando seu firmware. Neste post iremos desenvolver especificamente um firmware para comunicação com o aplicativo Blynk de celular. Com isso o leque de possibilidades aumenta bastante e você poderá utilizar o Módulo Relé WiFi ESP8266 com MQTT por exemplo.

Gravando o ESP8266 pela IDE Arduino

O ESP8266, além da utilização de comandos AT, também pode ser programado em C/C++ através da IDE Arduino. Para isso é necessário que sua IDE tenha suporte a tal função. Para isso siga as instruções no GitHub de como habilitar suporte ao ESP8266 na IDE Arduino.

Além da IDE configurada, é necessário a utilização de um circuito especial para gravação do ESP8266-01. Existem várias opções na internet, utilizando chaves, transistores e adaptadores USB-serial como FTDI.

Basicamente o GPIO0 precisa estar em nível 0 (LOW) enquanto o módulo é resetado ou energizado. Assim ele entra em modo gravação via UART (TX, RX).

Dica rápida e prática! Com o módulo desligado, faça um “curto” com um jumper entre o pino GPIO0 e GND, ligue o módulo relé e remova o “curto”. Assim o ESP8266 entra em modo gravação. Com um adaptador FTDI conectado na UART é só fazer o upload via IDE Arduino. Se o upload funcionar, desligue e ligue novamente para que o ESP8266 entre em modo normal de funcionamento e execute seu programa. Veja abaixo como é fácil fazer:

Esquema de ligação FTDI com módulo relé WiFi ESP8266

Ou utilize um adaptador USB-serial para ESP8266 como indicado no seguinte tutorial do nosso parceiro Arduino e Cia.

Como teste, grave o seguinte código no módulo:

uint8_t relayOn[] = {0xA0, 0x01, 0x00, 0xA1};
uint8_t relayOff[] = {0xA0, 0x01, 0x01, 0xA2};

void setup() {
 Serial.begin(9600);
}

void loop() {
 Serial.write(relayOn, 4);
 delay(1000);
 Serial.write(relayOff, 4);
 delay(1000);
}

O código acima é um exemplo básico para o módulo relé WiFi ESP8266, ligando/desligando a cada 1 segundo. Node os vetores relayOn[] e relayOff[] que possuem os bytes de comando que já vimos no post anterior.

Primeiros passos com Blynk

Agora que podemos usar códigos na IDE Arduino para gravar o módulo relé, podemos utilizar qualquer biblioteca disponível para ESP8266 inclusive a biblioteca Blynk que é o foco de nosso tutorial.

Primeiro siga os primeiros passos indicados no site do Blynk para configuração na IDE Arduino. Isso inclui instalação do aplicativo, instalação da biblioteca, código Token, etc.

Configuração no aplicativo Blynk

Abra o aplicativo Blynk e faça login com uma conta ou crie uma nova se necessário. Crie um novo projeto (1) e selecione as opções como abaixo (2).

Telas do Blynk

Um aviso irá aparecer informando que o código Token do projeto foi enviado ao seu e-mail cadastrado (3). Anote esse Token pois usaremos na programação. Escolha o widget botão na janela de widgets (4).

Telas do Blynk

Clique no botão para editar suas configurações (5). Escolha um nome para o botão, selecione o tipo V0, que é do tipo pino virtual, selecione o nível lógico de 1 para 0 e o tipo de botão switch (6).

Telas do Blynk

Finalmente clique em play para executar a aplicação (7). Porém será informado que o dispositivo está offline pois ainda não carregamos a programação.

Telas do Blynk

Programando o ESP8266 para comunicação com Blynk

O código para comunicação com Blynk e controle do relé pode ser visto abaixo.

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "SeuTokenAqui";

// bytes de comando do rele
uint8_t relayOn[] = {0xA0, 0x01, 0x00, 0xA1};
uint8_t relayOff[] = {0xA0, 0x01, 0x01, 0xA2};

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "NomeDaRede";
char pass[] = "SenhaDaRede";

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}

void loop()
{
  Blynk.run();
}

BLYNK_WRITE(V0)
{
  int pinValue = param.asInt();
  if(pinValue == 1) Serial.write(relayOn, 4);
  if(pinValue == 0) Serial.write(relayOff, 4);
}

Note os seguintes itens mais importantes:

1 – Coloque o Token do seu projeto, recebido por e-mail ou visto nas configurações do aplicativo, no seguinte trecho:

char auth[] = "SeuTokenAqui";

2 – Coloque as credenciais de sua rede WiFi na qual se deseja conectar o módulo relé ESP8266.

char ssid[] = "NomeDaRede";
char pass[] = "SenhaDaRede";

3 – Um conceito importante do Blynk são pinos virtuais. Como não iremos controlar uma GPIO diretamente e sim enviar comandos via serial, podemos utilizar pinos virtuais para realizar tal tarefa. Assim conforme o valor do botão no app Blynk, enviamos os valores de ligar/desligar o relé pela serial. Aprenda mais sobre pinos virtuais do Blynk.

BLYNK_WRITE(V0)
{
  int pinValue = param.asInt();
  if(pinValue == 1) Serial.write(relayOn, 4);
  if(pinValue == 0) Serial.write(relayOff, 4);
}

Projeto relé WiFi ESP8266 funcionando!

Agora volte ao aplicativo Blynk e clique em play novamente. Será informado que o dispositivo está online e será possível controlar o relé através do botão.

Gostou de usar o módulo relé WiFi ESP8266 com Blynk? Ajude-nos a melhorar o blog comentando abaixo sobre este tutorial. 

Faça seu comentário

Acesse sua conta e participe

87 Comentários

  1. Olá, tenho um módulo de relé sendo controlado pelo blink no meu celular. Como outra pessoa pode controlar o mesmo módulo de usando seu celular? Grato.

    1. Olá Jeferson,

      Usando o app Blynk isso não é possível. Ao criar um projeto no app Blynk você receberá um token único, o qual não pode ser usado em outro celular.

      Abraço!
      Rosana – Equipe MakerHero

  2. tem como ligar ao inves de uma lampada, um sensor corrente acs712 ? quero calcular a corrente e ligar/desligar o sistema.

  3. Prezados, boa noite!

    Eu tenho um Esp8266 rele 4ch (fabricante LCTech), porém nunca consegui fazê-lo funcionar.
    Já tentei por GPIO ou Serial. Tentei até com o código que vocês disponibilizam no site, porém sem sucesso.

    #define BLYNK_PRINT Serial

    #include
    #include
    #include

    // You should get Auth Token in the Blynk App.
    // Go to the Project Settings (nut icon).
    char auth[] = “*********************************”;

    // bytes de comando do rele
    uint8_t Relay1ON[] = {0xA0, 0x01, 0x00, 0xA1};
    uint8_t Relay1OFF[] = {0xA0, 0x01, 0x01, 0xA2};
    uint8_t Relay2ON[] = {0xA0, 0x02, 0x00, 0xA2};
    uint8_t Relay2OFF[] = {0xA0, 0x02, 0x01, 0xA3};
    uint8_t Relay3ON[] = {0xA0, 0x03, 0x00, 0xA3};
    uint8_t Relay3OFF[] = {0xA0, 0x03, 0x01, 0xA4};
    uint8_t Relay4ON[] = {0xA0, 0x04, 0x00, 0xA4};
    uint8_t Relay4OFF[] = {0xA0, 0x04, 0x01, 0xA5};

    //const byte Relay1ON[] = {0xA0, 0x01, 0x01, 0xA2};
    //const byte Relay1OFF[] = {0xA0, 0x01, 0x00, 0xA1};
    //const byte Relay2ON[] = {0xA0, 0x02, 0x00, 0xA2};
    //const byte Relay2OFF[] = {0xA0, 0x02, 0x01, 0xA3};
    //const byte Relay3ON[] = {0xA0, 0x03, 0x00, 0xA3};
    //const byte Relay3OFF[] = {0xA0, 0x03, 0x01, 0xA4};
    //const byte Relay4ON[] = {0xA0, 0x04, 0x00, 0xA4};
    //const byte Relay4OFF[] = {0xA0, 0x04, 0x01, 0xA5};

    // Your WiFi credentials.
    // Set password to “” for open networks.
    char ssid[] = “********”;
    char pass[] = “********”;
    IPAddress ip(192,168,1,30);
    IPAddress gateway(192,168,1,1);
    IPAddress subnet(255,255,255,0);
    IPAddress dns(192,168,1,1);

    BLYNK_WRITE(V0)
    {
    int pinValue = param.asInt();
    if (pinValue == 1) Serial.write(Relay1ON, 4);
    if (pinValue == 0) Serial.write(Relay1OFF, 4);
    }
    BLYNK_WRITE(V1)
    {
    int pinValue = param.asInt();
    if (pinValue == 1) Serial.write(Relay2ON, 4);
    if (pinValue == 0) Serial.write(Relay2OFF, 4);
    }
    BLYNK_WRITE(V2)
    {
    int pinValue = param.asInt();
    if (pinValue == 1) Serial.write(Relay3ON, 4);
    if (pinValue == 0) Serial.write(Relay3OFF, 4);
    }
    BLYNK_WRITE(V3)
    {
    int pinValue = param.asInt();
    if (pinValue == 1) Serial.write(Relay4ON, 4);
    if (pinValue == 0) Serial.write(Relay4OFF, 4);
    }

    void setup()
    {
    // Debug console
    Serial.begin(9600);
    delay(10);
    WiFi.config(ip,dns,gateway,subnet);

    Blynk.begin(auth, ssid, pass);
    // You can also specify server:
    //Blynk.begin(auth, ssid, pass, “blynk-cloud.com”, 80);
    //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
    }
    void loop()
    {
    Blynk.run();
    }

  4. Atenção! acabei de descobrir que as placas ESP8266 não trabalham com internet 5G. depois de muito tempo ralando para conseguir me conectar com o blynk voltei para 2.4G e funcionou.

  5. Olha achei muito bom o projeto, mais gostaria de uma ajuda tenho 4 módulo rele wi-fi, como faço para controle os 4 usado o aplicativo blynk,
    Pq só consigo controlar um.

  6. Giovanni
    Eu consigo adicionar um botão físico a esse projeto? Existe um gpio livre no ESP 01 nessa placa?
    Valeuuu

    1. Janderson,

      Não há GPIO nesse caso 🙁

      Abraços!
      Diogo – Equipe MakerHero

  7. Olá, tudo bem? eu não recebi os dados no meu e-mail e comprei um relé há um tempo atrás, mas ainda não tinha mexido com ESP, pode me enviar? Grato

    1. Paulo,

      Que dados você está falando?

      Abraços!
      Diogo – Equipe MakerHero

  8. Fiz o procedimento mas não funcionou, quando eu energizo o módulo acende led on e o led de comunicação e fica somente nisso. O que pode ser?

    Lembrando que fora do módulo e esp funciona normal e também já testei com outro módulo igual e deu o mesmo problema.

    1. Julio,

      O módulo não está se conectando com o celular, é isso?

      Abraços!
      Diogo – Equipe MakerHero

    2. Ola estou com o mesmo problema se vc conseguiu resolver o seu pode me explicar como ?

      1. Olá Everton!

        Poderia descrever um pouco melhor qual parte do procedimento não está funcionando para você?

        Abraços!
        Vinícius – Equipe MakerHero

  9. olá,
    testei meu rele wifi 2ch da lc tech comprado ai na loja, com o pocket sender ele funciona acionando e desligando os reles, mas apos a compilção do codigo no esp01 ele conecta ao blynk, pisca o lede quando recebe o comando mas nao aciona o rele, alguem poderia me dar uma luz?

    1. Mateus,

      Verifique todas as conexões. Provavelmente é algum problema aí.

      Abraços!
      Diogo – Equipe MakerHero

      1. ja revisei tudo e não consegui progresso
        testei en outros modulos, compilei o codigo em outros esp01 e nada resolveu!!

      2. depois de muito apanhar e testar codigos consegui resolver apenas alterando o Bald Rate para 115200

        1. Uhul! Que bom Mateus!

          Abraços!
          Diogo – Equipe MakerHero

  10. Olá, excelente post. O ESP não tem nennhuma entrada digital? ele possui internamente algum temporizador ou algo assim?

    1. Paulo,

      Esse é apenas um módulo sem quaisquer entradas digitais.

      Abraços!
      Diogo – Equipe MakerHero

  11. Relézinho complicado esse…
    Estava tentando trabalhar com a programação diretamente no ESP01.
    Vou tentar a solução apresentada aqui.

    Obrigado pelo conteúdo!

    1. Olá, Emerson!

      Que bom que curtiu!

      Abraços!
      Diogo – Equipe MakerHero

      1. Diogo, mesmo seguindo as orientações do post não consigo fazer funcionar.

        Tudo ok na gravação do módulo (através do relé e tbm diretamente no ESP 01), desconecto tudo e ligo a alimentação do relé através dos bornes. Ele liga e desliga, o ESP 01 tbm é alimentado, mas não se conecta a rede.
        *Testei esse mesmo ESP em outro modelo de relé e funciona normalmente.

        Algo de errado não está certo!

        1. Olá, Emerson,

          Verifique passo a passo cada ligação e configuração, tanto do módulo quanto do aplicativo Blynk.

          Abraços!
          Diogo – Equipe MakerHero

  12. Muito bom, ajudou bastante!
    Pergunta, gostaria de mudar o status do botão pelo ESP8266, é possível?
    Explicando melhor, gostaria de ter um código no C++ para dependendo da situação mudar o V0 de On para Off e vice-versa.
    Um abraço.

    1. Olá, Nelson

      Deseja ligar e desligar a lâmpada com o ESP8266?

      Abraços!
      Diogo – Equipe MakerHero

  13. Faz um acionamento com o rele shiled w5100 e o blynk

  14. Olá! Pergunta.
    É possível alimentar o modulo com uma bateria?
    Qual o melhor modelo para embarcados e qual seria a autonomia em média?

  15. É possível utilizar este módulo relé WiFi ESP8266 com interruptor three way?

    1. Desculpe minha ignorância, mas o relé por definição não é um interruptor Tree Way c/ acionamento por dispositivo magnetico?

      Ligar um interruptor tree Way (paralelo) nas entradas NO e NC do rele iria funcionar corretamente já que durante a programação para acionamento o ESP envia um sinal que faz o rele comutar a saída entre o NO e NC…

  16. Olá. Consigo usar o blink para enviar via serial o Ssid e a senha? Para não ter a necessidade de inserir esssas informações via software?

    1. Olá Rodolfo,

      Com o aplicativo Blynk não é possível fazer isso.

      Abraço!
      Rosana – Equipe MakerHero

  17. Boa noite, preciso de 300 unidades Módulo Relé Wifi ESP8266 IoT com Blynk para usar o comando de ligar e desligar via rede wifi 300 caixas de som ( desligar o amplificador ) essas caixas estão dispostas num raio de 1.500 metros. teria que usar um potente transmissor wifi para chegar o sinal até as caixas. preciso de informações para este projeto.

    1. Olá Charles,

      Sugiro que você entre em contato com [email protected] para realizar a compra.

      Abraço!
      Rosana – Equipe MakerHero

  18. Gostaria de usar esse modulo para conectá-lo a outro servidor, como o da adafruit.
    Basta eviar esses comandos na serial?:
    // bytes de comando do rele
    relayOn[] = {0xA0, 0x01, 0x00, 0xA1};
    relayOff[] = {0xA0, 0x01, 0x01, 0xA2};

    Pq o codigo do blynk omite algumas partes usando a biblioteca propia deles.
    É preciso configurar a serial interna dele para comunicar com o modulo mcu?
    Como fazer usando a IDE do arduino?

    1. Olá Felipe,

      Acredito que seja necessário usar uma biblioteca própria da Adafruit.

      Abraço!
      Rosana – Equipe MakerHero

  19. consigo esse esquema para ligar o pc??

    1. Olá Paulo,

      Para saber se você pode ligar a fonte do seu computador ao módulo relé é importante observar as especificações do relé:
      5VDC/10A, 30VDC/10A, 250VAC/10A

      Abraço!
      Rosana – Equipe MakerHero

  20. Boa noite estou com problemas quando verifico o programa na IDE do Arduino, da o seguinte erro:
    Relê_wifi :42:1 error Note ‘ does not nome a type

    Exit status 1
    ‘Note ‘ does not nome a type.
    Poderia me dar uma luz.

    1. Olá Paulo,

      Você instalou as bibliotecas corretamente?

      Abraço!
      Rosana – Equipe MakerHero

  21. muito bom mas nao tem o esquema de montagem ? placa / rele

    w

    1. Olá Andrey,

      Você pode ver o esquema de montagem no seguinte post: https://www.makerhero.com/blog/rele-wifi-com-esp8266/

      Abraços!
      Rosana – Equipe MakerHero

  22. Boa noite,
    Comprei esse módulo, gravei um código customizado no ESP8266 porém, quando tento ligar/desligar o relé através do comando Serial.write(relayOn, 4); nada acontece. Não pretendo utilizar Blynk, poderiam me passar algum snippet/exemplo de como fazer isso?

    1. Meu problema é bem parecido com o problema relatado pelo Carlos Junior em 2 de Janeiro. A situação é a mesma, rodei o programa de testes abaixo e continuo sem resultados:

      uint8_t relayOn[] = {0xA0, 0x01, 0x00, 0xA1};
      uint8_t relayOff[] = {0xA0, 0x01, 0x01, 0xA2};

      void setup() {
      Serial.begin(9600);
      }

      void loop() {
      Serial.write(relayOn, 4);
      delay(1000);
      Serial.write(relayOff, 4);
      delay(1000);
      }

  23. Ola Giovanni, boa noite, estou com problema de conexao do NodeMCU com wifi, ele nao se consecta, poderia me ajudar?

    1. Olá Douglas!

      Você pode tentar este tutorial:
      https://www.makerhero.com/blog/planta-iot-com-esp8266-nodemcu/

      Siga ele passo-a-passo. Sempre uso ele para testar a conexão com a internet.

      Abraços!

      André Rocha – Equipe MakerHero

  24. Giovanni, queria saber como posso fazer, para passar esse app que é feito no blink para outros celulares, vc poderia me ajudar?

    1. Olá Dudu!

      Eu não encontrei uma opção “share” dentro do app.

      Mas creio que você poderia utilizar o mesmo login do blynk em dois celulares.

      Outra opção seria publicar o app nas lojas Apple e Android.

      1. Preciso para um projeto escolar, obrigado pela ajuda, mas como o colegio nao liberou verba, vc conhece algum outro app q possa fazer o mesmo ou funçoes parecidas ao Blynk?
        desde ja agradeço

        1. Tem o Evothings. Com ele é necessário um pouco mais de programação tanto do app como do módulo relé: https://evothings.com/

  25. Giovanni,
    criei com o blynk e esp8266-1 a automatização da iluminação de casa.
    O problema que tenho é a instabilidade no funcionamento. Como os reles estão instalados dentro das caixas 4×2, para resetar tenho de desligar o roteador e reinicia-lo. Dá para indicar onde estaria o problema?
    grato
    salgueiro

    1. Olá Luiz!

      O que você quer dizer com instabilidade exatamente? A internet da sua casa fica caíndo?

      Talvez o ESP8266 não esteja conseguindo reconectar após perda de conexão.
      Dê uma olhada no seguinte fórum. Parece que existe uma solução:
      https://www.reddit.com/r/esp8266/comments/3rnytf/esp8266_arduino_reconnect_on_wifi_loss/

      if (WiFi.status() == 6)
      {
      ESP.reset();
      }

      6 seria o código que retorna quando está sem conexão

      1. grato, tentarei está soluçao

  26. Boa noite consigo comprar um deste pronto e programado

    1. Olá Franck!

      Infelizmente nós não modificamos a programação de produtos para clientes. Mas O tutorial está aí para quem quiser se aventurar programando o módulo.

      Esse módulo já vem programado de fábrica com o programa de comandos AT.

      Veja mais detalhes no nosso tutorial anterior:
      https://www.makerhero.com/blog/rele-wifi-com-esp8266/

      Bons projetos!

      1. Podes incluir nesse seu código invés de criar uma rede…ele fazer a varredura de rede e conectar na q vc precisa..

        Seria de muita valia…

        Tenho um exemplo aqui..mas nesse módulo não funciona..pq envia como acionamento digital.. piscando o led do esp…porém não acionando o rele…

        1. Olá, Luiz!

          Sugestão anotada! 🙂

          Abraços!
          Diogo – Equipe MakerHero

  27. Olá, fiz o upload no ESP-8266-01 está funcionando a conexão via aplicativo, consigo apagar e acender o LED de teste via GPIO02. Porém não consigo acionar o relé, mesmo tendo copiado todo esse código. A única coisa que faço diferente é gravar o ESP fora do relé, por um conector USB específico. Tem algo que pode estar interferindo por gravar fora do conector do rele, precisa gravar o MCU também?

    1. Olá Carlos!

      O código teste não funcionou para controlar o relé?

      uint8_t relayOn[] = {0xA0, 0x01, 0x00, 0xA1};
      uint8_t relayOff[] = {0xA0, 0x01, 0x01, 0xA2};

      void setup() {
      Serial.begin(9600);
      }

      void loop() {
      Serial.write(relayOn, 4);
      delay(1000);
      Serial.write(relayOff, 4);
      delay(1000);
      }

      Esse código acima faz um pisca pica com o relé a cada 1 segundo.

      Para acionar o relé, o ESP-01 envia via serial os bytes {0xA0, 0x01, 0x00, 0xA1} e {0xA0, 0x01, 0x01, 0xA2}. O MCU presente na placa por sua vez interpreta esses bytes e ativa o relé de acordo. Esse é um protocolo padrão que já vem gravado de fábrica.

      O seu módulo relé é exatamente igual o do tutorial? Comprou conosco na MakerHero?

      Carregando corretamente o código acima, o módulo deve funcionar sem problemas fazendo um pisca pisca. Caso não funcione pode ser que tenha algum problema no MCU ou relé.

      1. olá, após gravar este código acima não consegui mais resetar o ESP8266-01. Sendo que gravei em dois e em ambos não consigo mais gravar nenhum outro código e também não funcionou no módulo rele. Sabe dizer o que posso fazer, porque não faço ideia o que aconteceu.

        1. Olá Carlos!

          Muito improvável o código ter travado a placa.

          Como você está fazendo o upload de código no ESP-01? Descreva o circuito e procedimento utilizado.

          1. Antes de gravar este último exemplo, já havia gravado vários outros programas normalmente. Porém a partir do momento que gravei o código não consegui mais resetar, parece que o RX eTX não funcionam e achei que era algo que tinha feito de errado, depois gravei em outro ESP8266-01 e aconteceu a mesma coisa. Estou utilizando USB TTL HW-597 o qual não necessita de alimentação externa, onde faço a ligação na protoboard e entre todos os conectores, RX com TX e TX com RX , jumper entre gnd e gpio0, tenho certeza que está tudo certo pois já havia gravado outros códigos. Antes de iniciar a gravação dou um pulso no reset para entrar em modo gravação. Na verdade já tentei de tos as formas e nada a certo. Já tentei atualizar o firmware com diversos programas e nenhum comunica, não sei mais o que fazer, acho que não irão mais funcionar. eu entrei em diversos fóruns e teve uma pessoa que relatou o mesmo acontecimento.

          2. Então Carlos,

            Seu procedimento me pareceu o correto.

            Pra este tutorial eu utilizei o FTDI e um jumper no GPIO0 com GND. Ao invés de resetar, eu conecto o cabo Mini USB no FTDI que liga todo o sistema. Mas é o mesmo efeito de resetar.

            A partir daí faço o upload normalmente pela IDE Arduino, tanto do código teste como o código do app Blynk, mostrados no tutorial.

            Depois do upload eu preciso retirar o jumper GPIO0 e energizar ou resetar o módulo para que o programa execute.

            No final vc está tirando o jumper do GPIO0 e resetando novamente? E o pino Enable(CH_PD) está com resistor pull-up para VCC?

            Giovanni Bauermeister
      2. Esse código deveria funcionar com esse módulo aqui?

        https://www.makerhero.com/produto/modulo-rele-2-canais-wifi-iot-esp8266-12v/

        Já tentei de tudo. Não tem jeito.
        Também procurei o firmware original que “parece” vir com o módulo e não achei.
        Outra coisa, vocês sabem para que serve os dois jumpers que tem nele? Eles vieram de fábrica linkando rx->rx1 e tx->tx1. Achei estranho.

        1. OBS: Conecta na internet, pega IP, fica online no blynk, mas o relê não faz nada. De jeito nenhum.
          OBS2: Perguntei sobre o código de teste que “pisca” o relê.
          OBS3: Ao ligar o módulo o relê não deveria, pelo menos, dar um sinal? Não faz nada.

  28. Boa tarde. Esse modulo tem duas portas IO, certo?
    Uma está ligado ao rele. E a outra, ela está sobrando? Teria como eu ligar um sensor nela?
    Eu gostaria de ligar um sensor de tensão AC, mas leria de forma digital só pra saber se tem ou não tensão, independente da voltagem.

    1. Olá Jeferson!

      O módulo relé não tem nenhuma porta IO. Apenas o relé.
      Já o ESP-01 tem GPIO0 e GPIO2. Nenhum desses GPIOs é usado pois o módulo relé funciona utilizando os pinos TX e RX do ESP-01 para comunicar com um microcontrolador que por sua vez aciona o relé.

      Você pode estudar o post anterior onde mostramos exatamente como o módulo relé funciona.
      https://www.makerhero.com/blog/rele-wifi-com-esp8266/

      Estudando e entendendo o post anterior, e também este post, você terá todas informações necessárias para desenvolver sua própria aplicação customizada.

  29. Consegui gravar o programa no esp8266, ainda em modo gravação, no monitor serial ele aparece conectado a internet. Mas quando tiro ele do adaptador e coloco no módulo relé, ele não funciona e nem conecta a rede. O que sugere?

    1. Olá Marcos, obrigado pela leitura!

      Você conseguiria conectar um adaptador USB serial no módulo relé, nos pinos TX RX e GND? Assim conseguimos ver onde o módulo está travando no código e talvez o motivo de não conectar na rede.

      1. Bom dia! O adaptador que estou usando é o mesmo deste link: https://www.arduinoecia.com.br/2017/07/adaptador-usb-para-esp8266-esp-01.html

        Você quer que eu faça essa conexão destes 3 pinos e rode o programa de novo?

        Tentei fazer essa conexão sugerida já com o programa salvo, mas não funcionou de novo.

        1. O programa que é instalado no ESP8266 envia mensagens através dos pinos da Serial(TX, RX). Seria Interessante de alguma forma verificar essas mensagens. Para isso usa-se um conversor USB-serial.

          Você poderia por exemplo usar o adaptador que vc já tem e conectar os pinos TX, RX e GND com o módulo relé e conectar na USB do seu computador e verificar as mensagens.

          Assim como indicado na figura: https://www.makerhero.com/wp-content/uploads/2018/09/ligacao2.png
          Mas sem o jumper. Ligação normal de funcionamento. Só que ao invés do conversor FTDI, vc usa o seu que é um CH340.

          1. Nesse caso eu verificaria as mensagens pelo monitor serial da IDE do arduino? Pois se for, não aparece nada. A tela fica em branco.
            Eu gravei o programa blink, para verificar o funcionamento, e fica normal enquanto espetado junto ao adaptador USB, o led azul fica piscando de um em um segundo. Porém quando eu tirou ele e coloco em outra fonte, já não dá certo. A impressão que dá é que o programa está gravado no adaptador USB e não no esp8266. :'(

          2. Fiz outro teste. Ainda com o blink gravado, tirei o adaptador do pc, alimentei apenas o esp8266 com 3,3 v, ainda espetado no adaptador e funciona. Mas quando eu tiro o adaptador e alimento apenas o esp com 3,3 v ele só fica com o led vermelho aceso.

          3. Acho que entendi seu problema.

            Então vamos por partes pra tentar isolar o problema.

            Você já conseguiu gravar o programa Blink, que fica ligando/desligando o relé, certo? OK.

            Agora temos que ver pq não está funcionando apenas com uma fonte.

            Que tipo de fonte você está usando? tem que ser uma de 5V e conectá-la conforme indicado na figura onde diz alimentação 5V:
            https://www.makerhero.com/wp-content/uploads/2018/09/especificacoes-1024×503.png

            Giovanni Bauermeister
          4. Exatamente. Gravar ele grava qualquer programa, mas só funciona espetado no adaptador, mesmo o adaptador estando desplugado do pc.
            Primeiramente o módulo que estou usando não tem essa interface uart.
            Mas está sendo alimentado por 5v normal.

            O meu módulo é este:

            https://www.google.com/imgres?imgurl=https%3A%2F%2Fimages.tcdn.com.br%2Fimg%2Fimg_prod%2F575925%2Fmodulo_rele_wi_fi_esp8266_com_esp_01_422_1_20180824081759.jpg&imgrefurl=https%3A%2F%2Fwww.microwat.com.br%2Farduino%2Fmodulo-rele-wi-fi-esp8266-com-esp-01&docid=DuhG6PlvISGRTM&tbnid=654gJguFMiHzHM%3A&vet=10ahUKEwiVy-De267fAhWSl5AKHTnNCz4QMwhMKBEwEQ..i&w=640&h=640&bih=657&biw=1366&q=modulo%20rele%20com%20esp8266&ved=0ahUKEwiVy-De267fAhWSl5AKHTnNCz4QMwhMKBEwEQ&iact=mrc&uact=8

          5. O seu módulo é diferente do que consta no tutorial. Por isso não irá funcionar da mesma maneira.

            O seu claramente funciona de outra maneira. Você precisaria estudar como cada um funciona exatamente e fazer as devidas adaptações de montagem e software.

            Segue um tutorial detalhado sobre o funcionamento do módulo que vendemos para seu entendimento: https://www.makerhero.com/blog/rele-wifi-com-esp8266/

            Outra opção é criar um tópico em nosso fórum. As vezes você encontra alguém lá que já utilizou o mesmo módulo que vc tem.

            Giovanni Bauermeister
          6. Na verdade meu problema está sendo o próprio esp8266 que não funciona após tirar do adaptador. Você tem outro tutorial seu ensinando a gravar o esp8266??

            Abri o questionamento no parceiro arduino e cia, mas ainda não tive retorno.

          7. CONSEGUI!!!

            Bom dia, até que enfim. Descobri o problema. Essa minha placa, comprei da china. Acredite ou não, o pino CH_EN não tem nenhuma conexão. Daí como iria funcionar. Soldei um resistor 10k entre vcc e esse pino e agora funciona. Rodei o programa exemplo do blynk, esp8266 standalone, e configurei o blink para ativar o GPIO 0, do esp01. Porém, só funciona se ligar a placa, com o GPIO 0 desconectado. Só após conectar a internet, que posso ligar o pino GPIO 0. Então, tenho que ligar o esp01 com a placa relé através de jumpers. Após ligado, conecto o jumper do GPIO 0. O importante é que dá pra quebrar o galho. Obrigado pela atenção.

  30. Ola, Giovanni muito bom suas explicaçoes. Uma coisa que nao entendi no blynk é que nao da pra criar com ele um projeto onde as opçoes de addicionar widget box ficam desabilitadas apos o desenvolvimento do app né, ou sejaqdo termino a criaçao do projeto as opçoes estao la para ser mexidas, entao se eu quizer ter um app apenas com as funçoes criadas nele.

    1. Olá Ailton! Obrigado pela leitura!

      Você precisa exportar seu app. Provavelmente só é possível com um plano pago. Mas veja as instruções no seguinte link.

  31. man, grava um vídeo desse tutorial por favor, tenho os 2 módulos não to sabendo fazer alguma coisa, tentei aqui gravar no esp. to apanhando pra upload, enfim um vídeo de 2 minutos rapidinho de como faz o upload já ajuda.

    1. Olá Juan! Este tutorial não é focada na gravação do ESP8266 e sim no uso do Blynk.

      Tente focar no primeiro objetivo. Gravar o ESP8266. Então deixe esse tutorial um pouco de lado por enquanto.

      A dica rápida para gravar o ESP8266 é a seguinte: Com o módulo desligado, faça um “curto” com um jumper entre o pino GPIO0 e GND, ligue o módulo relé e remova o “curto”. Assim o ESP8266 entra em modo gravação. Com um adaptador FTDI conectado na UART é só fazer o upload via IDE Arduino. Se o upload funcionar, desligue e ligue novamente para que o ESP8266 entre em modo normal de funcionamento e execute seu programa.

      Segue alguns links que podem complementar seu estudo. Favor ler com atenção e entender todos os detalhes.

      Entenda o básico de ESP8266, modos de utilização e gravação:
      https://www.makerhero.com/blog/guia-do-usuario-do-esp8266/

      Entenda neste artigo como é o processo de gravação do ESP8266:
      https://www.embarcados.com.br/analise-do-circuito-gravador-para-esp8266/

      Leia também o seguinte artigo no nosso parceiro Arduino e Cia:
      https://www.arduinoecia.com.br/2017/07/adaptador-usb-para-esp8266-esp-01.html

      Qualquer dúvida pode retornar aqui ou também pode usar nosso Fórum. Lá tem mais gente que pode ajudar.

  32. Muiito legal, mas vamos tentar melhor rs, estou tentando colocar um interruptor(pulsador) como posso fazer ??

    1. Legal mesmo Marcus!

      Infelizmente este relé não tem entradas digitais para interruptor pulsador.

      O relé sonoff é uma outra alternativa para relé WiFi. Ele possui um botão que você pode ligar qualquer outro interruptor pulsador em paralelo.

      1. Obrigado. Você trás dele kk