项目作者: lucasDSBR

项目描述 :
Projeto de uma estação meteorológica usando C++, Esp8266, HTML, Bootstrap, JavaScrip, Firebase e Kodular.
高级语言: HTML
项目地址: git://github.com/lucasDSBR/TempoIdeal.git
创建时间: 2021-06-11T11:51:26Z
项目社区:https://github.com/lucasDSBR/TempoIdeal

开源协议:

下载


Tempo Ideal

Projeto de uma estação meteorológica usando C++, Esp8266, HTML, Bootstrap, JavaScrip, Firebase e Kodular.

by: Francisco Ivanilson, João Gabriel, Lucas Silva

APRESENTAÇÃO DO PROJETO:

https://user-images.githubusercontent.com/77994612/115418701-12772600-a1d0-11eb-8bed-6c908e9eb0c7.mp4

1. O PRODUTO:

Estação Meteorológica WI-FI.

Imaginamos um dispositivo que pudesse ser autoalimentado energeticamente, ligado a WEB que mostrasse dados de temperatura e umidade local, bem como a probabilidade de chuva no local, através de dados da pressão barométrica. No que condiz a versão final iremos implementar um Letreiro LED em cada estação. Um dos percalços presentes nesse projeto será a alimentação de todos os componentes unicamente por baterias recarregáveis a energia solar.

Hardware utilizado: | WEMOS D1 R2 - ESP8266 | Sensor de Temperatura/Umidade DHT11 | Placa fotovoltaica 5v 1w | Bateria Recarregável 3,7V 500mAh | Diodo 1n4007 - 1A 1000V | Módulo carregador TP4056 - 5V 1A.

2. A LOGO:

Visando a identidade visual da nossa proposta de produto, ele seguirá esse modelo à seguir:

image

Paleta de cores escolhida:

image

3. AS PEÇAS:

WEMOS D1 R2 - ESP8266EX
Escolhemos esta placa visto seu baixo custo de aquisição, ela possui um diferencial que é sua conectividade com WI-FI, ganhando assim espaço em nosso projeto que visa um módulo auto gerenciado energeticamente e sem fios de alimentação.
Outra característica importante a ser ressaltada é de que o módulo consome pouco energia, sendo o primeiro que iremos usar no processo de aprendizagem das tecnologias, bem como da programação em C e C++ presente no Arduino IDE.
Seu principal ponto negativo é ter apenas uma porta analógica, algo que pensamos em corrigir ao adquirir a versão mais nova dessa placa, ESP32-WROVER, contendo seis portas analógicas.

Características Dimensões Preço
ESP8266EX 70 x 53,5 x 12,5 mm $32

image

Sensor de Temperatura/Umidade DHT11:
Para prototipagem usaremos esse sensor de umidade e temperatura, sua simplicidade e baixo custo são os principais motivos de sua escolha.

Características Dimensões Preço
DHT11 23 x 12 x 5mm $12

image

Modulo Carregador TP4056 de Bateria de Lítio de 5V 1A com Proteção:
Esse módulo servirá para carregar a bateria que fornecerá energia aos componentes eletrônicos

Características Dimensões Preço
TP4056 19MM(L) X 5MM(A) X 25MM(C) $6

image

4. ESQUEMA ELÉTRICO:

image

5. CÓDIGO ELABORADO PARA O M.C. ESP8266 USANDO:

C++:

  1. #include <DHTesp.h>
  2. #include <ESP8266WiFi.h>
  3. #include "FirebaseESP8266.h"
  4. #include <FirebaseESP8266.h>
  5. #ifdef ESP32
  6. #pragma message(THIS EXAMPLE IS FOR ESP8266 ONLY!)
  7. #error Select ESP8266 board.
  8. #endif
  9. DHTesp dht;
  10. //#define FPM_SLEEP_MAX_TIME 0xFFFFFFF
  11. #define WIFI_SSID "ID DO SEU ROTEADOR WI-FI"
  12. #define WIFI_PASSWORD "SENHA DO SEU ROTEADOR WI-FI"
  13. #define FIREBASE_HOST "HOST DO BANCO DE DADOS FIREBASE"
  14. #define FIREBASE_AUTH "HASH UNICA DO SEU BANCO DE DADOS FIREBASE"
  15. FirebaseData fbdo;
  16. void setup()
  17. {
  18. Serial.begin(115200);
  19. WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  20. Serial.print("Conectando ao ");
  21. Serial.print(WIFI_SSID);
  22. while (WiFi.status() != WL_CONNECTED) {
  23. Serial.print(".");
  24. delay(500);
  25. }
  26. Serial.println();
  27. Serial.print("Conectado!");
  28. Serial.print("Endereço de IP: ");
  29. Serial.println(WiFi.localIP());
  30. Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  31. Firebase.reconnectWiFi(true);
  32. dht.setup(4, DHTesp::DHT11);
  33. }
  34. void loop()
  35. {
  36. Serial.print("Estou acordado!");
  37. float h = dht.getHumidity();
  38. float t = dht.getTemperature();
  39. int s = dht.computeHeatIndex(t, h, false);
  40. Serial.print("Umidade: ");
  41. Serial.print(h);
  42. Serial.print("% Temperatura: ");
  43. Serial.print(t);
  44. Serial.println("°C ");
  45. Serial.print("Sensação térmica: ");
  46. Serial.print(s);
  47. Serial.println(".");
  48. Firebase.setFloat(fbdo,"Temperatura: ",t);
  49. Firebase.setFloat(fbdo,"Umidade: ",h);
  50. Firebase.setInt(fbdo,"Sensação Térmica: ",s);
  51. Serial.println("deep sleep por 5 minutos, volto já!");
  52. wifi_set_sleep_type(NONE_SLEEP_T);
  53. delay(300000);
  54. }

6. WEBSITE TEMPO IDEAL:

screenshot

https://tempo-ideal.web.app/
Desenvolvido por Lucas Silva, JavaScrip e Firebase.

7. APP ANDROID USANDO KODULAR:

photo5148072845119695067
photo5148072845119695068
photo5148072845119695069
photo5148072845119695070

APP ANDROID.zip

Desenvolvido por Francisco Ivanilson, Kodular e Firebase.

8. CASE PARA HARDWARE:

image
image
image

Desenvolvido por João Gabrie, GrabCad.