Índice:

MONITORE SEU JARDIM: 16 etapas (com imagens)
MONITORE SEU JARDIM: 16 etapas (com imagens)

Vídeo: MONITORE SEU JARDIM: 16 etapas (com imagens)

Vídeo: MONITORE SEU JARDIM: 16 etapas (com imagens)
Vídeo: Acidente de trabalho em máquina 2024, Novembro
Anonim
MONITORE SEU JARDIM
MONITORE SEU JARDIM

Monitore seu jardim de qualquer lugar, use o monitor local para monitorar as condições do solo localmente ou use o celular para monitorar remotamente. O circuito usa sensor de umidade do solo, juntamente com temperatura e umidade para alertar sobre as condições ambientais do solo.

Etapa 1: Componentes:

  1. Arduino uno
  2. Nodemcu
  3. Sensor de temperatura e umidade DHT 11
  4. Sensor de umidade do solo - FC28
  5. Banco de bateria 10000mah (para alimentar arduino e nodemcu)
  6. Nokia LCD 5110
  7. Resitor (5 x 10k, 1 x 330ohms)
  8. Tipo giratório do potenciômetro (para ajustar o brilho do LCD) 0-100K
  9. Fios de ligação
  10. Tábua de pão

Etapa 2: SENSOR BÁSICO: Umidade do solo FC 28

SENSOR BÁSICO: Umidade do solo FC 28
SENSOR BÁSICO: Umidade do solo FC 28

Para medir a umidade, estamos usando o sensor de umidade do solo FC 28, cujo princípio básico é o seguinte: -

As especificações do sensor de umidade do solo FC-28 são as seguintes: Tensão de entrada: 3,3 - 5V

Tensão de saída: 0 - 4,2 V

Corrente de entrada: 35mA

Sinal de saída: analógico e digital

O sensor de umidade do solo FC-28 tem quatro pinos: VCC: Alimentação

A0: Saída Analógica

D0: Saída Digital

GND: Ground

Modo analógicoPara conectar o sensor no modo analógico, precisaremos usar a saída analógica do sensor. Ao tirar a saída analógica do sensor de umidade do solo FC-28, o sensor nos dá um valor de 0 a 1023. A umidade é medida em porcentagem, então mapearemos esses valores de 0 a 100 e depois mostraremos esses valores em o monitor serial. Você pode definir diferentes faixas de valores de umidade e ligar ou desligar a bomba d'água de acordo com isso.

O Módulo também contém um potenciômetro que definirá o valor limite. Este valor limite será comparado pelo comparador LM393. O LED de saída acenderá e diminuirá de acordo com este valor limite.

O código para interface com o sensor de umidade do solo é retomado em etapas posteriores

Etapa 3: Noções básicas sobre MQTT: para publicação remota de dados

Noções básicas sobre MQTT: para publicação remota de dados
Noções básicas sobre MQTT: para publicação remota de dados

Antes de começarmos, vamos primeiro examinar a publicação remota de dados para IOT

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.

Fonte:

MQTT [1] (MQ Telemetry Transport ou Message Queuing Telemetry Transport) é um padrão ISO (ISO / IEC PRF 20922) [2] protocolo de mensagens baseado em publicação-assinatura. Ele funciona com base no protocolo TCP / IP. Ele é projetado para conexões com locais remotos onde uma "pegada pequena de código" é necessária ou a largura de banda da rede é limitada.

Fonte:

Etapa 4: MQTT: Configurando a conta do corretor MQTT

Existem várias contas de corretor MQTT, para este tutorial, usei cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT são servidores Mosquitto gerenciados na nuvem. O Mosquitto implementa o protocolo MQ Telemetry Transport, MQTT, que fornece métodos leves de execução de mensagens usando um modelo de enfileiramento de mensagens de publicação / assinatura.

As etapas a seguir devem ser executadas para configurar a conta cloudmqtt como corretor

  • Crie uma conta e faça login no painel de controle
  • pressione Criar + para criar uma nova instância
  • Para começar, precisamos nos inscrever em um plano de cliente, podemos experimentar o CloudMQTT gratuitamente com o plano CuteCat.
  • Depois de criar a "instância", a próxima etapa é criar o usuário e posteriormente atribuir permissão ao usuário para acessar mensagens (via regras ACL)

O guia completo para configurar a conta do corretor MQTT em cloudmqtt pode ser acessado seguindo o link: -

Todas as etapas acima são colocadas uma a uma nos slides seguintes

Etapa 5: MQTT: criando uma instância

MQTT: Criando uma instância
MQTT: Criando uma instância

Eu criei uma instância com o nome "myIOT"

plano: plano bonito

Etapa 6: MQTT: informações da instância

MQTT: Informações da instância
MQTT: Informações da instância

A instância é provisionada imediatamente após a inscrição e você pode visualizar os detalhes da instância, como informações de conexão, na página de detalhes. Você também pode acessar a interface de gerenciamento de lá. Às vezes, você precisa usar um URL de conexão específico

Etapa 7: MQTT: Adicionando usuário

MQTT: Adicionando usuário
MQTT: Adicionando usuário

Crie um usuário com o nome “nodemcu_12” e forneça uma senha

Etapa 8: MQTT: Atribuindo regra ACL

MQTT: Atribuindo regra ACL
MQTT: Atribuindo regra ACL

Após a criação do novo usuário (nodemcu_12), salve o novo usuário, agora mais ACL deve ser fornecida ao novo usuário. Na foto em anexo, pode-se ver que forneci ao usuário acesso de leitura e gravação.

