https://github.com/lauratrigo/projeto-ecocomp-http
Projeto de estufa inteligente desenvolvido com ESP32, HTTP, Node.js e MongoDB. O sistema realiza monitoramento ambiental em tempo real, controle remoto de atuadores, automação de irrigação, ventilação e aquecimento, além de disponibilizar dashboard web, histórico de medições e geração de relatórios. 🌱
https://github.com/lauratrigo/projeto-ecocomp-http
automatization cpp css esp32 esp32-wroom html http iot-application javascript site web
Last synced: about 19 hours ago
JSON representation
Projeto de estufa inteligente desenvolvido com ESP32, HTTP, Node.js e MongoDB. O sistema realiza monitoramento ambiental em tempo real, controle remoto de atuadores, automação de irrigação, ventilação e aquecimento, além de disponibilizar dashboard web, histórico de medições e geração de relatórios. 🌱
- Host: GitHub
- URL: https://github.com/lauratrigo/projeto-ecocomp-http
- Owner: lauratrigo
- License: mit
- Created: 2026-04-20T21:23:55.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-06-30T23:41:13.000Z (12 days ago)
- Last Synced: 2026-07-01T01:20:17.973Z (12 days ago)
- Topics: automatization, cpp, css, esp32, esp32-wroom, html, http, iot-application, javascript, site, web
- Language: JavaScript
- Homepage: https://lauratrigo.github.io/projeto-ecocomp-http/
- Size: 6.77 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌱 EcoComp - Inteligência Computacional Aplicada ao Monitoramento de Ecossistemas
Sistema de monitoramento e automação de estufas inteligentes utilizando ESP32, HTTP, Node.js, MongoDB Atlas e Aplicação Web.
---
O **EcoComp** é um sistema de monitoramento e automação de estufas inteligentes desenvolvido utilizando conceitos de **Internet das Coisas (IoT)**, **Computação em Nuvem**, **Sistemas Embarcados** e **Desenvolvimento Web**.
O projeto permite acompanhar em tempo real as condições ambientais de uma estufa por meio de sensores conectados a um **ESP32**, que envia os dados para uma **API REST** através de requisições **HTTP**. Além disso, é possível controlar remotamente dispositivos de irrigação, ventilação e aquecimento utilizando uma aplicação web.
---
# 🚀 Funcionalidades
## 📊 Monitoramento em Tempo Real
- Temperatura interna da estufa
- Umidade do ar interna
- Umidade do solo interna
- Temperatura externa
- Umidade do ar externa
- Umidade do solo externa
## 🤖 Automação Inteligente
- Acionamento automático da bomba de irrigação
- Controle automático da ventoinha
- Controle automático da lâmpada de aquecimento
- Configuração dos limites de automação diretamente pela aplicação web
## 🌐 Aplicação Web
- Cadastro de usuários
- Login e autenticação
- Dashboard em tempo real
- Histórico de medições
- Filtros por período
- Exportação de relatórios
- Controle manual dos atuadores
## ☁️ Infraestrutura
- Comunicação HTTP (REST)
- API REST em Node.js
- Banco de Dados MongoDB Atlas
- Hospedagem da API no Render
- Controle de versão com Git e GitHub
---
# 🏗️ Arquitetura do Sistema
```text
┌─────────────────┐
│ Sensores │
│ DHT22 e Solo │
└────────┬────────┘
│
▼
┌─────────────────┐
│ ESP32 │
│ Coleta dos dados│
└────────┬────────┘
│ HTTP
▼
┌─────────────────┐
│ API REST │
│ Node.js │
└────────┬────────┘
│
▼
┌─────────────────┐
│ MongoDB Atlas │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Aplicação Web │
│ Dashboard │
│ Histórico │
│ Configurações │
└─────────────────┘
```
---
# 🔧 Tecnologias Utilizadas
## Hardware
- ESP32
- 2 Sensores DHT22
- 2 Sensores de Umidade do Solo
- Bomba de Irrigação
- Ventoinha
- Lâmpada
## Software
### Backend
- Node.js
- Express.js
- MongoDB Atlas
- JWT
- bcrypt
### Frontend
- HTML5
- CSS3
- JavaScript
### Infraestrutura
- HTTP
- REST API
- Render
- GitHub
---
# 📂 Estrutura do Projeto
```text
projeto-ecocomp-http
│
├── frontend
│ ├── home.html
│ ├── historico.html
│ ├── config.html
│ ├── login.html
│ ├── cadastro.html
│ ├── script.js
│ ├── historico.js
│ ├── config.js
│ └── style.css
│
├── script.js (backend)
│
├── Estufa.jpeg
│
└── README.md
```
---
# 🧩 Padrão Arquitetural
O backend foi desenvolvido seguindo o padrão **MVC (Model-View-Controller)**.
## Model
Responsável pela representação dos dados e integração com o MongoDB.
## Controller
Recebe as requisições HTTP e coordena o fluxo de execução.
## Service
Implementa as regras de negócio do sistema:
- Processamento das leituras dos sensores
- Automação da estufa
- Controle dos atuadores
- Validação das requisições HTTP
## DAO
Responsável pelo acesso ao banco de dados.
## Router
Define as rotas da API.
## Middleware
Realiza autenticação e validações.
---
# 🌐 Comunicação HTTP
O ESP32 envia periodicamente as leituras dos sensores para a API utilizando requisições HTTP.
## Envio de Telemetria
```http
POST /api/readings
```
Exemplo de corpo da requisição:
```json
{
"deviceId": "estufa-001",
"soil": 45,
"airTemp": 24,
"airHumidity": 62,
"soilExternal": 40,
"tempExternal": 22,
"airHumidityExternal": 65
}
```
## Controle dos Atuadores
A aplicação web envia comandos para os dispositivos através da API.
```http
PUT /api/actuators/:deviceId
```
Exemplo:
```json
{
"bomba": true,
"ventoinha": false,
"lampada": false
}
```
## Configuração da Automação
```http
PUT /api/configs/:deviceId
```
Exemplo:
```json
{
"soloMin": 40,
"tempMax": 32,
"tempMin": 18
}
```
---
# 🤖 Regras de Automação
O sistema realiza automaticamente o controle dos atuadores com base nos limites configurados.
## Irrigação
```text
Se umidade do solo ≤ soloMin
→ Liga a bomba
```
## Resfriamento
```text
Se temperatura ≥ tempMax
→ Liga a ventoinha
```
## Aquecimento
```text
Se temperatura ≤ tempMin
→ Liga a lâmpada
```
---
# 🗄️ Banco de Dados
O MongoDB Atlas utiliza as seguintes coleções:
## devices
Cadastro das estufas monitoradas pelo sistema.
## readings
Histórico completo das medições realizadas pelos sensores.
## configs
Configurações de automação da estufa.
## actuators
Estado atual dos atuadores.
## users
Usuários cadastrados na plataforma.
---
# 📸 Funcionalidades da Interface
## Dashboard
- Dados em tempo real
- Comparação entre ambiente interno e externo
- Indicadores visuais
## Histórico
- Últimas 24 horas
- Últimos 7 dias
- Últimos 30 dias
- Período personalizado
## Configurações
- Controle manual dos atuadores
- Configuração dos parâmetros automáticos
## Usuários
- Cadastro
- Login
- Recuperação de senha
---
# 👩💻 Desenvolvedoras
- Laura Trigo
- Josiely Toledo
Projeto desenvolvido para a disciplina de **Projeto de Engenharia da Computação II**.
---
# 📜 Licença
Este projeto possui fins acadêmicos e educacionais.