WZ-IT Logo
AnleitungIoT

ChirpStack und LoRaWAN-Gateway einrichten: Anleitung

Timo WevelsiepTimo WevelsiepAktualisiert: 30.06.2026

Hinweis zum Inhalt: Versionen, Befehle und Preise können sich ändern. Bitte prüfen Sie kritische Schritte vor dem produktiven Einsatz eigenständig. Dieser Leitfaden ersetzt keine individuelle Beratung.

Ein eigenes LoRaWAN-Netz mit ChirpStack richten Sie in fünf Schritten ein: ChirpStack per Docker Compose installieren, das LoRaWAN-Gateway über Semtech UDP Packet Forwarder oder Basics Station anbinden, das Gateway in der Weboberfläche registrieren, ein Device-Profile plus Application für OTAA anlegen und die entschlüsselten Nutzdaten per MQTT abgreifen. Diese Anleitung führt Schritt für Schritt durch ein self-hosted Setup auf Ihrer eigenen Infrastruktur, ohne Cloud-Lock-in und ohne Per-Device-Lizenzen. Sie bezieht sich auf ChirpStack v4 (aktuell Version 4.18, Mai 2026).

Voraussetzungen

Bevor Sie starten, brauchen Sie drei Dinge:

  • Einen Server oder eine VM mit Docker und Docker Compose, zum Beispiel eine kleine Linux-VM auf Proxmox, einem Hetzner-Server oder on-premises im Werk. Für ein Pilotprojekt genügen 2 vCPU und 4 GB RAM.
  • Ein LoRaWAN-Gateway, das den Semtech UDP Packet Forwarder, die Semtech Basics Station oder den ChirpStack MQTT Forwarder spricht. Das trifft auf Modelle von Multitech, Kerlink, Dragino, RAK Wireless oder Milesight zu.
  • Mindestens ein LoRaWAN-Sensor mit bekannter DevEUI und AppKey, der zur Funkregion passt (in der DACH-Region EU868).

Was LoRaWAN als Funkprotokoll genau leistet und wie die Network-Server-Schicht arbeitet, erklären wir in den verlinkten Grundlagenartikeln.

Schritt 1: ChirpStack per Docker Compose installieren

ChirpStack stellt ein fertiges Compose-Skelett bereit, das alle nötigen Dienste mitbringt. Klonen Sie das offizielle Repository und starten Sie den Stack:

git clone https://github.com/chirpstack/chirpstack-docker.git
cd chirpstack-docker
docker compose up -d

Damit laufen folgende Container: der ChirpStack-Server selbst, die ChirpStack Gateway Bridge (eine Variante für Semtech UDP, eine für Basics Station), der Mosquitto-MQTT-Broker, PostgreSQL, Redis und eine optionale REST-API. Standardmäßig ist die Region EU868 vorkonfiguriert; andere Regionen ändern Sie in der chirpstack.toml im Verzeichnis configuration/chirpstack/.

Öffnen Sie anschließend die Weboberfläche unter http://SERVER-IP:8080 und melden Sie sich mit den Standard-Zugangsdaten admin / admin an. Ändern Sie das Passwort sofort und legen Sie für den Produktivbetrieb einen eigenen Benutzer an. Die wichtigsten Ports im Überblick:

Komponente Port Zweck
ChirpStack Web-UI 8080/tcp Weboberfläche, Login admin / admin
Gateway Bridge (Semtech UDP) 1700/udp Anbindung Semtech UDP Packet Forwarder
Gateway Bridge (Basics Station) 3001/tcp Anbindung Semtech Basics Station (WebSocket)
REST-API 8090/tcp optionale REST-Schnittstelle
MQTT-Broker (Mosquitto) 1883/tcp Nutzdaten abgreifen und Downlinks senden

Der mitgelieferte docker-compose.yml ist als Ausgangspunkt für Tests gedacht. Für den Produktivbetrieb passen Sie Passwörter, TLS, Volumes und Backups an.

Schritt 2: Gateway anbinden (Semtech UDP oder Basics Station)

ChirpStack empfängt die Funkpakete nicht direkt vom Gateway, sondern über die Gateway Bridge, die das Packet-Forwarder-Protokoll in MQTT übersetzt. Sie haben zwei gängige Wege:

Semtech UDP Packet Forwarder (einfach, maximale Kompatibilität). In der Konfiguration des Gateways (oft global_conf.json oder local_conf.json) tragen Sie als Server die IP des ChirpStack-Hosts und als Up-/Down-Port jeweils 1700 ein:

"gateway_conf": {
  "server_address": "SERVER-IP",
  "serv_port_up": 1700,
  "serv_port_down": 1700
}

Semtech Basics Station (empfohlen für neue Produktivsetups). Die Basics Station verbindet sich per WebSocket und unterstützt TLS. Im Gateway hinterlegen Sie als LNS-URI ws://SERVER-IP:3001 (bzw. wss:// mit Zertifikaten). Welcher Weg möglich ist, hängt von der Firmware Ihres Gateways ab; viele moderne Gateways können beides.

