第2章:LoRa与LoRaWAN基础
各位同学好,我是老张。今天咱们聊聊LoRa和LoRaWAN的基础知识。说实话,这部分内容看着有点枯燥,但它是整个定位系统的地基。我在做第一个LoRa项目时,就因为没搞懂调制原理,白白浪费了两周时间调试信号。嗯,咱们从最核心的调制技术开始。
2.1 LoRa调制技术原理
LoRa这个名字,全称是Long Range,长距离。但它的核心秘密不在功率,而在调制方式。
传统的无线通信,比如FSK(频移键控),是靠改变频率来传数据。LoRa不一样,它用的是扩频调制。说白了,就是把一个窄带信号,扩展到很宽的频带上去发送。这样做的好处是什么?抗干扰能力强,接收灵敏度高。
我打个比方。你在嘈杂的会议室里喊一句话,别人听不清。但如果你把这句话重复100遍,别人总能听清几个字。LoRa就是这么干的——它把每个比特的信息,用多个「啁啾」符号来代表。
核心参数:扩频因子(SF)
扩频因子决定了每个比特用多少个啁啾符号来表示。SF7表示用2^7=128个符号,SF12表示用2^12=4096个符号。
SF值越大,传输距离越远,但速率越慢。我在项目中常用的配置是SF9,兼顾距离和速率。
还有一个重要参数是带宽(BW)。LoRa常用的带宽有125kHz、250kHz、500kHz。带宽越大,速率越快,但灵敏度会下降。你想想看,这就像水管——管子越粗,水流越快,但水压会变小。
编码率(CR)也很关键。它表示数据中有效信息占的比例。CR=4/5表示每5个比特中有4个是有效数据,1个是纠错码。我曾经在工厂车间里测试,环境干扰大,我就把CR从4/5降到4/8,虽然速率慢了,但数据包几乎不丢。
我的经验:在人员定位场景中,我建议用SF9、BW125kHz、CR4/5。这个组合在300-500米范围内,定位精度和稳定性都不错。如果你需要更远距离,可以试试SF12,但要做好速率下降的准备。
2.2 LoRaWAN协议栈架构
LoRa是物理层,负责信号的收发。LoRaWAN是网络层,负责设备怎么接入网络、怎么传输数据。两者缺一不可。
LoRaWAN的架构分三层:
- 终端节点(End Device):就是咱们的定位标签、资产标签。它们负责采集数据,通过LoRa发送出去。
- 网关(Gateway):负责接收终端节点的数据,然后通过以太网或4G转发到服务器。网关本身不处理数据,只做转发。
- 网络服务器(Network Server):负责数据解密、去重、路由。它才是真正的大脑。
我记得第一次搭建LoRaWAN网络时,以为网关能直接处理数据,结果发现它就是个「二传手」。后来才明白,这种设计是为了让网关更简单、更便宜,可以大量部署。
LoRaWAN定义了三种终端节点类型:
| 类型 | 特点 | 适用场景 |
|---|---|---|
| Class A | 发送后打开两个接收窗口,最省电 | 电池供电的定位标签 |
| Class B | 定时打开接收窗口,支持下行数据 | 需要定期接收配置的设备 |
| Class C | 持续监听,功耗最高 | 市电供电的资产标签 |
注意:在人员定位场景中,我强烈建议用Class A。因为定位标签需要长时间待机,Class A的功耗最低。我曾经试过Class C,电池两天就耗光了,根本没法用。
2.3 频段与区域参数
LoRa工作在ISM频段,也就是免授权频段。不同国家有不同的规定。咱们主要关注三个频段:
- CN470-510MHz:中国频段,从470MHz到510MHz,共96个信道。这是咱们做项目最常用的。
- EU868MHz:欧洲频段,868-868.6MHz。我在欧洲出差时用过,信道少,但干扰也少。
- US915MHz:北美频段,902-928MHz。信道多,但功率限制严格。
每个频段都有具体的参数要求。我整理了一个表格,方便大家查阅:
| 区域 | 频段(MHz) | 信道数 | 最大发射功率(dBm) | 占空比限制 |
|---|---|---|---|---|
| 中国 | 470-510 | 96 | 17 | 无 |
| 欧洲 | 868-868.6 | 3 | 14 | 1% |
| 北美 | 902-928 | 64+8 | 20 | 无 |
避坑指南:我曾经在项目中用了欧洲的LoRa模块,直接拿到中国用。结果发现频率不对,根本连不上网关。后来才知道,模块的频段是写死的,必须买对应区域的版本。所以,采购时一定要确认频段。
还有一个容易忽略的点——信道规划。在中国频段,虽然信道多,但Wi-Fi、蓝牙、ZigBee都可能造成干扰。我建议在部署前,先用频谱仪扫一下现场,看看哪些信道干净。我在一个工厂里扫过,发现480-490MHz这段干扰最少,就专门用了这段。
嗯,今天的内容就到这里。LoRa调制原理是基础,LoRaWAN协议是骨架,频段参数是规矩。这三样搞懂了,后面做定位系统就顺了。下一章咱们聊聊定位算法,那才是真正有意思的部分。
课后练习:打开你的LoRa模块,用AT指令查看当前的扩频因子、带宽和频率。试着改一下SF值,看看通信距离和速率的变化。我在项目里就是这么一步步摸索出来的。
公众号:蓝海资料掘金营,微信deep3321