文章目录
下面是chirpstack的官网。
https://www.chirpstack.io/
下面是桦桦整理的在Linux下部署chirpstack的博客。
https://blog.csdn.net/weixin_46027505/article/details/107088145
0 chirpstack简单介绍
ChirpStack为LoRaWAN网络提供了开源组件。它们共同构成了一个现成的解决方案,包括用于设备管理的用户友好型Web界面和用于集成的API。。提供以下组件:
- ChirpStack网关网桥:处理与LoRaWAN网关的通信
- ChirpStack网络服务器:LoRaWAN网络服务器的实现
- ChirpStack应用服务器:LoRaWAN应用服务器的实现
- ChirpStack地理位置服务器: 与LoRaWAN地理位置后端的集成
- ChirpStack Gateway OS:基于嵌入式Linux的操作系统,用于在LoRa网关上运行(完整)ChirpStack堆栈
chirpstack支持class A,B,C,自适应数据速率,实时帧记录,通道(重新)配置,多租户,API和集成,发现连接的所有的网关等功能
- 下面是架构
0.1 网关
LoRa网关同时(通常)侦听8个或更多通道,并将接收到的数据(从设备)转发到LoRaWAN网络服务器(在本例中为ChirpStack网络服务器)。在LoRa网关上负责接收和发送的软件称为数据包转发器(即packet forward,另外会写博客介绍)。
0.2 ChirpStack网关桥
位于数据包转发和MQTT代理之间。它将数据包转发器格式(例如 Semtech UDP数据包转发器协议)转换为ChirpStack组件使用的数据格式。它还提供与各种云平台的集成,例如GCP Cloud IoT Core 和Azure IoT Hub。
0.3 ChirpStack网络服务器
负责管理网络的状态。它具有网络上设备激活的知识,并且能够在设备要加入网络时处理加入请求。
当多个网关接收到数据时,ChirpStack网络服务器将对这些数据进行重复数据删除,并将其作为一个有效负载转发给ChirpStack应用服务器。当应用服务器需要将数据发送回设备时,ChirpStack网络服务器会将这些项目保留在队列中,直到能够发送到其中一个网关为止。
0.4 ChirpStack应用服务器
与ChirpStack网络服务器兼容。它提供了用于管理用户,组织,应用程序,网关和设备的Web界面和API。收到的上行链路数据将转发到一个或多个已配置的集成。
- ChirpStack应用程序服务器利用MQTT来发布和接收应用程序有效负载。Mosquitto是流行的开源MQTT服务器。
- ChirpStack应用程序服务器将网关数据保存到 PostgreSQL数据库中。
- ChirpStack应用程序服务器将所有非持久性数据存储到 Redis数据存储中。
0.5 ChirpStack地理位置服务器
该ChirpStack地理位置服务器是一个可选组件,与多个LoRaWAN地理位置后端集成。
1 添加网络服务器
Network-servers:管理连接的网络服务器(ChirpStack网络服务器实例),支持多个区域
2 添加网关profiles
3 添加网关设备
Gateways:管理网关,显示网关统计信息,并配置精细时间戳解密密钥。
这里的gateway id后面在配置网关的packet forward 需要写入。
- 在网关设备连接上应用服务器后,可以看到网关设备的地址。
4 管理用户
4.1 全局管理员用户
全局管理员用户有权执行任何操作。例如,它可以管理网关,用户,创建组织,应用程序和节点。
4.2 普通用户
默认情况下,普通用户没有权限。但是,可以将其分配给一个或多个组织。
5 添加sevice-profiles
sevice-profiles:管理服务配置文件,定义允许组织在连接的网络服务器上使用的功能。服务配置文件可以看作是用户与网络之间的“合同”。它描述了为服务配置文件的用户启用的功能以及可以通过网络发送的消息的速率。
在创建服务配置文件时,ChirpStack应用程序服务器将在所选的网络服务器上创建实际的配置文件,并将保留参考记录,以便知道其属于哪个组织。
6 添加device-profile
device-profile设备配置文件:管理设备配置文件,其中包含设备功能和启动参数。
- 这里我们选择class A节点
- 选择入网方式,如果不选择OTAA,默认APB入网
7 添加应用AS(添加后会让你添加设备)
管理应用程序,集成和有效负载解码器。
8 配置网关的packet forward
首先我们需要了解packet forward
https://blog.csdn.net/weixin_46027505/article/details/107272829
上面我们在添加Gateway的时候有一个gateway id,修改globlal_conf.json,与这里保持一致。还有将chirpstack的服务器输入到server_address
执行这个交叉编译出来的可执行文件,我们看到chirpstack上网关上线了。