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.

The Things Stack 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 UDP, MQTT, gRPC and Basic Station protocols. It forwards uplink traffic to Network Servers, 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 and manages HTTP webhooks and 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 official 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.

Command-line Interface

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

Crypto Server

The Crypto Server can handle cryptographic operations when working with hardware secure modules (HSMs).

Device Template Converter

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

Device Claiming Server

The Device Claiming Server is used to transfer end devices to a new owner’s application using a claim authentication code or QR code.

Gateway Configuration Server

The Gateway Configuration Server generates configuration files for gateways and manages gateway firmware updates.