Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

WaterPi:Sistema de monitoreo y riego remoto de plantas de interior

Componentes y suministros

Raspberry Pi 1 Modelo B
× 1
Arduino UNO
× 1
Sensor de temperatura y humedad DHT11 (4 pines)
× 1
Sensor de humedad del suelo YL-69
× 1
Sensor de nivel de agua
× 1
LCD estándar 16x2
× 1
Motor de bomba de agua
× 1
Relé 5V
× 1
portapilas 4xAA
× 1

Aplicaciones y servicios en línea

Amazon Web Services AWS IoT
Amazon Web Services AWS DynamoDB
Johnny-Five

Acerca de este proyecto

Introducción

El sistema es una solución adecuada para las personas que aman y desean cuidar las plantas en su casa pero que están muy ocupadas en los trabajos diarios para hacerlo. Cultivar plantas requiere tiempo y esfuerzo para tener éxito porque hay algunas cosas regulares que hacer, como regarlas todos los días. La gente a veces se olvida de cuidar sus plantas. Además, algunas personas viajan mucho y pasan menos tiempo en su casa. En este contexto, generalmente piden ayuda para cuidar sus plantas de interior; de lo contrario, simplemente renuncian a tenerlas. WaterPican ayuda a esas personas a hacer cosas regulares para las plantas. Además, debido a que se puede controlar de forma remota, los propietarios de las plantas pueden interferir fácilmente en el proceso de riego cuando sea necesario.


El sistema monitorea la temperatura y la humedad del lugar, y la humedad del suelo, riega la planta de forma remota y luego guarda todos los datos en DynamoDB a través de AWS IoT. Los datos recopilados se visualizan mediante diferentes gráficos y figuras para brindar una mejor comprensión de las condiciones en las que prospera la planta.


Raspberry Pi ejecuta una aplicación nodejs para controlar todos los sensores y la bomba de agua. Para ese propósito, preferí usar la biblioteca Johnny-Five. Para comunicarme con AWS, utilicé AWS IoT SDK para javascript.


Paso 1:configurar DynamoDB

DynamoDB se utiliza para guardar los datos recopilados por los sensores. Vaya a la página de DynamoDB y cree una nueva tabla con los siguientes atributos:

  • Nombre de la tabla: waterpi_sensor_data
  • Clave de partición: clave
  • Haga clic en Agregar clave de ordenación y agregue marca de tiempo

Lo importante es que el tipo de clave y marca de tiempo debe ser String.

Paso 2:configurar AWS IoT

Vaya a la página de la consola de AWS IoT y haga lo siguiente:

Crea algo con el nombre raspi-water-pump

Crea una nueva política. Nombre de la política pump-policy, Acción iot:*, recurso * , seleccione Permitir, luego haga clic en Agregar declaración y Crear.

Cree un certificado con Crear certificado con 1 clic . Luego, descargue la clave pública, la clave privada y el certificado.

Luego, debe seleccionar el certificado que creó y hacer lo siguiente:

  • haga clic en Acciones > Activar botón el certificado
  • haga clic en Acciones> Adjuntar una política , escriba el nombre de la política que creó y haga clic en Adjuntar
  • haga clic en Acciones> Adjuntar un elemento , escriba raspi-water-pump y haga clic en Adjuntar

Cree una regla con lo siguiente:

  • nombre saveToDynamoDB
  • Atributo *
  • Filtro de tema sensor / datos
  • Elija una acción insertar mensaje en una tabla de base de datos
  • Nombre de la tabla waterpi_sensor_data
  • Valor de clave hash $ {topic ()}
  • Valor de clave de rango $ {timestamp ()}
  • Nombre de la función> Haga clic en crear una nueva función . y haz clic en Permitir en la página de inicio, luego selecciónelo en el menú desplegable Nombre del rol

Paso 3:preparación de Arduino

Las salidas del sensor de nivel de agua y humedad del suelo son salidas analógicas. Entonces, en lugar de conectarlos directamente a Raspberry Pi, prefiero usar Arduino para tomar esos valores analógicos y luego enviarlos a Pi a través de Arduino como un valor digital. Los códigos de Arduino son actualizados por pi, por lo que lo único que debemos hacer en este paso es conectar Arduino a nuestra computadora y cargarle la firmata estándar.

Si no tiene Arduino IDE, siga los pasos aquí para instalarlo.

  • Abrir IDE de Arduino
  • Abra Archivo> Ejemplos> Firmata> StandardFirmata ejemplo
  • Subir boceto a Arduino




El cableado de la humedad del suelo al esquema de Arduino debe ser como el siguiente;

  • VCC (alimentación) -> PIN 7
  • GND (tierra) -> GND
  • AO (salida analógica) -> A1

El cableado del sensor de nivel de agua al esquema Arduino debe ser como se muestra a continuación;

  • (+) -> PIN 4
  • (-) -> GND
  • S -> A0

Después de eso, debe conectar su arduino con raspberry pi a través de un cable usb. Además, no olvide poner su sensor de humedad del suelo en una maceta y su sensor de nivel de agua en su tanque de agua.

Paso 4:preparación de Raspberry Pi

