-
Notifications
You must be signed in to change notification settings - Fork 2
Fluxo de Dados
O sistema utiliza dois tipos de sensores para coletar dados: um sensor DHT11 para medir temperatura e umidade, e um sensor de nível de água para medir a quantidade de água na cafeteira.
-
Sensor DHT11:
- Pino de Dados: O sensor DHT11 está conectado ao pino 0 do microcontrolador.
-
Leitura de Dados: O sensor DHT11 coleta dados de temperatura e umidade. A função
dht.readTemperature()é usada para obter a temperatura, enquantodht.readHumidity()é usada para obter a umidade. - Frequência de Leitura: As leituras são realizadas a cada ciclo de 2 segundos no loop principal do programa.
-
Sensor de Nível de Água:
- Pino de Dados: O sensor de nível de água está conectado ao pino analógico A1 do microcontrolador.
-
Leitura de Dados: Os dados de nível de água são lidos utilizando a função
analogRead(waterSensorPin), que retorna um valor analógico entre 0 e 1023. - Frequência de Leitura: As leituras são realizadas a cada ciclo de 2 segundos no loop principal do programa.
- Média das Leituras: Para melhorar a precisão, uma média de 10 leituras é calculada.
Uma vez que os dados são coletados dos sensores, eles são processados pelo microcontrolador para preparar a transmissão via MQTT e para controle local.
-
Processamento dos Dados do DHT11:
-
Conversão de Dados: Os valores de temperatura e umidade são lidos como
float. -
Controle de LED: A temperatura é usada para controlar um LED conectado ao pino 7. Se a temperatura for maior que 30 graus Celsius, o LED é aceso (
digitalWrite(LED, LOW)), caso contrário, o LED é apagado (digitalWrite(LED, HIGH)). -
Preparação para Transmissão: Os valores de temperatura e umidade são convertidos para strings utilizando
String(temp, 2)eString(hum, 2).
-
Conversão de Dados: Os valores de temperatura e umidade são lidos como
-
Processamento dos Dados do Sensor de Nível de Água:
- Média das Leituras: As leituras são acumuladas e uma média é calculada a cada ciclo para suavizar flutuações.
-
Conversão de Dados: O valor médio das leituras é convertido para string utilizando
String(average). - Controle de LEDs: Baseado no nível de água (em porcentagem), LEDs conectados aos pinos 2, 3 e 4 são controlados para indicar níveis baixo, médio e alto.
Os dados processados são transmitidos via MQTT para um broker configurado. O sistema utiliza a biblioteca PubSubClient para gerenciar a conexão e a comunicação MQTT.
-
Configuração da Conexão MQTT:
- Parâmetros de Conexão: São configurados o SSID da rede WiFi, senha, broker MQTT, tópico, usuário e senha do MQTT.
-
Conexão Inicial: A função
connectMQTT()tenta conectar ao broker MQTT. Em caso de falha, a conexão é tentada até 5 vezes com um intervalo de 2 segundos entre as tentativas.
-
Publicação de Dados:
-
Temperatura e Umidade: Os valores de temperatura e umidade são publicados nos tópicos
2bqsvw6678/temperatura2505e2bqsvw6678/humidade2505respectivamente, utilizando a funçãoclient.publish(topic, message.c_str()). -
Nível de Água: O valor do nível de água é publicado no tópico
2bqsvw6678/nivelAgua2505da mesma forma. -
Estado do Relé: O estado do relé (ligado/desligado) é publicado no tópico
2bqsvw6678/, refletindo se a cafeteira está ligada ou desligada.
-
Temperatura e Umidade: Os valores de temperatura e umidade são publicados nos tópicos
-
Manutenção da Conexão MQTT:
-
Verificação e Reconexão: No loop principal, a função
client.loop()é chamada continuamente para manter a conexão ativa. Se a conexão for perdida, a funçãoconnectMQTT()é chamada novamente para restabelecer a conexão.
-
Verificação e Reconexão: No loop principal, a função
© 2024 - Cafeteira IoT com MQTT & Alexa. Todos os direitos reservados.
Desenvolvido por Aplic-de-cloud-iot-industria-4-0-python.
- Home
- Arquitetura do Sistema
- Changelog
- Configuração
- Configurações do projeto e do sistem
- Conhecimentos Necessários para o Projeto
- Contribuição
- Cronograma do Projeto Cafeteira IoT
- Custo total do projeto
- Depuração
- Descrição
- Developer Guide
- Está perdido? E não sabe por onde começa
- FAQs
- Fluxo de Dados
- Getting Started
- Git
- Instalação
- Integração com MQTT
- Interface com o Usuário
- Lista de possíveis projeto IoT
- Maintenance: Manutenção e Atualizaçõ
- Manutenção e Atualizações
- Padrões de Projeto para o Desenvolvim
- Plataformas para o projeto IoT
- Problemas e Soluções
- Requisitos
- Resources
- Roadmap para C com IoT
- Roadmap para Python com IoT
- SOLID em Python IoT
- Tecnologias Utilizadas
- Testing: Testes e Validação
- Tipos de Protocolos IoT
- Troubleshooting
- Uso
- Uso da cafeteira IoT
- Uso de SOLID com C para Projeto em IoT
- Utilizando a plataforma Sinric Pro
- Visão Geral do Projeto
- Wireshark