手把手教你安装开源的LoRaWAN服务器ChirpStack_RAKwireless的博客-程序员秘密

技术标签: lora  LoRa网关  服务器  lorawan  

目录

前言

第一步,安装必要的依赖库

第二步,配置数据库

第三步,安装ChirpStack相关应用程序

第四步,修改配置文件

第五步,重启操作系统使配置生效

Tips:


前言

ChipStack是目前使用最广泛的一个开源的LoRaWAN服务器。它提供非常简洁、友好的Web界面,方便用户对设备进行管理。

今天我们基于Debian操作系统(比如Ubuntu、树莓派、深度Linux等)来教大家如何安装ChirpStack服务器。

第一步,安装必要的依赖库

ChirpStack依赖于Redis、Postgresql、MQTT等服务,所以我们首先需要安装必要的依赖库。

Debian系统安装相关依赖库非常的方便,只需要使用系统自带的apt命令即可。执行下列命令即可安装ChirpStack所需要的依赖包。

sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql

第二步,配置数据库

ChipStack有两个主要的应用程序,chirpstack-network-server和chirpstack-application-server。它们各自使用不同的数据库来完成一些必须的操作,所以我们需要为它们两个分别创建不同的数据库和用户权限。

首先,使用下列命令进入到Postgresql数据库的命令操作界面

sudo -u postgres psql

在Postgresql的命令操作界面,依次输入以下几条命令

create role chirpstack_as with login password 'dbpassword'; 

create role chirpstack_ns with login password 'dbpassword';

create database chirpstack_as with owner chirpstack_as;

create database chirpstack_ns with owner chirpstack_ns;

\c chirpstack_as

create extension pg_trgm;

create extension hstore;

执行完成之后,输入\q退出数据库的命令操作界面。

第三步,安装ChirpStack相关应用程序

ChirpStack提供自己的软件源,我们只需要将ChirpStack的软件源添加到操作系统中之后,就可以通过apt命令来安装ChirpStack了。

首先,执行以下命令安装必要的依赖包。

sudo apt install apt-transport-https dirmngr

然后,执行下列命令安装对应的软件源密钥。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00

将ChirpStack软件源添加到操作系统中。

sudo echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | sudo tee /etc/apt/sources.list.d/chirpstack.list

执行下列命令,更新操作系统的软件源缓存,是ChirpStack软件源生效。

sudo apt update

最后,执行下列命令,即可安装ChirpStack所需的应用程序。

sudo apt install chirpstack-gateway-bridge chirpstack-network-server chirpstack-application-server

第四步,修改配置文件

安装完成之后,ChirpStack还无法使用,还需要修改配置文件完成一些操作。

首先,使用下列命令修改chirpstack-application-server的配置文件(熟悉vim的用户可以将nano命令替换为vim)。

sudo nano /etc/chirpstack-application-server/chirpstack-application-server.toml

chirpstack-application-server.toml文件中我们需要修改两处。

第一处,找到以下内容

dsn="postgres://localhost/chirpstack_as?sslmode=disable"

将这行内容替换为以下内容,这行内容是我们在第二步中配置的数据库信息

dsn="postgres://chirpstack_as:[email protected]/chirpstack_as?sslmode=disable"

第二处,找到jwt_secret,在jwt_secret中填入一串字符串,如下图所示

jwt_secret="StrIsNotSecret"

可以使用命令openssl rand -base64 32生成一个随机字符串,这样更为安全。

修改完成后退出编辑。

然后我们再修改chirpstack-network-server的配置文件。使用下列命令打开chirpstack-network-server的配置文件。

sudo nano /etc/chirpstack-network-server/chirpstack-network-server.toml

同样的,chirpstack-network-server的配置文件也需要修改两处。

第一处,找到以下内容

dsn="postgres://localhost/chirpstack_ns_ns?sslmode=disable"

将这行内容替换为以下内容

dsn="postgres://chirpstack_ns:[email protected]/chirpstack_ns?sslmode=disable"

第二处,修改chirpstack-network-server的region配置。默认的region配置为EU868,我们可以将region修改为我们需要使用的信息,比如我们将region更改为CN470。

