Índice:
- Etapa 1: Componentes necessários
- Etapa 2: idioma e protocolo
- Etapa 3: Eclipse Mosquitto MQTT Broker
- Etapa 4: Fluxo de dados em todo o projeto
- Etapa 5: conexão de sensores com o NodeMCU
- Etapa 6: conexão da bomba de água submersível com o ESP8266
- Etapa 7: Instalando o Mosquitto Broker e executando o programa Python no Raspberry Pi
- Etapa 8: Como funciona o MQTT?
- Etapa 9: Programando NodeMCU e ESP8266
- Etapa 10: projetar uma página da Web e conectar-se ao banco de dados SQL
- Etapa 11: Concluir o trabalho
Vídeo: Green House Automation: 11 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
A automação da estufa é um projeto onde três parâmetros de uma estufa, ou seja, umidade do solo, temperatura e umidade, são monitorados pelo usuário remotamente simplesmente usando um navegador da web.
Etapa 1: Componentes necessários
Alguns componentes essenciais necessários estão listados abaixo
1. Framboesa PI Modelo B
2. Placa de Desenvolvimento NodeMCU
3. Módulo ESP8266 Wifi
4. Sensor de umidade
5. Sensor de Temperatura e Umidade DHT11
6. Relé de canal único 5V
7. Bomba de água submersível 5V
8. Tábua de pão
9. Módulo de fonte de alimentação da placa de pão
Etapa 2: idioma e protocolo
- A linguagem C é usada para os microcontroladores.
- MQTT Messaging: MQTT significa MQ Telemetry Transport. É um protocolo de mensagens de publicação / assinatura extremamente simples e leve, projetado para dispositivos restritos e redes de baixa largura de banda, alta latência ou não confiáveis. Os princípios de design visam minimizar a largura de banda da rede e os requisitos de recursos do dispositivo, ao mesmo tempo que tentam garantir a confiabilidade e algum grau de garantia de entrega. Esses princípios também tornam o protocolo ideal para o mundo emergente “máquina a máquina” (M2M) ou “Internet das Coisas” de dispositivos conectados, e para aplicações móveis em que largura de banda e bateria são preciosas.
- O programa Python é usado para automatizar o fluxo de água e a conectividade do banco de dados.
Etapa 3: Eclipse Mosquitto MQTT Broker
Aqui, usei o Mosquitto MQTT Broker para facilitar a comunicação de mensagens entre os nós.
Eclipse Mosquitto é um agente de mensagens de software livre (licenciado por EPL / EDL) que implementa o protocolo MQTT versões 5.0, 3.1.1 e 3.1. O Mosquitto é leve e adequado para uso em todos os dispositivos, desde computadores de placa única de baixa potência até servidores completos.
O protocolo MQTT fornece um método leve de execução de mensagens usando um modelo de publicação / assinatura. Isso o torna adequado para mensagens da Internet das Coisas, como sensores de baixa potência ou dispositivos móveis, como telefones, computadores integrados ou micro controladores.
O projeto Mosquitto também fornece uma biblioteca C para implementar clientes MQTT e os clientes MQTT de linha de comando muito populares mosquitto_pub e mosquitto_sub.
Etapa 4: Fluxo de dados em todo o projeto
Na imagem acima, os nós são
- NodeMCU
- Raspberry Pi
- ESP8266
NodeMCU é a parte sensora da Green House e o ESP8266 é a parte atuadora que fornece água quando o solo precisa de água de acordo com os sensores.
Raspberry PI contém o Mosquitto Broker e um cliente Python que assina as mensagens provenientes do MQTT Broker e armazena os dados em um servidor SQL.
Etapa 5: conexão de sensores com o NodeMCU
O sensor de temperatura e umidade DHT11 e o sensor de umidade da água podem operar com 3,3 volts.
NodeMCU não pode fornecer mais de 3,3 volts. Assim, os sensores podem ser conectados diretamente à placa do microcontrolador NodeMCU.
Etapa 6: conexão da bomba de água submersível com o ESP8266
Uma bomba de água submersível é usada para fornecer água sempre que necessário.
A bomba de água precisa de fonte de alimentação de 5 volts para sua operação.
Um relé de canal único é necessário para conectar o motor. Quando o pino GPIO2 do ESP8266 é ativado, o relé é ligado e fornece água automaticamente usando a bomba de água submersível.
Aqui, a fonte de alimentação externa é fornecida para a placa ESP8266, relé e bomba de água submersível.
Minha conexão de hardware completa está na imagem acima.
Etapa 7: Instalando o Mosquitto Broker e executando o programa Python no Raspberry Pi
A seguir estão as etapas para instalar o corretor Mosquitto no Raspberry PI
Abra o terminal e digite os seguintes comandos
sudo apt-add-repository ppa: mosquitto-dev / mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients
Ele deve iniciar automaticamente o mosquitto.
Para parar e iniciar o serviço que eu precisava usar
sudo serviço parar mosquito
sudo service start mosquitto
A maioria dos sites que descobri onde usar o formato.
sudo /etc/init.d/mosquitto parar
Etapa 8: Como funciona o MQTT?
MQTT é um dos protocolos mais comumente usados em projetos de IoT. Significa Transporte de Telemetria de Enfileiramento de Mensagens.
Além disso, ele foi projetado como um protocolo de mensagens leve que usa operações de publicação / assinatura para trocar dados entre clientes e o servidor. Além disso, seu pequeno tamanho, baixo consumo de energia, pacotes de dados minimizados e facilidade de implementação tornam o protocolo ideal do mundo “máquina a máquina” ou “Internet das Coisas”.
Como qualquer outro protocolo da Internet, o MQTT é baseado em clientes e um servidor. Da mesma forma, o servidor é o cara que é responsável por lidar com as solicitações do cliente de recebimento ou envio de dados entre si. O servidor MQTT é chamado de corretor e os clientes são simplesmente os dispositivos conectados.
* Quando um dispositivo (um cliente) deseja enviar dados ao corretor, chamamos essa operação de “publicar”.
* Quando um dispositivo (um cliente) deseja receber dados do corretor, chamamos essa operação de “assinatura”.
Etapa 9: Programando NodeMCU e ESP8266
A seguir estão o código-fonte para a placa do microcontrolador NodeMCU e ESP8266
Etapa 10: projetar uma página da Web e conectar-se ao banco de dados SQL
A página da Web é projetada em HTML, CSS e linguagem PHP.
PHP é usado para extrair as leituras do sensor do banco de dados e mostrá-las na página HTML.
Um programa python é usado como o coração deste projeto.
Os trabalhos que o programa python está fazendo são os seguintes.
- Ele se inscreve em um tópico em que o sensor envia as leituras do sensor.
- Ele publica o comando liga / desliga da bomba de água para o intermediário MQTT.
- Ele armazena a leitura do sensor em um banco de dados SQL.
Aqui, no meu caso, o programa python e o banco de dados SQL estão presentes em um laptop. A página da web em execução por meio de um host local.
A seguir está o código-fonte do meu programa Python.
Etapa 11: Concluir o trabalho
A seguir estão as etapas em que o processo continua.
- O NodeMCU funciona como parte do sensor e lê a temperatura, umidade e o nível de umidade do solo.
- Ele envia as leituras para o corretor MQTT com um tópico "Tópico 1"
- Em um laptop, o programa python está em execução e se inscreve em um tópico "Tópico 1" com o broker MQTT.
- Quando o NodeMCU envia as leituras, o Mosquitto MQTT Broker imediatamente envia os dados para o programa python.
- O programa Python então calcula se há necessidade de água na Casa Verde. Em seguida, ele armazena as leituras no banco de dados SQL.
- Se a água for necessária na Green House, o programa python publica uma mensagem de ativação / desativação da bomba de água para o corretor Mosquitto MQTT com um tópico "Tópico 2"
- ESP8266 funciona como um atuador. Ele se inscreve no tópico "Tópico 2" em que tópico o programa python está publicando a mensagem. Quando o programa python publica qualquer mensagem, a mensagem é imediatamente transferida para o ESP8266. De acordo com a mensagem liga / desliga, liga / desliga a bomba d'água submersível.
- Última fase para exibir as leituras ao vivo na página web. A página da web busca os dados do banco de dados SQL no qual o programa python armazena os dados diretamente e exibe as leituras na página.
Recomendado:
House Alarm Internet Dialer para Aritech com Arduino: 6 etapas
House Alarm Internet Dialer para Aritech com Arduino: Um alarme doméstico e empresarial muito comum usado em muitos países da Europa é a série Aritech de painéis de alarme. Eles foram instalados até o início de 2000 em suas centenas de milhares e muitos ainda existem em casas hoje - eles geralmente são renomeados por
Oradores Bird House: 5 etapas
Oradores da Bird House: Minha família passa muito tempo no quintal assistindo filmes, dando festas e curtindo o dia. Eu me peguei arrastando muito rádios e alto-falantes para fora. Claro que existe uma solução melhor. Meu objetivo era ter um sistema externo permanente, com f
Monitoramento de Green House com IOT: 5 etapas
Monitoramento de estufa com IOT: Quando se trata de agricultura, monitorar a temperatura & a umidade das plantas é um fator importante para sua sobrevivência. Atualmente, as pessoas usam termômetros fixados em uma estufa para que os agricultores possam medir a temperatura. No entanto, este aplicativo manual
Ultimate GREEN DIY Trackball Mouse From Junk: 10 etapas (com imagens)
Mouse Trackball VERDE DIY final da Junk: Olá a todos! Hoje estaremos construindo um mouse Green DIY Trackball com lixo antigo que temos por aí. Este projeto é verde por 3 razões: É feito de lixo, por isso é amigo do ambiente. Incorporei LEDs verdes no design (por que
LEGO Green Screen Light Box: 4 etapas
LEGO Green Screen Light Box: Um amigo tinha se interessado em fazer curtas-metragens com minifigs LEGO, então eu queria fazer algo para ajudar no seu aniversário. Dependendo da cor dos itens que você vai fotografar, você pode querer um fundo de cor azul ou rosa choque em vez do