方案应用场景描述
本方案为介绍一个如何使用Semtech SX1302 的Corecell参考设计从硬件、固件到安装驱动系统。本方案主要的使用场景是当作一个无线基地台来接收由物联网节点如感测器等应用送来的资料,并将其汇总后送到后端的网路服务器。之后再根据使用者的使用情景连接到想对应的应用、储存等服务器。
方案优势
LoRaWAN无线网路是使用在现今广泛使用的共享ISM频段。其中运行在这个频段的一个越来越重要问题是如何避免来自运行于同一频段的无线设备干扰,并将对其相同频段里的其他用户造成的干扰降至最低。为了帮助系统运营商及专属架构的个人实现这一目标,Semtech开发了 SX1302 LoRa Corecell 网关参考设计。其中最主要的就是LBT (Listen Before Talk发射前倾听) 和Spectral Scan 频谱扫描功能。
方案特色说明
本方案向对有兴趣探索CoreCell架构的开发人员和产品经理展示如何在Raspberry Pi或是其他Linux系统下经USB 接口来设置驱动程式和构建一个具有LoRaWAN功能的CoreCell网关,并示范其频谱的扫描。对于LBT功能因为必须在电波实验室中由一发射源进行互动测试,故这方面我们会另以博文再行说明。
工作原理描述说明
本方案的结构是使用Semtech SX1302 CoreCell版本的建议设计,其架构为一使用STM32 MCU做为SPI与USB通讯桥梁功能之mPCIe介面的闸道器模组。我们必须在Raspberry 下将Linux系统下映像档烧入,然后安装LoRaWAN驱动程式。再来设定网关的频率和服务器指向后等环境后将设备连接到Semtech Network Server。以下介绍两个主要的功能
LBT (Listen Before Talk发射前倾听)
LBT功能是用于当网关在传输资料时可以减少对其他无线电设备的干扰,这些设备可能没能在某些国家的无线电法规中强制要求。其工作原理为当LBT启用时,网关会在传输每一个数据封包之前先监视同一通讯频段下的信号功率是否高于预定值。通讯频道频率、频段功率预定、LBT的扫描持续时间以及网关在侦测到闲置频道后可以传输的时间都是自行配置的。
Spectral Scan (频谱扫描)
频谱扫描目的在使每一个 Corecell 网关可以定期来监视所设定的ISM 频段,用于基于 SX1302 和 SX1250 位置的先听后听 (LBT) 和频谱扫描,以建立出频段中频率占用的区段和其强度。频谱扫描的操作为指定所要测量频率的起始点和扫描点数,以及应该重复扫描的次数和频率的额外选项。频谱扫描信息可用于识别出特定频道上的干扰问题,然后改变现有的通讯频道规划以供脱离干扰部分的频谱。
如何使用SX1302 CoreCell 模组建构ChirpStack网关
一. 建立网关
在本方案中将使用Raspberry Pi和SX1302 模组来构建网关。如果您不是使用Semtech参考设计的转接板的话,您也可以参考树莓派的SPI介面来SX1302联系,详细可参考附件的参考设计电路图。网关的网络通讯部分是使用LoRaWAN协议的来与LoRa芯片的设备传送和接收资料,并将它们传递到所连接的Semtech网络。
二. 制作树莓派镜像文件
- 至https://www.raspberrypi.org/downloads/raspbian/ 下载Raspbian Buster Lite 2. 将Raspbian Buster Lite镜像文件如下图操作方式烧录到SD Card
- 将SD卡放入Rpi3并上电
三. 连接PC与树莓派
1. 首先我们使用无线网络或是RJ45连到 Raspberry。
2. 使用SSH指令连接admin@192.168.0.1
3. 登入Raspberry,帐号为 Pi,密码为 raspberry
四. 设置环境
- 执行下列指令取得最新更新 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get dist-upgrade $ sudo rpi-update $ sudo apt install git
- 执行设定指令sudo raspi-config 并选择启动 SPI / I2C / Serial 界面
- 安装SX1302 驱动
$ cd ~/sx1302_hal/
$ make clean all
$ make install –
$ make install_conf
4.输入下列指令安裝STM32固件
- $ cd ~/sx1302_hal/bin
- ./boot -d /dev/ttyACMx
- sudo apt-get install dfu-util
- sudo dfu-util -a 0 -s 0x08000000:leave -t 0 -D ../mcu_bin/xxx_CoreCell_USB.bin
五.验证网关
- 测试HAL 编译检查程序 ~
检查Raspberry上运行之程序与网关寄存器之间链接的可靠性,测试无休止地运行或直到检测到错误。 $ cd ~/sx1302_hal/bin $./test_loragw_com_sx1261 -u -d /dev/ttyACM0 ~ 测试SX1261 $./test_loragw_com_sx1250 -u -d /dev/ttyACM0 ~ 测试 SX1250
- 测试无线发射 ~
测试Corecell电路的发射运行,启动命令指定后无休止测试直到错误。 $ cd ~/sx1302_hal/bin $ ./test_loragw_hal_tx –u –d /dev/ttyACMx -k0 -c0 -r
- 测试Spectral Scanner ~ 检查频谱扫描 $ cd ~/sx1302_hal/bin/ $./spectral_scan –u –d /dev/ttyACMx
- 执行CoreCell Packet Forwarder ~ 启动网关的转发工作,把收到的节点资料送至网路服务器。 $ cd ~/sx1302_hal/bin/ $ ./lora_pkt_fwd –c global_conf.json.sx1250.USB
►场景应用图
►展示板照片
►方案方块图
►核心技术优势
LoRaWAN无线网路是使用在现今广泛使用的共享ISM频段。其中运行在这个频段的一个越来越重要问题是如何避免来自运行于同一频段的无线设备干扰,并将对其相同频段里的其他用户造成的干扰降至最低。为了帮助系统运营商及专属架构的个人实现这一目标,Semtech开发了 SX1302 LoRa Corecell 网关参考设计。其中最主要的就是LBT (Listen Before Talk发射前倾听) 和Spectral Scan 频谱扫描功能。
►方案规格
运用LoRa技术传输,并具有BLT发送前侦听与频谱扫描