Relé WiFi com ESP8266 IoT – Primeiros Passos 45

O relé WiFi Sonoff já é bem conhecido e mostrou que o ESP8266 pode ser integrado em produtos de sucesso. Com isso, surgiram várias alternativas de módulos de relé e automação baseados no ESP8266. Neste post iremos apresentar uma alternativa ao Sonoff, que é o Módulo Relé WiFi com ESP8266. Mostraremos suas características de hardware, funcionamento de software e também como o software pode ser customizado para atender a diversas necessidades.

Características de hardware

O Módulo Relé WiFi com ESP8266 é baseado no ESP8266-01, que é a versão mais comum de ESP8266. A alimentação geral do módulo é feita através de um borne com uma tensão de 5V. Um regulador comum AMS1117 faz a regulagem para 3,3V, assim o módulo ESP8266 é alimentado sem problemas.

Na parte de controle de carga existe um relé que suporta controlar cargas de até 250VAC e 10A. Um borne expõe os contatos normal aberto e normal fechado do relé.

Um header de pinos expõe a UART do ESP8266 para que o mesmo possa ser configurado. Mais detalhes das configurações na próxima sessão do post.

Características de Hardware

Existe ainda um pequeno microcontrolador que é responsável pelo controle do relé. Ou seja, o ESP8266 não controla o relé diretamente. O microcontrolador é conectado ao ESP8266 por uma interface UART. Assim, o ESP8266 envia comandos para o microcontrolador, que por sua vez liga/desliga o relé.

Funcionamento do hardware

A vantagem de se usar um microcontrolador em conjunto com o ESP8266 é que o número de relés que podem ser controlados pode ser maior do que o número de GPIOs do ESP8266-01 que são 2 no máximo.

Veja abaixo o esquemático dessa placa. Note as conexões entre ESP8266, MCU e relé:

Esquemático módulo relé WiFi com ESP8266

Funcionamento do módulo relé WiFi com ESP8266

O ESP8266 pode funcionar de duas maneiras. Modo AP (Access Point), onde o ESP8266 cria uma rede WiFi e os clientes (smartphone, computador e etc) se conectam a essa rede. E o Modo STA (Station), onde o ESP8266 se conecta a uma rede/roteador.

O ESP8266, que já acompanha o módulo relé, vem com firmware de comandos AT pré instalado. Por isso, é essencial que o usuário saiba como trabalhar com ESP8266 através de comandos AT.

O firmware AT é uma versão customizada da Ai-Thinker e está na versão 1.2.0. Comandos AT das versões mais atuais podem não funcionar. Verifique o manual de comandos da versão em questão.

AT+GMR
 
AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec 2 2016 14:21:16
OK

Caso for feita atualização para um firmware mais recente, verificar o manual da versão em questão para utilizar os respectivos comandos.

Para configurar ambos os modos de funcionamento, precisamos de um adaptador USB-serial como o Adaptador FTDI conectado aos pinos UART do módulo. Veja a conexão abaixo:

Conexão FTDI com Módulo relé WiFi com ESP8266

Maiores informações sobre o uso e conexão do módulo FTDI com ESP8266, inclusive para programação, você encontra no post do nosso parceiro Arduino e Cia.

Modo 1 – AP Access Point

Para configurar o ESP8266 no modo 1 utilize os seguintes comandos AT através de um software serial terminal como Putty(Windows), CuteCom(Linux) ou até mesmo Serial Monitor da IDE Arduino.

COMANDOS DESCRIÇÃO
AT+CWMODE=2 Seleciona modo AP
AT+RST Reseta o módulo
AT+CIPMUX=1 Habilita múltiplas conexões
AT+CIPSERVER=1,8080 Configura o servidor TCP e porta
AT+CIFSR Visualiza endereço IP
AT+CIOBAUD=9600 Muda baudrate para 9600

O motivo de configurarmos o baurate para 9600 é que o MCU se comunica com ESP8266 nessa velocidade.

Agora o ESP8266 deverá ter criado uma rede com nome “AI-THINKER_xxxxx”.

Para testar a conexão com o ESP8266 e realmente controlar o relé, é necessário usar conexão TCP e enviar um pacote de 4 bytes contendo os comandos de ligar/desligar. Esses comandos são:

