Jardinage intelligent avec un Raspberry Pi

Image d'un système de jardinage intelligent basé sur un Raspberry Pi

Transformer votre jardin en un espace intelligent est un projet passionnant et utile. En utilisant des capteurs connectés à un Raspberry Pi, vous pouvez surveiller l’humidité du sol, la température, et contrôler l’arrosage automatiquement. Voici un guide détaillé pour vous aider à réaliser ce projet.

Sommaire

  1. Introduction
  2. Matériel Nécessaire
  3. Configuration du Raspberry Pi
  4. Installation des Capteurs
  5. Programmation du Raspberry Pi
  6. Configuration du Système d’Arrosage
  7. Interface Utilisateur
  8. Tests et Ajustements
  9. Conclusion

1. Introduction

Le jardinage intelligent utilise la technologie pour optimiser l’arrosage et la maintenance des plantes. Ce projet vous permettra de contrôler automatiquement l’arrosage de vos plantes en fonction des données environnementales recueillies par des capteurs.

2. Matériel nécessaire

  • Raspberry Pi (modèle 3 ou supérieur)
  • Carte microSD (minimum 16 Go) avec Raspbian installé
  • Capteur d’humidité du sol
  • Capteur de température et d’humidité (DHT11 ou DHT22)
  • Électrovanne
  • Module relais
  • Fils de connexion
  • Breadboard
  • Pompe à eau (optionnel pour les systèmes plus complexes)
  • Accès à Internet (Wi-Fi ou Ethernet)

3. Configuration du Raspberry Pi

  1. Installer Raspbian :
    • Téléchargez l’image de Raspbian depuis le site officiel.
    • Utilisez un outil comme balenaEtcher pour graver l’image sur la carte microSD.
    • Insérez la carte microSD dans le Raspberry Pi et démarrez-le.
  2. Configurer le Raspberry Pi :
    • Connectez-vous avec les identifiants par défaut (utilisateur : pi, mot de passe : raspberry).
    • Mettez à jour le système avec les commandes suivantes :
      • sudo apt update
      • sudo apt upgrade
  3. Installer les bibliothèques nécessaires :
    • Installez les bibliothèques pour les capteurs et les modules :
      • sudo apt install python3-pip
      • pip3 install Adafruit_DHT

4. Installation des capteurs

  1. Connecter le capteur d’humidité du sol :
    • Branchez le capteur d’humidité du sol à la breadboard.
    • Connectez les fils au Raspberry Pi : le VCC au 3.3V, le GND au GND et la sortie de signal à un GPIO (par exemple GPIO17).
  2. Connecter le capteur de température et d’humidité (DHT11/DHT22) :
    • Connectez les fils du capteur : le VCC au 3.3V, le GND au GND, et la sortie de signal à un GPIO (par exemple GPIO4).

5. Programmation du Raspberry Pi

  1. Lire les données des capteurs :
    • Créez un script Python pour lire les données des capteurs. Voici un exemple de code :
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. Configuration du système d’arrosage

  1. Connecter l’électrovanne et le relais :
    • Branchez l’électrovanne à une source d’eau et connectez-la au module relais.
    • Connectez le relais au Raspberry Pi en utilisant un GPIO (par exemple GPIO27).
  2. Programmer le contrôle de l’arrosage :
    • Modifiez le script pour activer l’électrovanne en fonction des données du capteur d’humidité du sol :
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. Interface utilisateur

  1. Configurer une interface web (optionnel) :
    • Pour rendre votre système plus convivial, vous pouvez configurer une interface web pour surveiller et contrôler l’arrosage. Utilisez Flask pour créer une interface web simple :
      • pip3 install flask
  2. Créer 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. Créer le template HTML :

  • Créez un fichier 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. Tests et Ajustements

  1. Tester le Système :
    • Assurez-vous que tous les capteurs fonctionnent correctement.
    • Testez le système d’arrosage en modifiant l’humidité du sol et vérifiez que l’électrovanne s’active et se désactive correctement.
  2. Ajuster les Paramètres :
    • Ajustez les seuils d’humidité du sol pour affiner le contrôle de l’arrosage selon les besoins spécifiques de vos plantes.

9. Conclusion

En suivant ce guide, vous avez maintenant un système de jardinage intelligent fonctionnel. Vous pouvez surveiller et contrôler l’arrosage de vos plantes automatiquement, ce qui permet de maintenir un jardin sain et bien entretenu sans effort manuel constant. Profitez de votre jardin intelligent et n’hésitez pas à ajouter des fonctionnalités supplémentaires pour le rendre encore plus performant !