The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入
前言
网关接入之后,再让节点接入。本篇笔记重点记录一些小坑,注意跳过。
小能手这段时间在学习 The Things Network LoRaWAN Stack V3,从使用和代码等角度对该 Stack 进行了分析,详细可点此查看。
1 LoRa节点配置
LoRa节点目前还是拿商用模组来做测试,我手上拿的是四信的F8L10D,串口操作直接调整下 DevEUI/AppKEY/AppEUI 。
2 节点上线
发起加网之后,NS 上会看到日志。
DEBUG Synchronized gateway time gateway_eui=33800000A0000001 gat
eway_uid=ttgtw1 namespace=gatewayserver/io/udp time=2019-03-28 18:48:58.22907294+0800 CST m=-729.155054651 timestamp=821789556DEBUG Deduplicating uplink... grpc_method=HandleUplink grpc_se
rvice=ttn.lorawan.v3.GsNs namespace=grpc request_id=01D71ZEN4KGQNG0147PQV3CWDTDEBUG Handling join-request... grpc_method=HandleUplink grpc_se
rvice=ttn.lorawan.v3.GsNs namespace=grpc request_id=01D71ZEN4KGQNG0147PQV3CWDTDEBUG Sending join-request to Join Server... dev_addr=01D7F0E1 dev_eui=3304A3
0B001C0530 device_uid=ttapp1.ttdev1 grpc_method=HandleUplink grpc_service=ttn.lo
rawan.v3.GsNs join_eui=800000000000000C namespace=grpc request_id=01D71ZEN4KGQNG
0147PQV3CWDTINFO Finished unary call duration=2.809079ms grpc_method=
HandleJoin grpc_service=ttn.lorawan.v3.NsJs namespace=grpc request_id=01D71ZEN4N
16RQP763G092EAZRDEBUG Finished unary call duration=3.312379ms grpc_method=
HandleJoin grpc_service=ttn.lorawan.v3.NsJs namespace=grpc request_id=01D71ZEN4K
GQNG0147PQV3CWDTDEBUG Join-accept received from Join Server dev_addr=01D7F0E1 dev_eui=3304A3
0B001C0530 device_uid=ttapp1.ttdev1 grpc_method=HandleUplink grpc_service=ttn.lo
rawan.v3.GsNs join_eui=800000000000000C namespace=grpc request_id=01D71ZEN4KGQNG
0147PQV3CWDTDEBUG Sending join-accept to AS... application_uid=ttapp1 dev_addr=
01D7F0E1 dev_eui=3304A30B001C0530 device_uid=ttapp1.ttdev1 grpc_method=HandleUpl
ink grpc_service=ttn.lorawan.v3.GsNs join_eui=800000000000000C namespace=grpc re
quest_id=01D71ZEN4KGQNG0147PQV3CWDTDEBUG Received AppSKey from Network Server application_uid=ttapp1 dev_eui=3
304A30B001C0530 device_uid=ttapp1.ttdev1 join_eui=800000000000000C session_key_i
d=0169C3F75496FFD517CC95095989F5B5DEBUG Waiting for collection window to be closed... grpc_method=HandleUplink gr
pc_service=ttn.lorawan.v3.GsNs namespace=grpc request_id=01D71ZEN4KGQNG0147PQV3C
WDTDEBUG Processing downlink task... delay=2.249289ms device_uid=ttap
p1.ttdev1 start_at=2019-03-28 11:02:40.2244995 +0000 UTCDEBUG Scheduling downlink... attempt_rx1=true attempt_rx2=tru
e delay=2.249289ms device_class=CLASS_A device_uid=ttapp1.ttdev1 downlink_class=
CLASS_A downlink_type=join-accept path_count=1 rx1_delay=5 rx1_frequency=5003000
00 rx2_data_rate=0 rx2_frequency=505300000 start_at=2019-03-28 11:02:40.2244995
+0000 UTCDEBUG Scheduling downlink class=CLASS_A gateway_eui=338000
00A0000001 gateway_uid=ttgtw1 namespace=gatewayserver/io/udpDEBUG Scheduled downlink class=CLASS_A data_rate=3 durati
on=164.864ms frequency=500300000 gateway_eui=33800000A0000001 gateway_uid=ttgtw1namespace=gatewayserver/io/udp rx_window=1 starts=826789556000
3 可能遇到的问题
3.1 AppEUI 配置错误
DEBUG Dropping message dev_eui=3304A30B001C0530 error=e
rror:pkg/redis:not_found (entity not found) gateway_eui=33800000A0000001 gateway
_uid=ttgtw1 join_eui=7538904770366680 namespace=gatewayserver/io/udp
检查节点 AppEUI,需要和 CLI 注册的节点信息保持一致。
AppEui= 75-38-90-47-70-36-66-80
3.2 网关不支持相应的发射功率
INFO: Received pkt from mote: 0000000C (fcnt=0)JSON up: {"rxpk":[{"tmst":50967924,"chan":5,"rfch":0,"freq":470.500000,"stat":1,"modu":"LORA","datr":"SF9BW125","codr":"4/5","lsnr":12.0,"rssi":-95,"size":23,"data":"AAwAAAAAAACAMAUcAAujBDOGM03p00s="}]}
INFO: [up] PUSH_ACK received in 8 ms
INFO: [down] PULL_RESP received - token[0:20] :)JSON down: {"txpk":{"imme":false,"tmst":55967924,"freq":500.5,"brd":0,"ant":0,"rfch":0,"powe":17,"modu":"LORA","datr":"SF9BW125","codr":"4/5","ipol":true,"size":17,"ncrc":true,"data":"IFLv2WuO9RobkkZGScaRIdc="}}
ERROR: Packet REJECTED, unsupported RF power for TX - 17
INFO: [down] PULL_ACK received in 9 ms
这个问题可以在 packet forwarder 源码中找到答案。
/* parse TX power (optional field) */val = json_object_get_value(txpk_obj,"powe");if (val != NULL) {txpkt.rf_power = (int8_t)json_value_get_number(val) - antenna_gain;}...if (jit_result == JIT_ERROR_OK) {for (i=0; i<txlut.size; i++) {if (txlut.lut[i].rf_power == txpkt.rf_power) {/* this RF power is supported, we can continue */break;}}if (i == txlut.size) {/* this RF power is not supported */jit_result = JIT_ERROR_TX_POWER;MSG("ERROR: Packet REJECTED, unsupported RF power for TX - %d\n", txpkt.rf_power);}}
所以可以修改 global_conf.json 里头的 “antenna_gain” 或者 其中 tx gain table 里的 “rf_power”字段,使之满足 17 。这点挺蛋疼的,后续频点计划由 NS 来控制的话,就会好一点。
END
The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入相关推荐
- The Things Network LoRaWAN Stack V3 学习笔记
The Things Network 是 LoRaWAN 行业里非常著名的 Network Server 提供方,尤其是开发者社区运营得非常好,吸引了很多开发者来使用他们的平台.接触的许多国外的厂家, ...
- The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译
前言 源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部件.由于部分包在墙外,带来了一点麻烦,还分享一个 replace 方式来翻墙的办法. 小能手这段时间在学习 The Things ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.2 使用 CLI 进行 OAuth 登录
前言 在上一篇笔记中已经将 Stack 运行起来了,现在可以着手用 CLI 来做一些测试,第一步是要先登录账户. 小能手这段时间在学习 The Things Network LoRaWAN Stack ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.3 使用 CLI 在 Stack 上创建 DEMO 应用
前言 前两篇笔记将 Stack 跑起来并且登录上去,那接下来就可以创建应用,再之后让网关和节点连接上来. 本节记录如何使用 CLI 工具在 Stack 上创建 DEMO 应用. 可参考官方的 guid ...
- The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译 - 190821
文章目录 前言 1 依赖包替换 2 编译准备 3 编译 3.1 cli 编译 3.2 stack 编译 3.3 前端编译 END 前言 源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部 ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.1 运行准备
前言 https://github.com/TheThingsNetwork/lorawan-stack/blob/master/doc/gettingstarted.md 这篇笔记记录了 stack ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.7 编译运行 Web 前端
文章目录 前言 1 Stack 前端简介 Console OAuth 2 编译 Stack 前端 3 总体操作流程 4 部署在CVM上的操作 END 前言 此前一直使用命令行来测试,最近 Stack ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.7.1 Web 前端开发调试
文章目录 前言 1 官方介绍 2 本地实践 2.1 脚本准备 2.2 操作步骤 END 前言 上一篇研究了如果编译运行 Web 前端,这一篇研究如何在开发模式下调试 Web 前端. 小能手这段时间在学 ...
- The Things Network LoRaWAN Stack V3 学习笔记 2.1.1 使用 CockroachDB Shell 操作 Identity Server
前言 由于 OAUTH 命令进行了更新,导致我把一条旧的命令配置进了 Identity Server.所以本节琢磨下如何使用 cockroachdb 修改 Identity Server. 相关 sh ...
最新文章
- R语言应用calibrate包的textxy函数向R原生绘图结果中添加文本标签:添加多个文本标签、改变文本标签的字体、改变文本标签的字体颜色
- 转:java中数组与List相互转换的方法
- 计算机二级c语言题库缩印,2011年9月份计算机二级C语言上机题库(可缩印做小抄)百分百准确...
- 在Linux上搭建 一个简单的vsftpd服务器
- pytorch tensor 初始化_PyTorch简明笔记[1]-Tensor的初始化和基本操作
- 前端学习(1684):前端系列实战课程之判断游戏结束
- jedis使用pipline的方法
- onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法(设置readonly后onchange不起作用的解决方案)
- sql虚拟服务器安装,安装SQL Server 2012服务器
- 解决win2003默认不能使用移动硬盘的问题
- 网络安全面试题及答案
- java计算器课程报告_java课程设计报告计算器设计.doc
- 可控硅型号怎样识别_可控硅的鉴别
- 低代码快速对接淘宝订单数据(超详细教程)
- 从零开始设计一个共识算法——一场没有硝烟的战争
- 和周杰讨论:DB2连接问题
- 怎么去除新装修房子的甲醛
- 《饥饿游戏》第三章-26
- QT5.14 安装与下载 教程
- wf 《计算机专业英语》,武汉4-5岁MFWF轻松自信说英语课程