[network_server.band]

   name="CN470"

修改完成后退出编辑。

第五步,重启操作系统使配置生效

重启完成之后,我们就可以在浏览器中打开ChirpStack的Web页面了,默认的端口是8080,默认的用户名和密码都是admin。赶快登陆你的ChirpStack体验它吧!

ChirpStack的Web页面
ChirpStack的Web页面

 

RAKwireless公司的树莓派系列网关(RAK7244/RAK7248等)内置了ChirpStack服务器,集LoRa网关功能与LoRaWAN服务器功能于一身。

Tips:

由于ChirpStack的软件源服务器在国外,国内使用apt下载非常缓慢,执行第三步安装操作的时候可能需要1-2个小时才能完成。

我们还可以通过下载工具,直接到https://artifacts.chirpstack.io/packages/3.x/deb/pool/main/c/中下载对应的三个应用程序,然后将其拷贝到操作系统中进行安装。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/RAKwireless/article/details/116263005

智能推荐

偶像多隆!_多long_Do_Only的博客-程序员秘密

作者:秃头铁马马转载授权(文末留言,或添加微信:mzy2117)在阿里合伙人的名单中,排在第一位的人叫做蔡景现(当然了是因为姓名首字母),别人的注释都是“XX执行官”、“XX负责人”,而他的头衔只是Senior Researcher(高级研究员)。2014年,阿里巴巴上市前最后招股书中,新增三位合伙人,蔡景现,花名“多隆”,就是其中之一,共组成名震江湖的“阿里巴巴30合伙人”。这些...

unity随机方向的代码_基于 Unity 的 Roguelike 随机房间生成的方法_今天也是一只猪的博客-程序员秘密

本文主要是为了实现各种随机大小不一样的方块基础房间,便于 Roguelike 游戏地图使用,希望对各位独立游戏的新手有所帮助,同时也希望各位大牛可以给出宝贵意见。由于我的思路是地图=基础房间+特殊房间(宝箱房、挑战房、任务房、Boss房),本文暂不涉及特殊房间以及个性化的多边形房间。房间要求房间大小基本符合一定的长宽比;单个房间不会有重叠;房间间保留一定间隙,方便后续填充围墙与走廊;整体房间分布不...

python 中国象棋单机版with pygame_-小黄怪-的博客-程序员秘密

鼠标点击操作;两天制作,较为粗糙,很多效果还未实现。# -*- coding: utf-8 -*-"""Created on Sun Jun 13 15:41:56 [email protected]: Administrator"""import pygamefrom pygame.locals import *import sysimport mathpygame.init()screen=pygame.display.set_mode((450,550))pygame.display

Linux内核日志开关_piaomiaoju的博客-程序员秘密

Linux内核日志开关1、让pr_debug能输出--- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -59,7 +59,7 @@ /* We show everything that is MOREimportant than this.. */#define MINIM

Web前端第一季(HTML):十五:401-使用框架切分网页+402-框架的多种切分方法+403-使用框架实现后台管理系统的布局+404-总结(课程结束)_Smart_zy的博客-程序员秘密

目录一.目的1.想:学习前端知识2.想:记录笔记,下次不用看视频,直接看笔记就可以快速回忆。二.参考1.我自己代码的GitHub网址1.SIKI学院:我参考此视频实操1.w3school官网:当做字典使用1.菜鸟教程:当做字典使用三.注意四.操作:1:成功:课时 41 : 401-使用框架切分网页1.运行效果:成功:四.操作:2:成功:课时 42 : 402-框架的多种切分方法1.运行效果:成功:网页上面占据25%,下面左右2列四.操作:3:成功:课.

Auto.js的微信朋友圈点赞_autojs朋友圈点赞_小黑马97ai的博客-程序员秘密

Auto.js的微信朋友圈点赞1.介绍本文主要是针对Auto.js的新手用户,作为初学者的第一课,微信朋友圈点赞通常是新手入门教学最好的一课。微信界面抓取代码全面,调试稳定,学习如何操作微信界面可以很好的入手其它软件。通常我们使用Auto.js进行自动化操作时,需要通过代码来模拟手机的点击、滑动功能。微信点赞可以较好地解释这些基础代码。2.代码介绍在微信实现点击的操作,我们需要两步,1)找...