Cable pantalla lcd, dht11, bomba de agua mediante relé con raspberry pi.

Cableado de DHT11 a Pi

  • S -> GPIO4 (pin 7)
  • (+) -> 3V3 (pin 1)
  • (-) -> GND (pin 25)

Cableado de la pantalla LCD

  • VCC -> 5V (pin 2)
  • GND -> GND (pin 6)
  • SDA -> GPIO2 (pin 3)
  • SCL -> GPIO3 (pin 5)

Relé de cableado para bomba de agua

  • S -> GPIO18 (pin 12)
  • (+) -> 5V (pin 4)
  • (-) -> GND (pin 20)


Cableado de bomba de agua con relé y batería

  • La bomba de agua tiene dos cables. Uno debe estar conectado al relé, el otro debe estar conectado con el cable del paquete de baterías.
  • Se debe conectar otro cable del paquete de baterías al relé. Consulte el diagrama de arriba para aprender cómo conectarlos.

Paso 5:Ejecutar la aplicación Nodejs en Pi

En esta parte, ejecutaremos la aplicación nodejs en pi para recopilar datos del sensor y controlar la bomba de agua. Raspberry pi debe estar conectado a Internet. Puede hacerlo a través de ethernet o wifi.

El nodo debe instalarse en pi antes de continuar. Si no instaló nodejs antes, siga el tutorial aquí para instalarlo.

Conecte su raspberry pi y ejecute lo siguiente:

  git clone [email protected]:demirhanaydin / waterpi-node.gitcd waterpi-nodenpm install  

Debe colocar su clave pública, clave privada y archivos de certificado que descargó de la página aws iot en certs carpeta. También debe descargar el archivo de certificado de CA raíz desde el certificado raíz. Guarde ese archivo como rootCA.pem y colóquelo bajo certs carpeta.

Luego, abre device.js archivo con su editor de texto favorito y actualice estas líneas con sus rutas de archivo. Debería obtener su IOT_DEVICE_URL desde la plataforma AWS IoT haciendo clic en su cosa. Debería ser como https://XXXXXXXXX.iot.us-east-1.amazonaws.com

Luego ejecuta

  sudo nodo index.js  

Si todo es correcto, debería poder ver los valores de los sensores impresos en la pantalla LCD.

También debería ver los valores en su tabla de DynamoDB. La aplicación envía datos del sensor a la plataforma IoT cada 20 segundos

Paso 6:Ejecución de la aplicación web

La aplicación básica de sinatra visualiza los datos que están en la tabla dynamodb con el uso de highcharts. Además, puede controlar la bomba de agua de forma remota. Lo que hace es que cada vez que el usuario hace clic en un botón de inicio / parada, publica un evento en la plataforma AWS IoT. Raspberry Pi toma este evento y lo procesa ya sea para iniciar o detener la bomba.

Ruby debe estar instalado en su computadora para continuar con el tutorial. Si no es así, consulte esta página para instalarlo.

Abra su Terminal y ejecute los siguientes comandos

  git clone [email protected]:demirhanaydin / waterpi-web.gitcd waterpi-webbundle install  

Debe poner su clave pública, clave privada, certificado y archivos rootCA en certs carpeta. Luego abre boot.rb y actualice estas líneas con los valores adecuados. Debe tomar su clave de acceso aws y su secreto de la página de Credenciales de seguridad en la Consola de administración de AWS.

Si ha terminado, entonces debería ejecutar el proyecto como

  ruby ​​app.rb  

Abra su navegador y escriba http:// localhost:4567 / Debería poder ver los datos de sensores recopilados procedentes de dynamodb en los gráficos.

Cuando haga clic en Inicio, la bomba comenzará a regar la planta.

Aquí algunas fotos que tomé cuando estaba desarrollando el proyecto

¡Felicitaciones!

Código

Código fuente de Raspberry Pi Nodejs
clone el código fuente en raspberry pi y agregue sus archivos de certificado aws iot en la carpeta certs. también debe actualizar device.js con su url de aws iot thinghttps://github.com/demirhanaydin/waterpi-node
Cliente web WaterPi
no olvide actualizar boot.rb con su credencial https://github.com/demirhanaydin/waterpi-web

Esquemas

pi-wout-camera.fzz arduino.fzz

Proceso de manufactura

  1. La solución MCM de ADLINK permite la supervisión y la gestión remotas
  2. Acuaponía controlada por Raspberry Pi
  3. Monitoreo de la temperatura ambiente con Moteino's y Raspberry Pi
  4. Monitoreo remoto del clima usando Raspberry Pi
  5. Sensor de temperatura y luz Raspberry Pi
  6. Control de actuador y sensor Raspberry Pi
  7. Sistema de seguridad para el hogar Raspberry Pi con cámara y sensor PIR
  8. GE adquiere la empresa de diagnóstico y monitoreo remoto SmartSignal
  9. Cisco presenta soluciones de monitoreo remoto de IoT para TI y OT
  10. Sistema de monitoreo remoto de tanques de petróleo y diésel basado en IoT
  11. Monitoreo en la nube, un sistema de control remoto