An open API service indexing awesome lists of open source software.

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.

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**.

![Recording 2023-08-19 at 21 44 44](https://github.com/Marcelo-A-O-S/SA3-IOT/assets/77033790/4dfcc545-61d4-486f-ac93-c3a2a7a16b07)

---

## 📌 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