Tutoriel : Utiliser le convertisseur LoRaWAN¶
Ce tutoriel vous guide dans l'utilisation du convertisseur interactif, un outil pédagogique qui permet de comprendre comment les capteurs IoT encodent et décodent leurs données.
Prérequis¶
- Le dashboard est accessible sur http://localhost:3000
Étape 1 — Ouvrir le convertisseur¶
Cliquez sur l'onglet Convertisseur dans la barre de navigation.
Vous voyez un pipeline d'encodage avec les étapes :
Étape 2 — Encoder une mesure¶
- Saisissez une température (ex :
24.50) et une humidité (ex :65.30) - Observez la transformation à chaque étape :
- Multiplication :
24.50 × 100 = 2450,65.30 × 10 = 653 - Binaire big-endian :
2450 = 0x0992,653 = 0x028D - 4 octets :
09 92 02 8D - Base64 :
CZICjQ==
Étape 3 — Décoder un payload¶
Utilisez l'outil Décodeur pour l'opération inverse :
- Entrez un payload Base64 (ex :
CZICjQ==) - Observez le décodage étape par étape :
- Base64 → octets :
09 92 02 8D - Big-endian → entiers :
2450, 653 - Division :
24.50°C, 65.30%
Étape 4 — Manipulateur de bits¶
L'outil Bit Manipulator vous permet de modifier individuellement chaque bit d'un octet et de voir l'effet sur la valeur :
- Cliquez sur un bit pour l'inverser (0 ↔ 1)
- Observez comment la valeur décimale change
- Comprenez pourquoi le bit de poids fort (MSB) a le plus d'impact
Étape 5 — Démo de corruption¶
L'outil Corruption Demo montre ce qui se passe quand un seul bit est modifié dans une trame :
- Observez le payload original et ses valeurs décodées
- Un bit aléatoire est inversé
- Comparez les valeurs décodées : une erreur d'un seul bit peut produire des valeurs complètement aberrantes
Cela illustre l'importance de la validation des plages physiques (-40°C à 85°C) dans le subscriber.
Étape 6 — Overhead de protocole¶
L'outil Protocol Overhead compare la taille des données selon le format :
- Binaire : 4 octets (optimal pour LoRaWAN)
- JSON : ~35 octets (lisible mais volumineux)
- XML : ~80 octets (le plus verbeux)
Avec un duty cycle de 1% en LoRa, chaque octet compte.
Ce que vous avez appris¶
- Comment
struct.pack('>HH')encode des valeurs décimales en binaire big-endian - Pourquoi la multiplication (×100, ×10) préserve la précision dans un entier
- L'impact de la corruption d'un seul bit sur les données
- Pourquoi le binaire est préféré au JSON pour les transmissions radio LoRaWAN
Pour aller plus loin
- Encodage binaire — explication conceptuelle complète
- Codec LoRaWAN — référence technique du codec Python
- Tutoriel Pipeline — voir ces données traverser le système complet