Gestion des données de ruches connectées



1. Présentation du projet

L’objectif est de fournir une solution ergonomique permettant aux apiculteurs de suivre et gérer leurs ruches grâce aux données collectées sur ces dernières. On vous demande de concevoir un site web qui permettra ce suivi en temps réel; les mesures de la masse, de la température et de l'humidité sont réalisées sur chaque ruche par divers capteurs reliés à un microcontrôleur, on appellera cet ensemble  "une balance connectée", la balance connectée  transmettra les données en utilisant le réseau de communication Sigfox ( voir la partie 5  ressources techniques) , on stockera les données transmises dans une base de données relationnelles. Le site web devra offrir une interface graphique web pour visualiser l'évolution des paramètres mesurés et d'autres fonctionnalités décrites ci-dessous.

2. Fonctionnalités principales

2.1. Suivi des paramètres de chaque ruche

  • Affichage en temps réel des données transmises par la balance connectée :
    • Masse (kg)
    • Température intérieure (°C)
    • Température extérieure (°C)
    • Humidité intérieure (%)
  • Enregistrement des données dans une base de données pour analyse historique
  • Visualisation des évolutions des paramètres sur différentes périodes :
    • Journée ( 6 relevés seront pris dans la journée, un relevé tout les 4 heures )
    • Semaine ( de lundi à dimanche, la valeur moyenne sur la journée sera affichée)
    • Mois
    • Année
  • Génération de graphiques avec :
    • Fond blanc
    • Limites en rouge

2.2. Gestion des alertes

  • Paramétrage de seuils d’alerte pour chaque paramètre mesuré (valeurs trop élevées ou trop basses).

Les valeurs limites sont rentrées par l’utilisateur dans des champs de saisie de l'interface graphique prévus à cet effet.

  • Notifications en cas de dépassement des seuils avec un message désignant le défaut et un changement de couleur du fond de la page.

2.3. Zone de suivi et carnet de bord

  • Espace dédié par ruche permettant d’ajouter des commentaires et des notes sur les interventions effectuées (visites, traitements, récoltes, observations, etc.)
  • Historique des interventions accessible facilement

3. Interface utilisateur et design souhaité par le client

L'apparence du site souhaitée par le client est résumée sur ce fichier,  cliquez-ici

  • Fond du site : jaune miel
  • Fond des graphismes : blanc
  • Limites et alertes : rouge
  • Interface claire et ergonomique pour une navigation fluide

4. Hébergement et sécurité

  • Hébergement du site sur un serveur sécurisé
  • Sécurisation des données et des accès utilisateur
  • Possibilité de création de comptes pour plusieurs utilisateurs avec gestion des droits d’accès.

5. Ressources techniques

5.1 Informations transmises par la balance connectée

La balance utilise le réseau sigfox (non étudié)  pour transmettre les données au serveur selon le protocole https avec la méthode de transmission get ( les 4 données : masse, température intérieure, température extérieure et humidité intérieure sont transmises dans l'URL lors de la requête http ). Le fichier callback.php (que vous devez créer), recevra un relevé toutes les 4 heures et les inscrira dans la base de données.

Exemple de requête entre sigfox et le serveur web:


https://nom_du_serveur/callback.php?value_tempi=022&value_tempe=019&value_humidite=080&value_masse=044


La récupération des données dans le fichier callback.php :


$tempi =  htmlspecialchars( $_GET["value_tempi"] );

$tempe =  htmlspecialchars( $_GET["value_tempe"] );

$humidite =  htmlspecialchars( $_GET["value_humidite"] );

$masse =  htmlspecialchars( $_GET["value_masse"] );

$date = date('d-m-y h:i:s');


5.2 Exemple de connexion à une base de données en PHP pour inscription des données

// connexion à la base de données ruches sur le serveur localhost avec le compte ruche_user de mot de passe ruche_user

$link = mysqli_connect("localhost", "ruche_user", "ruche_user", "ruches" );

if ( $link ) {          

// inscription des données dans la table ruche1

$resultat = mysqli_query ( $link,

                           "INSERT INTO ruche1 ( date, temp_int, temp_ext, humidite, masse )

                           VALUES ( '".$date."',".$tempi." , ".$tempe." ,  ".$humidite.", ".$masse.")"

                          );

// fermeture de la connexion à la base de données

mysqli_free_result($link);

mysqli_close($link);

}








Créé avec HelpNDoc Personal Edition: Créer des fichiers d'aide Qt Help multi-plateformes