前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LoRa Gateway 笔记 3.1.3 帮助程序 util_pkt_logger 进行 LoRa 空口抓包

LoRa Gateway 笔记 3.1.3 帮助程序 util_pkt_logger 进行 LoRa 空口抓包

作者头像
twowinter
发布2020-04-17 12:23:14
9880
发布2020-04-17 12:23:14
举报
文章被收录于专栏:twowinter

文章目录

代码语言:txt
复制
- [前言](https://cloud.tencent.com/developer/audit/support-plan/8886524#_2)
- [1 对 LoRaWAN 节点进行抓包](https://cloud.tencent.com/developer/audit/support-plan/8886524#1__LoRaWAN__10)
- [2 监听其他 LoRa 网关的下行包](https://cloud.tencent.com/developer/audit/support-plan/8886524#2__LoRa__44)
- [3 监听 未使能CRC 的数据包](https://cloud.tencent.com/developer/audit/support-plan/8886524#3__CRC__75)
- [END](https://cloud.tencent.com/developer/audit/support-plan/8886524#END_84)

前言

以前小能手使用 SX1276 做过一个 LoRa抓包工具,最大的局限是不能抓多个频点的数据。而 LoRaGateway 的帮助程序 util_pkt_logger 就提供了这个现成的功能,使用 SX1301 可以同时监听至少8路信道。

本文在 Semtech AE 的帮助下,成功完成了对网关下行空口的监听,于是做个记录,可能会帮助到有需要的朋友。

小能手整理了 LoRa Gateway 的开发笔记系列,详细可点此查看

1 对 LoRaWAN 节点进行抓包

进入 \lora_gateway\util_pkt_logger 目录,直接 make clean all,即可完成编译操作。

在调整完 global_conf.json 的频点配置之后即可进行抓包,数据包会被写入到日志文件中。默认可抓取 LoRaWAN 节点的上行数据包。

代码语言:javascript
复制
pi@ttn-gateway:/opt/ttn-gateway/lora_gateway $ cd util_pkt_logger/
pi@ttn-gateway:/opt/ttn-gateway/lora_gateway/util_pkt_logger $ ./util_pkt_logger 
loragw_pkt_logger: INFO: found global configuration file global_conf.json, trying to parse it
loragw_pkt_logger: INFO: global_conf.json does contain a JSON object named SX1301_conf, parsing SX1301 parameters
loragw_pkt_logger: INFO: lorawan_public 1, clksrc 1
loragw_pkt_logger: INFO: radio 0 enabled (type SX1255), center frequency 500700000, RSSI offset -176.000000, tx enabled 0, tx_notch_freq 0
loragw_pkt_logger: INFO: radio 1 enabled (type SX1255), center frequency 501500000, RSSI offset -176.000000, tx enabled 0, tx_notch_freq 0
loragw_pkt_logger: INFO: LoRa multi-SF channel 0 enabled, radio 0 selected, IF -400000 Hz, 125 kHz bandwidth, SF 7 to 12
loragw_pkt_logger: INFO: LoRa multi-SF channel 1 enabled, radio 0 selected, IF -200000 Hz, 125 kHz bandwidth, SF 7 to 12
loragw_pkt_logger: INFO: LoRa multi-SF channel 2 enabled, radio 0 selected, IF 0 Hz, 125 kHz bandwidth, SF 7 to 12
loragw_pkt_logger: INFO: LoRa multi-SF channel 3 enabled, radio 0 selected, IF 200000 Hz, 125 kHz bandwidth, SF 7 to 12
loragw_pkt_logger: INFO: LoRa multi-SF channel 4 enabled, radio 1 selected, IF -400000 Hz, 125 kHz bandwidth, SF 7 to 12
loragw_pkt_logger: INFO: LoRa multi-SF channel 5 enabled, radio 1 selected, IF -200000 Hz, 125 kHz bandwidth, SF 7 to 12
loragw_pkt_logger: INFO: LoRa multi-SF channel 6 enabled, radio 1 selected, IF 0 Hz, 125 kHz bandwidth, SF 7 to 12
loragw_pkt_logger: INFO: LoRa multi-SF channel 7 enabled, radio 1 selected, IF 200000 Hz, 125 kHz bandwidth, SF 7 to 12
loragw_pkt_logger: INFO: LoRa standard channel 8 disabled
loragw_pkt_logger: INFO: FSK channel 8 disabled
loragw_pkt_logger: INFO: global_conf.json does contain a JSON object named gateway_conf, parsing gateway parameters
loragw_pkt_logger: INFO: gateway MAC address is configured to AA555A0000000000
loragw_pkt_logger: INFO: found local configuration file local_conf.json, trying to parse it
loragw_pkt_logger: INFO: local_conf.json does not contain a JSON object named SX1301_conf
loragw_pkt_logger: INFO: local_conf.json does contain a JSON object named gateway_conf, parsing gateway parameters
loragw_pkt_logger: INFO: gateway MAC address is configured to AA555A0000000101
loragw_pkt_logger: INFO: concentrator started, packet can now be received
loragw_pkt_logger: INFO: Now writing to log file pktlog_AA555A0000000101_20190513T092441Z.csv

2 监听其他 LoRa 网关的下行包

默认情况 util_pkt_logger 运行时 RX I/Q invert 是关闭的,我们要接收其他网关的数据包的就要打开它。

源文件为:\lora_gateway\libloragw\src\loragw_hal.c

代码语言:javascript
复制
void lgw_constant_adjust(void) {

    /* I/Q path setup */
    lgw_reg_w(LGW_MODEM_INVERT_IQ,0); /* default 1 */ 0-enable Rx I/Q invert
}

重新编译后,即可使用。

注意:既要编译 \lora_gateway\libloragw,也要编译 \lora_gateway\util_pkt_logger,以保证能使用到最新的库文件。

抓包日志如下:

代码语言:javascript
复制
pi@ttn-gateway:/opt/ttn-gateway/lora_gateway/util_pkt_logger $ tail -f pktlog_AA555A0000000101_20190513T094616Z.csv 
"gateway ID","node MAC","UTC timestamp","us count","frequency","RF chain","RX chain","status","size","modulation","bandwidth","datarate","coderate","RSSI","SNR","payload"
"AA555A0000000101","","2019-05-13 09:46:22.262Z",   8233788, 500500000,0, 1,"CRC_OK" , 12,"LORA",125000,"SF12"  ,"4/5",-130, +7.2,"60376200-02206701-93113387"
"AA555A0000000101","","2019-05-13 09:46:36.829Z",  22827267, 500500000,0, 1,"CRC_OK" , 43,"LORA",125000,"SF7"   ,"4/5",-133, +3.2,"60C3AA68-E0A00E02-009EA175-EA08A56F-E2BB4581-4AFD453A-17DCA68A-41C729D6-EBBC84A2-724BB81B-717740"
"AA555A0000000101","","2019-05-13 09:46:42.261Z",  28233732, 501500000,1, 6,"CRC_OK" , 12,"LORA",125000,"SF12"  ,"4/5",-133, +3.8,"60376200-02206901-16C1C4C6"
"AA555A0000000101","","2019-05-13 09:46:52.261Z",  38233700, 500900000,0, 3,"CRC_OK" , 12,"LORA",125000,"SF12"  ,"4/5",-125, +6.2,"60376200-02206A01-BE6B087E"
"AA555A0000000101","","2019-05-13 09:47:02.263Z",  48233676, 501700000,1, 7,"CRC_OK" , 12,"LORA",125000,"SF12"  ,"4/5",-136, +2.0,"60376200-02206B01-C7D12879"
"AA555A0000000101","","2019-05-13 09:47:12.263Z",  58234660, 501100000,1, 4,"CRC_OK" , 12,"LORA",125000,"SF12"  ,"4/5",-127, +4.0,"60376200-02206C01-A31BEA2E"

3 监听 未使能CRC 的数据包

代码语言:javascript
复制
void lgw_constant_adjust(void) {
    lgw_reg_w(LGW_ONLY_CRC_EN,0);
    lgw_reg_w(LGW_MBWSSF_ONLY_CRC_EN,0);
}

END


iotisan 博客专家

发布了251 篇原创文章 · 获赞 253 · 访问量 84万+

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 1 对 LoRaWAN 节点进行抓包
  • 2 监听其他 LoRa 网关的下行包
  • 3 监听 未使能CRC 的数据包
  • END
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档