文章目錄 - 前言
- 1 對 LoRaWAN 節點進行抓包
- 2 監聽其他 LoRa 網關的下行包
- 3 監聽 未使能CRC 的資料包
- END
前言
以前小能手使用 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 節點的上行資料包。
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
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,以保證能使用到最新的庫檔案。
抓包日志如下:
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 的資料包
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萬+