Acione uma lâmpada através da internet com ESP8266 e Adafruit IO

adafruit esp8266 lampada destaque4

Recentemente adquiri algumas placas para testar e fazer algumas aplicações em casa usando o ESP8266. Entre elas veio um módulo rele, que facilita o controle de dispositivos e lâmpadas remotamente. Uma aplicação legal para se fazer usando esse módulo é o acionamento de uma lâmpada usando uma plataforma de nuvem.

A seguir apresentarei como usar o Adafruit IO e programar o ESP8266 para acionar uma lâmpada conforme o comando recebido via internet.

Video tutorial: Acione uma lâmpada através da Internet com ESP8266 e Adafruit IO

Se você preferir o tutorial e video, a seguir apresento todos os passos para essa aplicação:

Tutorial em texto: Acione uma lâmpada através da Internet com ESP8266 e Adafruit IO

A seguir apresento todos os passos do projeto, código fonte e montagem:

Materiais necessários

Configuração do Adafruit IO

O Adafruit IO é um serviço de nuvem muito fácil de utilizar e com diversos recursos, entre eles um dashboard fácil de configurar. Na versão gratuita temos acesso a:

  • 30 pontos de dados por minuto
  • 30 dias de armazenamento de dados
  • Triggers a cada 15 minutos
  • 10 feeds
  • 5 dashboards

Vamos começar configurando o Adafruit IO. É necessário criar uma conta para ter acesso ao serviço de nuvem da Adafruit. Acesse https://io.adafruit.com/

Adafruit IO

Com acesso a conta do Adafruit IO o primeiro passo será configurar um Feed para o relé. Acesse Feeds e em Actions -> Create a New Feed

Adafruit IO

Dê um nome para o Feed. Eu dei o seguinte nome:

Adafruit IO

Com o Feed criado. Acesse agora os Dashboards e em seguida Action -> Create a New Dashboard.

Adafruit IO

Eu chamei o meu dashboard de casa:

Adafruit IO

Com o dashboard criado, clique em seu nome. Será aberta a área do dashboard:

Adafruit IO

Por enquanto ainda não temos nenhum elemento no dashboard. Para adicionar um novo elemento, clique no sinal de + entre os ícones a direita:

Será aberta uma nova janela com diversos blocos:

Adafruit IO

Para controlar o relé, escola a opção Toggle. Em seguida selecione o Feed criado e clique em next step:

Adafruit IO

Agora vamos configurar o botão. Dê um nome e ajuste os valores que serão publicados quando o botão mudar de estado:

Adafruit IO

Pronto. Clicando em Create block, ele será adicionado ao dashboard:

Adafruit IO

Maravilha! O dashboard está configurado e já publicando valores no feed rele_1. Mude a chave de posição e veja se o feed rele_1 recebeu os valores:

Adafruit IO

Agora vamos para a programação do rele na IDE Arduino.

Configuração da IDE Arduino

Você precisará carregar o pacote para programação do ESP8266 na IDE Arduino. Acesse Arquivo -> Preferências e no campo “URLs Adicionais de Gerenciamento de Placas” insira: http://arduino.esp8266.com/stable/package_esp8266com_index.json

13

Em seguida acesse Ferramentas->Placa-> gerenciador de placas e instale o pacote para ESP8266:

14

O próximo passo será a instalação das bibliotecas necessárias para esse exemplo. A Adafruit disponibiliza uma biblioteca para trabalhar com o ESP8266 na IDE Arduino e integrar facilmente a sua plataforma. 

Conforme exibido no site da Adafruit, precisamos instalar as seguintes bibliotecas:

  • Adafruit IO Arduino
  • Adafruit MQTT
  • ArduinoHttpClient 

Utilize o gerenciador de bibliotecas da IDE para a instalação:

15

Com as bibliotecas instaladas, digite o seguinte código:

Você deve colocar as informações da sua conta no Adafruit IO no seguinte trecho de código: 

Você encontra essas informações clicando em Adafruito IO Key no canto superior direito na página da plataforma.

Também é necessario configurar o SSID e senha da rede WIFI:

Por fim, carregue o código para a placa.

Montagem do hardware

ATENÇÃO: SE VOCÊ FOR TRABALHAR COM A TENSÃO AC (127 OU 220 V) DA REDE. TOME MUITO CUIDADO!

