Integration des ChirpStack R1X LoRaWAN-Gateways mit dem SenseCAP S2101-Sensor – Vollständige Anleitung von Seeed & Docker - Wiki Distriot IoT
← Retour à la Base de Connaissances

Integration des ChirpStack R1X LoRaWAN-Gateways mit dem SenseCAP S2101-Sensor – Vollständige Anleitung von Seeed & Docker

Erfahren Sie, wie Sie das LoRaWAN ChirpStack R1X-Gateway auf dem Seeed reComputer R11 mit dem WM1302-Modul und dem SenseCAP S2101-Sensor konfigurieren. Diese umfassende Anleitung behandelt die Docker-Installation, die Konfiguration des Paketweiterleiters sowie ChirpStack, MQTT und Node-RED für eine zuverlässige und sichere IoT-Konnektivität.

Integration des ChirpStack R1X LoRaWAN-Gateways mit dem SenseCAP S2101-Sensor – Vollständige Anleitung von Seeed & Docker

Integration des ChirpStack R1X-Gateways mit dem SenseCAP S2101-Sensor

Einführung

Dieser Leitfaden führt Sie Schritt für Schritt durch die Einrichtung einer kompletten LoRaWAN-Gateway-Lösung. mit ChirpStack auf dem Seeed reComputer R11 , einem Edge-Controller auf Basis des Raspberry Pi. Dank des WM1302 LoRa Hub-Moduls wird der R1X zu einem leistungsstarken und zuverlässigen Gateway. fähig zur Kommunikation über große Entfernungen.

Durch die Konfiguration des Semtech Packet Forwarders werden LoRa-Daten ununterbrochen an ChirpStack übertragen. Docker verwaltet die Netzwerk- und Anwendungsschichten. Die Verwendung von Docker vereinfacht die Bereitstellung von Diensten. und gewährleistet eine modulare und skalierbare Umgebung. Die Integration mit MQTT ermöglicht schließlich einen IoT-Datenstrom. sicher und in Echtzeit, dank Sensoren wie dem SenseCAP S2101 .

Architektur ChirpStack reComputer R1X

Erforderliche Materialien

  • Seeed reComputer R1X
  • WM1302 LoRaWAN-Gateway-Modul
  • SenseCAP S2101 Sensor

→ Holen Sie sich Ihres bei DistrIoT

Docker-Installation

  1. Aktualisieren Sie das System
     sudo apt update
     sudo apt upgrade
  2. Docker installieren
     curl -fsSL https://get.docker.com -o get-docker.sh
     sudo sh get-docker.sh
  3. Füge den Benutzer der Docker-Gruppe hinzu
     sudo usermod -aG docker ${USER}
  4. Starten Sie das System neu.
     sudo reboot
  5. Überprüfen Sie die Installation.
     Docker Run Hello World
  6. Docker Compose installieren
     sudo apt install docker-compose

Paketweiterleitungsausführung

Das WM1302- Modul benötigt den Semtech Packet Forwarder zur Datenweiterleitung. zwischen dem LoRa-Modul und ChirpStack. Der reComputer R11 verfügt über eine vorkonfigurierte Installationsanleitung. verfügbar im offiziellen Seeed-Wiki.

1. Ändern Sie die Konfiguration

Öffnen Sie die Konfigurationsdatei, die Ihrer LoRa-Region entspricht (z. B. US915):

 nano global_conf.json.sx1250.US915

Ändern Sie den Abschnitt gateway_conf :

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

Ersetzen Sie die Gateway-ID durch Ihre eigene und verwenden Sie die für Ihre Region geeignete JSON-Datei.

2. Starten Sie den Paketweiterleiter.

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

Gateway starten

Laden Sie die docker-compose.yml- Datei von der reComputer-Seite herunter und passen Sie sie an. Frequenzband entsprechend Ihrer Konfiguration.

 Chirpstack-Gateway-Brücke:
 Bild: chirpstack/chirpstack-gateway-bridge:4
 Neustart: sofern nicht gestoppt
 Anschlüsse:
 - "1700:1700/udp"
 Bände: 
- ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
 Umfeld:
 - 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/#
 abhängig von:
 - Mücken

ChirpStack starten

 sudo docker-compose up -d

Überprüfen Sie die aktiven Container:

 sudo docker ps

Zugriff auf die ChirpStack-Schnittstelle

Gehen Sie zu http://localhost:8080
Standardanmeldeinformationen:
Benutzer: Admin
Passwort: admin

Hinzufügen des Gateways

  1. In ChirpStack gehen Sie zu Gateways → Gateway erstellen
  2. Bitte geben Sie folgende Informationen an:
    • Gateway-ID: AA555A0000000000
    • Name: Beschreibende Bezeichnung der Fußgängerbrücke
Erstellung des ChirpStack-Gateways

Erstellen des Geräteprofils

  1. Gehen Sie zu Geräteprofile → Geräteprofil erstellen
  2. Bitte geben Sie folgende Informationen an:
    • Name: Ihr Profilname
    • Region: entsprechend Ihrem Gateway (z. B. US915)
  3. Im Tab „Codec“ wählen Sie „JavaScript-Funktionen“ und fügen den Codec Ihres Geräts ein.

Hinzufügen eines Geräts

  1. Gehen Sie zu Mandant → Anwendung → Anwendung hinzufügen
  2. Geben Sie dem Gerät einen Namen, speichern Sie die Einstellungen und klicken Sie dann auf „Gerät hinzufügen“.
  3. Bitte geben Sie folgende Informationen an:
    • Geräte-EUI: vom Sensor (z. B. SenseCAP S2101)
    • Geräteprofil: das erstellte Profil
    • Anwendungsschlüssel: Geräteschlüssel
Hinzufügen des SenseCAP-Geräts

Gerätestatusprüfung

Auf der Registerkarte „Ereignisse “ des Geräts werden Ihnen die Junction-Pakete und Uplink-Frames angezeigt. Sie können Daten wie Temperatur und Luftfeuchtigkeit anzeigen, die vom SenseCAP S2101 gesendet werden.

MQTT-Integration

ChirpStack nutzt MQTT , um Daten an Ihre Anwendungen oder Dashboards zu streamen.

Konfigurieren Sie Ihren MQTT-Client (z. B. MQTT Explorer):

  • Host: IP-Adresse des reComputers R11
  • Hafen: 1883

Beispielthema:

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

Node-RED-Integration

Visualisierung von LoRaWAN-Daten mit Node-RED über MQTT-Knoten und benutzerdefinierte Funktionen.

 // Beispiel einer Node-RED-Funktion zur Ermittlung von Temperatur und Luftfeuchtigkeit
 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];

Verbinden Sie die Ausgänge mit Gauge- oder Visualisierungsknoten, um die Messwerte anzuzeigen.

Node-RED LoRaWAN Dashboard

Technischer Support und Diskussion

Vielen Dank, dass Sie sich für unsere Produkte entschieden haben! Wir bieten Ihnen verschiedene Supportkanäle, um einen reibungslosen Ablauf zu gewährleisten. Nahtloses Benutzererlebnis: Dokumentation, technische Foren und direkter Support.