赞
踩
Chirpstack:一个开源的Lora服务项目,之前该项目的名字叫LoRa Server。
官网地址:
ChirpStack open-source LoRaWAN
ChirpStack开源LoRaWAN网络服务器堆栈为LoRaWAN网络提供了开源组件,它们共同构成
了一个现成的解决方案,包括用于设备管理的用户友好型Web界面和用于集成的API,并且
模块化体系结构使其可以集成到现有基础架构中。目前所有组件均已获得MIT许可,并可以
用于商业目的
ChirpStack提供的组件如下:
网关网桥:处理与LoRaWAN网关的通信
Introduction - ChirpStack open-source LoRaWAN<sup>®</sup> Network Server
网络服务器:LoRaWAN网络服务器的实现
https://www.chirpstack.io/network-server
应用服务器:LoRaWAN应用服务器的实现
https://www.chirpstack.io/application-server/
地理位置服务器: 与LoRaWAN地理位置后端的集成
https://www.chirpstack.io/geolocation-server/
网关操作系统:基于嵌入式Linux的操作系统,可在LoRa网关上运行(完整)的ChirpStack堆栈
https://www.chirpstack.io/gateway-os/
ChirpStack LoRa 网络服务组件的连接如下:
ChirpStack依赖软件较多,如下:
PostgreSQL:ChirpStack网络服务器将网关数据保存到 PostgreSQL数据库中,注意,需要PostgreSQL 9.5+;
Redis:ChirpStack网络服务器将所有暂时的数据存储到 Redis数据存储中,注意,至少需要Redis 2.6.0;
Mosquitto:ChirpStack网络服务器应用服务器使用MQTT协议通信;
刚接手这个项目的时候我是在win本地进行了部署,但是在Windows上使用ChirpStack搭建lora服务器,但是Windows上的lora服务
器只能用来测试,实际生产中需要将服务器部署到Linux云服务器上,有两个优点:
不容易挂掉(死机)
云服务器具有公网ip,可以配合域名使用;
在linux上面我搭建了一个docker服务,如果这些环境挨个在Linux上部署的话,费时费力,后续卸载的时候也非常不方便,所以我们用docker镜像部署。
Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机)、bare metal、OpenStack 集群、云端、数据中心和其他的基础应用平台。容器是完全使用沙箱机制,相互之间不会有任何接口。
在linux服务器上使用docker部署环境的优点如下:
构建容易分发简单
隔离应用解除依赖
快速部署测完就销
安装docker,docker
sudo apt-get install -y docker-compose
首先使用git拉取chirpstack代码到本地
GitHub - brocaar/chirpstack-docker: Setup ChirpStack using Docker Compose
在Windows上配置lora服务器时,gateway-bridge、network-server、application-server三个服务器的配置有三个文件,很麻烦,但是在docker中,一些常用的配置选项只需要配置环境变量文件即可:
vim docker-compose-env.yml
常用配置如上图,根据实际网关配置
此处可修改频段,修改 name=”EU868” 以设置支持地区
examples目录中有更多配置文件,例如US AU 等等频段,可去该目录调用。
在镜像目录下使用如下命令运行
cd chirpstack-docker 切换到刚刚的路径
sudo docker-compose up启动
sudo docker-compose up -d 后台启动
sudo docker-compose down 关闭服务
运行之后访问:http://<Linux服务器ip地址>:8080 即可看到ChirpStack的web 界面
账号密码默认为admin
创建Network-servers
点击 “Network-servers”界面,点击 ADD,添加一个通用网络服务器:
Linux上部署之后,因为使用的是docker部署,不能使用localhost访问,要填写为:
chirpstack-network-server:8000
创建成功
在Service-profiles页面点击 Create:
填写如下配置:
填写如下配置:
Device-profile name:设备配置文件名称;
Network-server:选择之前创建的网络服务器;
LoRaWAN MAC version:选择lorawan协议版本,推荐选择1.0.2;
LoRaWAN Regional Parameters revision:选择A;
然后在第二栏中配置节点入网方式,使能 Device supports OTAA:
基本部署完成,
进入 Gateways 页面,点击CREATE:
填写如下配置:
global_conf.json中
运行网关,
可看到网关上线。
在Applications页面点击CREATE:
填写如下配置:
创建成功后添加设备
因为是OTAA入网,接着系统会自动跳入到KEYS(OTAA)页面,要求填入app key和Gen Application key
,目前app key比较重要,用来真实lora节点设备和平台对接,所以点击按钮随机生成一个即可,Gen Application key用不到,保持和app key一样即可:
配置lora模组使其入网
对于 OTAA 设备,请确认当设备尝试 OTAA 激活时,会看到一条JoinRequest消息,然后是一条JoinAccept消息,
lora通信速率有限,不发送json数据,直接发送二进制数据,所以要设置编解码插件进行数据解析,在json数据和二进制数据之间进行转换。
进入到之前添加的设备配置文件中,如图,选择CODEC界面,Payload codec选择自定义JavaScript代码:根据上传信息格式自己编写
根据上发数据帧格式来编写
设置结束之后来监听上报数据
基于以上,chirp stack平台连接完成,有什么问题一起讨论
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。