Intégration de la passerelle LoRaWAN ChirpStack R1X avec le capteur SenseCAP S2101 – Guide complet Seeed & Docker - Wiki Distriot IoT
← Retour à la Base de Connaissances

Intégration de la passerelle LoRaWAN ChirpStack R1X avec le capteur SenseCAP S2101 – Guide complet Seeed & Docker

Découvrez comment configurer la passerelle LoRaWAN ChirpStack R1X sur le Seeed reComputer R11 avec le module WM1302 et le capteur SenseCAP S2101. Ce guide complet couvre l’installation de Docker, la configuration du Packet Forwarder, ChirpStack, MQTT et Node-RED pour une connectivité IoT fiable et sécurisée.

Intégration de la passerelle LoRaWAN ChirpStack R1X avec le capteur SenseCAP S2101 – Guide complet Seeed & Docker

Intégration de la passerelle ChirpStack R1X avec le capteur SenseCAP S2101

Introduction

Ce guide vous accompagne pas à pas dans la mise en place d’une solution complète de passerelle LoRaWAN utilisant ChirpStack sur le Seeed reComputer R11, un contrôleur Edge basé sur Raspberry Pi. Grâce au module concentrateur WM1302 LoRa, le R1X devient une passerelle puissante et fiable, capable d’assurer une communication longue portée.

En configurant le Semtech Packet Forwarder, les données LoRa sont transmises sans interruption à ChirpStack, qui gère les couches réseau et applicative. L’utilisation de Docker simplifie le déploiement des services et assure un environnement modulaire et évolutif. Enfin, l’intégration avec MQTT permet un flux de données IoT sécurisé et en temps réel, provenant de capteurs tels que le SenseCAP S2101.

Architecture ChirpStack reComputer R1X

Matériel requis

  • Seeed reComputer R1X
  • Module passerelle LoRaWAN WM1302
  • Capteur SenseCAP S2101

→ Obtenez le vôtre sur DistrIoT

Installation de Docker

  1. Mettre à jour le système
    sudo apt update
    sudo apt upgrade
  2. Installer Docker
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
  3. Ajouter l’utilisateur au groupe Docker
    sudo usermod -aG docker ${USER}
  4. Redémarrer le système
    sudo reboot
  5. Vérifier l’installation
    docker run hello-world
  6. Installer Docker Compose
    sudo apt install docker-compose

Exécution du Packet Forwarder

Le module WM1302 nécessite le Semtech Packet Forwarder pour relayer les données entre le module LoRa et ChirpStack. Le reComputer R11 dispose d’un guide d’installation préconfiguré disponible sur le wiki officiel de Seeed.

1. Modifier la configuration

Ouvrez le fichier de configuration correspondant à votre région LoRa (ex : US915) :

nano global_conf.json.sx1250.US915

Modifiez la section gateway_conf :

{
"gateway_conf": {
  "gateway_ID": "AA555A0000000000",
  "server_address": "localhost",
  "serv_port_up": 1700,
  "serv_port_down": 1700
}}

Remplacez l’ID de passerelle par le vôtre et utilisez le fichier JSON adapté à votre région.

2. Lancer le Packet Forwarder

./lora_pkt_fwd -c global_conf.json.sx1250.US915

Démarrer la passerelle

Téléchargez le fichier docker-compose.yml depuis la page du reComputer et adaptez la bande de fréquences à votre configuration.

chirpstack-gateway-bridge:
  image: chirpstack/chirpstack-gateway-bridge:4
  restart: unless-stopped
  ports:
    - "1700:1700/udp"
  volumes:
    - ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
  environment:
    - INTEGRATION__MQTT__EVENT_TOPIC_TEMPLATE=us915_0/gateway/{{ .GatewayID }}/event/{{ .EventType }}
    - INTEGRATION__MQTT__STATE_TOPIC_TEMPLATE=us915_0/gateway/{{ .GatewayID }}/state/{{ .StateType }}
    - INTEGRATION__MQTT__COMMAND_TOPIC_TEMPLATE=us915_0/gateway/{{ .GatewayID }}/command/#
  depends_on:
    - mosquitto

Lancer ChirpStack

sudo docker-compose up -d

Vérifiez les conteneurs actifs :

sudo docker ps

Accès à l’interface ChirpStack

Rendez-vous sur http://localhost:8080
Identifiants par défaut :
Utilisateur : admin
Mot de passe : admin

Ajout de la passerelle

  1. Dans ChirpStack, allez dans Gateways → Create Gateway
  2. Renseignez :
    • Gateway ID : AA555A0000000000
    • Nom : Nom descriptif de la passerelle
Création de la passerelle ChirpStack

Création du profil de périphérique

  1. Accédez à Device Profiles → Create Device Profile
  2. Renseignez :
    • Nom : Nom de votre profil
    • Région : correspondante à votre passerelle (ex : US915)
  3. Dans l’onglet Codec, sélectionnez JavaScript Functions et collez le codec de votre appareil.

Ajout d’un périphérique

  1. Allez dans Tenant → Application → Add Application
  2. Donnez un nom, sauvegardez, puis cliquez sur Add Device
  3. Renseignez :
    • Device EUI : depuis le capteur (ex : SenseCAP S2101)
    • Device Profile : le profil créé
    • Application Key : clé du périphérique
Ajout du périphérique SenseCAP

Vérification du statut du périphérique

Dans l’onglet Events du périphérique, vous verrez les paquets de jonction et les trames montantes. Vous pouvez consulter les données comme la température et l’humidité envoyées par le SenseCAP S2101.

Intégration MQTT

ChirpStack utilise MQTT pour diffuser les données vers vos applications ou tableaux de bord.

Configurez votre client MQTT (par ex. MQTT Explorer) :

  • Hôte : IP du reComputer R11
  • Port : 1883

Exemple de sujet :

application/c853ffcd-53f0-4de3-83b9-5467ff895f76/device/2cf7f1c043500402/event/up

Intégration Node-RED

Visualisez les données LoRaWAN avec Node-RED via des nœuds MQTT et des fonctions personnalisées.

// Exemple de fonction Node-RED pour extraire température et humidité
let data = msg.payload;
if (typeof data === "string") {
  try { data = JSON.parse(data); } catch (e) { return [null,null]; }
}
if (!data.object || !Array.isArray(data.object.messages)) return [null,null];
let tempMsg=null, humMsg=null;
data.object.messages.forEach(m=>{
  if(m.type==="report_telemetry"){
    if(m.measurementId===4097) tempMsg={topic:"temperature",payload:m.measurementValue};
    else if(m.measurementId===4098) humMsg={topic:"humidity",payload:m.measurementValue};
  }
});
return [tempMsg, humMsg];

Connectez les sorties à des nœuds Gauge ou de visualisation pour afficher les mesures.

Dashboard Node-RED LoRaWAN

Assistance technique et discussion

Merci d’avoir choisi nos produits ! Nous mettons à disposition plusieurs canaux de support pour garantir une expérience fluide : documentation, forums techniques et assistance directe.