chirpstack

chirpstackMIT活跃维护

开源的 LoRaWAN 网络服务器,负责管理 LoRa 网关与终端设备之间的入网、数据上下行和网络调度,适合自建低功耗广域物联网。

ChirpStack open-source LoRaWAN Network Server

v4.20.0发布于 2026-10-21 07:48 UTC1,135star +1 / 7 天298fork同步于 2026-11-10 05:56 UTC

怎么上手

由 README 提炼,执行前请确认
nix-shell
make docker-devshell
硬件要求按 README 说明

README 未说明

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源 LoRaWAN 网络服务器,用来搭建和管理 LoRaWAN 网络、网关与设备

开源的 LoRaWAN 网络服务器,负责管理 LoRa 网关与终端设备之间的入网、数据上下行和网络调度,适合自建低功耗广域物联网。

核心能力

  • 提供 Web 界面管理网关、设备和租户
  • 配置与主流云厂商、数据库和服务的数据集成
  • 提供基于 gRPC 的 API 用于集成和扩展
  • 支持 PostgreSQL 与 SQLite 两种数据库后端
  • 用 Nix 和 Docker 搭建开发环境并交叉编译

容易踩的坑

构建需要 Nix(推荐)和 Docker,未装 Nix 时需用 make docker-devshell 启动环境;跑测试前要先用 docker compose up -d 启动 PostgresQL、Redis、Mosquitto 等服务;默认按 PostgreSQL 后端构建,用 SQLite 需设置 DATABASE=sqlite

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v4.20.0
  1. v4.20.0最新正式版2026-10-21 · 2026-10-21 07:48 UTC

    v4.20.0

    Features

    Tenant device-profile and application admin

    This feature refactors the tenant device-admin such that it becomes possible to provide tenant-users admin access to certain device-profiles and applications. With this change:

    • Regular tenant users (non-admin) are no longer able to see applications and resources under an application (devices, integrations, etc..). They can still see device-profiles but can not modify these.
    • Tenant device-admins have full admin access to device-profiles and applications (+ everything under an application).
    • Device-profile admins gain update permissions to the selected device-profiles (but can not delete these device-profiles, as this would cascade to deleting devices using these profiles too).
    • Application users gain access to the selected applications (+ everything under it). Optionally, this permission can be set to read-only such that users can not make modifications.

    Use-cases for this feature are for example providing a device vendor access to the device-profile such that it can make modifications to the codec if needed and / or provide users access to a limited set of applications.

    Other features
    • Add support for MQTT session expiration interval. (#993)
    • Add app-layer parameters to device-profile import.
    • Warn users on insecure api.secret + auto-generate secret on Debian / Ubuntu install. (#1025)

    Improvements

    • Update cross-compiling Dockerfiles after cross-rs base-image updates.

    Bugfixes

    • Fix RemoveRelayDeviceRequest REST URL.
    • Fix set default gateway downlink priority to 10 in UI and API if undefined.
    • Add config option to set downlink priority for unknown gateways.
    • Fix typos in TenantForm. (#992)
    • Do not count LinkADRAns with nACK in case the error is recoverable.
    • Fix list multicast-groups / fuota deployments when there are no applications. (#1018)
    • Fix set dev_eui_relayed when saving relayed join-accept downlink-frame. (#1014)
    • Fix enable KR920 DR12 and DR13 for downlink. (#1023)
    • Fix using the end-device data-rate for relayed uplinks in ADR handling. (#1026)
    • Fix validate that fuota payload is not empty. (#1031)
    • Fix delete multicast-group after session timeout on FragStatusReq retry. (#1033)
  2. v4.20.0-test.3pre-release2026-10-12 · 2026-10-12 14:46 UTC
    查看更新说明

    v4.20.0-test.3

    Features

    Tenant device-profile and application admin

    This feature refactors the tenant device-admin such that it becomes possible to provide tenant-users admin access to certain device-profiles and applications. With this change:

    • Regular tenant users (non-admin) are no longer able to see applications and resources under an application (devices, integrations, etc..). They can still see device-profiles but can not modify these.
    • Tenant device-admins have full admin access to device-profiles and applications (+ everything under an application).
    • Device-profile admins gain update permissions to the selected device-profiles (but can not delete these device-profiles, as this would cascade to deleting devices using these profiles too).
    • Application users gain access to the selected applications (+ everything under it). Optionally, this permission can be set to read-only such that users can not make modifications.

    Use-cases for this feature are for example providing a device vendor access to the device-profile such that it can make modifications to the codec if needed and / or provide users access to a limited set of applications.

    Other features
    • Add support for MQTT session expiration interval. (#993)
    • Add app-layer parameters to device-profile import.
    • Warn users on insecure api.secret + auto-generate secret on Debian / Ubuntu install. (#1025)

    Bugfixes

    • Fix RemoveRelayDeviceRequest REST URL.
    • Fix set default gateway downlink priority to 10 in UI and API if undefined.
    • Add config option to set downlink priority for unknown gateways.
    • Fix typos in TenantForm. (#992)
    • Do not count LinkADRAns with nACK in case the error is recoverable.
    • Fix list multicast-groups / fuota deployments when there are no applications. (#1018)
    • Fix set dev_eui_relayed when saving relayed join-accept downlink-frame. (#1014)
    • Fix enable KR920 DR12 and DR13 for downlink. (#1023)
    • Fix using the end-device data-rate for relayed uplinks in ADR handling. (#1026)
    • Fix validate that fuota payload is not empty. (#1031)
    • Fix delete multicast-group after session timeout on FragStatusReq retry. (#1033)
  3. v4.19.22026-09-19 · 2026-09-19 13:35 UTC
    查看更新说明

    v4.19.2

    Bugfixes

    • Apply the validated tenant_id to the MulticastGroupService::list query (cec1896).
  4. v4.19.12026-08-04 · 2026-08-04 08:36 UTC
    查看更新说明

    v4.19.1

    Bugfixes

    • Set default gateway priority to 10 in UI and API if undefined.
    • Add unknown_gateway_downlink_priority config option (with 10 as default) for setting downlink priority of unknonwn gateways (if enabled).
  5. v4.20.0-test.2pre-release2026-07-29 · 2026-07-29 10:08 UTC
    查看更新说明

    v4.20.0-test.2

    Features

    Tenant device-profile and application admin

    This feature refactors the tenant device-admin such that it becomes possible to provide tenant-users admin access to certain device-profiles and applications. With this change:

    • Regular tenant users (non-admin) are no longer able to see applications and resources under an application (devices, integrations, etc..). They can still see device-profiles but can not modify these.
    • Tenant device-admins have full admin access to device-profiles and applications (+ everything under an application).
    • Device-profile admins gain update permissions to the selected device-profiles (but can not delete these device-profiles, as this would cascade to deleting devices using these profiles too).
    • Application users gain access to the selected applications (+ everything under it). Optionally, this permission can be set to read-only such that users can not make modifications.

    Use-cases for this feature are for example providing a device vendor access to the device-profile such that it can make modifications to the codec if needed and / or provide users access to a limited set of applications.

    Other features
    • Add support for MQTT session expiration interval. (#993)

    Bugfixes

    • Fix RemoveRelayDeviceRequest REST URL.
    • Fix set default gateway priority to 10 in UI and API if undefined.
    • Fix typos in TenantForm. (#992)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    ChirpStack open-source LoRaWAN(R) Network Server

    CI

    ChirpStack is an open-source LoRaWAN(R) Network Server which can be used to set up LoRaWAN networks. ChirpStack provides a web-interface for the management of gateways, devices and tenants as well to set up 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.

    Documentation and binaries

    Please refer to the ChirpStack website for documentation and pre-compiled binaries.

    Building from source

    Requirements

    Building ChirpStack requires:

    Nix

    Nix is used for setting up the development environment which is used for local development and for creating the binaries.

    If you do not have Nix installed and do not wish to install it, then you can use the provided Docker Compose based Nix environment. To start this environment execute the following command:

    make docker-devshell
    

    Note: You will be able to run the test commands and run cargo build, but cross-compiling will not work within this environment (because it would try start Docker within Docker).

    Docker

    Docker is used by cross-rs for cross-compiling, as well as some of the make commands.

    Starting the development shell

    Run the following command to start the development shell:

    nix-shell
    

    Or if you do not have Nix installed, execute the following command:

    make docker-devshell
    

    Building the UI

    To build the ChirpStack UI, execute the following command:

    make build-ui
    

    Running ChirpStack tests

    Start required services

    ChirpStack requires several services like PostgresQL, Redis, Mosquitto, ... to be running before you can run the tests. You need to start these services manually if you started the development shell using nix-shell:

    docker compose up -d
    
    Run tests

    Run the following command to run the ChirpStack tests:

    # Test (with PostgresQL database backend)
    make test
    
    # Test with SQLite database backend
    DATABASE=sqlite make test
    

    Building ChirpStack binaries

    Before compiling the binaries, you need to install some additional development tools (for cross-compiling, packaging, e.d.). Execute the following command:

    make dev-dependencies
    

    Run the following command within the ./chirpstack sub-folder:

    # Build AMD64 debug build (optimized for build speed)
    make debug-amd64
    
    # Build AMD64 release build (optimized for performance and binary size)
    make release-amd64
    
    # Build all packages (all targets, .deb, .rpm and .tar.gz files)
    make dist
    

    By default the above commands will build ChirpStack with the PostgresQL database database backend. Set the DATABASE=sqlite env. variable to compile ChirpStack with the SQLite database backend.

    Database migrations

    To create a new database migration, execute:

    make migration-generate NAME=test-migration
    

    To apply migrations, execute:

    make migration-run
    

    To revert a migration, execute:

    make migration-revert
    

    By default the above commands will execute the migration commands using the PostgresQL database backend. To execute migration commands for the SQLite database backend, set the DATABASE=sqlite env. variable.

    License

    ChirpStack Network Server is distributed under the MIT license. See also LICENSE.