A0 01 01 A2 – Para abrir contato do relé
A0 01 00 A1 – Para fechar contato do relé

O firmware AT tem uma característica que é encaminhar pacotes recebidos via WiFi pela serial UART. Ou seja, os pacotes serão recebidos via WiFi e encaminhados para o microcontrolador via UART que por sua vez liga/desliga o relé.

Utilizamos o software Packet Sender para realizar o teste. Está disponível para Windows, Linux e Mac.

Conecte seu computador à rede do ESP8266 e execute o programa Packet Sender. Preencha os campos com os dados abaixo.

Configuração Packet Sender

Onde:

HEX – é o comando de ligar/desligar o relé
Address – é o endereço IP do ESP8266
Port – é a porta do ESP8266

Modo 2 – STA Station    

Nesse modo a única diferença é que o ESP8266 irá se conectar a uma rede já existente. Para configurar o ESP8266 nesse modo, utilize os seguintes comandos AT:

COMANDOS DESCRIÇÃO
AT+CWMODE=1 Seleciona modo AP
AT+RST Reseta o módulo
AT+CWJAP=<ssid>, <password> Conecta em uma rede WiFi
AT+CIPMUX=1 Habilita múltiplas conexões
AT+CIPSERVER=1,8080 Configura o servidor TCP e porta
AT+CIFSR Visualiza endereço IP
AT+CIOBAUD=9600 Muda baudrate para 9600

O procedimento de teste é o mesmo. Apenas agora o endereço IP irá mudar e o seu computador deve estar conectado ao mesmo roteador que o ESP8266.

Conclusão

Neste post você encontrou informações essenciais para utilização do Módulo Relé WiFi com ESP8266. Com essas informações será possível ir além, desenvolvendo aplicativos de smartphone, aplicações Desktop e Web para controlar o módulo através de comunicação TCP.

Agora o que vale é sua imaginação, criatividade e conhecimentos técnicos!

No próximo post iremos mostrar como expandir as possibilidades desse módulo programando-o pela IDE Arduino e fazendo o controle do módulo relé com ESP8266 pelo celular com o aplicativo Blynk. Fique ligado!

Gostou do Módulo Relé WiFi com ESP8266? Ajude-nos a melhorar o blog comentando abaixo sobre este tutorial.

Faça seu comentário

Acesse sua conta e participe

