Tabla de contenido:

MONITOREE SU JARDÍN: 16 pasos (con imágenes)
MONITOREE SU JARDÍN: 16 pasos (con imágenes)

Video: MONITOREE SU JARDÍN: 16 pasos (con imágenes)

Video: MONITOREE SU JARDÍN: 16 pasos (con imágenes)
Video: Natanael quizo abrazar a peso pluma no se dejo 2024, Mes de julio
Anonim
SEGUIMIENTO DE SU JARDÍN
SEGUIMIENTO DE SU JARDÍN

Monitoree su jardín desde cualquier lugar, use la pantalla local para monitorear las condiciones del suelo localmente o use Mobile para monitorear desde el control remoto. El circuito utiliza un sensor de humedad del suelo, junto con la temperatura y la humedad para estar al tanto de las condiciones ambientales del suelo.

Paso 1: Componentes:

  1. Arduino uno
  2. Nodemcu
  3. Sensor de temperatura y humedad DHT 11
  4. Sensor de humedad del suelo - FC28
  5. Banco de baterías 10000mah (para alimentar arduino y nodemcu)
  6. Nokia LCD 5110
  7. Resistencia (5 x 10k, 1 x 330ohms)
  8. Potenciómetro Tipo giratorio (para ajustar el brillo de la pantalla LCD) 0-100K
  9. Cables de puente
  10. Tablero de circuitos

Paso 2: SENSOR BÁSICO: Humedad del suelo FC 28

SENSOR BÁSICO: Humedad del suelo FC 28
SENSOR BÁSICO: Humedad del suelo FC 28

Para medir la humedad, utilizamos el sensor de humedad del suelo FC 28, cuyo principio básico es el siguiente: -

Las especificaciones del sensor de humedad del suelo FC-28 son las siguientes: Voltaje de entrada: 3.3 - 5V

Voltaje de salida: 0 - 4,2 V

Corriente de entrada: 35 mA

Señal de salida: analógica y digital

El sensor de humedad del suelo FC-28 tiene cuatro pines: VCC: Alimentación

A0: salida analógica

D0: Salida digital

GND: tierra

Modo analógico Para conectar el sensor en modo analógico, necesitaremos utilizar la salida analógica del sensor. Al tomar la salida analógica del sensor de humedad del suelo FC-28, el sensor nos da un valor de 0 a 1023. La humedad se mide en porcentaje, por lo que mapearemos estos valores de 0 a 100 y luego mostraremos estos valores en el monitor de serie. Puede establecer diferentes rangos de los valores de humedad y encender o apagar la bomba de agua de acuerdo con ellos.

El módulo también contiene un potenciómetro que establecerá el valor de umbral. Este valor de umbral será comparado por el comparador LM393. El LED de salida se iluminará hacia arriba y hacia abajo de acuerdo con este valor de umbral.

El código para la interfaz con el sensor de humedad del suelo se retoma en pasos posteriores.

Paso 3: Comprensión de MQTT: para la publicación remota de datos

Comprensión de MQTT: para la publicación remota de datos
Comprensión de MQTT: para la publicación remota de datos

Antes de continuar, veamos primero la publicación de datos remotos para IOT

MQTT son las siglas de MQ Telemetry Transport. Es un protocolo de mensajería de publicación / suscripción, extremadamente simple y liviano, diseñado para dispositivos restringidos y redes de bajo ancho de banda, alta latencia o poco confiables. Los principios de diseño son minimizar el ancho de banda de la red y los requisitos de recursos del dispositivo al mismo tiempo que se intenta garantizar la confiabilidad y cierto grado de garantía de entrega. Estos principios también resultan en hacer que el protocolo sea ideal para el mundo emergente de dispositivos conectados “máquina a máquina” (M2M) o “Internet de las cosas”, y para aplicaciones móviles donde el ancho de banda y la energía de la batería son primordiales.

Fuente:

MQTT [1] (Transporte de telemetría MQ o Transporte de telemetría de Message Queue Server) es un estándar ISO (ISO / IEC PRF 20922) [2] protocolo de mensajería basado en publicación-suscripción. Funciona sobre el protocolo TCP / IP. Está diseñado para conexiones con ubicaciones remotas donde se requiere una "huella de código pequeña" o el ancho de banda de la red es limitado.

Fuente:

Paso 4: MQTT: Configuración de la cuenta de corredor de MQTT

Hay varias cuentas de corredor MQTT, para este tutorial, he usado cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT son servidores Mosquitto administrados en la nube. Mosquitto implementa el protocolo de transporte de telemetría MQ, MQTT, que proporciona métodos ligeros para llevar a cabo la mensajería utilizando un modelo de cola de mensajes de publicación / suscripción.

Se deben realizar los siguientes pasos para configurar la cuenta cloudmqtt como corredor

  • Cree una cuenta e inicie sesión en el panel de control
  • presione Crear + para crear una nueva instancia
  • Para comenzar, debemos suscribirnos a un plan de cliente, podemos probar CloudMQTT gratis con el plan CuteCat.
  • Después de crear la "instancia", el siguiente paso es crear un usuario y asignar más permisos al usuario para acceder a los mensajes (a través de las reglas de ACL).

Se puede acceder a la guía completa para configurar la cuenta de corredor de MQTT en cloudmqtt siguiendo el enlace: -

Todos los pasos anteriores se colocan uno por uno en las siguientes diapositivas

Paso 5: MQTT: creación de una instancia

MQTT: Creación de una instancia
MQTT: Creación de una instancia

He creado una instancia con el nombre "myIOT"

plan: lindo plan

Paso 6: MQTT: Información de instancia

MQTT: Información de instancia
MQTT: Información de instancia

