在Github上检索了一圈LoRa相关的Concentrator/Gateway的源码。主要来源有两类:
- 官网的libloragw,基于SX1301/SX1255/FPGA之类的设计;
- 基于SX1278+Linux(树莓派)设计,大多比较简单。
国外提供的libloragw,是基于C/C++开发,然后采用Python进行封装。同时提供了大量的测试与帮助类。
- util_pkt_logger,采用JSON配置文件,并将所有报文记录在指定文件;
- util_spi_stress,SPI通讯压力测试;
- util_tx_test,可利用其他网关作为接收器的Tx测试模式;
- util_tx_continuous,用于频谱测量目的的连续Tx发射模式;
- util_spectral_scan,LoRa运行时进行后台频谱扫描;
- util_lbt_test,用于测试“发射前侦听”的通道时间戳;
- reset_lgw.sh,使用GPIO进行集中器复位。
相比之下,基于SX1278的代码粗糙得多。国内DORJI提供的树莓派Python代码,我粗略看了一下,基本上就是将SX1278的部分代码翻译成为Python。看下来并没有网关部分代码,多是设备端代码。这一点有些奇怪。
理论上,LoRa USB Dongle可以实现简单的单通道网关。与SPI模块相比,USB Dongle可以更加灵活地实现即插即用的多通道网关。但是,需要划分LoRa USB Dongle的HSI界面,实现最大的设计灵活度。
网友评论