Índice:
- Etapa 1: Componentes:
- Etapa 2: SENSOR BÁSICO: Umidade do solo FC 28
- Etapa 3: Noções básicas sobre MQTT: para publicação remota de dados
- Etapa 4: MQTT: Configurando a conta do corretor MQTT
- Etapa 5: MQTT: criando uma instância
- Etapa 6: MQTT: informações da instância
- Etapa 7: MQTT: Adicionando usuário
- Etapa 8: MQTT: Atribuindo regra ACL
- Etapa 9: Nodemcu: Configurando
- Etapa 10: Nodemcu: upload de scripts Lua para o Nodemcu com ESPlorer_1
- Etapa 11: Nodemcu: upload de scripts Lua para o Nodemcu com ESPlorer_II
- Etapa 12: Nodemcu: upload de scripts Lua para o Nodemcu com ESPlorer_III
- Etapa 13: Nodemcu: Configurando o Arduino para falar com o Nodemcu
- Etapa 14: Nodemcu: Configurando o cliente MQTT no Android
- Etapa 15: etapas adicionais: trabalhar com o Nokia LCD 5110
- Etapa 16: A montagem final
Vídeo: MONITORE SEU JARDIM: 16 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
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:
- Arduino uno
- Nodemcu
- Sensor de temperatura e umidade DHT 11
- Sensor de umidade do solo - FC28
- Banco de bateria 10000mah (para alimentar arduino e nodemcu)
- Nokia LCD 5110
- Resitor (5 x 10k, 1 x 330ohms)
- Tipo giratório do potenciômetro (para ajustar o brilho do LCD) 0-100K
- Fios de ligação
- Tábua de pão
Etapa 2: 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
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
Eu criei uma instância com o nome "myIOT"
plano: plano bonito
Etapa 6: 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
Crie um usuário com o nome “nodemcu_12” e forneça uma senha
Etapa 8: 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
- 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
Etapa 12: Nodemcu: upload de 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
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
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 ú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:
Faça você mesmo: monitore a bateria do seu carro: Código e configuração: 8 etapas
DIY: Monitore a bateria do seu carro: Código e configuração: Ter a capacidade de monitorar a bateria do seu carro pode evitar algumas surpresas desagradáveis. Vou mostrar como montei o hardware, carreguei o software e instalei o monitor no meu carro. Usarei a placa ESP8266 chamada Wemos D1 Mini
Garduino - o jardim inteligente com Arduino: 4 etapas (com imagens)
Garduino - o jardim inteligente com Arduino: Hoje em dia, ninguém é inocente. Existe alguém que não matou acidentalmente uma planta ??? É difícil manter suas plantas vivas. Você compra uma planta nova e, na pior das hipóteses, simplesmente se esquece de regá-la. Na melhor das hipóteses, você se lembra que existe, mas você
Jardim inteligente de IoT: 10 etapas (com imagens)
Smart IoT Garden: Se você for como eu, gosta de frutas e vegetais frescos no seu prato, mas não tem tempo suficiente para manter um jardim decente. Este instrutível mostrará como construir um jardim IoT inteligente (eu o chamo: Guarda Verde) que rega seu pl
Regador automático de jardim - Impresso em 3D - Arduino: 10 etapas (com imagens)
Regador automático de jardim | Impresso em 3D | Arduino: Sou um jardineiro experiente, mas molhar suas plantas manualmente durante períodos de seca leva algum tempo. Este projeto me livra de regar, então posso trabalhar em meus outros projetos. Também é ótimo cuidar do jardim enquanto você está longe de casa e da planta
Trem do jardim - Arduino Wireless NMRA DCC: 4 etapas (com imagens)
Garden Train - Arduino Wireless NMRA DCC: Além do anterior instrutível com DCC no sistema dead rail, desenvolvi a ideia ainda mais com uma estação de comando DCC portátil com teclado e display LCD. A estação de comando contém toda a codificação necessária para as instruções NMRA DCC, entretanto