Exibindo valores de temperatura e umidade no app MQTT Dash com o sensor DHT11

MQTT DASH DESTAQUE
Este post faz parte da série MQTT Dash. Leia também os outros posts da série:

Dando continuidade à serie de artigos sobre o MQTT Dash, e respondendo a dúvida do leitor Fernando Oliveira Brito, neste artigo vamos publicar o valor de temperatura e umidade de um sensor DHT11 usando uma placa nodeMCU e também vamos exibir os valores no MQTT Dash. Se você ainda não testou o MQTT Dash, recomendo a leitura do artigo anterior.

Hardware com o DHT11

Para este exemplo, vamos usar os mesmos componentes usados no artigo anterior e vamos acrescentar um sensor de temperatura e umidade, o DHT11.

Circuito para teste do sensor DHT11 com MQTT Dash
Figura 1 – Circuito para teste do sensor DHT11 com MQTT Dash

O módulo relé é usado para acionamento da lâmpada. Você deve usar a etapa de potência que atenda os requisitos da carga.

Após realizadas as ligações elétricas do circuito, vamos para o desenvolvimento do firmware para o nodeMCU.

Firmware do nodeMCU

Aproveitando o software desenvolvido para o exemplo do artigo anterior, vamos adicionar a leitura da temperatura e umidade com o DHT11, assim como a publicação dos valores. Para uso do DHT11 na IDE Arduino é necessário ter a biblioteca DHT-sensor-library.

Com as mesmas configurações para o broker realizadas no artigo anterior, vamos publicar os valores de umidade e temperatura, nos respectivos tópicos: casa/umidade e casa/temperatura.

O código a seguir publica as informações do DHT11 a cada 20 segundos, assim como assina o tópico casa/L1, controlando o estado da lâmpada:

Configuração do MQTT Dash

Para a leitura dos valores de umidade e temperatura, vamos adicionar 2 elementos do tipo Range/progress:

Adicionando um novo elemento ao dashboard do MQTT Dash
Figura 2 – Adicionando um novo elemento ao dashboard do MQTT Dash

Para exibir o valor da umidade, vamos configurar da seguinte forma:

Configuração da leitura de umidade
Figura 3 – Configuração da leitura de umidade

Para exibir o valor de temperatura, vamos configurar da seguinte forma:

Configuração da leitura de temperatura
Figura 4 – Configuração da leitura de temperatura

No final teremos 3 elementos em nosso dashboard:

Dashboard final
Figura 5 – Dashboard final

Funcionamento

Agora com o programa carregado na nodeMCU e o MQTT Dash configurado, vamos testar a aplicação.

O primeiro passo é verificar se as informações estão sendo publicadas no broker. Use o recurso Websocket no CloudMQTT:

Verificando as informações que chegaram ao broker
Figura 6 – Verificando as informações que chegaram ao broker

E em seguida verificar a atualização dos valores no MQTT Dash:

Atualização do dashboard no MQTT Dash
Figura 7 – Atualização do dashboard no MQTT Dash

Pronto! Chegamos ao final deste tutorial. Deixo como desafio a inserção de mais sensores ao sistema, assim como novos publicadores e assinantes. Uma proposta interessante é criar um módulo com um botão para acionamento da lâmpada com um interruptor sem fio.

Não deixe de tirar as suas dúvidas ou então compartilhar seus projetos nos comentários abaixo.

Saiba mais

MQTT – Protocolos para IoT

Conectando-se ao DeviceHub com NodeMCU e MQTT

Oficina Maker de IoT – Conecte sua planta à Internet com Thingspeak

Estação de medição de temperatura Open-Source com Arduino e IoT – Configuração

Outros artigos da série

<< Use o MQTT DASH para controlar uma lâmpada remotamente
Website | Veja + conteúdo

Engenheiro, especialista em sistemas embarcados. Hoje é diretor de operações do portal Embarcados, onde trabalha para levar conteúdos de eletrônica, sistemas embarcados e IoT para o Brasil.

