The ChirpStack Gateway OS is an embedded OS for LoRa gateways. It is part of the ChirpStack open-source LoRaWAN Network Server stack.
The goal of the ChirpStack Gateway OS is to provide firmware images that are easy to setup, maintain and customize.
An image providing the Semtech Packet Forwarder and ChirpStack Gateway Bridge.
Provides the following features:
- Monit based service monitoring
- ChirpStack Concentratord
- ChirpStack Gateway Bridge
An image providing a complete LoRaWAN network-server running on the gateway.
Provides the following features:
- Monit based service monitoring
- ChirpStack Concentratord
- ChirpStack Gateway Bridge
- ChirpStack Network Server
- ChirpStack Application Server
- Mosquitto MQTT broker
- Redis
- PostgreSQL
- Raspberry Pi Zero W
- Raspberry Pi 1
- Raspberry Pi 3
- Raspberry Pi 4
- IMST - iC880A
- IMST - iC980A
- IMST - Lite Gateway
- Pi Supply - LoRa Gateway Hat
- RAK - RAK2245
- RAK - RAK2246 / RAK2246G
- RAK - RAK2287
- RAK - RAK831 Gateway Developer Kit
- RisingHF - RHF0M301 LoRaWAN IoT Discovery Kit
- Sandbox Electronics - LoRaGo PORT
- Semtech - SX1302 CoreCell
- Semtech - SX1280 2.4GHz gateway
The default username is admin
with password admin
.
Execute the following command as admin
user:
sudo gateway-config
A Docker Compose based build environment is provided for compiling the images.
Note: Compiling these images require a fair amount of CPU power, RAM and disk space. As a reference, the pre-compiled images are built using a 8 x Core i7 machine with 16GB RAM running Manjaro Linux with 200GB reserved for the build environment.
Run the following command to fetch the git submodules and setup directory permissions (to write back from the Docker container):
# update the submodules
make submodules
# setup permissions
make permissions
Run the following command to set the /build
folder permissions:
# on the host
docker-compose run --rm busybox
# within the container
chown 999:999 /build
Run the following command to setup the build environment:
# on the host
docker-compose run --rm yocto bash
# within the container
# initialize the yocto / openembedded build environment
source oe-init-build-env /build/ /chirpstack-gateway-os/bitbake/
# build the chirpstack-gateway-os-base image
bitbake chirpstack-gateway-os-base
In case of error:
docker.credentials.errors.InitializationError: docker-credential-secretservice not installed or not available in PATH
Make sure that the golang-docker-credential-helpers
is installed. On Ubuntu
you can install it with:
sudo apt install golang-docker-credential-helpers
By default, Raspberry Pi3 is configured as the target platform. You need to update the following configuration files to configure a different target:
/build/config/local.conf
/build/config/bblayers.conf
Although ChirpStack Network Server and ChirpStack Application Server try to minimize the number of database writes, there will be regular writes to the SD Card (PostgreSQL and Redis snapshots). According to Is it true that a SD/MMC Card does wear levelling with its own controller? it might make a difference which SD Card brand you use.
The major version (major.minor.patch) of this project represents the major version of the provided ChirpStack Network Server stack.