Esquema de un sistema de jardinería inteligente con placa Raspberry Pi, sensores y riego automático

Jardinería inteligente con una Raspberry Pi

Transformar su jardín en un espacio inteligente es un proyecto apasionante y útil. Utilizando sensores conectados a una Raspberry Pi, puede vigilar la humedad del suelo y la temperatura, y controlar el riego automáticamente. Aquí tiene una guía detallada para ayudarle a realizar este proyecto.

Contenido

  1. Introducción
  2. Material necesario
  3. Configuración de la Raspberry Pi
  4. Instalación de los sensores
  5. Programación de la Raspberry Pi
  6. Configuración del sistema de riego
  7. Interfaz de usuario
  8. Pruebas y ajustes
  9. Conclusión

1. Introducción

La jardinería inteligente utiliza la tecnología para optimizar el riego y el mantenimiento de las plantas. Este proyecto le permitirá controlar automáticamente el riego de sus plantas en función de los datos ambientales recogidos por los sensores.

2. Material necesario

  • Raspberry Pi (modelo 3 o superior)
  • tarjeta microSD (mínimo 16 GB) con Raspbian instalado
  • Sensor de humedad del suelo
  • Sensor de temperatura y humedad (DHT11 o DHT22)
  • Électrovanne
  • Módulo de relé
  • Cables de conexión
  • Breadboard
  • Bomba de agua (opcional para sistemas más complejos)
  • Acceso a Internet (Wi-Fi o Ethernet)

3. Configuración de la Raspberry Pi

  1. Instalar Raspbian:
    • Descargue la imagen de Raspbian desde el sitio oficial.
    • Utilice una herramienta como balenaEtcher para grabar la imagen en la tarjeta microSD.
    • Inserte la tarjeta microSD en la Raspberry Pi y arránquela.
  2. Configurar la Raspberry Pi:
    • Inicie sesión con las credenciales predeterminadas (usuario: pi, contraseña: raspberry).
    • Actualice el sistema con los siguientes comandos:
      • sudo apt update
      • sudo apt upgrade
  3. Instalar las bibliotecas necesarias:
    • Instale las bibliotecas para los sensores y los módulos:
      • sudo apt install python3-pip
      • pip3 install Adafruit_DHT

4. Instalación de los sensores

  1. Conectar el sensor de humedad del suelo:
    • Conecte el sensor de humedad del suelo a la breadboard.
    • Conecte los cables a la Raspberry Pi: VCC a 3,3V, GND a GND y la salida de señal a un GPIO (por ejemplo, GPIO17).
  2. Conectar el sensor de temperatura y humedad (DHT11/DHT22):
    • Conecte los cables del sensor: VCC a 3,3V, GND a GND y la salida de señal a un GPIO (por ejemplo, GPIO4).

5. Programación de la Raspberry Pi

  1. Leer los datos de los sensores:
    • Cree un script Python para leer los datos de los sensores. Este es un ejemplo de código:
import Adafruit_DHT
import RPi.GPIO as GPIO
import time

# Configuration des capteurs
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4
SOIL_SENSOR_PIN = 17

GPIO.setmode(GPIO.BCM)
GPIO.setup(SOIL_SENSOR_PIN, GPIO.IN)

def read_sensors():
    humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
    soil_moisture = GPIO.input(SOIL_SENSOR_PIN)
    return humidity, temperature, soil_moisture

while True:
    humidity, temperature, soil_moisture = read_sensors()
    print(f"Temp: {temperature}°C  Humidity: {humidity}%  Soil Moisture: {soil_moisture}")
    time.sleep(2)

6. Configuración del sistema de riego

  1. Conectar la electroválvula y el relé:
    • Conecte la electroválvula a una fuente de agua y conéctela al módulo de relé.
    • Conecte el relé a la Raspberry Pi mediante un GPIO (por ejemplo, GPIO27).
  2. Programar el control del riego:
    • Modifique el script para activar la electroválvula en función de los datos del sensor de humedad del suelo:
import Adafruit_DHT
import RPi.GPIO as GPIO
import time

DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4
SOIL_SENSOR_PIN = 17
RELAY_PIN = 27

GPIO.setmode(GPIO.BCM)
GPIO.setup(SOIL_SENSOR_PIN, GPIO.IN)
GPIO.setup(RELAY_PIN, GPIO.OUT)

def read_sensors():
    humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
    soil_moisture = GPIO.input(SOIL_SENSOR_PIN)
    return humidity, temperature, soil_moisture

def control_watering(soil_moisture):
    if soil_moisture == 0:  # Dry
        GPIO.output(RELAY_PIN, GPIO.HIGH)  # Turn on water
    else:  # Wet
        GPIO.output(RELAY_PIN, GPIO.LOW)  # Turn off water

while True:
    humidity, temperature, soil_moisture = read_sensors()
    print(f"Temp: {temperature}°C  Humidity: {humidity}%  Soil Moisture: {soil_moisture}")
    control_watering(soil_moisture)
    time.sleep(2)

7. Interfaz de usuario

  1. Configurar una interfaz web (opcional):
    • Para que su sistema sea más fácil de usar, puede configurar una interfaz web para supervisar y controlar el riego. Utilice Flask para crear una interfaz web sencilla:
      • pip3 install flask
  2. Crear un script Flask:
from flask import Flask, render_template
import Adafruit_DHT
import RPi.GPIO as GPIO

app = Flask(__name__)

DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4
SOIL_SENSOR_PIN = 17
RELAY_PIN = 27

GPIO.setmode(GPIO.BCM)
GPIO.setup(SOIL_SENSOR_PIN, GPIO.IN)
GPIO.setup(RELAY_PIN, GPIO.OUT)

def read_sensors():
    humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
    soil_moisture = GPIO.input(SOIL_SENSOR_PIN)
    return humidity, temperature, soil_moisture

def control_watering(soil_moisture):
    if soil_moisture == 0:  # Dry
        GPIO.output(RELAY_PIN, GPIO.HIGH)  # Turn on water
    else:  # Wet
        GPIO.output(RELAY_PIN, GPIO.LOW)  # Turn off water

@app.route('/')
def index():
    humidity, temperature, soil_moisture = read_sensors()
    control_watering(soil_moisture)
    return render_template('index.html', temperature=temperature, humidity=humidity, soil_moisture=soil_moisture)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

3. Crear la plantilla HTML:

  • Cree un archivo templates/index.html
<!DOCTYPE html>
<html>
<head>
    <title>Jardin Intelligent</title>
</head>
<body>
    <h1>État du Jardin</h1>
    <p>Température : {{ temperature }}°C</p>
    <p>Humidité : {{ humidity }}%</p>
    <p>Humidité du sol : {{ soil_moisture }}</p>
</body>
</html>

8. Pruebas y ajustes

  1. Probar el sistema:
    • Asegúrese de que todos los sensores funcionan correctamente.
    • Pruebe el sistema de riego modificando la humedad del suelo y compruebe que la electroválvula se activa y se desactiva correctamente.
  2. Ajustar los parámetros:
    • Ajuste los umbrales de humedad del suelo para afinar el control del riego según las necesidades específicas de sus plantas.

9. Conclusión

Siguiendo esta guía, ya dispone de un sistema de jardinería inteligente funcional. Puede supervisar y controlar el riego de sus plantas automáticamente, lo que permite mantener un jardín sano y bien cuidado sin un esfuerzo manual constante. ¡Disfrute de su jardín inteligente y no dude en añadir funciones adicionales para hacerlo aún más eficaz!

Deja una respuesta

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