Estação de medição de temperatura Open-Source com Arduino e IoT – Publicação dos dados

medição de temperatura
Este post faz parte da série Estação de medição de temperatura Open-Source com Arduino e IoT. Leia também os outros posts da série:

Este artigo é o terceiro de uma série de três artigos que mostra como construir uma estação de medição de temperatura Open-Source com Arduino e IoT.  Com esses três artigos em mãos e os componentes, placas e ferramentas necessárias, qualquer um com um conhecimento técnico mínimo de eletrônica poderá construir e contribuir para a medição de temperatura em diferentes pontos do Brasil e, quem sabe, claro, do planeta (nada impede isso).

O coração do sistema é uma placa Arduino fácil de ser encontrada e comprada. Para comunicação com internet, será utilizado um módulo Wi-Fi ESP8266 ESP-01, o qual utilizará MQTT. Esta série esta sendo construída por mim e por Douglas Salin Zuqueto.

A série de artigos que está sendo escrita aborda os seguintes assuntos:

Esta série foi desenvolvida com o hardware oferecido pelo loja FILIPEFLOP, a qual foi fundamental para o desenvolvimento deste projeto, pois sem o auxílio do hardware, o projeto se tornaria inviável.

FILIPEFLOP

Este artigo será dividido em dois tópicos gerais: desenvolvimento da interface web que se conecta ao WebSocket do Broker MQTT e uso/demonstração do sistema.

WebSocket – O que é?

Um WebSocket, em resumo, nada mais é que o bom e velho Socket (TCP, em modo full-duplex) projetado para rodar em aplicações mais alto-nível, como site/WebAPPs em HTML5, por exemplo. Em outras palavras: é o bom e velho Socket TCP rodando diretamente no Browser!

Além disso, um WebSocket permite que esta comunicação fique transparente ao usuário da aplicação, de modo que ele nem perceba o que está ocorrendo. Com isso, o WebSocket atua no back-end de WebAPPs.

Para saber mais sobre WebSockets em HTML5, leia o aertigo deste link.

WebSocket com Broker MQTT e Interface multiplataforma

No projeto desta série de artigos, toda a medição de temperatura feita pelo Arduino + sensor de temperatura e transmitida para um broker MQTT via Wi-Fi com o ESP8266 ESP-01 será visível via página Web. Em outras palavras, a interface com o usuário do sistema final é uma página web aberta em um browser comum.

E aí está um dos grandes pontos do projeto: permitir a interface com o usuário de (quase) todo browser, em qualquer dispositivo (mobile ou não) com acesso à Internet. Com isso, abstrai-se a interface com usuário final, desprendendo-se assim de requisitos de sistema operacional. Portanto, é correto dizer que a interface com usuário final é multiplataforma.

medição de temperatura open-source: A interface com o usuário final é multiplataforma
Figura 1 – A interface com o usuário final é multiplataforma

Recursos de software para implementação da interface

A aplicação web desenvolvida para ser a interface com o usuário final é dividida em 3 partes: Layout, Geolocalização,  MQTT e configurações.

Para a construção do layout foi utilizada a biblioteca MaterializeCSS. Ela oferece um conjunto de componentes web, tais como: tabelas, formulários, ícones, menus e etc. Além de oferecer um sistema de grid (para design responsivo) e cores baseadas no Material Design. Ambas as funcionalidades foram utilizadas na construção do layout.

Para a comunicação MQTT, foi utilizada a biblioteca mosquitto. Essa biblioteca possui um encapsulamento de WebSockets, onde, no back-end, toda comunicação de dados será feita via Sockets.

O sistema terá uma área onde o usuário entrará com 3 informações:

  • Tópico a ser assinado (no nosso caso será EMCOL);
  • Latitude;
  • Longitude.

Essas configurações serão salvas no localStorage do navegador (análogo a um banco de dados local do navegador) para que, posteriormente, essas informações sejam usadas na tela principal e na área de geolocalização.

Já a parte de geolocalização é feita através do uso de uma biblioteca denominada leaflet. Com base nas coordenadas que o usuário salvou nas configurações, as coordenadas  serão mapeadas automaticamente no mapa e através de uma label, a temperatura também será apresentada. No caso das outras estações, elas também serão mapeadas no Mapa. Assim, mostrando visualmente, uma verdadeira rede de estações meteorológicas implementadas. Portanto, o sistema tem porte para ser aplicado a nível mundial! 

Interface – Download

A interface, assim como todo o projeto, podem ser baixados no GitHub oficial do projeto. O GitHub está dividido em três repositórios distintos: um para o software que roda no Arduino, um do software que roda no módulo ESP8266 e o sistema on-line.

A interface de usuário é capaz de rodar em qualquer servidor web, inclusive localmente no seu próprio computador! Em suma, pode-se disponibilizar a interface em qualquer hospedagem web gratuita.

Vídeo – Funcionamento completo

Um vídeo do sistema funcionando por completo (da leitura do sensor de temperatura até a interface web para usuário final) pode ser visto abaixo:

Futuro do projeto

O futuro deste projeto depende exclusivamente de você, caro leitor maker/hobbista/entusiasta de sistemas embarcados!

O projeto está no ponto de ser replicado e usado a nível mundial, formando assim uma base de temperaturas-ambiente open-source. Logo, quanto mais gente colocar o projeto pra rodar e ler temperatura, melhor!

Coloque o projeto para rodar e contribua assim para a primeira iniciativa open-source de medição de temperatura do Brasil! Ajude-nos a fazer com que o Brasil seja a diferença!

Outros artigos da série

<< Estação de medição de temperatura Open-Source com Arduino e IoT – Comunicação
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.

[wpseo_breadcrumb]
Comentários:
Notificações
Notificar
guest
2 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Marcel Philippe Abreu Andrade
Marcel
15/12/2016 20:41

Pedro Bertoleti tenho uma dúvida para que eu possa acessar o sistema Web eu preciso de instalar o servidor (broker) mosquitto? e eu preciso instalar também o cliente mosquitto?, essa parte eu não entendi eu fui nessa página (https://mosquitto.org/download/) e instalei o binário para o Windows, esse binário é o servidor (broker)? desculpa, mas uma outra pergunta é: eu instalei o Wampserver para colocar o projeto Web para que eu possa acessar o localhost estou fazendo da forma correta? já que o MQTT utiliza um outro servidor (broker) que é acessado pela porta 1883. Caso eu esteja fazendo da forma… Leia mais »

Ruben P
Ruben Guirão Pires
26/08/2016 18:25

Hey, eu sou um estudante de eletrônica e gostei bastante das matérias.
Tenho algumas dúvidas quanto a esse projeto:
1- No lugar do MQTT Broker, é possível usar o thingspeak?
2- Pode-se trocar o DHT-22 por um sensor de umidade FC-28?
3- Na programação do Módulo ESP8266, a biblioteca que ele importa é a https://github.com/itead/ITEADLIB_Arduino_WeeESP8266? Ela pode ser utilizada com pic ao invés de arduíno?
Eu estou tentando fazer algo desse tipo usando seu outro artigo de

PIC na IoT com ESP8266 e ThingSpeak

Talvez você goste:

Séries



Outros da Série

Menu
Privacy Settings saved!
Configurações de Privacidade

Entenda quais dados e informações usamos para ter melhor entrega de conteúdo personalizado para você.

These cookies are necessary for the website to function and cannot be switched off in our systems.

Para usar este site, usamos os seguintes cookies tecnicamente exigidos

  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec

Decline all Services
Accept all Services