Tous les projets

2025 — Développement full-stack et IoT

Smart Farm IoT

Plateforme d’irrigation connectée : capteurs de sol, décisions automatiques et tableau de bord temps réel.

  • IoT
  • Python
  • MQTT
  • Flask
  • PostgreSQL
Rôle
Développement full-stack et IoT
Durée
4 mois
Année
2025

Architecture

  1. Terrain

    • Capteurs d’humidité du sol
    • ESP32 et relais de pompe
  2. Messagerie

    • Broker MQTT Mosquitto
    • Un topic par parcelle
  3. Application

    • API Flask et règles d’irrigation
    • PostgreSQL (mesures, parcelles)
  4. Supervision

    • Tableau de bord temps réel
    • Docker Compose et healthchecks

Contexte

[À COMPLÉTER : le cadre du projet — cursus, équipe, durée, commanditaire ou parcelle pilote.]

Le problème

[À COMPLÉTER : le problème concret observé sur le terrain — irrigation manuellement déclenchée, gaspillage d’eau, absence de visibilité sur l’état des parcelles.]

La solution

La plateforme découpe le problème en quatre couches indépendantes. Les capteurs publient leurs mesures sur un broker MQTT ; l’API Flask consomme ces messages, applique les règles d’irrigation et persiste les séries temporelles dans PostgreSQL. Un tableau de bord affiche l’état des parcelles et l’historique des décisions.

Les règles restent volontairement lisibles : un seuil d’humidité par culture, une fenêtre horaire, et un garde-fou qui empêche deux déclenchements consécutifs. Le but n’est pas de remplacer l’agriculteur, mais de lui donner une information fiable et une action automatique réversible.

Mon rôle

[À COMPLÉTER : ce que tu as réalisé personnellement — firmware, API, modèle de données, déploiement, tests.]

Ce que j’en retiens

[À COMPLÉTER : deux ou trois phrases sur ce que tu ferais différemment ou ce que tu as appris.]

Difficultés rencontrées

  1. Fiabiliser la remontée de mesures sur un réseau instable : file d’attente locale sur l’ESP32 et reconnexion automatique au broker.

  2. Éviter les irrigations inutiles en combinant humidité du sol, prévision météo et seuils par culture.

  3. Garder une latence faible sur le tableau de bord sans surcharger la base : agrégation côté API et index sur les séries temporelles.

Résultats

d’eau consommée sur la parcelle pilote [À COMPLÉTER]
-28 % d’eau consommée sur la parcelle pilote [À COMPLÉTER]
entre la mesure et son affichage
< 2 s entre la mesure et son affichage
de mesures reçues sur 30 jours [À COMPLÉTER]
99,5 % de mesures reçues sur 30 jours [À COMPLÉTER]

Captures

[À COMPLÉTER : ajouter 2 à 4 captures d’écran avec un texte alternatif.]