Para alimentar o módulo rele com ESP8266 eu usei um adaptador AC/DC de 5V que tinha em minha sucata. Para a lâmpada usei um soquete comum e cabo de 0.5 mm². A ligação ficou da seguinte forma:

16

Teste final

Com a placa alimentada, abra o Adafruit IO e mude o estado da chave. A lâmpada deverá acender;

17

Caso não funcione, verifique:

  1. Se o módulo RELE está alimentado corretamente.
  2. Se a lâmpada foi ligada corretamente no rele
  3. Se a configuração do WIFI e Plataforma foram feitas corretamente no código

Você pode adicionar mais saídas ou entradas ao sistema usando outras placas. Outro recurso que você pode adicionar é o uso de um aplicativo para acionamento através do smartphone, como o MQTT Dash que apresentei nesse artigo: Use o MQTT DASH para controlar uma lâmpada remotamente

Caso tenha alguma dúvida deixe seu comentário abaixo ou no video no youtube.

Saiba mais

Gravando o ESP8266-01 na IDE Arduino

Controle de servomotores com Arduino e ESP8266

Lendo e enviando dados LDR para o firebase utilizando ESP8266 NodeMCU

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Maker, Internet Das Coisas
,
Comentários:
Notificações
Notificar
guest
11 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Paulo
Paulo
11/03/2021 15:11

Professor Fábio estou precisando de sua ajuda, estou usando o programa EASYIoT CLOUD, parece ser fácil mas já estou pensando em desistir, quando carrego qualquer código que tenha MQTT se dá o seguinte erro no Arduino:MQTT does not mame type,
Traduzindo MQTT não nomeia um tipo!!
Já pesquisei mas não achei muita coisa, e como não entendo muito fica confuso não sei se tem que substituir por outra palavra ou biblioteca, enfim..
Se você puder me dar uma dica, só você sabe, Obrigado, boa tarde…

Waldir
Waldir
22/02/2021 17:45

Posso substituir a lampada de 110v por uma luminaria (Quadrada) de LED de 25w. Ligando o 110v no driver conversor de tensão.

Paulo
Paulo
08/02/2021 14:12

Dr Fábio obrigado pela resposta e pelo convite, pra min e uma honra fazer perguntas a você,pelo seu vídeo já vi que você entende de Arduino e mais que isso a parte mais difícil, que e internet , e IoT…

Paulo
Paulo
07/02/2021 23:27

Engenheiro , Fábio com muitos esforços consegui, carregar aquele código que o senhor postou no video, por isso lhe peço por favor não , precisar mandar , só tenho lhe agradecer, antes de mais nada gostaria de lhe pedir permissão, se acaso eu tiver mais dúvidas sobre IoT , se eu posso perguntar por aqui, ou tenho que me rediciona a outro site? Muito obrigado Sr Fábio pela sua atenção e seus elevados conhecimentos sem o seu ótimo vídeo explicando como funciona o código estaria sem fazer nada….
Boa noite…

Fábio Souza
Fábio Souza
Reply to  Paulo
08/02/2021 10:37

Paulo, pode mandar por aqui. Aproveito e deixo o convite para entrar em nosso grupo no telegram: https://t.me/comunidade_embarcados
O grupo tem o foco em tirar dúvidas e conversas relacionadas.

Paulo
Paulo
06/02/2021 12:17

Erro nos códigos…

Paulo
Paulo
06/02/2021 12:15

Sr Fábio estou feliz pela sua resposta, gostei muito do seu blog, estou olhando várias vezes o vídeo para ver os códigos. E usar como exemplo, já tentei compilar no Arduino,mas você sabe qualquer errinho no código o Arduino não copila, se o Sr puder me mandar o código-fonte do relé adafruit, igual está no vídeo vou ficar muito agradeci do ….vai me ajudar muito nas minhas pesquisas cibernética…. obrigado

Paulo
Paulo
04/02/2021 10:52

Estou tentando acionar o relé, porém esse código está dando erros, será que vocês poderiam me ajudar com o código certo?

Talvez você goste:

Séries

Menu

EVENTO ONLINE

Simplificando seus projetos de Internet das coisas com o iMCP HT32SX Sigfox

DATA: 18/05 às 15:00h