Components

The Things Stack is composed of a number of components. The core components Network Server, Application Server and Join Server follow the LoRaWAN Network Reference Model. The Things Stack also contains an Identity Server, Gateway Server, Console and Command-line Interface.

Components

Identity Server

The Identity Server provides the registries that store entities such as applications with their end devices, gateways, users, organizations and OAuth clients. It also manages access control through memberships and API keys.

Gateway Server

The Gateway Server maintains connections with gateways supporting the Basic Station, UDP, MQTT and gRPC protocols. It forwards uplink traffic to Network Servers directly or indirectly, and schedules downlink traffic on gateways.

Network Server

The Network Server handles the LoRaWAN network layer, including MAC commands, regional parameters and adaptive data rate (ADR).

Application Server

The Application Server handles the LoRaWAN application layer, including uplink data decryption and decoding, downlink queuing and downlink data encoding and encryption.

It hosts an MQTT server for streaming application data, supports HTTP webhooks as well as pub/sub integrations.

Join Server

The Join Server handles the LoRaWAN join flow, including Network and Application Server authentication and session key generation.

Console

The Console is the management application of The Things Stack for LoRaWAN. It is a web application which can be used to register applications, end devices or gateways, monitor network traffic, or configure network related options, among other things. The Console uses an OAuth access token to communicate with The Things Stack.

QR Code Generator

The QR Code Generator generates QR codes for devices in various formats. These QR codes can be used for various purposes, including identification and device claiming to transfer ownership.

Command-line Interface

The Command-line Interface (CLI) provides a cross-platform interface for managing components through the command-line.

Device Template Converter

The Device Template Converter converts data to device templates for migrating networks and importing vendor-specific data.

Gateway Configuration Server

The Gateway Configuration Server (GCS) generates configuration files for UDP gateways and manages gateway configuration and firmware updates for Basic Station and The Things Kickstarter gateways.