Índice:

Green House Automation: 11 etapas
Green House Automation: 11 etapas

Vídeo: Green House Automation: 11 etapas

Vídeo: Green House Automation: 11 etapas
Vídeo: 30MHz: Building A Smart Agriculture Solution For Indoor Farms And Greenhouses On AWS 2024, Julho
Anonim
Green House Automation
Green House Automation

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

Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários
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

Idioma e protocolo
Idioma e protocolo
Idioma e protocolo
Idioma e protocolo
Idioma e protocolo
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

Eclipse Mosquitto MQTT Broker
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

  1. NodeMCU
  2. Raspberry Pi
  3. 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

Conexão de Sensores com o NodeMCU
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

Conexão da bomba de água submersível com o ESP8266
Conexão da bomba de água submersível com o ESP8266
Conexão da bomba de água submersível com o ESP8266
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?

Como funciona o MQTT?
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.

  1. Ele se inscreve em um tópico em que o sensor envia as leituras do sensor.
  2. Ele publica o comando liga / desliga da bomba de água para o intermediário MQTT.
  3. 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

Trabalho Completo
Trabalho Completo

A seguir estão as etapas em que o processo continua.

  1. O NodeMCU funciona como parte do sensor e lê a temperatura, umidade e o nível de umidade do solo.
  2. Ele envia as leituras para o corretor MQTT com um tópico "Tópico 1"
  3. Em um laptop, o programa python está em execução e se inscreve em um tópico "Tópico 1" com o broker MQTT.
  4. Quando o NodeMCU envia as leituras, o Mosquitto MQTT Broker imediatamente envia os dados para o programa python.
  5. 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.
  6. 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"
  7. 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.
  8. Ú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: