View Categories

Balance connectée LoRaWAN pour peser les ruches et estimer la miellée

De la théorie à la visualisation des données #

Ce projet s’inscrit dans le cadre du développement de la technologie LoRaWAN. En collaboration avec l’équipe du Fablab de la MLC de Cesson (77), le CETA77, et avec le financement de la Région Île-de-France et prochainement du Grand Paris Sud, l’objectif principal étant la mise en œuvre opérationnelle d’un environnement LoRa à destination d’une population non informaticienne : les apiculteurs.

Ces derniers, qu’ils soient professionnels ou amateurs, rencontrent de graves difficultés dans le suivi de leur cheptel apicole.

Afin d’endiguer les pertes, ils mettent en place divers protocoles, notamment le suivi de la température et les variations de poids des ruches.

Les actions mises en œuvre sont les suivantes :

  • Doter les ruches de capteurs (nodes) ;
  • Implanter un réseau ouvert et très peu coûteux pour la collecte et la transmission des données ;
  • Permettre à chaque apiculteur de traiter ses données personnelles, tout en respectant une charte communautaire.

Objectif technique de l’article
Cet article décrit pas à pas la conception complète d’une balance connectée basée sur le réseau LoRa / LoRaWAN, depuis les principes radio jusqu’à la visualisation des données via Node-RED, InfluxDB et Grafana.
Il s’inscrit dans la même démarche pédagogique que l’article sur le système LoRa couplé à un module GPS, en mettant l’accent sur la compréhension, la fabrication et la mise en œuvre concrète.


Comprendre le réseau LoRa et LoRaWAN #

LoRa : la couche radio #

LoRa (Long Range) est une modulation radio à spectre étalé (CSS – Chirp Spread Spectrum) permettant :

  • une très grande portée (plusieurs kilomètres),
  • une très faible consommation,
  • un débit faible, adapté aux capteurs.

Caractéristiques principales :

  • Bande de fréquence : 868 MHz (Europe)
  • Débits typiques : de 300 bps à ~50 kbps
  • Robustesse élevée au bruit

⚠️ LoRa n’est pas un réseau, mais une modulation radio.


LoRaWAN : la couche réseau #

LoRaWAN est le protocole réseau qui s’appuie sur LoRa.

Il définit :

  • le format des messages,
  • la sécurité (AES 128 bits),
  • la gestion des équipements (end devices),
  • le rôle des passerelles (gateways).

Architecture simplifiée :

[ Capteur LoRa ] —> [ Passerelle LoRaWAN ] —> [ Network Server ] —> [ Application ]

Dans notre cas :

  • le capteur est la balance,
  • la passerelle reçoit les trames radio,
  • The Things Network (TTN) joue le rôle de Network Server,
  • Node-RED et Grafana constituent l’application.

Avantages pour une balance connectée #

Pourquoi LoRaWAN pour une balance ?

  • autonomie de plusieurs mois / années,
  • portée adaptée aux zones rurales,
  • infrastructure mutualisée (TTN),
  • transmission de quelques octets seulement (poids, température, batterie).

Architecture globale du système #

Vue d’ensemble #

Le système complet se compose de :

  1. Capteur de pesée (cellule de charge)
  2. Amplificateur HX711
  3. Sonde de température et d’humidité DHT22 dans le boîtier
  4. Sonde de température externe pour mesurer l’intérieur de la ruche
  5. Microcontrôleur LoRa
  6. Alimentation autonome
  7. Réseau LoRaWAN (TTN)
  8. Traitement Node-RED
  9. Stockage InfluxDB
  10. Visualisation Grafana

Chaîne fonctionnelle #

Poids

Cellule de charge

HX711

Microcontrôleur LoRa

Trame LoRaWAN

Passerelle

TTN

Node-RED

InfluxDB

Grafana


Partie matérielle #

Cellule de charge #

La cellule de charge est un pont de jauges de contrainte.

Caractéristiques typiques :

  • capacité : 5 kg / 20 kg / 50 kg (selon usage),
  • sortie différentielle de quelques millivolts,
  • nécessite une amplification précise.

Module HX711 #

Le HX711 est un convertisseur 24 bits spécialement conçu pour les balances.

Fonctions :

  • amplification différentielle,
  • conversion analogique / numérique,
  • interface simple (2 fils : DATA / CLOCK).

Connexion typique :

HX711Microcontrôleur
DTGPIO DATA
SCKGPIO CLOCK
VCC3.3 V ou 5 V
GNDGND

Microcontrôleur LoRa #

Exemples de cartes adaptées :

  • CubeCell HTCC-AB02 (Heltec / Seeed)
  • ESP32 + module LoRa (SX1276)

Rôle du microcontrôleur :

  • lecture du HX711,
  • calibration et filtrage,
  • gestion LoRaWAN,
  • mise en sommeil profond (deep sleep).

La sonde de température DS18B20 #

La DS18B20 est une sonde de température numérique très utilisée dans les projets IoT et embarqués en raison de sa fiabilité, de sa précision et de sa simplicité de câblage. Elle mesure des températures comprises entre -55 °C et +125 °C, avec une précision typique de ±0,5 °C dans la plage courante. Son principal avantage réside dans son interface 1-Wire, qui permet de connecter plusieurs sondes sur un seul fil de données, chacune disposant d’un identifiant unique sur 64 bits.

Câblage de la DS18B20 #

La DS18B20 possède trois fils (ou broches selon le boîtier) :

  • Rouge : alimentation (VCC, 3,3 V ou 5 V),
  • Noir : masse (GND),
  • Jaune ou blanc : données (DATA).

Le fil DATA doit impérativement être relié à VCC via une résistance de pull-up de 4,7 kΩ, indispensable au bon fonctionnement du bus 1-Wire.