Observação: o tópico deve ser adicionado conforme mostrado no formato (isso é necessário para leitura e gravação do nó para o cliente MQTT)

Etapa 9: Nodemcu: Configurando

Neste projeto específico, usei o nodemcu da Knewron Technologies, mais informações podem ser obtidas seguindo o link: - (https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Pode ser visto que, NodeMCU é um firmware baseado em eLua para o ESP8266 WiFi SOC da Espressif. O Nodemcu do Knowron é pré-carregado com o firmware, então temos que carregar apenas o software do aplicativo, a saber: -

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

Todos os scripts lua acima podem ser baixados do Github seguindo o link: Download do Github

A partir dos scripts lua acima, modifique os scripts config.lua com o nome do host MQTT, senha, ssid wi-fi etc.

Para baixar os scripts acima para nodemcu, temos que usar ferramentas como "ESPlorer", consulte os documentos para obter mais informações:

O trabalho com ESPlorer é descrito na próxima etapa

Etapa 10: Nodemcu: upload de scripts Lua para o Nodemcu com ESPlorer_1

Nodemcu: enviando scripts Lua para o Nodemcu com ESPlorer_1
Nodemcu: enviando scripts Lua para o Nodemcu com ESPlorer_1
  • Clique no botão Atualizar
  • Selecione a porta COM (comunicação) e a taxa de transmissão (normalmente usado 9600)
  • Clique em Abrir

Etapa 11: Nodemcu: upload de scripts Lua para o Nodemcu com ESPlorer_II

Nodemcu: upload de scripts Lua para o Nodemcu com ESPlorer_II
Nodemcu: upload de scripts Lua para o Nodemcu com ESPlorer_II

Etapa 12: Nodemcu: upload de scripts Lua para o Nodemcu com ESPlorer_III

Nodemcu: enviando scripts Lua para o Nodemcu com ESPlorer_III
Nodemcu: enviando scripts Lua para o Nodemcu com ESPlorer_III

O botão Salvar e compilar enviaria todos os quatro scripts lua para nodemcu, após este nodemcu estar pronto para falar com nosso arduino.

Coletando as informações de ID do CHIP:

Cada nodemcu tem um id de chip (provavelmente algum nº), este id de chip é ainda necessário para publicar mensagem para o corretor MQTT, a fim de saber sobre o ID do chip, clique no botão Chip id em "ESPlorer"

Etapa 13: Nodemcu: Configurando o Arduino para falar com o Nodemcu

O código abaixo mencionado determina a umidade do solo, temperatura e umidade e exibe ainda os dados no nokia LCD 5110 e em série.

Código Arduino

Em seguida, conecte o Arduino RX --- Nodemcu TX

Arduino TX --- Nodemcu RX

O código acima também inclui maneiras de usar a biblioteca serial, pela qual os pinos DO também podem ser usados para funcionar como pinos seriais, usei pinos RX / TX para conectar à porta serial nodemcu.

Cuidado: Como o nodemcu funciona com 3.3V, é aconselhável usar o deslocador de nível, no entanto, conectei diretamente sem nenhum deslocador de nível e o desempenho parece ideal para a aplicação acima.

Etapa 14: Nodemcu: Configurando o cliente MQTT no Android

Nodemcu: Configurando o cliente MQTT no Android
Nodemcu: Configurando o cliente MQTT no Android

A etapa final para visualizar as informações no celular com o cliente Android: -

Existem vários aplicativos para Android MQTT, usei o do Google Play com o seguinte link:

.https://play.google.com/store/apps/details?

A configuração do aplicativo Android é bastante simples e é necessário configurar o seguinte

  • Endereço do host MQTT junto com o número da porta
  • Nome de usuário e endereço MQTT
  • Endereço do nó do broker MQTT

Depois de adicionar os detalhes acima, conecte o aplicativo, se o aplicativo estiver conectado ao broker MQTT, todos os dados de status de entrada / comunicação serial do arduino aparecem como log.

Etapa 15: etapas adicionais: trabalhar com o Nokia LCD 5110

Etapas adicionais: Trabalhando com o Nokia LCD 5110
Etapas adicionais: Trabalhando com o Nokia LCD 5110

A seguir estão as configurações de pinos para LCD 5110

1) RST - Reiniciar

2) CE - Habilitar Chip

3) D / C - Seleção de Dados / Comando

4) DIN - entrada serial

5) CLK - Entrada de Relógio

6) VCC - 3,3V

7) LUZ - Controle de luz de fundo

8) GND - Terra

Conforme mostrado acima, conecte o Arduino ao LCD 5110 na ordem acima com um resistor de 1-10 K no meio.

A seguir estão as conexões pino a pino do LCD 5110 para o Arduino uno

  • CLK - Arduino Digital pino 3
  • DIN - Arduino Digital pino 4
  • D / C - pino 5 do Arduino Digital
  • RST - Arduino Digital pino 6
  • CE - Arduino Digital pino 7

O pino "BL" adicional do LCD 5110 pode ser usado junto com o potentímetro (0-100K) para controlar o brilho do LCD

A biblioteca usada para o código acima é: - Baixe o PCD8544 no link abaixo mencionado

A integração do DHT11, sensor de temperatura e umidade com o arduino pode ser verificada no link DHT11.

Etapa 16: A montagem final

A Montagem Final
A Montagem Final

A última etapa é montar todos os itens acima em uma caixa, de preferência, para suprir eu usei 10000mah powerbank para alimentar tanto o Arduino quanto o Nodemcu.

Também podemos usar um carregador de parede de longa duração, se desejar.

Recomendado: