Cree un sistema de jardinería automatizado con Raspberry Pi Pico W

Cree un sistema de jardinería automatizado con Raspberry Pi Pico W

Con un pulgar verde y un poco de paciencia, la jardinería es un pasatiempo encantador, independientemente de si tiene algunas plantas exóticas en el interior o si tiene un jardín al aire libre con papas y plantas perennes.

Dicho esto, también hay momentos en los que su paciencia puede agotarse cuando las plantas comienzan a morir por lo que parece no ser una buena razón.

El Raspberry Pi Pico W puede ayudar a proporcionar una solución para garantizar que las plantas prosperen sin mover un dedo (bueno, casi).

Revisemos cómo un monitor de planta, algún código y un pequeño microcontrolador realizarán un seguimiento de la salud de su planta desde cualquier lugar de su hogar.

Hardware requerido

Sorprendentemente, no se requiere mucho hardware. Gran parte de la magia está contenida en Plant Monitor. Realmente solo necesita algunos elementos para comenzar.

Si bien este monitor de planta admite el uso de pinzas de cocodrilo, este proyecto utiliza los conectores de clavija conectados a la parte posterior del dispositivo de monitoreo de planta.

Configuración del asistente de jardinería

Este proyecto implica conectar el monitor de la planta a su Raspberry Pi Pico W, así como crear y manipular código para que todo funcione. Se requerirá un servidor web para servir una página web simple accesible dentro de la conexión a Internet de su hogar.

Hay diferentes versiones de modelos de Raspberry Pi Pico. Para este proyecto, deberá usar un Raspberry Pi Pico W. Para saber de qué es capaz el Pico W, consulte nuestra guía sobre qué es el Pico W y qué puede hacer.

Primero, asegurémonos de que el monitor de la planta esté conectado y funcione correctamente. Más adelante en el artículo, abordará la configuración de un servidor web simple utilizado para monitorear su planta con cualquier dispositivo habilitado para navegador conectado a su red doméstica.

Preparación del monitor de planta

Con muchos sensores disponibles para comprar a través de varios sitios de Internet, aprenderá que algunos sensores de suelo se desgastarán fácilmente en el suelo y otros resistirán los elementos bastante bien. El Monk Makes Plant Monitor es una buena opción ya que no es propenso a corroerse en el suelo. Este monitor no solo mide la humedad del suelo, sino que también mide la humedad y la temperatura.

monitor de plantas en el suelo que está conectado a un microcontrolador

Solo será necesario conectar cuatro pines desde el monitor de la planta a su Raspberry Pi Pico W:

  • GND va a GND
  • 3V se conecta a 3V3 Out
  • RX_IN encontrará su camino a GP0
  • TX_OUT se reunirá con GP1

Una vez conectado a la alimentación, su Raspberry Pi Pico W podrá suministrarse energía a sí mismo y al monitor de la planta. Notará algunas luces en el hardware que confirman que el dispositivo funciona correctamente. Además, hay una luz LED que brillará en verde, amarillo o rojo (según el nivel de humedad detectado en el suelo).

Aunque Monk Makes Plant Monitor viene con algunos excelentes módulos de Python, aún necesitará crear un código simple para monitorear la salud del suelo de su planta. Puede tomar los siguientes archivos python de nuestro repositorio MUO GitHub.

Necesitará pmon.py y test.py para la parte de detección del suelo y los archivos de Python microdot.py , mm_wlan.py y pico_w_server.py se usarán para completar el servidor web simple más adelante.

Ahora es un buen momento para hacer una pausa y refrescarse con las sutiles diferencias entre MicroPython y Python si aún no lo ha hecho.

El archivo python, pmon.py , crea una Clase MicroPython para el monitor de la planta. UART se encargará de la transmisión de datos dúplex y luego también será necesario algún trabajo de conversión de analógico a digital. También notará que las funciones de humedad , temperatura y humedad también se definen en este archivo.

   def get_wetness(self):
        return int(self.request_property("w"))

    def get_temp(self):
        return float(self.request_property("t"))

    def get_humidity(self):
        return float(self.request_property("h"))

    def led_off(self):
        self.uart.write("l")

    def led_on(self):
        self.uart.write("L")

