Product system

📈 Stockage de tĂ©lĂ©mĂ©trie de ruche

Stocker et visualiser les donnĂ©es de sĂ©ries temporelles provenant d’appareils IoT installĂ©s sur les ruches, afin de suivre sur le long terme des indicateurs comme la tempĂ©rature, l’humiditĂ©, le poids...

Stocker et visualiser les donnĂ©es de sĂ©ries temporelles provenant d’appareils IoT installĂ©s sur les ruches, afin de suivre sur le long terme des indicateurs comme la tempĂ©rature, l’humiditĂ©, le poids et l’activitĂ© Ă  l’entrĂ©e.

Vue d’ensemble

Les apiculteurs professionnels et les exploitations orientĂ©es donnĂ©es ont besoin d’historique pour prendre de meilleures dĂ©cisions de gestion. Le systĂšme de tĂ©lĂ©mĂ©trie collecte les mesures depuis les capteurs matĂ©riels, les stocke, puis les rend disponibles pour la visualisation, l’analyse et les alertes.

Cette fonction permet :

  • la surveillance continue des conditions environnementales ;
  • l’analyse de tendances entre saisons ;
  • la dĂ©tection prĂ©coce d’anomalies dans les motifs de donnĂ©es ;
  • des dĂ©cisions fondĂ©es sur des mesures plutĂŽt que sur des impressions isolĂ©es.

Mesures prises en charge

Données environnementales

  • TempĂ©rature : tempĂ©rature interne de la ruche en degrĂ©s Celsius.
  • HumiditĂ© : niveau d’humiditĂ© Ă  l’intĂ©rieur de la ruche en pourcentage.
  • Poids : poids total de la ruche pour suivre miellĂ©e, consommation des rĂ©serves et rĂ©colte.

ActivitĂ© Ă  l’entrĂ©e

  • Abeilles entrantes/sortantes : comptage directionnel des abeilles.
  • Flux net : diffĂ©rence entre entrĂ©es et sorties.
  • Vitesse moyenne : vitesse de dĂ©placement des abeilles Ă  l’entrĂ©e.
  • Abeilles stationnaires : abeilles qui restent Ă  l’entrĂ©e.
  • Abeilles dĂ©tectĂ©es : nombre total dans le champ de la camĂ©ra.
  • Interactions entre abeilles : rencontres dĂ©tectĂ©es Ă  l’entrĂ©e, par exemple trophallaxie ou agressivitĂ©.

Fonctionnement

  1. Connecter les capteurs

    • Installer les capteurs de ruche pour la tempĂ©rature, l’humiditĂ© et le poids.
    • Installer Entrance Observer pour l’analyse du trafic Ă  l’entrĂ©e.
    • Configurer les appareils avec un jeton d’authentification API.
  2. Collecte automatique

    • Les capteurs envoient les mesures au service de tĂ©lĂ©mĂ©trie.
    • Les donnĂ©es sont stockĂ©es dans des tables optimisĂ©es pour les sĂ©ries temporelles.
    • L’authentification est vĂ©rifiĂ©e par les services de compte utilisateur.
  3. Visualiser et analyser

    • Les mesures rĂ©centes apparaissent dans le tableau de bord de la ruche.
    • Les graphiques historiques permettent de choisir des plages temporelles.
    • Les analyses avancĂ©es sont disponibles dans les graphiques intĂ©grĂ©s de l’application web.
    • Les donnĂ©es peuvent ĂȘtre exportĂ©es pour des analyses externes.
  4. Configurer des alertes

    • CrĂ©er des rĂšgles basĂ©es sur des seuils.
    • Recevoir une notification lorsque les valeurs sortent des plages sĂ»res.
    • Surveiller les changements brusques et anomalies.

Conservation des données

Le niveau Pro inclut :

  • DurĂ©e de stockage : jusqu’à 3 ans de donnĂ©es historiques.
  • RĂ©solution : des agrĂ©gats Ă  la minute jusqu’aux agrĂ©gats journaliers selon la configuration.
  • Plages de requĂȘte : de la derniĂšre heure Ă  plusieurs annĂ©es avec agrĂ©gation.
  • Taille estimĂ©e : environ 500 Mo par ruche et par an selon les capteurs et la frĂ©quence.

Architecture

flowchart LR
    A[beehive-sensors] -->|REST API| B[telemetry-api]
    C[entrance-observer] -->|GraphQL| B
    B -->|store| D[(MySQL)]
    E[web-app] -->|query| F[graphql-router]
    F --> B
    E -->|render charts| F

Le systĂšme utilise :

  • telemetry-api : service principal de stockage et de requĂȘte des mesures ;
  • MySQL : stockage optimisĂ© par identifiant de ruche et horodatage ;
  • graphql-router : passerelle API utilisĂ©e par l’application web ;
  • graphiques de la web-app : visualisation et analyse opĂ©rationnelle intĂ©grĂ©es.

AccĂšs API

Des API REST et GraphQL sont disponibles.

REST API pour les appareils IoT :

POST /v1/metrics/:hiveId
POST /v1/entrance/:hiveId/:boxId
GET /v1/metrics/:hiveId/temperature?minutes=60

GraphQL API pour l’application web :

query {
  temperatureCelsius(hiveId: "123", timeRangeMin: 60)
  humidityPercent(hiveId: "123", timeRangeMin: 1440)
  weightKgAggregated(hiveId: "123", days: 7, aggregation: DAILY_AVG)
  entranceMovement(hiveId: "123", timeFrom: "2024-12-01", timeTo: "2024-12-06")
}

Cas d’usage

Comparaison saisonniĂšre

Comparer tempĂ©rature et humiditĂ© sur plusieurs annĂ©es pour prĂ©parer le dĂ©veloppement de printemps, les pĂ©riodes de miellĂ©e et l’hivernage.

Suivi de la miellée

Surveiller les variations de poids pour détecter le début du flux de nectar, la disette, la consommation des réserves ou le bon moment de récolte.

Santé de la colonie

Observer l’activitĂ© Ă  l’entrĂ©e pour repĂ©rer une colonie orpheline, du pillage, une modification du butinage ou un Ă©vĂ©nement inhabituel.

Efficacité des traitements

Comparer les mesures avant et aprĂšs une intervention afin d’évaluer la rĂ©cupĂ©ration, la stabilitĂ© thermique ou le bon moment d’un traitement.

Limites techniques

  • Les requĂȘtes longues nĂ©cessitent une agrĂ©gation.
  • Le nombre de points par requĂȘte est limitĂ© pour prĂ©server les performances.
  • La frĂ©quence minimale d’écriture dĂ©pend du type d’appareil et de la configuration.
  • Certaines vues utilisent du polling plutĂŽt que des WebSockets en temps rĂ©el.
  • L’analyse utilise la mĂȘme session authentifiĂ©e que l’application web.

Fonctions liées

Ressources

Product map

Move from software to automatic data collection