Sobald der Packet Forwarder läuft, schickt das Gateway bereits Statistik- und Empfangspakete an die Bridge, auch wenn das Gateway in ChirpStack noch nicht angelegt ist.

Schritt 3: Gateway in ChirpStack registrieren

Damit ChirpStack die Pakete einem bekannten Gateway zuordnet, registrieren Sie es in der Weboberfläche:

  1. Wechseln Sie zum gewünschten Tenant (in der Standardinstallation gibt es einen Default-Tenant).
  2. Öffnen Sie Gateways und klicken Sie auf Add gateway.
  3. Vergeben Sie einen Namen und tragen Sie die 64-Bit Gateway-EUI ein. Diese lesen Sie im Gateway selbst aus; sie wird häufig aus der MAC-Adresse abgeleitet.
  4. Speichern Sie das Gateway.

Nach kurzer Zeit sollte der Status auf online wechseln und der Reiter LoRaWAN frames beziehungsweise Gateway statistics eingehende Daten zeigen. Bleibt das Gateway offline, prüfen Sie Firewall und Port 1700/UDP zwischen Gateway und Server sowie die korrekte EUI.

Schritt 4: Device-Profile und Application anlegen (OTAA)

Bevor ein Sensor joinen kann, brauchen Sie ein Device-Profile und eine Application.

Device-Profile anlegen. Unter Device profiles legen Sie ein Profil an, das die Fähigkeiten Ihres Geräts beschreibt:

  • Region: zum Beispiel EU868.
  • LoRaWAN MAC version: etwa 1.0.3 oder 1.1, je nach Sensor.
  • Regional Parameters revision: passend zur MAC-Version.
  • Activation: OTAA (Over-the-Air Activation), die empfohlene, sichere Variante gegenüber ABP.

Optional hinterlegen Sie einen Payload-Codec, der die rohen Bytes in lesbare Felder übersetzt.

Application und Gerät anlegen. Unter Applications erstellen Sie eine Application (zum Beispiel "Temperatursensoren Werk 1"). Darin klicken Sie auf Add device und tragen ein:

  • die DevEUI des Sensors (steht meist auf dem Gerät oder im Datenblatt),
  • das passende Device-Profile.

Nach dem Speichern öffnen Sie den Reiter Keys (OTAA) und tragen den AppKey ein (bei LoRaWAN 1.1 zusätzlich den NwkKey). Schalten Sie nun den Sensor ein: Im Reiter LoRaWAN frames sehen Sie zuerst einen Join Request und kurz darauf ein Join Accept. Ab jetzt erscheinen die Uplinks im Reiter Events.

Schritt 5: Daten per MQTT abgreifen

Sobald das Gerät joint, publiziert ChirpStack jedes Ereignis auf dem internen MQTT-Broker. Das Topic-Schema für Uplinks lautet:

application/APPLICATION_ID/device/DEV_EUI/event/up

Daneben gibt es weitere Event-Typen wie join, ack, txack, status und log. Mit dem mosquitto_sub-Client abonnieren Sie alle Uplinks über Wildcards:

mosquitto_sub -h SERVER-IP -t "application/+/device/+/event/up" -v

ChirpStack kann die Nutzdaten als Protobuf oder JSON ausgeben. Für eine einfache Weiterverarbeitung aktivieren Sie das JSON-Format über json=true im Abschnitt [integration.mqtt] der chirpstack.toml. Das Uplink-Event enthält dann unter anderem die dekodierten Messwerte (object), Metadaten der empfangenden Gateways (RSSI, SNR), die Frame-Zähler und den Spreading Factor.

Ab hier ist MQTT Ihr universeller Integrationspunkt: Sie leiten die Werte in eine Zeitreihen-Datenbank, in ein Grafana-IoT-Dashboard, in Node-RED oder in eine eigene Anwendung weiter, vollständig auf Ihrer Infrastruktur und ohne Umweg über eine fremde Cloud.

Häufige Stolpersteine

  • Gateway bleibt offline: Meist blockiert eine Firewall Port 1700/UDP, oder die Gateway-EUI in ChirpStack stimmt nicht mit der echten EUI überein.
  • Join schlägt fehl: Falsche DevEUI/AppKey, falsche LoRaWAN-Version im Device-Profile oder eine Region, die nicht zum Sensor passt.
  • Keine MQTT-Daten: Application-ID oder DevEUI im Topic falsch geschrieben, oder der Sensor sendet noch keinen Uplink. Prüfen Sie zuerst die Events in der Weboberfläche.
  • Region passt nicht: Stellen Sie sicher, dass Gateway, Device-Profile und Gateway Bridge dieselbe Region (zum Beispiel EU868) verwenden.