A continuación, necesitará el archivo test.py obtenido de nuestro repositorio MUO GitHub.

Notará que los módulos time, pmon (de PlantMonitor ) y machine son necesarios para monitorear adecuadamente la salud de su planta.

Como se importa el módulo PlantMonitor , todo lo que se requiere para monitorear las condiciones del suelo es un ciclo while simple. Además, el comando de impresión generará lecturas de humedad, temperatura y humedad del suelo después de ejecutar test.py en Thonny.

time.sleep(2) # PlantMonitor startup time
pm = PlantMonitor()

while True:
    w = pm.get_wetness()
    t = pm.get_temp()
    h = pm.get_humidity()
    print("Wetness: {0} Temp: {1} Humidity: {2}".format(w, t, h))
    time.sleep(1)

¿No tienes ganas de regar tu planta cuando el suelo está demasiado seco? Asigne el relé de su bomba a un pin en el Raspberry Pi Pico y utilice una declaración if para observar un valor de humedad (de 100) para activar su bomba de agua, a través de un relé, para encender y dispensar agua nuevamente.

relay1 = Pin(15, Pin.OUT) #relay is wired up to GP15 and GND

if w = 24 # watch for a wetness value of 24/100


relay1.value(1) # turn on the relay
    relay1(0) # turn off the relay

Querrá hacer algunas pruebas para encontrar el equilibrio perfecto para asegurarse de que su planta esté satisfecha con la cantidad de agua que recibe. También puede agregar otra declaración if para encender una lámpara de calor, a través de un relé, si su planta está demasiado fría.

Servidor web sencillo

Necesitará tres archivos python, de nuestro repositorio MUO GitHub, para que su Raspberry Pi Pico W transmita las estadísticas del suelo a las conexiones de Internet de su hogar:

  • micropunto.py
  • mm_wlan.py
  • pico_w_server.py

El archivo microdot maneja las funciones de back-end para crear este servidor web simple basado en HTTP y muestra la salida del código python como una página web basada en html a la que se puede llamar usando la dirección IP de Raspberry Pi Pico W.

El archivo mm_wlan.py ofrece una forma sencilla de conectarse a una red inalámbrica. Recibirá una dirección IP de su Raspberry Pi Pico y un mensaje conectado. Si la conexión no fue exitosa, recibirá un mensaje de conexión fallida en su lugar.

El archivo pico_w_server.py es donde ingresa el SSID (recuerde que el Raspberry Pi Pico W solo se conecta a SSID de 2.4GHz) y su contraseña de Wi-Fi. Dentro de la sección HTML, puede personalizar lo que su servidor web mostrará en un navegador web. También puede eliminar los comentarios de la sección de actualización y ajustar el intervalo si no desea que la página web se actualice cada segundo más o menos.

En la parte inferior de este archivo, también puede personalizar el puerto. Esto es útil si desea exponer esta información a Internet fuera de su hogar.

Cuando ejecuta su archivo test.py , los archivos python del servidor requeridos ( mm_wlan y pico_w_server ) se importan automáticamente. Después de ejecutar el archivo test.py , tome la dirección IP de su Pi (que se encuentra en la salida de Thonny) y agregue el puerto que usó (el predeterminado es 80) desde cualquier navegador web que esté conectado al mismo SSID de 2,4 GHz. en casa. Debería ver algo como esto:

página html simple que muestra estadísticas del suelo

Para reducir la dependencia de su PC conectada, cambie el archivo test.py a main.py y guárdelo en su Raspberry Pi Pico W. También puede considerar conectar una pantalla LCD a su Pico para que programe la pantalla para generar la dirección IP (cuando elimina la dependencia de su PC conectada).

Trae de vuelta ese pulgar verde

Con un sensor de suelo sofisticado y un servidor web simple, ahora puede monitorear la salud de su planta desde un navegador web en cualquier lugar de su hogar.

Siéntase libre de modificar el código como mejor le parezca. Si está preparado para ello, considere crear una aplicación de detección de suelo que agregue algo de brillo al servidor web simple que acaba de configurar.

Para que este proyecto se sienta completo, agregue una bomba y un relé, junto con una lámpara de calor, y tendrá un jardín completamente automatizado. Ahora podrá mantener para siempre su estado de ‘pulgar verde’.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *