Skip to content

iagoscm/trabalho-final-embarcados

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Trabalho 3 FSE

Trabalho Final realizado para a disciplina de Fundamentos de Sistemas Embarcados, professor Renato Coral. Ministrada em 2024/2.

Vídeo de apresentação:

Apresentação Final Embarcados


Projeto

Esse projeto implementa uma casa inteligente, com questões mais simples e também mais complexas. Atua pegando temperatura do ambiente, identificando movimento para ligar luz, sensor de toque sensível para luz (luz com intensidade ajustável) e babá eletrônica.

1. Funcionalidades

1.1 Luz sensível ao toque

  • Pra ligar a luz interna da casa, é utilizado o sensor KY-036, que ativa a luz apenas ao encostar no sensor. Essa luz pode ser ajustada via dashboard para maior ou menor intensidade via PWM, e também ser desligada ou ligada via RPC.

1.2 Monitoramento de Temperatura e Umidade

  • Para monitorar a temperatura, foi utilizado um sensor KY-001 que recebe os valores e através do protocolo MQTT passa as informações para a Dashboard. Esse sensor tem a finalidade de monitorar a temperatura e avisá-la ao usuário.

1.3 Babá Eletrônica

  • O sensor KY-038 foi usado tanto na entrada digital quanto a analógica para medir se o bebê está chorando ou não. A entrada analógica é usada para calcular um limiar com base no som ambiente (sempre demonstrada via dashboard), e a digital identifica os sons. Caso alerte, o dashboard é alterado e um LED é ligado, demonstrando que o bebê está chorando.

1.4 Luz externa automática

  • O sensor KY-032 foi usado na ESP-Bateria, a qual está sempre em light sleep, pra quando detectado movimento, mandar uma mensagem pra ESP-Energia avisando do movimento, e ligando a luz LED da ESP-Energia automaticamente por 10 segundos, caso continue recebendo movimento, a luz continua ligada. Essa luz ligada também é notificada via dashboard.

1.5 Visualização física

  • A tela OLED SSD1306 é utilizada para informar ao usuário fisicamente a temperatura e se a babá está alertando ou não.

1.6 Ligar/desligar as funcionalidades

  • As funcionalidades podem ser desligadas via dashboard (método RPC), caso o usuário não queira usar as funcionalidades. O tempo desligado é gravado via NVS por memória flash, e é retornado no dashboard em ms assim que ligado novamente.

2. Componentes Utilizados

  • ESP32: Microcontrolador principal, responsável por realizar o timer do método Pomodoro e gerenciar os sensores. Nesse trabalho foram utilizadas duas unidades.
  • Sensor de som (KY-038): Utilizado para a babá eletrônica, identificando se o bebê está chorando através de entradas analógica e digital.
  • Sensor de toque (KY-036): Controla a luz interna da casa, permitindo ativação por toque da mesma.
  • Sensor de temperatura e umidade (KY-001): Monitora a temperatura e envia os dados para a dashboard via protocolo MQTT.
  • Sensor de movimento (KY-032): Detecta movimento para ativar automaticamente a luz externa, comunicando-se entre ESPs.
  • Tela OLED (SSD1306): Exibe informações sobre temperatura e alertas da babá eletrônica.
  • LEDs: Utilizados para indicar visualmente o estado da babá eletrônica e da luz interna, onde este último pode ter sua intensidade ajustada via dashboard (RPC).

3. Comunicação MQTT

A comunicação entre o ESP32 e o servidor Thingsboard é feita via protocolo MQTT com um broker particular. A comunicação entres as ESP32 é feita via protocolo MQTT com um broker público (mqtt://test.mosquitto.org).

Os dados são enviados em formato JSON, e as placas são capazes de receber comandos RPC para Deep Sleep e ligar e desligar luz.

4. Modo Bateria (Light Sleep)

O modo de bateria foi implementado na esp-bateria.

5. Como rodar

Pré requisitos:

  • Versão 5.3.2 do espressif via VSCode
  • Adicionar variável de ambiente IDF_PATH para "C:\Users\user\esp\v5.3.2\esp-idf" ou parecido dependendo de onde seu esp-idf esteja localizado
  1. Configurar a porta da ESP de acordo com o que seu computador identificou (tenha em mente que os drivers para lidar com a ESP tem de estar baixados, e o IDF_PATH configurado). O símbolo estará abaixo no vscode e se parecerá com isso: porta
  2. Abrir menuconfig (engrenagem no vscode) e atualizar com suas credenciais do wi-fi (ssid e senha), e atualizar a fonte de alimentação de acordo com a esp que está manipulando (Bateria ou Energia) menuconfig
  3. Fazer o build e flash em cada uma das placas respectivamente (pelo vscode, clicando no símbolo de chave de boca e logo após terminar, o símbolo de raio, ou apertar somente no símbolo de chama) icones

Anexos

Dashboard

Protoboard

Review Assignment Due Date

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published