随便推点

SpringCloud学习一_weixin_43723078的博客-程序员秘密

文章目录SpringCLoud总览服务注册/发现&注册中心1、Eureka2、Consul3、Zookeeper服务接口调用OpenFeign负载均衡Ribbon(蝴蝶结)服务熔断降级Hystrix(豪猪兽)1、服务降级2、服务熔断3、服务监控服务网关1、Gateway路由转发Filter服务配置中心实现:动态刷新消息总线Bus广播定点通知消息驱动StreamSpringCLoud总览参考链接服务注册/发现&注册中心1、Eureka服务注册(服务提供者)/发现(服务调用者)

手机内置摄像头接线图解_这不是我们第一次听到有关GalaxyZFold3的内置摄像头的信息..._weixin_39672443的博客-程序员秘密

三星原本希望将其内置或内置摄像头技术引入其2021年的Galaxy S和Note设备。可悲的是,最近的报道与相同的可能性相矛盾。好吧,看起来财阀将在明年以某种方式带来这项技术。根据THE ELEC的一份新报告,我们可能会在即将推出的Galaxy Z Fold 3上看到显示屏不足的摄像头。尽管Galaxy Fold的第二个版本最近发布了,但我们已经开始听说下一代产品了。对于三星来说,这是非常传统的。...

2020年湖南中医药大学“华为杯”大学生程序设计竞赛——正式赛(赛后补题)_爱喝牛奶的男孩的博客-程序员秘密

目录A-幸福小组B-菜鸡驿站C-TC的火柴D-n盏灯E-电子手表F- TC的steam账号总结总结A-幸福小组题目描述俗话说:男女搭配,干活不累。还据说,如果在做一件事情时男生和女生人数相等,学习和工作效率可以达到最佳【瞎说的】。为了更好地学习计算机专业知识,某个班分为n个学习小组,如果某一个组中男生和女生人数相等,这样的小组称为“幸福小组”。现在分别给出这n个小组中男生和女生人数,请你编写一个程序统计一共有多少个“幸福小组”。输入单组输入。第1行输入一个正整数n,表示学习小组数量。(n&lt

程序员转产品经理,不容易_程序员转产品经理难吗_四猿外的博客-程序员秘密

“人人都是产品经理”——这句话有毒。如果你觉得代码写不动了,技术学不动了,就想转产品,我劝你趁早放弃这个想法。我曾经担任过一个手游的产品,那是我第一次当产品经理,当时觉得产品没啥了不起,看看竞品、画画原型、写写文档就够了。做过了才懂,做个产品经理真不容易,还要考虑方方面面:和开发盯进度、和美术扣细节、和商务定推广计划、和运营配合拉用户和收入。程序员转产品成功的案例确实有:FaceBook 的扎克伯格、小米的雷军、腾讯的小马哥、360 的周鸿祎,以及一手打造出微信的张小龙。但是,请理智点,程序

基于JavaMail的Java邮件发送:复杂邮件发送_xietansheng的博客-程序员秘密

本文链接: http://blog.csdn.net/xietansheng/article/details/51722660上一篇文章 基于 JavaMail 的 Java 邮件发送:简单邮件发送 讲解了邮件的基本协议,JavaMail组件,创建并发送一封简单邮件的详细步骤。本文将介绍如何创建并发送一封包含图片和附件的复杂邮件。一封复杂的邮件内容可以看做是由很多节点(或者可以说是“片段”...

java时序图工具_时序分析之STA(1)_weixin_40004960的博客-程序员秘密

一个人的兴趣越广泛,他拥有属的快乐机会就越多,而受命运播弄的可能性也就越小,因为即使失去了某一种兴趣,他仍然可以转向另一种。 — —罗素一、 STA时序分析分为动态时序分析(DTA, Dynamic Timing Analysis)和静态时序分析(STA, Static Timing Analys...

推荐文章

热门文章

相关标签