45 Comentários

  1. Preciso de uma ajuda.
    Estou com um projeto para abertura de portão utilizando esse módulo relé com o esp8266 e o app Blynk.

    Meu problema é que quando energizo o módulo, o relé já aciona abrindo o portão. Após conectado, o funcionamento de abertura e fechamento do portão está ótimo.
    Minha preocupação é com quedas de energia que pode acontecer em momentos que eu não estiver em casa e o portão abrir sozinho.

    1. Olá Eduardo,

      Você está usando a saída NO ou NC?

      Abraço!
      Rosana -Equipe MakerHero

  2. Olá amigo gostaria de saber como programar com 4 Relé e como faço pelo o IDE do Arduino.

  3. Bom dia,

    Alguém sabe me informar se consigo ligar um sensor de vazão neste módulo?
    O objetivo é ligar uma bomba de água e desliga-la depois que passarem 2 litros pela tubulação.

  4. boa noite! posso ligar uma bateria de 9v na entrada desta placa ao invés de 5v? o regulador de tensão interno não aceitaria essa configuração.?

  5. Como eu faço para ativar os 2 relés em um código personalizado no skect do arduino? Como seria também para eu acionar 4 relés, visto que só tenho 2 gpio?

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

    1. Vinícius,

      Para o relé de 2 canais, basta acionar a GPIO em que o relé está conectado. Se você conectou na porta 3, acione a porta 3 no código. Quanto a 4 relés, só se possuísse um módulo 4 canais por exemplo, ou utilizar um Arduino em complemento ao ESP8266.

      Abraços!
      Diogo – Equipe MakerHero

        1. só que, não sabia que a placa esp01 vinha programada, então tentei instalar o blink pela IDE do arduino e não funcionou porque é um relê serial. E não sei como instalar o programa original e nem como fazer funcionar um projeto novo. Não sei como fazer essa comunicação Serial com os relês.

      1. só que, não sabia que a placa esp01 vinha programada, então tentei instalar o blink pela IDE do arduino e não funcionou porque é um relê serial. E não sei como instalar o programa original e nem como fazer funcionar um projeto novo. Não sei como fazer essa comunicação Serial com os relês.
        teria como me ajudar a reintalar o progrma original ou conseguir comunicação com a placa
        ?

        1. Olá Marcos,

          Aqui temos um tutorial de gravação/comunicação com o ESP-01: https://www.makerhero.com/blog/primeiros-passos-com-o-modulo-esp8266-esp-01/

          Abraços!
          Vinícius – Equipe MakerHero

  6. Muito bom post.Esses caras sempre inovando e nao tem medo de compartilhar conecimento .Parabens.

    1. Adivar,

      Transmitir conhecimento é nossa maior felicidade! 😀

      Abraços!
      Diogo – Equipe MakerHero

  7. Muito bom! Vamos testar.

  8. Muito bom. Só uma dúvida: depois de programado, quando desligo o módulo e religo novamente, ele não se conecta automaticamente na rede que estava conectado?

    1. Olá,

      Sim, quando é desligado, a programação não é perdida.

      Abraço!
      Rosana – Equipe MakerHero

      1. Obrigado Rosana, mas continuo com o mesmo problema.
        Toda vez que religo, tenho que conectá-lo na USB e digitar novamente os comandos: AT+CIPMUX=1 e AT+CIPSERVER=1,minhaporta, senão não funciona.

        1. Olá,

          Retificando a informação anterior. No caso desse módulo, é necessário a reconfiguração quando o reinicia.

          Abraços!
          Diogo – Equipe MakerHero

  9. Boa tarde. Posso gravar o meu próprio sketch ou tem que ser comandos AT?

    1. Olá Amaury,

      Você pode sim gravar seu próprio sketch. Dê uma olhadinha nesse tutorial: https://www.makerhero.com/blog/esp8266-arduino-tutorial/

      Abraço!
      Rosana – Equipe MakerHero

  10. Melhor usar o nodemcu, com relés simples.

    1. Olá Delmiro,

      É uma opção também 😉

      Abraço!
      Rosana – Equipe MakerHero

  11. Boa noite amigo, comprei um modulo desses ESP-01S , ELE NAO TEM ESSES PINOS PARA CONEXÃO A OUTRA PLACA PARA USB ELE PRECISA PROGRAMAR ? imaginei alimentar ele com 5V e buscar sinal WIFI e baixar um APP e poder acionar rele e descionar ,pelo que andei vendo e mais completo vou ter q programar esse modelo por onde ?

    1. Olá Vladimir,

      Dê uma olhada nos seguintes tutoriais:
      https://www.makerhero.com/blog/esp8266-arduino-tutorial/
      https://www.makerhero.com/blog/upgrade-de-firmware-do-modulo-esp8266/
      Acho que esses dois posts vão te ajudar a entender melhor como programar o ESP8266

      Abraço!
      Rosana – Equipe MakerHero

  12. Amigo, boa tarde! Estou tentando há três dias, programar um esp01 para controlar o módulo relé, mas este fica fechando e abrindo circuito, piscando e não consigo programar o esp ou fazer qualquer tipo de conexão quando uso os terminais fx rx da placa (do relé). Você teria alguma sugestão? obrigado desde já!

    1. Olá Rennan,

      Acredito que esses dois tutoriais vão te ajudar:
      https://www.makerhero.com/blog/esp8266-arduino-tutorial/
      https://www.makerhero.com/blog/upgrade-de-firmware-do-modulo-esp8266/

      Abraço!
      Rosana – Equipe MakerHero

      1. Obrigado! Mas não consegui me expressar, vou tentar outra vez através de uma pergunta:

        O que acontece quando liga o módulo relé sem o chip esp01 conectado nele? Ele fica chaveando?

    2. Conseguiu resolver amigo? Também estou com o mesmo problema. Ainda consigo programar o esp01 usando um conversor FTDI, mas o módulo relé fica abrindo e fechando não respondendo ao esp.

  13. As entradas TX e RX do ESP funcionam com 3,3V e a do micro com 5V, pq elas estão interconectadas sem nenhum redutor de nivel?

    1. Olá,

      O nível lógico da Placa FTDI FT232RL pode ser selecionado. No caso essa seleção deve ser de 3.3V. https://www.arduinoecia.com.br/2015/12/modulo-bluetooth-hc-05-conversor-ftdi.html

      Abraço!
      Rosana – Equipe MakerHero

      1. Desculpe Rosana, não me expliquei direito. falo do micro da propria placa Relé e o ESP. Se analisarmos o circuito, o micro é alimentado por 5V e o ESP por 3,3V, porem os terminais RX e TX estão interligados.

        1. Olá,

          Acredito que os pinos 5 e 6 do microcontrolador STC15F104 trabalhem em nível lógico de 3,3V, apenas do mesmo ser alimentado por 5V.

          Abraço!

          Rosana – Equipe MakerHero

  14. Boa tarde

    Gostaria de criar um sistema de automacao residencial (comandar algumas iluminações, motor de piscina, etc…), através de comandos remotos e não remotos (não estar conectado com o meu celular/pc na rede de wifi comum dos esp / e estar conectado em tal rede). Entã queria saber se eu apenas comprar Relé WiFi com ESP8266 IoT (no caso vários, um para cada função, anteriormente citada), consigo montar tal automatismo (sem que necessita de fonte de alimentação especifica, 5V), ou necessita a aquisição do Nodemcu? Se sim, qual a função desta ultima placa citada?

    1. Olá Márcio!

      Este relé já vem com o ESP8266, então não é necessário ter outro microcontrolador.

      De qualquer forma é necessária a alimentação 5 V para todos os relés instalados.

      Este, não necessita de fonte de alimentação, mas é mais fechado. Só funciona via internet:
      https://www.makerhero.com/blog/automacao-residencial-rele-wifi-sonoff/

      Abraços!

      André – Equipe MakerHero

  15. Olá boa noite.

    Excelente post.

    Eu comprei este módulo relé porém ele liga e desliga rapidamente o relé, mesmo sem o ESP01 conectado.

    Saberiam me dizer o que fazer? Preciso fazer algo com o microcontrolador que vem nele?

    Obrigado.

  16. teria algum vídeo de exemplo de ligação deste relé, pois tenho um dele e programo o esp8266 e ao plugar nele e aplicar 5v, nada acontece aí dou um click no botão e aí os dois da uma rápida piscada e nada acontece novamente, e se eu tirar o esp e colocar em bancada tudo funciona maravilhosamente bem. o que pode ser?

    1. Olá Carlos!

      Não temos nenhum vídeo, infelizmente.

      Você está alimentando ele corretamente?

      Abraços!

      André Rocha – Equipe MakerHero

  17. Boa tarde comprei um de um só rele esp1/01s não estou conseguindo conectar no meu roteador pelo eWelink

    1. Olá Adriano!

      Esse modelo não conecta com eWelink.
      Apenas o Sonoff conecta com o eWelink.

      Esse modelo só funciona como ensinado no tutorial e é apenas indicado para usuários mais experientes com eletrônica pois possibilita customizações ao contrário do Sonoff que não permite tantas customizações.

      Abraço e bons projetos!

      1. então o rele esp1/01s trabalha com que app

        1. Olá Ricardo!

          Não existe um app específico para esse módulo.

          Mas você pode desenvolver seu próprio app do jeito que você quiser adicionando as funções que você quiser. Creio que isso seja muito melhor do que ficar preso a um app só.

          Bons projetos!

  18. Excelente matéria, obrigado!

  19. Bem explicado. Obrigado. Não dá para ligar direto na rede AC 127v , né ?!

    1. Olá Gerson! Obrigado pela leitura.

      Esse módulo possui dois tipos de alimentação.
      Tem a alimentação para o circuito digital que seria o microcontrolador, ESP8266, etc… Essa alimentação é 5V
      E tem a alimentação de potência de carga do relé que seria de 127VAC ou 220VAC

      Pra ligar direto tem que ter algum tipo de circuito para converter a rede AC para 5V
      Você pode usar algo desse tipo por exemplo: https://www.makerhero.com/produto/mini-fonte-5v-hlk-pm01/

      1. Eu consigo saber o status do relé? Pensando em uma lâmpada qualquer que tanto pode ser ligada por um App ou um Interruptor, esse módulo consegue enviar informações para um servidor para saber se a lâmpada está ligada ou desligada?