1.简介
本系列文章将专门介绍开源软件LoRaWAN Chirpstack网络服务器的部署和操作。该软件是由荷兰发烧友之一Orne Brocaar创建的,可用于构建自己的LoRaWAN网络,系统组件已获得MIT许可,可用于商业运营。
在与我们的LoRaWAN设备的客户和消费者沟通时,我反复听到有关在此服务器上部署自己的网络的请求帮助,这使我认为需要一个有关部署和操作服务器的通用指南,我可以逐步阅读该指南,用自己的双手,安装任何人。在这方面,这一系列文章应运而生。我们要讨论什么?首先,通过安装所有服务器组件开始最重要的事情。此外,还将有关于服务器操作,与外部平台集成,关于LoRaWAN网络的新技术(例如多播和FUOTA)的使用的文章。因此,让我们开始……第一部分。
2.我们将使用什么
首先,我们将描述将在其上测试和部署LoRaWAN服务器的
硬件。
- LoRaWAN网关:DoMINO Indoor v.1.0(您可以使用另一个版本,例如Vega BS xx)
- 脉冲计数器DoMINO PULSE v.4.3 +
软件:
- 带有Ubuntu 18.04的云服务器
3. Chirpstack服务器的说明
所述LoRaWAN网络服务器的结构在图1中示出

图1
的服务器的主要组成部分是:
网关桥-安装在基站上的分组转发器程序(网关)和LoRaWAN服务器结构本身之间的一些桥;
网络服务器-处理网络级消息的网络服务器;
应用程序服务器-在用户级别提供网络操作的应用程序服务器,与外部平台集成。
辅助组件:
MQTT Broker Mosquitto-用于服务器组件之间的内部消息传递;
Redis- 用于存储瞬态数据的中间数据库;
PostgreSQL的-用于永久数据存储的数据库。
所有软件均为开源软件。
4.服务器安装
该服务器安装在Ubuntu 18.04或Debian OS上。我们将描述在Ubuntu 18.04上使用云服务器进行的安装。使用Putty客户端通过SSH与服务器建立连接。注意:假定我们的读者了解使用Ubuntu,SSH,Putty的知识,并已安装并配置了OS。
4.1安装和配置辅助软件
首先,我们需要安装辅助软件包。为此,请在控制台中输入命令:
sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql
并等待安装完成。
接下来,您需要配置PostgreSQL数据库并向其中添加用户。
我们进入数据库管理模式:
sudo -u postgres psql
数据库管理提示将显示postgres =#
使用密码创建用户(必须记住该数据,您可以指定其他登录名和密码,但是请务必记住它们,将需要它们进一步配置网络服务器和应用程序服务器)。
我们为网络服务器创建一个用户:
create role chirpstack_ns with login password 'dbpassword';
我们为应用程序服务器创建一个用户:
create role chirpstack_as with login password 'dbpassword';
让我们为网络服务器创建一个数据库:
create database chirpstack_ns with owner chirpstack_ns;
让我们为应用程序服务器创建一个数据库:
create database chirpstack_as with owner chirpstack_as;
其他设置
连接到数据库:
\c chirpstack_as
创建扩展:
create extension pg_trgm;
创建扩展:
create extension hstore;
退出编辑数据库参数:
\q
4.2安装Chirpstack信息库
必须安装以下组件:dirmngr和apt-transport-https(如果未运行该命令):
sudo apt install apt-transport-https dirmngr
安装新存储库的密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00
将存储库添加到列表中:
sudo echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | sudo tee /etc/apt/sources.list.d/chirpstack.list
让我们更新apt缓存:
sudo apt update
这样就完成了初步配置。
4.3安装网关桥
安装软件包:
sudo apt install chirpstack-gateway-bridge
启动网关网桥:
sudo systemctl start chirpstack-gateway-bridge
我们将Gateway Bridge应用程序启动:
sudo systemctl enable chirpstack-gateway-bridge
要检查启动和安装的正确性,可以使用以下命令检查工作日志:
sudo journalctl -f -n 100 -u chirpstack-gateway-bridge
退出日志Ctrl +Z。
日志中应该没有错误。
4.4安装和配置网络服务器
安装软件包:
sudo apt install chirpstack-network-server
为了使服务器正常工作,我们需要对其进行配置,配置文件为以下文件:
/etc/chirpstack-network-server/chirpstack-network-server.toml
在使用网络服务器之前,您需要对其进行编辑以完成我们的任务,为此,我们进入包含文件的文件夹:
/etc/chirpstack-network-server/
然后在此文件夹中,执行命令以创建新的配置文件
chirpstack-network-server configfile > chirpstack-network-server.toml
让我们开始对配置文件进行更改。
在方便的编辑器(nano,vim)中打开文件进行编辑。
在本周期的下一部分,我们将详细讨论网络服务器设置的深入项目,现在,我们将仅进行基本设置,以提供功能基础。
我们配置网络服务器到数据库的连接:
dsn="postgres://chirpstack_ns:dbpassword@localhost/chirpstack_ns?sslmode=disable"
这是我们需要上一段中的数据库名称,登录名和密码的地方!
我们还编辑了频率计划参数:
name="RU864"
我们保存配置文件,退出到终端控制台。
我们启动网络服务器:
sudo systemctl start chirpstack-network-server
我们将网络服务器启动:
sudo systemctl enable chirpstack-network-server
我们检查了网络服务器的日志,应该没有错误:
sudo journalctl -f -n 100 -u chirpstack-network-server
服务器已配置并正在运行。
4.5安装和配置Application Server
安装软件包:
sudo apt install chirpstack-application-server
类似于网络服务器,我们配置应用程序服务器配置文件。
转到设置文件夹:
/etc/chirpstack-application-server/
我们更新配置文件:
chirpstack-application-server configfile > chirpstack-application-server.toml
在这里,我们还必须编辑与数据库的连接,非常重要的一点是,我们需要创建jwt_secret秘密密钥,为此,我们运行以下命令:
openssl rand -base64 32
并写下结果密钥。
打开配置文件进行编辑,并将数据库连接字符串更改为我们自己的字符串:
dsn="postgres://chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable"
安装复制的密钥:
jwt_secret=”UwX3TeStLtm/7tkW7hsqfbpcvo5k+BOEh/l8uDHCcKU=”
我们保存配置文件。我们退出到终端控制台。
我们启动应用程序服务器:
sudo systemctl start chirpstack-application-server
将应用程序服务器设置为启动:
sudo systemctl enable chirpstack-application-server
检查应用服务器的运行情况:
sudo journalctl -f -n 100 -u chirpstack-application-server
应该没有错误。
恭喜,LoRaWAN Chirpstack服务器已安装并可以使用!
在本系列文章的下一部分中,我将详细介绍如何使用LoRaWAN Chirpstack服务器的Web界面。
此致,
DoMINO集团负责人
Andrey Golovatenko