Skip to content
Learni
View all tutorials
Internet des Objets

Comment configurer un réseau LoRaWAN avec TTN en 2026

18 minINTERMEDIATE

Introduction

LoRaWAN est devenu le standard incontournable pour les déploiements IoT longue portée à faible consommation. En 2026, la sécurisation des réseaux et l'intégration fluide avec les plateformes cloud comme The Things Network (TTN) sont essentielles. Ce tutoriel vous guide pas à pas dans la configuration d'un réseau complet : passerelle, enregistrement de nœuds et traitement des données. Vous apprendrez à éviter les pièges courants de la couche MAC et à optimiser le duty cycle. Chaque étape inclut du code fonctionnel que vous pouvez copier directement.

Prérequis

  • Compte The Things Network (TTN) actif
  • Passerelle LoRaWAN compatible (ex: RAK7246)
  • Connaissances de base en Python et YAML
  • Accès à un environnement Linux ou Raspberry Pi
  • Capteur LoRaWAN (ex: Arduino MKR WAN 1310)

Installation des outils TTN

setup.sh
#!/bin/bash
sudo apt update && sudo apt install -y python3-pip mosquitto-clients
pip3 install paho-mqtt ttn

Ce script installe les dépendances Python nécessaires pour communiquer avec TTN via MQTT. Il configure également les clients Mosquitto pour tester les publications locales avant le déploiement distant.

Configuration de la passerelle

La passerelle agit comme pont entre les capteurs LoRa et le serveur réseau TTN. Utilisez ChirpStack ou le logiciel officiel de votre matériel. Assurez-vous que le fichier de configuration inclut les fréquences européennes correctes (868 MHz) et la bonne adresse du serveur TTN.

Fichier de configuration passerelle

gateway-config.yml
gateway:
  id: "0011223344556677"
  server_address: "eu1.cloud.thethings.network"
  server_port_up: 1700
  server_port_down: 1700
  frequency_plan: "EU_863_870"

Ce fichier YAML définit l'identifiant unique de la passerelle et pointe vers le cluster TTN européen. Modifiez uniquement l'ID et les ports si vous utilisez une région différente.

Enregistrement du capteur sur TTN

device.json
{
  "end_device": {
    "ids": {
      "device_id": "mon-capteur-01",
      "dev_eui": "0011223344556677"
    },
    "lorawan_version": "MAC_V1_0_4",
    "lorawan_phy_version": "PHY_V1_0_4",
    "frequency_plan_id": "EU_863_870",
    "root_keys": {
      "app_key": "00112233445566778899AABBCCDDEEFF"
    }
  }
}

Ce JSON est utilisé via l'API TTN pour enregistrer un appareil OTAA. Remplacez les clés par des valeurs générées aléatoirement et conservez-les secrètes.

Script Python d'envoi de données

send_data.py
import ttn
import time

app_id = "mon-application"
access_key = "NNSXS.XXX..."

def uplink_callback(msg, client):
    print("Données reçues:", msg.payload_raw)

handler = ttn.HandlerClient(app_id, access_key)
client = handler.data()
client.set_uplink_callback(uplink_callback)
client.connect()

while True:
    time.sleep(30)

Ce script Python se connecte au handler TTN et écoute les uplinks. Il imprime les payloads bruts. Adaptez-le pour décoder les données capteur selon votre format.

Décodage de payload

decoder.js
function decodeUplink(input) {
  var data = {};
  data.temperature = input.bytes[0] / 2;
  data.humidity = input.bytes[1];
  return { data: data };
}

Ce décodeur JavaScript TTN convertit les octets reçus en valeurs lisibles. Placez-le dans la console TTN pour visualiser immédiatement les mesures capteurs.

Bonnes pratiques

  • Toujours utiliser OTAA plutôt qu'ABP pour une meilleure sécurité des clés
  • Respecter le duty cycle régional (1% en Europe)
  • Chiffrer les payloads au niveau application
  • Surveiller les métriques de la passerelle via le dashboard TTN
  • Mettre à jour régulièrement le firmware des nœuds

Erreurs courantes à éviter

  • Oublier de configurer la bonne fréquence plan (provoque des pertes de paquets)
  • Réutiliser les mêmes clés AppKey sur plusieurs appareils
  • Ignorer les accusés de réception (Confirmed uplinks) sur les messages critiques
  • Dépasser la limite de 10 messages par jour sans adaptative data rate

Pour aller plus loin

Approfondissez vos compétences avec nos formations certifiantes sur l'IoT industriel. Découvrez nos formations Learni.