Lora服务器:Chirpstack连接Lora网关实战
Lora服务器:Chirpstack连接Lora网关实战
Chirpstack:一个开源的Lora服务项目,该项目包含Gateway Bridge,Network Server,Application Server,Gateway os等子项目,官网地址:https://www.chirpstack.io/
服务器环境:CentOS Linux release 7.8.2003 (Core)。
一,安装mosquitto。mosauitto是一个开源的MQTT消息代理软件。这个项目中,MQTT承担了各个组件之间互相通信的重任,贯穿了从网桥到AS的整个流程。
1,添加EPEL软件包安装源:yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
2,安装mosquitto:yum install mosquitto
3, 配置mosquitto
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
vi /etc/mosquitto/mosquitto.conf
#持久化配置 persistence true persistence_location /var/lib/mosquitto/ #日志文件配置 log_dest file /var/log/mosquitto/mosquitto.log #用户名密码认证配置 allow_anonymous false password_file /etc/mosquitto/pwfile acl_file /etc/mosquitto/aclfile
配置用户策略:vi /etc/mosquitto/aclfile
1 2 |
|
测试: mosquitto_sub -t chirpstack/# -u chirp -P 123456
日志查看:tail -f /var/log/mosquitto/mosquitto.log
二,安装gateway-bridge
1,新建一个目录,下载redhat安装包到该目录 wget https://artifacts.chirpstack.io/downloads/chirpstack-gateway-bridge/chirpstack-gateway-bridge_3.9.2_linux_386.rpm
2,安装rpm:rpm -ivh chirpstack-gateway-bridge_3.9.2_linux_386.rpm
3,为getway-bridge创建一个mqtt用户及密码:mosquitto_passwd chirp_gateway,并为该用户配置主题为“gateway/#”的读写策略.配置后重启Mosquitto
4,配置MQTT认证信息: vi /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml
#配置MQTT payloads采用的协议,默认为protobuf marshaler="json" #配置MQTT 用户名 username="chirp_gateway" password="123456" #如果需要更改udp的监听端口可以改写udp_bind值,默认1700
5, 启动网桥: sudo systemctl start chirpstack-gateway-bridge。查看日志:journalctl -f -n 100 -u chirpstack-gateway-bridge
三,安装配置redis
1,yum install redis
2, vi /etc/redis.conf。找到requirepass,去掉注释并设置新的密码:requirepass redis123456
3,启动redis:systemctl start redis
4,验证密码:redis-cli -h 127.0.0.1 -p 6379 -a redis123456
四,安装配置postgresql
1,rpm源: yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm。安装源见:https://yum.postgresql.org/repopackages/
2,安装:yum install postgresql95-server postgresql95-contrib
3,初始化数据库:/usr/pgsql-9.5/bin/postgresql95-setup initdb
4,修改postgres用户密码: passwd postgres
5,修改postgresql监听地址:vi /var/lib/pgsql/9.5/data/postgresql.conf。修改listen_addresses值为“*”
6,修改postgresql认证方式:vi /var/lib/pgsql/9.5/data/pg_hba.conf。
# TYPE DATABASE USER ADDRESS METHOD# "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. local replication postgres peer host replication postgres 127.0.0.1/32 ident host replication postgres ::1/128 ident
5,启动:systemctl enable postgresql-9.5.service systemctl start postgresql-9.5.service
五,安装network-server
1,添加mqtt账户:mosquitto_passwd /etc/mosquitto/pwfile chirp_network。并配置主题:“gateway/#” 的读写权限。配置后重启Mosquitto
2,添加postgresql账户及数据库
1),进入postgres用户:su postgres,输入psql指令
2),创建角色及密码:create role chirpstack_ns with login password 'dbpassword';
3),创建数据库:create database chirpstack_ns with owner chirpstack_ns;
4),测试:psql -h localhost -U chirpstack_ns -W chirpstack_ns。输入密码。
3,下载chirpstack-network-server:wget https://artifacts.chirpstack.io/downloads/chirpstack-network-server/chirpstack-network-server_3.10.0_linux_386.rpm
4,安装rpm:rpm -ivh chirpstack-network-server_3.10.0_linux_386.rpm
5,配置:vi /etc/chirpstack-network-server/chirpstack-network-server.toml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
6,启动network-server:systemctl start chirpstack-network-server。查看日志:journalctl -u chirpstack-network-server -f -n 50
六,安装Chirpstack-Application-server
1,新建Mosquitto用户和策略:mosquitto_passwd /etc/mosquitto/pwfile chrip_application。并配置主题"gateway/#"的读写权限。配置后重启Mosquitto
2,添加postgresql账户及数据库
1),进入postgres用户:su postgres,输入psql指令
2),创建角色及密码:create role chirpstack_as with login password 'dbpassword';
3),创建数据库:create database chirpstack_as with owner chirpstack_as;
4)开启 trigram 和 hstore
\c chirpstack_as
create extension pg_trgm;
create extension hstore;
4),测试:psql -h localhost -U chirpstack_as -W chirpstack_as。输入密码。
3,下载application-server:wget https://artifacts.chirpstack.io/downloads/chirpstack-application-server/chirpstack-application-server_3.12.2_linux_386.rpm
4,安装:rpm -ivh chirpstack-application-server_3.12.2_linux_386.rpm
5,利用openssl生成一个密钥:openssl rand -base64 32
6,配置:
#postgresql连接字符串 [postgresql] dsn="postgres:/chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable" #redis连接字符串 [redis] url="redis://requirepass:redis123456@localhost:6379"
1 |
|
7,启动:systemctl start chirpstack-application-server。 查看日志:journalctl -f -n 100 -u chirpstack-application-server
七,开放端口
开放 UDP 1700 ,TCP 8080,1883
firewall-cmd --zone=public --add-port=1700/udp --permanent firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --zone=public --add-port=1883/tcp --permanent firewall-cmd --reload
打开applicationServer管理页面,默认用户和密码为admin
八 配置application server
打开管理界面,登录
1,添加services:
2,添加网关配置
3,配置网关,我手里有一个躬远的Lorawan网关。配置Lora服务器
在application server添加该网关。
查看gateway-bridge日志。可以看到已经可以收到网关的udp包,并发布到Mqtt:journalctl -u chirpstack-gateway-bridge -f -n 50
application server上该网关已经是active了。
九:添加设备。我手中有安志博的lora倾斜传感器终端,采用abp入网方式。按说明书激活后在application平台添加该设备
1,添加设备配置文件
2,添加应用域
3,在该应用域下添加设备
4,配置设备的入网参数。该入网参数可以由设备终端提供,也可以自己定好后发给厂家由厂家出厂时设置好。
ABP入网主要有三个参数:1,Device address 2,Network session key,3,Application session key
5,触发该lora终端,applcation平台设备上线
十,从mqtt获取设备的上行数据
利用Mosquitto_sub工具订阅application/#主题:mosquitto_sub -t application/# -u chirp_application -P 123456 。可以新建一个Mosquitto用户和策略,也可以直接用之前部署Application-server时的用户
红框中的数据即为设备所上传的数据,需要用base64解密后转为16进制。
十一,下发数据到设备
可以通过http接口或者mqtt发布二种方式,由于篇幅关系就不一一介绍。参考管网教程:
mqtt方式:https://www.chirpstack.io/application-server/integrations/mqtt/
http方式:https://www.chirpstack.io/application-server/api/http-examples/
Lora服务器:Chirpstack连接Lora网关实战相关推荐
- 智能家居系统中网关与服务器如何连接?
原文点击打开链接 在新型智能家居系统中,家庭网关将取代PC机作为家庭控制中心.传统客户端/服务器模式不能保持家庭网关与远程服务器实时连接.基于百万级的家庭网关与服务器保持长连接的目的,采用主从服务器框 ...
- LoRa无线技术与LoRaWAN网关模块的区别
有不少人分不清lorawan无线模块与LoRa网关无线传输技术到底有什么区别,他们在物联网领域的应用到底是什么样的. LoRaWAN指的是MAC层的组网协议,而LoRa是一个物理层的协议.虽然现有的L ...
- LoRa设备如何连接到腾讯云?
目录 前言 一.在腾讯云上新建LoRa设备 二.LoRa设备上线 三.在线调试 结语 前言 前面我们已经介绍了<如何在腾讯云上解析LoRa节点数据>,也就是说,我们已经知道如何在腾讯云上为 ...
- LoRa开发1:LoRa设计10问
LoRa设计10问 引言: 近 5 年来,LoRa技术在国内受重视,从高校到企业,再到自主创业者,都在了解和研究.作为从事 LoRa 研发 5 年,推出完整 LoRa 物联网的锐米通信(www.rim ...
- [3]PCB设计实验|LoRa通信技术|LoRa技术介绍|LoRa开发与应用|物联网学习|3月27日+6月5日
目录 一.LoRa名字由来 二.LoRa是什么 三.LoRa联盟和LoRaWAN介绍 3.1LoRa联盟(LoRa Alliance) 3.2LoRaWAN 3.3LoRaWAN和LoRa的区别 四. ...
- 物联网LoRa系列-3:LoRa终端搭建的总体思路、步骤与架构
搭建的LoRa终端的总体思路与步骤: 1. 搭建的LoRa终端的系统需求和目标 2. 设计LoRa终端的目标系统 3. 设计LoRa终端的主机开发环境 4. 设计LoRa终端的软件架构 5. 构建Lo ...
- mysql 连接查询_Swoole 实战:MySQL 查询器的实现(协程连接池)
Swoole 实战:MySQL 查询器的实现(协程连接池) 需求分析 本篇我们将通过 Swoole 实现一个自带连接池的 MySQL 查询器: 1. 支持通过链式调用构造并执行 SQL 语句: 2. ...
- 老男孩教育50期左婷婷-day03-xhell连接服务器-远程连接排错-基础命令
xshell连接服务器-远程连接排错-基础命令 作者:左婷婷 归档:学习笔记 2018/7/11 快捷键: Ctrl + 1 标题1 Ctrl + 2 标题2 Ctrl + 3 ...
- 华为服务器插键盘的位置,云服务器怎么连接键盘
云服务器怎么连接键盘 内容精选 换一换 对等连接创建完成后,两个VPC还是不能互通.以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因.如果解决完 ...
- 安装好xp系统后没网络连接服务器,本地连接呢?xp系统.设备管理器中显示网卡安装正常.没叹号没问号 爱问知识人...
倘若在Web服务器中的Windows 2000服务器系统并没有将本地计算机的网络连接功能启用的话,其他任何客户端都是无法与Web服务器保持连接的,这样的话就容易出现Web服务器无法访问的故障现象.因此 ...
最新文章
- call(),apply()和bind()的详解使用:
- 排序算法-03希尔排序(python实现)
- 【python】类的封装、多态
- Fastreport.Net用户手册(九):配置Bands
- 淘宝电商PRD文档模板讲解
- 基于IR2136的三相电机控制
- STM32——时钟、HSE、旁路模式、有源晶振
- amd显卡风扇调节_AMD Crimson驱动会烧毁显卡?其实是因为风扇锁定低转速了
- OpenCvSharp函数:Dilate膨胀、GetStructuringElement获取形态操作的结构元素、Erode腐蚀
- Python3-基础语法
- js 根据链接生成二维码
- epub格式电子书剖析 .
- 重装Win10系统有教程吗?如何在线一键重装Win10系统?
- 电视剧《创业时代》中罗维演讲
- 【05】2.1 程序语言特征
- IOS 下使用AdMob广告
- 【一头扎进JMS】(4)----RabbitMQ概述
- lucky-canvas(大转盘)使用文档
- 比visio简单好用的绘图工具AxGlyph
- 浅谈SpaceBuilder系统的缓存机制_缓存思想