2. 物联网主流协议物理层与MAC层差异

做物联网选型,最头疼的就是挑无线协议。Wi-Fi、BLE、Zigbee、LoRa、NB-IoT、Thread……名字都听过,真到项目里该怎么选?

我个人习惯,先看物理层和MAC层。这两层决定了协议的硬实力——通信距离、速率、功耗、抗干扰能力,全看它们。

核心观点:物理层管“怎么发信号”,MAC层管“什么时候发信号”。两者共同决定了无线系统的天花板。

2.1 物理层:频率、调制与功率

物理层说白了,就是信号从天线出去的那一套。频率选多高?怎么把0和1变成电磁波?能发多大功率?

我整理了一张对比表,方便你一眼看清差异:

协议 工作频段 调制方式 典型发射功率 物理层速率
Wi-Fi 4/5/6 2.4 GHz / 5 GHz OFDM、QAM(BPSK~1024-QAM) 15~20 dBm 最高 9.6 Gbps(Wi-Fi 6)
BLE 5.x 2.4 GHz GFSK 0~10 dBm 1~2 Mbps
Zigbee 3.0 2.4 GHz / 868 MHz / 915 MHz O-QPSK、BPSK 0~10 dBm 250 kbps(2.4 GHz)
LoRa Sub-1 GHz(433/868/915 MHz) CSS(啁啾扩频) 14~20 dBm 0.3~50 kbps
NB-IoT 授权频段(700~900 MHz) SC-FDMA(上行)、OFDMA(下行) 23 dBm 约 200 kbps
Thread 2.4 GHz O-QPSK(基于IEEE 802.15.4) 0~10 dBm 250 kbps

看到这个表,你可能会有个疑问:为什么LoRa速率这么低,还有人用?

嗯,这里要注意。LoRa的CSS调制有个特点——灵敏度极高。我记得在郊区做测试时,用SF12扩频因子,-140 dBm的信号都能解出来。代价就是速率掉到几百bps。你想想看,传一个温湿度数据才几个字节,慢一点也无所谓。

反过来,Wi-Fi用OFDM+高阶QAM,速率是上去了,但接收灵敏度也就-90 dBm左右。穿两堵墙就悬了。

我的经验:选频段时,2.4 GHz穿透力尚可但干扰多,5 GHz速率高但穿墙差,Sub-1 GHz覆盖远但天线尺寸大。没有完美的频段,只有适合场景的频段。

2.2 MAC层:谁先说话?怎么避免撞车?

物理层搞定了信号传输,MAC层就要解决一个核心问题:多个设备同时发数据,会不会打架?

不同协议的MAC机制差异很大,我直接上对比:

协议 MAC机制 信道接入方式 功耗特点
Wi-Fi CSMA/CA(载波侦听+冲突避免) 竞争型,随机退避 高(需持续侦听)
BLE TDMA + 跳频 主从式,时隙调度 低(可深度睡眠)
Zigbee CSMA/CA + 信标(可选) 竞争型 + 时隙混合 低(支持休眠)
LoRa ALOHA(纯随机接入) 无侦听,直接发 极低(发完即睡)
NB-IoT 基于调度的TDMA 基站集中调度 低(PSM/eDRX)
Thread CSMA/CA + TDMA混合 竞争型 + 时隙调度 低(支持休眠)

这里我想重点聊聊CSMA/CA和ALOHA的区别。

Wi-Fi用的CSMA/CA,发数据前先听一下信道有没有人在用。如果信道忙,就随机等一段时间再试。好处是碰撞概率低,坏处是——越忙越等,越等越慢。我在写字楼部署过20多个AP,2.4 GHz频段几乎被占满,设备经常退避几百毫秒才能发出去。

LoRa的ALOHA就简单粗暴了:想发就发,不管别人。碰撞了怎么办?等下次重传。这种机制在信道空闲时效率极高,但负载一高,碰撞率直线上升。我做过一个测试,100个节点同时上报,丢包率超过40%。

避坑指南:我曾经在一个智慧农业项目里,用LoRa做了200多个传感器节点。结果每天凌晨整点上报时,网关收包率不到60%。后来加了随机延时发送,才把收包率提到95%以上。ALOHA机制下,一定要做发送时间随机化。

