Skip to content

Diogo-NB/ESP32-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Descrição

Projeto que utiliza um microcontrolador ESP32 para coletar dados de volume de líquido presente em um recipiente e representar esses dados em tempo real em um website. Dispositivos e Ferramentas Utilizadas

  • Microcontrolador: ESP32 + Sensor ultrassônico HC-SR04 (utilizando a placa de prototipação Vespa)
  • Banco de Dados: MongoDB Atlas
  • Back-end: Node.js + Express framework
  • Front-end: HTML, CSS, JavaScript utilizando a biblioteca Chart.js para exibição de gráficos

Como Funciona

  1. Medição da Distância: O sensor ultrassônico é posicionado no topo do recipiente para medir a distância até o nível do líquido.
  2. Cálculo do Volume: O ESP32 coleta o sinal do sensor e calcula a distância. A distância é utilizada para calcular o volume do líquido por meio de um polinômio de segundo grau, cujos coeficientes foram obtidos usando uma regressão quadrática.
  3. Envio dos Dados: O ESP32 envia o volume calculado periodicamente para o back-end via requisições HTTP.
  4. Armazenamento dos Dados: O back-end armazena cada volume no banco de dados MongoDB.
  5. Visualização em Tempo Real: O website periodicamente coleta as últimas leituras de volume do back-end e atualiza um gráfico para representar as mudanças de volume ao longo do tempo.

Como Configurar o Back-end

  1. Configurar o MongoDB:

    • Crie uma instância no MongoDB com um banco de dados chamado ESP32 e uma coleção chamada water-level.
    • Permita o acesso do banco de dados ao back-end adicionando o IP do servidor à whitelist de IPs do MongoDB.
  2. Configurar o Servidor:

    • Navegue até a pasta server.
    • Crie um arquivo .env no diretório raiz do servidor e preencha o arquivo com:
      MONGODB_URL="URL_CONEXAO_MONGODB"
    • Instale as dependências executando npm install no terminal.
      npm install
      
    • Inicie o servidor executando npm start no terminal.
      npm start
      
  3. Configurar o ESP32: No código do ESP32, configure SSID da rede Wi-Fi, senha da rede Wi-Fi, endereço IP e porta do servidor (HOST).

    #define STASSID "WIFI_SIID"
    #define STAPSK "WIFI_PSSWD"
    #define HOST "SERVER_IP"
    #define PORT 3000

Observação: Certifique-se que o Server e o ESP32 estejam na mesma rede