Aluno | Matrícula |
---|---|
João Pedro de Camargo Vaz | 200020650 |
Gabriel Roger Amorim da Cruz | 200018248 |
Ao clicar, é possível ter acesso ao enunciado do trabalho final, que, para a nossa dupla, consistiu na implementação de um sistema para controlar uma estufa de plantas.
O objetivo deste trabalho é criar sensores e atuadores distribuídos baseados nos microcontroladores ESP32 interconectados via Wifi através do protocolo MQTT. Eles controlam a aquisição de dados do sensor DHT11 para exibir ao usuário a temperatura e a umidade da estufa, Buzzer e LED RGB para alertar o usuário caso a temperatura ou a umidade cheguem a valores críticos, LED RGB para ativar/desativar o sistema de irrigação, além de Leds RGB e o Encoder Rotativo para controlar a intensidade da luz e a intensidade da ventilação dentro da estufa.
A ESP número 2 foi implementada no modo bateria, por meio do deep sleep, sendo acordada para funcionar por 1 minuto através do botão BOOT da própria ESP. Já a ESP número 1 opera no modo energia que representa o dispositivo ligado à tomada.
Toda a comunicação foi implementada via rede Wifi com o protocolo MQTT, onde o controle dos dispositivos ocorre por meio do servidor central no Thingsboard e os dados de atributos e de telemetria são exibidos no Dashboard da plataforma.
Informações mais técnicas, como, por exemplo, pinagem etc, podem ser encontrados no README da pasta de cada esp32: ESP 1 ESP 2
O hardware para esse repositório possui 2 ESPS32, com diferentes entradas e saídas expostas abaixo:
- LED RGB (Controle de Irrigação)
- LED RGB (Controle de Temperatura e Umidade)
- DHT11
- Buzzer
- LED RGB
- Encoder Rotativo (Controle da intensidade da luz)
- Encoder Rotativo (Controle do fluxo de ventilação)
O pino de - no LED RGB está invertido, portanto quando for realizar a montagem na protoboard, colocar o pino de - do LED RGB no + da protoboard.
- Clonar o repositório
Primeiramente, é necessário o projeto estar dentro da pasta esp. Em seguida, entrar na pasta da ESP que será executada. Por exemplo, se for executar o código da ESP 1, entrar na pasta esp1:
- Exporte seu projeto
. ~/esp/esp-idf/export.sh
-
Configure o projeto
idf.py menuconfig
WIFI SSID
, o SSID (nome) da rede usada para se conectar à Internetpassword
, a senha da redeMAXIMUM_RETRY
, número máximo de tentativas de conexão
Flash Size
, altera o Flash size para 4 MBDetect flash size when flashing bootloader
, deixa selecionado o Detect flash size when flashing bootloader
Partition Table
, seleciona o Custom partition table CSVCustom partition table CSV
, altera o nome do arquivo .csv para partition.csv
Em alguns casos, é necessário dar acesso à porta em que a ESP se encontra. Nesse caso, basta rodar o seguinte comando:
-
Acesso à porta ttyUSB0
sudo chmod 0777 /dev/ttyUSB0
-
Compile os códigos-fonte
idf.py build
-
É recomendável limpar a memória flash da esp, com o seguinte comando
idf.py -p /dev/ttyUSB0 erase_flash
-
Execute e monitore
idf.py -p /dev/ttyUSB0 flash monitor
Segue abaixo o link de acesso para o nosso dashboard:
Esta é uma imagem do dashboard do Thingsboard com os dados enviados pelo projeto.