ChirpStack is an open-source LoRaWAN network server stack that provides open-source components to manage and monitor LoRaWAN networks. ChirpStack bundles monitoring and management tools together to create a ready-to-use solution with a user-friendly web-interface for LoRaWAN device management and APIs for integration.
You can learn more about Chirpstack here.
As part of the LoRaWan package, all Chirpstack dependancies have been added to achieve a ready-to-use LoRaWAN solution. Theses components are detailed bellow.
Architecture Diagram
LoRa Module
This component provides a network interface for the VeeaHub LoRa card configuration. It exposes, on a standardized Eclipse Sparkplug interface, the LoRa Frequency plan and the packet forwarder configuration.
This module has been used by the LoRa Card Manager.
LoRa Card Manager
This component provide the User with a Web-based interface to easily handle all the LoRa VeeaHubs configuration. From this interface, one can change the LoRa frequency plan.
Warning: The LoRaWan package is designed to automatically configure the LoRa frequencies for the country the Veeahubs are deployed in. All changes could affect either the LoRa performances or break the local country regulations.
More information about the LoRa Card Manager can be found at this dedicated page LoRa Manager.
Service MQTT Broker
This is a secure, TLS encrypted, implementation of the popular open-source MQTT broker Mosquitto.
ChirpStack uses MQTT for subscribing to gateway events and sending commands to the gateway.
And it is all a support for all Sparkplug communication interfaces.
Per default, only services running in Veeahub containers can access it, for security reasons. But the User has the possibility to open more connection points for his own need.
More information about the Service MQTT Broker can be found at this dedicated page.
LoRa Gateway
ChirpStack Gateway Bridge sits between Packet Forwarder and MQTT broker and its prime objective is to convert Packet Forwarder format into data-format which is supported by ChirpStack components, encoded as Protobuf.
The ChirpStack Gateway Bridge startup scripts uses the LoRa module to automatically configure itself.
Then it automatically registers itself to the Chirpstack Server.
You can learn more about it here.
ChirpStack Server
ChirpStack is an open-source LoRaWAN Network Server which can be used to to setup private or public LoRaWAN networks. ChirpStack provides a web-interface for the management of gateways, devices and tenants as well to setup data integrations with the major cloud providers, databases and services commonly used for handling device data. ChirpStack provides a gRPC based API that can be used to integrate or extend ChirpStack.
The ChirpStack Server startup scripts uses the LoRa module to automatically configure itself.
The default account information are been set also at package installation to comply with the package deployment configuration
You can learn more about it here.
The Chirpstack Web UI is accessible on port 9077.
The Chirpstack RestAPI is accessible on port 9080.
PostgreSQL
PostgreSQL, also known as Postgres, is a free and open-source relational database management system. ChirpStack Server stores persistent configuration, user/tenant/device information and the gateway data into a PostgreSQL database.
The Startup script will perform the following:
-
Creates and initializes the database if it does not exist
-
Creates Unix domain socket directory if it does not exist
-
Starts the Postmaster
-
Creates a postgres user
-
Runs the initdb scripts for creating application server and network server roles and databases
-
Creates postgres extensions pg_trgm and hstore for application server database.
For security reasons, PostGreSQL database is unreachable outside of the LoRaWan container.
Redis database
Redis is an in-memory data structure store, used as a distributed, in-memory key-value database, cache and message broker, with optional durability. ChirpStack Server uses Redis for storing device-session data and non-persistent data like distributed locks, deduplication sets and meta-data.
For security reason, Redis database is unreachable outside of the LoRaWan container.
FileBrowser
The FileBrowser service provide a remote UI for the User to access the Chirpstack server configuration file. Not all configuration are available through Chirpstack UI, using the FileBrowser, one can access the chirpstack.toml configuration file and change it according to the official documentation.