有关LoRaWAN Chirpstack服务器的安装和操作的系列文章

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



All Articles