2.3 物理层与MAC层的协同设计

物理层和MAC层不是孤立的。它们互相影响,甚至需要联合优化。

举个例子:LoRa的物理层支持多种扩频因子(SF7~SF12)。SF越高,灵敏度越好,但空中时间越长。如果你用SF12,一个数据包在空中要飞2~3秒。这时候MAC层如果还用纯ALOHA,碰撞概率会非常高。

所以LoRaWAN标准在MAC层加了ADR(自适应数据速率)机制。网关会根据信号质量,自动建议终端调整SF。信号好就用SF7,速率快、空中时间短;信号差才用SF12。这就是物理层和MAC层协同的典型例子。

再看Wi-Fi。802.11ax(Wi-Fi 6)引入了OFDMA,把物理层的子载波分给多个用户同时用。但光有物理层还不够,MAC层也得配合——引入了触发帧机制,由AP统一调度上下行资源。这就是为什么Wi-Fi 6在高密场景下比Wi-Fi 5强那么多。

关键认知:选型时不要只看物理层参数,也不要只看MAC层特性。要问自己一个问题:这套协议在目标场景下,物理层和MAC层能不能配合好?

2.4 一张图看懂协议分层差异

下面这张SVG图,把六种协议的物理层和MAC层核心差异放在一起对比。你可以保存下来,选型时当参考。

物联网主流协议物理层与MAC层对比 协议 频段 调制方式 MAC机制 功耗等级 典型场景 Wi-Fi 4/5/6 2.4/5 GHz OFDM+QAM OFDM BPSK~1024QAM CSMA/CA 竞争型 高 持续侦听 室内高速 视频/文件 BLE 5.x 2.4 GHz GFSK GFSK 1~2 Mbps TDMA+跳频 主从调度 低 深度睡眠 穿戴/传感 低功耗 Zigbee 3.0 2.4/Sub-1G O-QPSK/BPSK O-QPSK 250 kbps CSMA/CA +信标可选 低 支持休眠 智能家居 Mesh组网 LoRa CSS Sub-1 GHz 433/868/915M CSS 0.3~50 kbps ALOHA 随机接入 极低 发完即睡 远距离 低速率传感 NB-IoT 3GPP R13 授权频段 700~900M SC-FDMA +OFDMA TDMA调度 基站集中 低 PSM/eDRX 广域物联网 运营商网络 Thread 802.15.4 2.4 GHz O-QPSK O-QPSK 250 kbps CSMA/CA +TDMA混合 低 支持休眠 智能家居 IP Mesh 注:功耗等级为典型值,实际功耗与具体芯片、发射功率、占空比强相关

2.5 选型建议:从物理层和MAC层出发

讲完这些差异,我给出几条实战建议:

  • 需要高速率(>10 Mbps):选Wi-Fi。物理层OFDM+QAM的底子在那,MAC层CSMA/CA在高带宽场景下效率不错。但要做好功耗和干扰管理。
  • 需要低功耗+中等速率:BLE或Zigbee。BLE的TDMA+跳频在抗干扰上有优势,Zigbee的Mesh组网更灵活。我个人习惯,穿戴设备用BLE,智能家居用Zigbee。
  • 需要远距离+超低功耗:LoRa。CSS调制的灵敏度是独门绝技,但MAC层的ALOHA需要你做随机化处理。别偷懒。
  • 需要运营商级覆盖:NB-IoT。物理层用授权频段,MAC层由基站调度,可靠性高。但注意,NB-IoT的时延较大,不适合实时控制。
  • 需要IP网络+低功耗Mesh:Thread。物理层复用802.15.4,MAC层加了TDMA增强,适合需要IPv6寻址的智能家居场景。

我的习惯:选型时先画一个二维坐标——横轴是距离(10m~10km+),纵轴是速率(100 bps~1 Gbps)。把六种协议标上去,哪个象限空着,哪个协议就适合你。剩下的就是看功耗和成本能不能接受。

好了,这一章的内容就到这里。物理层和MAC层的差异,是物联网无线选型的底层逻辑。搞懂了这些,后面调模组、做联调时,你心里就有底了。