Matrícula | Aluno |
---|---|
18/0074741 | Caio Martins |
18/0103580 | Jonathan Jorge |
19/0048760 | Wellington Jonathan |
Neste repositório consta o código do trabalho final que consiste em um sistema para controle de um quarto gamer.
Esse projeto se conecta com um servidor Thingsboard utilizando MQTT e envia informações de telemetria, incluindo dados de temperatura em graus Celsius, umidade relativa, luminosidade e o estado de botões, encoders, e sensor magnetico do kit de desenvolvimento. Além disso, ele também envia informações de alerta como atributos, incluindo alertas de temperatura alta, temperatura baixa, umidade alta e umidade baixa. Também foi utilizado o NVS Flash e o modo Low Power com light sleep para garantir melhor funcionamento do trabalho.
O hardware para esse repositório possui 3 ESPS32, com diferentes entradas e saídas expostas abaixo:
- Encoder rotativo com botão no eixo (CLK -> D5, DT -> D18, SW -> D19)
- Sensor de luminosidade (ADC1 CHANNEL 0)
- LED (GPIO 22)
- Botão (GPIO 5)
- Sensor magnético saida analógica (ADC_CHANNEL_6)
- Sensor magnético saida digital (GPIO 23)
- LED placa (GPIO 2)
- DHT11 (GPIO 26)
- Buzzer (GPIO 33)
- LED RGB (GPIO 17, GPIO 18, GPIO 19)
- LED placa (GPIO 2)
Mais informações sobre a esp03 podem ser encontradas aqui.
As seguintes opções podem ser configuradas usando-se o menuconfig
:
ESP_WIFI_SSID
, o SSID da rede usada para se conectar à InternetESP_WIFI_PASSWORD
, a senha da redeESP_MAXIMUM_RETRY
, número máximo de tentativas de conexão
MQTT_SERVER_URI
, o endereço usado para se conectar ao intermediário (broker) MQTT usado pelo ThingsboardMQTT_USERNAME
, o token usado para se comunicar com o broker MQTT do Thingsboard
BATTERY_MODE
, caso marcada, o microcontrolador entrará no modo Light Sleep periodicamente (entre 10 e 20 segundos). É possível retirá-lo do modo de suspensão ativando o botão da placa.
Para rodar o projeto, é necessário executar os seguintes comandos para cada ESP:
-
Configure o projeto
idf.py menuconfig
-
Compile os códigos-fonte
idf.py build
-
Grave o resultado na memória flash da ESP32
idf.py flash
-
Execute e monitore
idf.py monitor
Abaixo está um gif da dashboard do Thingsboard com os dados enviados pelo projeto.