https://github.com/marcelo-a-o-s/sa3-iot
Trabalho final de IOT do curso de Desenvolvimento de Sistemas do Senai na construção de uma comunicação MQTT utilizando uma placa ESP32, gerenciando informações de temperatura e humidade de um DHT22.
https://github.com/marcelo-a-o-s/sa3-iot
arduino cpp esp32 hivemq iot nodemon platformio pubsubclient vscode wokwi
Last synced: 27 days ago
JSON representation
Trabalho final de IOT do curso de Desenvolvimento de Sistemas do Senai na construção de uma comunicação MQTT utilizando uma placa ESP32, gerenciando informações de temperatura e humidade de um DHT22.
- Host: GitHub
- URL: https://github.com/marcelo-a-o-s/sa3-iot
- Owner: Marcelo-A-O-S
- License: mit
- Created: 2023-08-19T15:20:42.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-10T16:22:27.000Z (over 2 years ago)
- Last Synced: 2025-05-20T02:50:32.814Z (about 1 year ago)
- Topics: arduino, cpp, esp32, hivemq, iot, nodemon, platformio, pubsubclient, vscode, wokwi
- Language: C++
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌡️ SA3-IOT
Projeto final de **IoT** do curso de **Desenvolvimento de Sistemas** do SENAI.
O objetivo é construir uma comunicação **MQTT** utilizando uma placa **ESP32**, monitorando informações de **temperatura** e **umidade** de um sensor **DHT22**.

---
## 📌 Funcionalidades
- Leitura de temperatura e umidade via **DHT22**.
- Exibição dos dados em um display **LCD I2C**.
- Comunicação via **MQTT** para envio de dados para um broker.
- Reinício e recompilação automática do firmware com **Node + Nodemon**.
- Emulação do circuito e testes feitos no **Wokwi**.
---
## 🛠️ Tecnologias e Dependências
### PlatformIO (ESP32)
```ini
[env:fm-devkit]
platform = espressif32
board = fm-devkit
framework = arduino
lib_deps =
beegee-tokyo/DHT sensor library for ESPx@^1.19
tonykambo/LiquidCrystal_I2C@0.0.0-alpha+sha.3aa702a291
knolleary/PubSubClient@^2.8
ini
Copiar código
[platformio]
lib_dir = lib
```
### Node.js (Automação de Build)
O projeto utiliza **Node.js** com **Nodemon** para reiniciar e recompilar automaticamente o código sempre que há alterações nos arquivos do projeto.
#### Dependências e Scripts
```json
{
"dependencies": {
"nodemon": "^3.0.1"
},
"scripts": {
"start": "nodemon"
}
}
```
#### Configuração do Nodemon
```json
{
"watch": ["src","lib","lib/private_lib"],
"ext": "cpp,h",
"ignore": ["node_modules"],
"exec": "pio run"
}
```
## ⚡ Como Executar
1. **Clone o repositório**:
```bash
git clone
cd SA3-IOT
```
2. **Instale as dependências do Node.js:**:
```bash
npm install
```
3. **Inicie o monitor automático de compilação:**:
```bash
npm start
```
4. **Abra o PlatformIO no VSCode ou Arduino IDE, conecte a placa ESP32 e faça o upload do código.**
5. **Observe os dados de temperatura e umidade no display LCD e via MQTT.**
## 📶 Circuito e Simulação
O projeto foi emulado e testado no **Wokwi**:
- **ESP32** conectado ao sensor **DHT22**
- **LCD I2C** para exibição dos dados
- **MQTT Broker** configurado para receber os dados em tempo real
Você pode adicionar **imagens ou GIFs** da simulação do Wokwi para melhor visualização do projeto.
---
## 🔧 Estrutura do Projeto
```bash
SA3-IOT/
├── src/ # Código fonte principal
├── lib/ # Bibliotecas externas
├── lib/private_lib/ # Bibliotecas customizadas
├── platformio.ini # Configuração do PlatformIO
├── package.json # Configuração Node.js/Nodemon
└── README.md
```
## 🎯 Objetivo do Projeto
- Integrar **hardware e software** em um projeto de IoT
- Aprender a **utilizar MQTT** para comunicação entre dispositivos
- Praticar o uso de **ESP32, sensores DHT22 e LCD I2C**
- Automatizar compilação e upload de firmware com **Nodemon**
---
## 👤 Autor
- **Marcelo Augusto** – Desenvolvedor e responsável pelo projeto