Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

Latest commit

 

History

History
135 lines (93 loc) · 4.33 KB

README.md

File metadata and controls

135 lines (93 loc) · 4.33 KB

Sketch

Esta pasta contém todos os arquivos e explicações relacionados ao funcionamento do código do ESP32.

Índice

  1. Funcionamento
    1. Setup
    2. Núcleos
  2. Especificações técnicas
    1. Materiais utilizados
    2. Montagem
    3. Diagrama

Funcionamento

Todo o funcionamento do sistema criado para o ESP32 é baseado na configuração do WiFi no Setup e na divisão de tarefas nos núcleos, onde o primeiro núcleo é responsável pela obtenção de dados e o segundo núcleo pela postagem desses dados no tópico MQTT. Abaixo, um diagrama que exemplifica a lógica utilizada no ESP32:

Veja o diagrama da divisão de núcleos

Cores

 

Para saber as bibliotecas necessárias e como compilar o código, verifique na documentação principal do projeto no tópico Como Usar itens 6 e 7, e o item 8 fala sobre como configurar o hotspot.

Setup


Configuração Inicial

O ESP32 é configurado para se conectar à rede WiFi local usando o WiFiManager, o que permite que o usuário selecione a rede e insira a senha por meio de um hotspot criado pelo ESP32.

O hotspot genérico criado tem o nome de PBL-Grupo6, e a senha de acesso é password. Caso queira mudar esses parâmetros, basta alterar o arquivo WiFi.cpp.

Conexão MQTT

O ESP32 se conecta ao servidor MQTT do Fiware usando o endereço IP e a porta definidos no arquivo config.hpp. Ele também define os tópicos de subscrição e publicação.

Núcleos


Leitura Analógica e Interpolação da Temperatura

O ESP32 lê, por meio da porta analógica TEMPERATURE_PIN definida no arquivo config.cpp, a tensão de saída do kit, que varia de acordo com a temperatura interna. São realizadas 50 leituras em intervalos regulares de 50ms, aplicando um filtro FIR para suavizar as leituras.

Os valores analógicos lidos são interpolados linearmente com base em uma tabela de valores de referência, onde o valor analógico é transformado na temperatura. Isso permite obter uma medição mais precisa da temperatura ambiente.

Para calibrar com os valores do kit, fizemos um programa simples onde pegávamos o valor analógico da entrada a cada 1s e relacionávamos com a temperatura mostrada no visor do kit. Com isso, conseguimos um intervalo de interpolação para os valores lidos. Abaixo, a curva de calibração do kit utilizado:

Veja a curva de calibração do kit

Interpolação

 

Todo esse processo de obtenção da temperatura pode ser visualizado de maneira mais simples no diagrama abaixo:

Veja o diagrama de obtenção da temperatura

Temperatura

Envio de Dados

Após a leitura e interpolação feitas no primeiro núcleo, o ESP32, por meio do segundo núcleo, envia os dados de temperatura para o servidor MQTT do Fiware, que os armazena e os torna disponíveis para análise e visualização na plataforma Fiware.

Especificações técnicas

O funcionamento elétrico do circuito é de fácil entendimento. A saída do kit térmico/entrada do sistema de leitura gera uma tensão máxima de 10V, que é dividida entre 3 resistores de 300Ω. Logo, cada resistor terá uma carga máxima de 3.3V, que é o máximo de tensão que o ESP32 suporta em suas entradas analógicas. Portanto, pegamos a tensão de apenas um resistor para ter uma escala direta entre 3.3V e 10V.

Materiais utilizados

Quantidade Componente
1 DOIT Esp32 DevKit v1
3 Resistor (300Ω)

Montagem

Veja a montagem

Montagem

Diagrama

Veja o diagrama elétrico

Diagrama