windows下Ra-08H接入自建chirpstack服务器,使用MQTT通信教程

本文主要是介绍windows下Ra-08H接入自建chirpstack服务器,使用MQTT通信教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 前言
  • 准备工作
  • Ra-08烧录
    • 开发板按键说明
    • 获取工具和固件
    • 烧录固件
    • 固件运行
  • chirp stack搭建
  • chirpstack添加网关
      • 第一步、点击添加服务器
      • 第二步、添加网关
      • 第三步、添加sevice-profiles
      • 第四步、添加device-profile
      • 第五步、添加节点设备
      • 第六步、节点入网
  • MQTT连接,数据收发
      • 第一步、我们打开mqttx连接服务器
      • 第二步、设置订阅发布的Topic
      • 第三步、节点上报数据
      • 第四步、服务器下发数据
      • 第五步、确认服务器内的log日志
  • 结束
  • 联系方式

前言

安信可开源团队相应网友号召,今天给大家带来了本地搭建chirp stack服务器并且成功连接的教程,给大家少走一些弯路,本章内容篇幅较长,有想要了解和测试的朋友耐心看完,本例程从模组获取,烧录,服务器搭建,到连接和数据收发,废话不多说,直接开始

准备工作

原理
在这里插入图片描述

  1. win10系统电脑一台
  2. Ra-08H开发板+数据线
  3. RG-02网关
  4. Docker Desktop工具
  5. 安信可串口调试助手
  6. chirp stack项目包
  7. MQTTX客户端

Ra-08烧录

本次测试采用开发板,若使用模块下载详细接线请参照

AT固件使用

开发板按键说明

在这里插入图片描述

获取工具和固件

在这里插入图片描述

烧录固件

在这里插入图片描述

固件运行

在这里插入图片描述

chirp stack搭建

说明:chirp stack在官网只有Linux版本,所以我们现在搭建在Windows下需要借助Docker
Desktop工具,如果你是在Linux下搭建则不需要考虑安装Docker Desktop,直接命令行安装即可

第一步、安装Docker Desktop前需要对电脑做如下操作
①打开控制面板

②点击程序

③点击启用或者关闭windows功能,弹出windows功能界面

④界面内找到Hyper-V,扩展开勾选Hyper-V管理工具和Hyper-V平台(如图所示)

⑤最后点击确认

注意:这里点击确认以后会自动更行系统内的一些设置,电脑会重启,属于正常现象

在这里插入图片描述

第二步、安装Docker Desktop工具,点击连接下载(建议加速器下载)
1、下载Docker Desktop
在这里插入图片描述

2、双击安装包安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、win+R打开命令行窗口,运行dockersversion,出现如下提示说明安装成功
在这里插入图片描述4、此时桌面双击运行Docker Desktop,部分用户可能出现如下提示kernel update: https://aka.ms/wsl2kernel表示Linux内核需要更新,点击连接前往更新即可

在这里插入图片描述

5、直接点击更新内核安装包
在这里插入图片描述

6、更新完成后再次运行Docker Desktop,成功运行截图如下
在这里插入图片描述

7、接下来就可以安装chirp stack了,安装包的地址如下
https://gitee.com/sheng_lyu/chirpstack-docker

也可以使用GIT拉取,指令如下

git clone https://github.com/chirpstack/chirpstack-docker.git

在这里插入图片描述
8、在解压的chirp stack文件下找到这个路径启用cmd命令,根目录运行docker-compose up****
在这里插入图片描述

注意:我这里是使用的EU868,无需对配置文件做更改,如果使用CN470请进入ChirpStack软件所在目录,更改配置文件【chirpstack-network-server.toml】后再来执行docker-compose
up启动chirpstack

在这里插入图片描述
9、等待命令窗口更新完成后我,我们回到Docker Desktop,可以看到我们的chirpstack启动完成
在这里插入图片描述
10、此时我们就可以在浏览器访问http://localhost:8080打开我们的chirpstack服务器了
在这里插入图片描述
在这里插入图片描述

  • 以上就是我们在本地搭建的chirpstack服务器了,下面我们在服务器上添加设备

chirpstack添加网关

第一步、点击添加服务器

chirpstack-network-server:8000
在这里插入图片描述

第二步、添加网关

网关我们使用的安信可的RG02的LoRaWAN网关,我们使用AP热点连接进入网关配置参数和连接网络
在这里插入图片描述

在这里插入图片描述
在服务器端写入网关的参数和配置信息

在这里插入图片描述