Também atua no ensino eletrônica e programação. É entusiastas do movimento maker, da cultura DIY e do compartilhamento de conhecimento, publica diversos artigos sobre eletrônica e projetos open hardware.

Com iniciativas como o projeto Franzininho e projetos na área de educação, leva a cultura maker para o Brasil capacitando e incentivando professores e alunos a usarem tecnologia em suas vidas. Participou da residência hacker 2018 no Red Bull Basement.

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.

Comentários:
Notificações
Notificar
guest
12 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Leandro Souza
Leandro
11/03/2020 08:25

Bom dia,
Desculpe a ignorância, mas vejo a criação da função Callback mas não vejo a chamada para ela, alguem pode me explicar quando ela é chamada ou qual intervalo de chamada?

Cleide de Paula
Cleide de Paula
18/10/2019 16:45

Oi Fábio, tudo bem? Eu tenho um raspberry Pi zero e estou desenvolvendo um projeto para usar o módulo para coletar informações de temperatura e umdade do sensor DHT11 e analisar/processar os dados (minerando e usando o Hadoop) depois. Minha dificuldade é saber se o CloudMQTT guarda em arquivo csv as informações coletadas. Vc tem ideia de como se faz para guardar os dados coletados em arquivo?

Leandro Souza
Leandro
Reply to  Cleide de Paula
11/03/2020 08:27

Bom dia Cleide, achei interessante seu questionamento, conseguiu achar uma resposta?

Valterlei Freitas de Almeida
Valterlei Freitas de Almeida
05/05/2019 09:07

Bom dia Fábio, estou tentando estabelecer um comunicação entre Arduíno Mega da RobotDyn com ESP8266 integrado, já que o ESP não tem portas suficientes para vários processos ao mesmo tempo. Mas até agora sem muito êxito em mandar vários dados de sensores via Serial.

MIGUEL CARDOSO
MIGUEL CARDOSO
16/01/2019 13:46

Boas Fábio, Obrigado pelo teu post, ajudou bastante. Estou a usar um WeMos D1 e precisei de alterar o teu código para: (…) Serial.print(“New temperature: “); Serial.println(String(temp).c_str()); client.publish(“casa/sala/temp”, String(temp).c_str(), true); Serial.print(” New humidity: “); Serial.println(String(hum).c_str()); client.publish(“casa/sala/hum”, String(hum).c_str(), true); (…) pois conseguia ver os valores no monitor série mas não chegava nada ao broker. Agora tenho outro problema, quando programei mais um WeMos, não consigo ter os dois ligados ao mesmo tempo, aqui fica parte do retorno do monitor série: (…) Tentando conectar ao servidor MQTTConectado! Tentando conectar ao servidor MQTTConectado! Tentando conectar ao servidor MQTTConectado! Tentando conectar ao servidor MQTTConectado!… Leia mais »

eldimar souza
eldimar souza
06/10/2018 16:43

Como faço pra postar isso em um cliente local, uso o mosquitto e tenho um node-red rodando no raspberry, porem como não sei como mudar a configuração pra ele postar no meu servidor local, ele da falha de estado 2, e fica tentando se reconectar

vilmondes
vilmondes
30/05/2018 14:12

No meu eu queria apenas enviar os dados para o broker, mas não está enviando, conecta no wifi, conecta no broker, mas os dados não aparecem.
Quando eu clico em websocket no broker aparece um aviso de que não foi possível se conectar na porta websocket.

Fernando Oliveria Brito
Fernando Oliveira Brito
28/03/2018 10:53

Muito Obrigado Fábio, mas eu já havia resolvido o problema.
As alterações que fiz no código passado no outro post ficaram bem semelhantes a que vc fez.
Estou fazendo a automatização parcial do meu aquário e seus dois artigos me ajudaram muito. Muito Obrigado.

Talvez você goste:

Séries



Outros da Série

Menu