Solar Points

Iluminação Inteligente & Sustentável

Sistema Ativo
2 Pontos Online

Localizações dos Dispositivos

Acompanhe em tempo real a localização e status de todos os dispositivos Solar Points instalados

Filtrar por Fluxo

Filtros Rápidos:
Mapa Interativo
Online

O Sistema IoT: Do Hardware ao Banco de Dados

O sistema que você construiu é uma solução completa de IoT (Internet das Coisas) que opera em uma sequência lógica, conectando hardware, software e persistência de dados.

1. A Camada de Hardware

(O ESP32)

O ESP32 é o "cérebro" do sistema e a fonte dos dados. Ele é o microcontrolador responsável por:

Coletar Dados: Através de um sensor de GPS conectado, ele obtém as coordenadas geográficas precisas de latitude e longitude.
Gerar Dados: Ele gera ou lê o valor do Dado1, que é um número inteiro.
Formatar o Envio: Ele empacota todas essas informações (Dado1, latitude, longitude) em um objeto JSON, que é o formato padrão para comunicação via web.

2. A Camada de Comunicação

(A API)

A comunicação entre o hardware e o software é feita via Wi-Fi usando o protocolo HTTP.

Requisição HTTP POST: O ESP32 atua como um "cliente" que faz uma requisição do tipo POST para o seu servidor.
Rota da API: O endereço de destino para o envio de dados é a rota específica que você definiu no seu servidor: http://<seu_ip>:3000/Back-end

3. A Camada de Software

(O Servidor Python/Flask)

O seu código Python com Flask é o "servidor" que fica aguardando as requisições do ESP32.

Recebimento: Quando uma requisição POST chega na rota /Back-end , a função receber_dados() é ativada.
Processamento: O servidor lê o corpo da requisição e extrai os dados do JSON. Ele valida se as chaves (Dado1, localizacao, etc.) e os tipos de dados estão corretos.
Persistência: Após o processamento, o servidor chama a função salvar_dados() para armazenar as informações de forma permanente.

4. A Camada de Persistência

(O Banco de Dados em nuvem (PostgreSQL))

O PostgreSQL é a camada final, responsável por guardar o histórico de todos os dados recebidos.

Arquivo neon.db: O arquivo neon.db foi armazenado em nuvem através da Neon (PostgreSQL). No qual se baseia em um serviço gratuito de banco de dados em nuvem.
Tabela dados_esp32: A função setup_database() garante que uma tabela chamada dados_esp32 seja criada, com colunas prontas para receber cada valor do JSON (incluindo o timestamp para saber quando cada dado chegou).
Registro: A cada novo envio do ESP32, uma nova linha é inserida nessa tabela, criando um registro completo e persistente de todas as informações.

Em resumo

O ESP32 coleta os dados, os empacota em um JSON, e os envia via Wi-Fi. O servidor Flask recebe e processa o JSON, e então salva os dados em uma tabela no banco de dados SQLite, garantindo que as informações fiquem armazenadas de forma segura e organizada para que possam ser exibidas neste servidor WEB no qual pode-se consultar pela internet normalmente.

Assim mostrando a quantidade de pessoas que passam diariamente em um local específico no qual o ESP32 está localizado.