VCC (3.3V ou 5V) ──┬── DS18B20 (VCC)
                   │
                   └─[ 4.7 kΩ ]─┐
                                ├── DATA (GPIO microcontrôleur)
GND ────────────────────────────┴── DS18B20 (GND)

Dans le cadre d’une balance connectée LoRaWAN, la DS18B20 est souvent utilisée pour :

  • surveiller la température ambiante,
  • mesurer la température interne du système,
  • corréler les variations de poids avec les conditions thermiques (cas des ruches, silos, réservoirs).

Son faible courant de fonctionnement et sa compatibilité directe avec les microcontrôleurs (ESP32, CubeCell, Arduino, Raspberry Pi) en font un capteur parfaitement adapté aux systèmes basse consommation.

Le capteur de température et d’humidité DHT22 (AM2302) #

Le DHT22, également connu sous la référence AM2302, est un capteur numérique combinant la mesure de la température et de l’humidité relative dans un même boîtier. Il est très répandu dans les projets IoT en raison de sa simplicité d’utilisation et de son bon compromis précision / coût. Il mesure des températures comprises entre -40 °C et +80 °C avec une précision typique de ±0,5 °C, et une humidité relative de 0 à 100 % RH avec une précision d’environ ±2 à ±5 % RH.

Contrairement à la DS18B20, le DHT22 n’utilise pas de bus standardisé (I²C ou 1-Wire) mais un protocole propriétaire à fil unique, ce qui implique certaines contraintes de timing côté logiciel.

Câblage du DHT22 #

Le DHT22 dispose de quatre broches, dont trois sont utilisées :

  • VCC : alimentation (3,3 V à 6 V, compatible ESP32 et CubeCell),
  • DATA : données numériques,
  • NC : non connecté,
  • GND : masse.

Une résistance de pull-up de 4,7 kΩ à 10 kΩ est nécessaire entre VCC et DATA (souvent déjà intégrée sur les modules prêts à l’emploi).





VCC (3.3V ou 5V) ──┬── DHT22 (VCC)
                   │
                   └─[ 4.7 kΩ à 10 kΩ ]
                          │
DATA (GPIO microcontrôleur)┘

GND ──────────────────────── DHT22 (GND)

Points d’attention #

  • Le DHT22 impose un temps minimum entre deux mesures (≈ 2 secondes).
  • Il est plus sensible aux longueurs de câble que la DS18B20.
  • Le protocole est bloquant pendant la lecture (important pour les systèmes basse consommation).

Usage dans une balance connectée LoRaWAN #

Dans une balance connectée, le DHT22 permet :

  • de suivre température + hygrométrie du milieu,
  • d’analyser l’influence de l’humidité sur les variations de poids,
  • d’enrichir les données transmises LoRaWAN sans multiplier les capteurs.

Son intégration est particulièrement pertinente pour des applications comme :

  • le suivi de ruches,
  • le stockage de matières hygroscopiques,
  • les environnements agricoles ou industriels faiblement instrumentés.

👉 Pour les systèmes très basse consommation ou à longue portée, on privilégiera cependant la DS18B20, le DHT22 étant légèrement plus gourmand et plus contraignant en timing.

Alimentation #

Objectifs :

  • autonomie maximale,
  • tension stable pour le HX711.

Solutions possibles :

  • batterie Li-ion 18650,
  • LiPo + régulateur faible consommation,
  • éventuellement panneau solaire.

Logiciel embarqué (principe) #

Codage très commenté ici du microcontrôleur

La programmation est faite avec Visual Code Studio qui peut intégrer une IA pour aider l’opérateur.

Fonctionnement général du firmware #

  1. Réveil du microcontrôleur
  2. Initialisation HX711
  3. Lecture brute
  4. Application du facteur de calibration
  5. Mise en forme des données
  6. Envoi LoRaWAN
  7. Mise en sommeil

Données transmises #

Exemple de charge utile (payload) :

OctetsDonnée
3Poids (g)
2Température
2Batterie (%)
2température interne sonde DHT22
2humidité interne sonde DHT22
2température externe sonde DS18B20

Intégration LoRaWAN (TTN) #

Création de l’application #

Sur The Things Network :

  • création d’une Application,
  • enregistrement du Device,
  • méthode OTAA (recommandée).

Paramètres clés :

  • DevEUI
  • AppEUI
  • AppKey

Décodage du payload #

Le payload formatter permet de transformer les octets en valeurs exploitables.

Le script de décodage sera ajouté ici en cohérence avec le firmware.


Traitement des données avec Node-RED #

Rôle de Node-RED #

Node-RED agit comme :

  • collecteur de données TTN,
  • moteur de traitement,
  • interface vers les bases de données.

Flux typique #

  1. Entrée MQTT TTN
  2. Décodage JSON
  3. Séparation des mesures
  4. Envoi vers InfluxDB

Stockage avec InfluxDB #

Structure de la base #

  • Base : balance
  • Mesures :
    • poids
    • températures
    • humidité
    • batterie

Tags possibles :

  • device_id
  • emplacement

Visualisation avec Grafana #

Tableaux de bord #

Exemples de graphiques :

  • évolution du poids dans le temps,
  • histogramme journalier,
  • tension batterie.

Cas d’usage concrets #

  • suivi de ruche,
  • suivi de silos,
  • contrôle de consommation,
  • détection d’anomalies.

Conclusion #

Cette balance connectée illustre parfaitement :

  • la pertinence de LoRaWAN pour l’IoT basse consommation,
  • l’intérêt d’une chaîne open-source complète,
  • la facilité d’intégration avec Node-RED et Grafana.

L’article sera progressivement enrichi avec :

  • le code embarqué,
  • les scripts TTN,
  • les flows Node-RED,
  • les dashboards Grafana.

Powered by BetterDocs