RucheConnectee/electronic
2025-12-12 16:16:08 +01:00
..
assets Nouvelle orga de fichiers 2025-12-12 16:16:08 +01:00
hardware Nouvelle orga de fichiers 2025-12-12 16:16:08 +01:00
mechanic Nouvelle orga de fichiers 2025-12-12 16:16:08 +01:00
software Nouvelle orga de fichiers 2025-12-12 16:16:08 +01:00
README.md Nouvelle orga de fichiers 2025-12-12 16:16:08 +01:00

MD10 board

Environnement setup :

Software :

STM32CubeIDE : for compilation debugging and flashing

STM32CubeProgrammer: for deactivate write protection bit

Hardware : LoRaWAN gateway connected to LoRaWAN server (TTN)

MELLIA - Kit Dadant 10

Présentation

Le kit Mellia Dadant 10 est un ensemble de capteurs connectés permettant dobtenir des informations essentielles relatives à lexploitation dune ruche dans lobjectif de suivre lévolution de la colonie en réduisant le nombre dinterventions intrusives et les déplacement de lapiculteur.

Ce kit sadapte sur une ruche Dadant 10, le modèle le plus utilisé actuellement. Il comprend un dispositif de pesée électronique, un dispositif de mesure de température et humidité intérieure et extérieure, un capteur de pression atmosphérique ainsi quun module de communication sans fil. Lensemble des acquisitions sont enregistrées dans une base de données, un tableau de bord permet le suivi de létat de la ruche.

Fonctionnalités

Mesure poids de la ruche

On pèse la ruche à intervalle régulier pour faire remonter une donnée sur la masse à lapiculteur. Cela permet dobtenir un indice de létat de santé de la colonie et denvisager dintervenir ou non sur la ruche (rajout de candi, miellée etc).

Température extérieure

Une captation de température dans lenvironnement immédiat de la ruche renseigne lapiculteur sur la météo du milieu dans lequel évolue la colonie dabeille et donne la capacité danticiper une miellée par exemple.

Température intérieure

La mesure de la température à lintérieur de la ruche fournis une information sur létat de santé du couvain. Pour se développer correctement sa température doit rester dans une plage de mesure de 18 à 35°C. Sortir de cette plage indique un danger pour la colonie. Des variations régulières de la température est un signe dessaimage.

Humidité extérieure

Utile au rafraîchissement de la ruche ou intervenant directement dans la probabilité de voir se développer des champignons, le taux dhumidité intervient directement dans la vie de la colonie et le mesurer peut se révéler être un élément clé pour comprendre lactivité de la ruche.

Humidité intérieure

Cette donnée a une incidence sur létat de santé du couvain, en effet si celui ci est trop humide les parois en deviennent fragiles. Le taux dhumidité est aussi un bon indicateur de la qualité du miel.

Pression atmosphérique

En corrélation avec lhumidité et la température extérieure, la pression atmosphérique fournit à lapiculteur une vision globale sur le milieu à proximité de la ruche et sur les éléments auxquels sont soumis les abeilles

Tableau de bord

Pour faciliter linformation et la prise de décision les données sont rassemblées dans un tableau de bords consultable en ligne.

Notice

Composants du kit

Pour les composants sur la carte se référer au document md10-board/hardware/wheather_board_v1/wheather_board_v1.csv

composant référence
jauge de contrainte tedea 1242
antenne MOLEX 105262-0001
boîtier TAM 131007 ENCLOSURE
panneau solaire + batterie

Montage

Mise en œuvre

Software 

Prérequis :

Télécharger le logiciel STM32CubeIDE : https://www.st.com/en/development-tools/stm32cubeide.html

Télécharger le logiciel STM32CubeProgrammer : https://www.st.com/en/development-tools/stm32cubeide.html

Télécharger le code grâce à la commande suivante :

Git clone https://gitlab.openstudio-lab.com/mellia/mellia.git

Ouvrir le projet :

Ouvrir stm32CubeIde, sélectionner ~/md10-board/software/ruche_soft comme workspace

Depuis STM32CubeIDE, cliquer sur File et « Open Project from file system »

Dans la fenêtre qui souvre cliquer sur directory et sélectionner : ~/md10-board/software/ruche_soft/STM32Cube_FW_WL_V1.1.0/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node/STM32CubeIDE

Les librairies des composants sont accessibles depuis Drivers. Le dossier Sensors contient les fonctions des différentes de mesures, poids, température etc.

Application contient le code de la machine à état qui fait tourner le programme mais aussi les drivers des périphériques de communication tel que le SPi li2c ou encore le protocole de communication LoRaWAN servant à faire remonter les données.

Lacquisition des mesures est faite au cours de la fonction SendTxData située dans lora_app.c

Flasher le programme :

Connecter le debugger :

Se connecter au microcontrolleur en utilise STM32Cubeprogramme et désactiver la protection en écriture :

Pour lancer le debugger depuis stmcubeide appliquer cette configuration depuis Run -> debug configuration :

Attention pour des raisons doptimisation la sonde de debug et le mode low power est activé. Pour faire plus que flasher le code est debugger en mode pas à pas il faut se rendre dans sys_conf.h et régler sur 1 les #define suivants : DEBUGGER_ENABLED et LOW_POWER_DISABLE

Procédure de calibration de la balance

On utilise les équations données par TI dans le document relatif à la bonne utilisation de la carte ADS1242 :

On a besoin de 3 paramètres :

  • wfs  : la masse la plus proche possible de la pleine échelle
  • Cfs  : la sortie de ldc correspondant à wfs
  • Czs : la sortie de ladc lorsque la balance est à vide

À laide de ces trois données on peut en déduire léquation 1 puis la 2 . On place un points darrêt dans le code après la mesure pour récupérer cfs et czs.

Les paramètres wzs et m sont à introduire en dur dans le code dans la fonction dinitialisation de lads1232 : void ADS1232Sensors_Init(sensor_t *sensor_data)

Lors de l'assemblage d'une nouvelle balance, il est important de sélectionner les variables pour une jauge de 100kg ou de 250kg dans la fonction ADS1232Sensors_Init() contenu dans weight_sensor.c

Node-red

Node-red est un outil de développement basé sur les flux. Il sert ici à récupérer les données en provenance du broker MQTT fournit par TTN et à les enregistrer dans une base de donnée influxDB. Les ressources pour le déployer se situe dans le répertoir software

Pour se connecter au broker on commence par ajouter le module MQTT à l'interface node red en suivant ce tutoriel : https://www.thethingsnetwork.org/forum/t/mqtt-in-node-red-howto/39909

NB : nous utilisons Orange plutôt que TTN pour recevoir les données LoRa mais le principe est le même