第三步、添加sevice-profiles

在这里插入图片描述

第四步、添加device-profile

在这里插入图片描述
选择入网方式
在这里插入图片描述

第五步、添加节点设备

在这里插入图片描述
创建设备名
在这里插入图片描述
添加设备参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第六步、节点入网

设备入网需要节点窗口写入设置好的指令参数,这里仅提供OTAA入网,上述已经在服务器写入了DEVICE EUI和app key,所以我们使用这两个参数配合Ra-08的参数进行入网操作

ABPOTAA
AT+CJOINMODE=0AT+CJOINMODE=0
AT+CDEVEUI=c91391b7dab03cbeAT+CDEVEUI=0123456789ABCDEF
AT+CDEVADDR=019e4313AT+CAPPEUI=1122334455667788
AT+CAPPSKEY=614fe5b44bd0c2e827eabae8d10d82aaAT+CAPPKEY=2B7E151628AED2A6ABF7158809CF4F3C
AT+CNWKSKEY=5cf07249a7b245b8c97fdcaae8f84babAT+CFREQBANDMASK=0003
AT+CULDLMODE=2AT+CULDLMODE=2
AT+CCLASS=0AT+CJOIN=1,1,10,3
AT+CFREQBANDMASK=0001AT+DTRX=0,2,6,123401
AT+CJOIN=1,1,10,3AT+DTRX=1,1,3,012
AT+DTRX=0,2,6,123401
AT+DTRX=1,1,3,012
  • 入网成功

在这里插入图片描述

  • 节点上线成功

在这里插入图片描述

MQTT连接,数据收发

说明,chirpstack自带MQTT服务,我们只需要找到他的topic即可进行收发,在开始之前我们寻找一个MQTT客户端,我是用的是emqx的mqttx

第一步、我们打开mqttx连接服务器

在这里插入图片描述

第二步、设置订阅发布的Topic

订阅:application/1/device/0123456789abcdef/event/up
发布:application/1/device/0123456789abcdef/command/down

参考资料https://www.chirpstack.io/application-server/integrations/mqtt/
在这里插入图片描述
接下来我们参照上述连接内的文档,发送JSON格式数据

{"confirmed": true,                      "fPort": 10,                             "data": "qrvM"                           
}

data部分为负载数据为base64格式,转换即后的参数是AABBC
格式转换器base64格式转换器

第三步、节点上报数据

好了上述已经准备完毕,接下来看我们从节点上报数据到chirpstack服务器再由客户端输出
在这里插入图片描述

第四步、服务器下发数据

  • 再来看下MQTT客户端下发数据模块是否收到

在这里插入图片描述

第五步、确认服务器内的log日志

在这里插入图片描述

结束

本次测试流程主要针对了高频的Ra-08H,流程相对复杂一些,本节在本地搭建服务器,我们总结如下几点注意事项

  1. 此次搭建是在局域网内完成,服务器,RG-02网关,MQTT客户端均在局域网内;

  2. chirp stack服务器Linux版本,如果使用Linux来搭建,直接命令行执行,如果是在windows下搭建,那则需要使用DockerDesktop工具来运载;

  3. Docker Desktop的安装需要在Windows10 专业版系统下运行,因为Docker Desktop的安装需要完全开启
    Hyper-v服务,此服务可能有些系统版本不支持,可以找对应解决办法。

  4. 在我们安装对应的服务或者拉取安装文件时候,建议开启加速器,以免网络波动造成安装失败;

联系方式

以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。

官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com

这篇关于windows下Ra-08H接入自建chirpstack服务器,使用MQTT通信教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216228

相关文章

Python中Tkinter GUI编程详细教程

《Python中TkinterGUI编程详细教程》Tkinter作为Python编程语言中构建GUI的一个重要组件,其教程对于任何希望将Python应用到实际编程中的开发者来说都是宝贵的资源,这篇文... 目录前言1. Tkinter 简介2. 第一个 Tkinter 程序3. 窗口和基础组件3.1 创建窗

C#中checked关键字的使用小结

《C#中checked关键字的使用小结》本文主要介绍了C#中checked关键字的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录✅ 为什么需要checked? 问题:整数溢出是“静默China编程”的(默认)checked的三种用

C#中预处理器指令的使用小结

《C#中预处理器指令的使用小结》本文主要介绍了C#中预处理器指令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 第 1 名:#if/#else/#elif/#endif✅用途:条件编译(绝对最常用!) 典型场景: 示例

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req