Nächste Schritte

Mit diesen fünf Schritten haben Sie ein souveränes, self-hosted LoRaWAN-Netz mit ChirpStack in Betrieb, Open Source unter MIT-Lizenz, in der EU betrieben und ohne Per-Device-Lizenzkosten. Für den Produktivbetrieb kommen Themen wie TLS, Hochverfügbarkeit, Backups, Codecs und Monitoring hinzu. Diese Konzeption, Einrichtung und den Betrieb übernehmen wir auf Wunsch komplett auf Ihrer Infrastruktur. Mehr dazu auf unserer Seite zu ChirpStack & LoRaWAN Network Server und im Überblick zu LoRaWAN-Lösungen von WZ-IT. Ein unverbindliches Kennenlern-Gespräch können Sie direkt online buchen.

Sie möchten IoT nicht selbst betreiben? WZ-IT übernimmt Einrichtung, Betrieb und Wartung – DSGVO-konform aus Deutschland.

Häufig gestellte Fragen

Antworten auf die wichtigsten Fragen

Klonen Sie das offizielle Repository chirpstack/chirpstack-docker, wechseln Sie in das Verzeichnis und starten Sie den Stack mit 'docker compose up -d'. Damit laufen ChirpStack v4, die Gateway Bridge, der Mosquitto-MQTT-Broker, PostgreSQL und Redis. Die Weboberfläche erreichen Sie unter http://localhost:8080 mit den Standard-Zugangsdaten admin / admin, die Sie sofort ändern sollten.

Für den Semtech UDP Packet Forwarder ist es UDP-Port 1700 der ChirpStack Gateway Bridge. Für die robustere, TLS-fähige Semtech Basics Station ist es standardmäßig TCP-Port 3001 (WebSocket). Die Weboberfläche läuft auf TCP 8080, die optionale REST-API auf 8090 und der Mosquitto-Broker auf 1883.

Sie legen das Gateway in der Weboberfläche unter dem jeweiligen Tenant über 'Gateways' und 'Add gateway' an. Pflichtfeld ist die 64-Bit Gateway-EUI, die Sie im Gateway selbst auslesen. Anschließend konfigurieren Sie den Packet Forwarder des Gateways so, dass er die IP des ChirpStack-Servers auf UDP 1700 (oder Basics Station auf 3001) anspricht.

Erst erstellen Sie ein Device-Profile mit der LoRaWAN-Version, den Regional Parameters und der Aktivierung OTAA. Dann legen Sie in einer Application ein Gerät mit seiner DevEUI an und tragen unter dem Reiter 'Keys (OTAA)' den AppKey ein. Beim nächsten Join sehen Sie im Reiter LoRaWAN frames zuerst einen Join Request und dann ein Join Accept.

ChirpStack publiziert jedes Uplink-Event auf dem MQTT-Topic 'application/APPLICATION_ID/device/DEV_EUI/event/up'. Mit 'mosquitto_sub -h localhost -t "application/+/device/+/event/up" -v' sehen Sie alle eingehenden Nutzdaten. Für eine leicht lesbare Ausgabe aktivieren Sie das JSON-Format über json=true in der chirpstack.toml.

Die Software ist unter der MIT-Lizenz kostenlos, ohne Lizenz- oder Per-Device-Gebühren. Kosten entstehen nur durch Infrastruktur (Server bzw. VM, Gateways) und Betrieb. Eine detaillierte Kalkulation finden Sie in unserem Artikel zu den ChirpStack-Kosten.

Aktuell ist ChirpStack v4 (Version 4.18, Mai 2026). In v4 sind Network- und Application-Server zu einer Komponente verschmolzen, und Multi-Region-Betrieb ist eingebaut. Für neue Setups gibt es keinen Grund mehr, die abgekündigte v3-Reihe einzusetzen.

Lassen Sie uns über Ihre Idee sprechen

Ob konkrete IT-Herausforderung oder einfach eine Idee - wir freuen uns auf den Austausch. In einem kurzen Gespräch prüfen wir gemeinsam, ob und wie Ihr Projekt zu WZ-IT passt.

E-Mail
[email protected]

Führende Unternehmen vertrauen WZ-IT

  • Rekorder
  • Keymate
  • Führerscheinmacher
  • SolidProof
  • ARGE
  • Boese VA
  • NextGym
  • Maho Management
  • Golem.de
  • Millenium
  • Paritel
  • Yonju
  • EVADXB
  • Mr. Clipart
  • Aphy
  • Negosh
  • ABCO Water Systems
Timo Wevelsiep & Robin Zins - CEOs of WZ-IT

Timo Wevelsiep & Robin Zins

Geschäftsführer

1/3 - Themenauswahl33%

Worum geht es bei Ihrer Anfrage?

Wählen Sie einen oder mehrere Bereiche, bei denen wir Sie unterstützen dürfen.