Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
lorawan
lorawan数据下发可以了吗?
发布于 2020-08-24 16:00:32 浏览:1679
订阅该版
服务器接收到的节点的入网请求。 ![UP.png](/uploads/20200824/94df26393351ad975753751825c9e465.png) 服务器接下发到节点的入网相应。 ![down.png](/uploads/20200824/e7a5b78d4bb3aa0afe7b6d7d23c60b6e.png) lorawan节点收不到数据,sx1302应该是发出来了。
查看更多
2
个回答
默认排序
按发布时间排序
zyk6271
2020-08-26
这家伙很懒,什么也没写!
先尝试使用ABP模式,看设备上行下行是否可以,然后再尝试OTAA
zhaowei
2020-09-03
这家伙很懒,什么也没写!
前段时间一直在忙项目,没有去写调试总结,现在总结一下lorawan节点调试过程,分享一下调试过程中遇到的一些问题。 在这之前要特别感谢ForestRain zyk6271 的大力帮助,和其他一些小伙伴的帮助。 先说一下我的硬件使用型号:节点使用的GD32f103+Ra-01(这个没考虑低功耗,只是一般性使用) 网关使用的是新唐芯片+sx1302s 下面步入正题 1、第一步是使用的rt-thread官方提供的源代码(版本rt-thread-v4.0.1)进行移植一个GD32F103的工程,这个工程比较顺利,没出什么问题。 2、第二步是使用ENV工具在添加LoRa-Radio-Driver软件包 ,此软件包调试过程中遇到了一个节点发送另一个节点收不到数据的现象。调试过程中lora引脚DIO是通过编号去定义的,由于与GD32相连的lora DIO的引脚编号没有对应上,所以无法实现通信,犯了一个低级错误。接口对应上后按照LoRa-Radio-Driver软件包使用说明文档中的测试指令进行操作,没有问题,数据发送和接收,ping功能均正常。 重点来了 3、在LoRa-Radio-Driver软件包驱动调试没有问题的前提下,在本工程中添加lorawan软件包,使用的是CLASSA模式,OTAA入网模式。 此过程中调试遇到了一些问题(因为第一次接触lorawan,很多地方不清楚,很多参数也不清楚怎么配置,一边查找资料研究代码,一边请教别人进行帮助)。 <1>第一个问题:节点发送数据,lorawan网关收不到数据。 说个题外话,刚开始调的时候,网关收不到任何数据,修改了一下网关关于sx1302s的配置文件global_conf.json中的Radio0和Radio1中心频点的数据,结果真的收到了一包数据,那个激动啊。俗话说想让人灭亡就先让他疯狂,帅不过三秒,仔细看了一下设备号好像不是我的,然后关了我的节点设备仍然有数据,*_*,崩溃后继续重新来,仔细的查找资料,重新来过。 言归正传,对比网关和节点的参数,lorawan有96个上行信道,48个下行信道;上行信道从470.3M开始,以200K的步长增加。网关和节点对比的参数包括:数据低速率优化是否开启、节点发送频率、节点开启的掩码通道是多少、IQ信号反转是否开启、数据发送前导码是多少和网关是否一致、CRC校验是否开启、速率自适应ADR是否开启、带宽是否为125KHz、coderate是否一致、频段是否为470MHz、节点DEV_EUI,JOIN_EUI(APP_EUI),APP_KEY与服务器是否一致等等参数。 经过一番对比之后发现网关与节点的参数是一致的,频段设置的是band1,节点掩码开启了0~7,8个通道,网关2个中心频点分别是470600000、471400000Hz。 lorawan节点测设demo第一步需要手动初始化执行“lorawan init”指令,节点开始发送入网请求,网关收不到任何数据。 重新执行了demo里的第二条指令“lorawan restart”,网关可以收到节点发送的入网请求了,服务器端也收到节点的入网请求了,幸福来得太突然。每次都需要执行两条指令后网关才能收到节点数据,不清楚执行初始化指令后节点已经开始入网,为什么每次都要执行“lorawan restart”指令网关才能收到数据???暂时我还不知道原因,我还需要继续研究下代码。 ![1入网信息.png](/uploads/20200903/cedb5467b2eaf8ea9726fd82e8d38d87.png) <2>服务器能收到数据,但是报“validate dev-nonce error”错误 ![nonce错误.png](/uploads/20200903/e5257caacf16ce23716a2e9e911826bc.png) 我找到了lorawan节点源码中devNonce数据处理的位置,dev_Nonce这个参数我在在线仿真的时候发现了问题,数据原始不为0,但是在赋值给CryptoCtx.NvmCtx->DevNonce时变成了0,由于32位赋值给16位的变量直接将高位截取保留低位导致在我的硬件平台上每次都是0,所以会报这个错误,我直接将devNonce>>16位,问题就解决了。 ![dev_nonce.png](/uploads/20200903/fb6eb14b0a9d4afa2eed2a71a2ce1701.png) ![devnonceok.png](/uploads/20200903/9dc881d4e84fcaa223a5ab5c54eb41e0.png) dev-nonce这个参数的解释可以参考:[dev_Nonce参数](https://forum.chirpstack.io/t/validate-dev-nonce-error/1176) <3>服务器能够收到节点入网请求,服务器显示应答响应已经下发,但是节点收不到数据。 ![1入网.png](/uploads/20200903/815c0cb5a6702ece59ec0647ed8a55ad.png) 看了下网关的调试日志,网关发射功率数值不在功率表中,所以服务器响应到了网关后,网关没有通过无线下发出去,功率参数修改后网关日志没有在打印这个问题,这个发射功率的问题算是解决了,又前进了一步。 看了下网关往下发送数据时的扩频因子为SF12,突然意识到一个问题。我节点中选择的数据速率宏定义LORAWAN_DRIVER_DEFAULT_DATARATE 是5,扩频因子对应的是SF7。两边对不上所以节点收不到网关数据。网关8个接收通道可以接受SF5~SF12任意扩频因子的数据,但是节点是固定的,所以需要使用ENV工具修改LORAWAN_DRIVER_DEFAULT_DATARATE 为0,对应的扩频因子为SF12。 突然发现了一个lorawan软件包的bug,ENV工具修改LORAWAN_DRIVER_DEFAULT_DATARATE 数值时发现范围是(1~5),正常范围应该为(0~5)。 ENV工具改不了就只能强制性在程序中修改。我将节点的这个参数LORAWAN_DRIVER_DEFAULT_DATARATE 在rt_config.h中直接改成了0,重新进行编译下载。 下载完成后重新执行“lorawan init”->“lorawan restart”。两步操作之后发现服务器和节点的日志打印均显示入网成功,执行了一个数据发送命令发现数据也可以进行正常传输。一切终于大功告成了。 ![data.png](/uploads/20200903/70a8bb8051503be46e639ce313f3ed89.png) 先就写到这里,如有不对的地方敬请指正!
撰写答案
登录
注册新账号
关注者
0
被浏览
1.7k
关于作者
zhaowei
这家伙很懒,什么也没写!
提问
5
回答
5
被采纳
0
关注TA
发私信
相关问题
1
求助帖,在方寸加密MCU移植RTT+LORAWAN
2
ART-Pi LoraWAN 终端总是入网失败
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
2
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
3
RT-Thread EtherKit开源以太网硬件正式发布
4
如何在master上的BSP中添加配置yml文件
5
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
20
个答案
2
次被采纳
张世争
11
个答案
2
次被采纳
rv666
9
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部