La instancia se aprovisiona inmediatamente después de registrarse y puede ver los detalles de la instancia, como la información de conexión, en la página de detalles. También puede acceder a la interfaz de administración desde allí. A veces es necesario utilizar una URL de conexión específica

Paso 7: MQTT: Agregar usuario

MQTT: Agregar usuario
MQTT: Agregar usuario

Cree un usuario con el nombre "nodemcu_12" y proporcione una contraseña

Paso 8: MQTT: asignación de la regla ACL

MQTT: Asignación de regla de ACL
MQTT: Asignación de regla de ACL

Después de la creación de un nuevo usuario (nodemcu_12), guarde el nuevo usuario, ahora se proporcionará más ACL al nuevo usuario. En la imagen adjunta, se puede ver que he proporcionado acceso de lectura y escritura al usuario.

Tenga en cuenta: el tema se debe agregar como se muestra en el formato (esto es más necesario para leer y escribir desde el nodo al cliente MQTT)

Paso 9: Nodemcu: Configuración

En este proyecto en particular, he utilizado nodemcu de Knewron Technologies, se puede obtener más información siguiendo el enlace: - (https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Se puede ver que NodeMCU es un firmware basado en eLua para el ESP8266 WiFi SOC de Espressif. Nodemcu de Knowron está precargado con firmware, por lo que solo tenemos que cargar el software de la aplicación, a saber: -

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

Todos los scripts de lua anteriores se pueden descargar desde Github siguiendo el enlace: Descargar desde Github

De los scripts lua anteriores, modifique los scripts config.lua con el nombre de host MQTT, contraseña, ssid wifi, etc.

Para descargar los scripts anteriores a nodemcu, tenemos que usar herramientas como "ESPlorer", consulte los documentos para obtener más información:

Trabajar con ESPlorer se describe en el siguiente paso

Paso 10: Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_1

Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_1
Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_1
  • Haga clic en el botón Actualizar
  • Seleccione el puerto COM (comunicación) y la velocidad en baudios (comúnmente utilizado 9600)
  • Haga clic en Abrir

Paso 11: Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_II

Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_II
Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_II

Paso 12: Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_III

Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_III
Nodemcu: carga de scripts de Lua en Nodemcu con ESPlorer_III

El botón Guardar y compilar enviaría los cuatro scripts lua a nodemcu, después de que nodemcu esté listo para hablar con nuestro arduino.

Recopilación de la información de identificación de CHIP:

Cada nodemcu tiene una identificación de chip (probablemente algún número), esta identificación de chip se requiere además para publicar un mensaje al corredor de MQTT, para conocer la identificación de chip, haga clic en el botón Identificación de chip en "ESPlorer"

Paso 13: Nodemcu: Configuración de Arduino para hablar con Nodemcu

El código mencionado a continuación determina la humedad del suelo, la temperatura y la humedad y además muestra los datos en Nokia LCD 5110, y en serie.

Código Arduino

Luego conecte Arduino RX --- Nodemcu TX

Arduino TX --- Nodemcu RX

El código anterior también incluye formas de usar la biblioteca de softserial, mediante las cuales los pines DO también se pueden usar para funcionar como pines seriales, he usado pines RX / TX para conectarme al puerto serial nodemcu.

Precaución: Como nodemcu funciona con 3.3V, se recomienda usar el cambiador de nivel, sin embargo, me he conectado directamente sin ningún cambiador de nivel y el rendimiento parece perfecto para la aplicación anterior.

Paso 14: Nodemcu: Configuración del cliente MQTT en Android

Nodemcu: Configuración del cliente MQTT en Android
Nodemcu: Configuración del cliente MQTT en Android

El paso final para ver la información en el móvil con el cliente de Android: -

Hay una variedad de aplicaciones de Android MQTT, he usado la de Google Play con el siguiente enlace:

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

La configuración para la aplicación de Android es bastante simple y hay que configurar lo siguiente

  • Dirección de host MQTT junto con el puerto no
  • Nombre de usuario y dirección de MQTT
  • Dirección del nodo del intermediario MQTT

Después de agregar los detalles anteriores, conecte la aplicación, si la aplicación está conectada al broker MQTT, entonces todos los datos de estado / comunicación en serie de las entradas de arduino aparecen como registro.

Paso 15: Pasos adicionales: trabajar con Nokia LCD 5110

Pasos adicionales: trabajar con Nokia LCD 5110
Pasos adicionales: trabajar con Nokia LCD 5110

A continuación se muestra la configuración de pines para LCD 5110

1) RST - Restablecer

2) CE - Habilitación de chip

3) D / C - Selección de datos / comandos

4) DIN - Entrada serial

5) CLK - Entrada de reloj

6) VCC - 3,3 V

7) LUZ - Control de luz de fondo

8) GND - Tierra

Como se muestra arriba, conecte arduino a LCD 5110 en el orden anterior con una resistencia de 1-10 K en el medio.

A continuación se muestran las conexiones pin a pin para LCD 5110 a Arduino uno

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

Se puede usar más pin "BL" de LCD 5110 junto con potenciómetro (0-100K) para controlar el brillo de LCD

La biblioteca utilizada para el código anterior es: - Descargue el PCD8544 desde el enlace mencionado a continuación

La integración de DHT11, sensor de temperatura y humedad con arduino se puede ver desde el siguiente enlace DHT11.

Paso 16: El montaje final

El montaje final
El montaje final

El último paso es ensamblar todo lo anterior en una caja preferiblemente, para el suministro he usado un banco de energía de 10000 mah para alimentar tanto el Arduino como el Nodemcu.

También podemos utilizar cargador de enchufe de pared de larga duración, si así lo desea.

Recomendado: