2. 主流无线模块选型:nRF24L01、CC1101、LoRa SX1278、ESP8266 WiFi模块、HC-12蓝牙模块对比
做无线通信项目,第一步就是选模块。选错了,后面调试再努力也白搭。我这些年经手过不下二十种无线模块,踩过的坑能写满一个笔记本。今天咱们就把市面上最主流的五款模块掰开揉碎聊一聊。
你可能会问:「这么多模块,我到底该用哪个?」别急,看完这节你心里就有数了。
2.1 五款模块的核心定位
先给个总览。这五款模块各有各的脾气,说白了就是为不同场景设计的。
| 模块型号 | 通信方式 | 频段 | 典型速率 | 最大距离(空旷) | 核心优势 |
|---|---|---|---|---|---|
| nRF24L01 | 2.4GHz 私有协议 | 2.4GHz ISM | 250kbps ~ 2Mbps | 50~100米 | 低成本、低功耗、多通道 |
| CC1101 | Sub-1GHz 私有协议 | 315/433/868/915MHz | 0.6~500kbps | 200~500米 | 穿墙能力强、频段灵活 |
| LoRa SX1278 | LoRa扩频 | 433/868/915MHz | 0.3~37.5kbps | 2~15公里 | 超远距离、超强抗干扰 |
| ESP8266 | WiFi (802.11 b/g/n) | 2.4GHz | 最高 54Mbps | 30~100米(视环境) | 直接连互联网、生态成熟 |
| HC-12 | 蓝牙 2.0/3.0 | 2.4GHz | 约 1Mbps | 10~30米 | 手机直连、配置简单 |
这张表你得存着。选型时先看距离和速率需求,再考虑成本和功耗。
2.2 nRF24L01:性价比之王
我个人习惯把 nRF24L01 叫做「小钢炮」。这模块我用了至少五年,从遥控车到传感器网络都试过。
优点很明显:
- 便宜,淘宝上几块钱一片,坏了不心疼
- 功耗低,待机电流不到 1μA
- 支持 6 个数据通道,可以组简单网络
但坑也不少:
- 供电必须稳!3.3V 供电,纹波一大就掉线。我遇到过一整个项目因为用了劣质稳压模块,通信距离直接砍半
- 天线设计敏感,PCB 天线和陶瓷天线差别很大
- 2.4GHz 频段干扰多,WiFi、蓝牙都在抢
2.3 CC1101:穿墙高手
CC1101 是我做智能家居项目时的首选。为什么?因为它工作在 Sub-1GHz 频段,穿墙能力比 2.4GHz 强太多了。
我记得有一次给一个三层别墅做传感器网络,用 nRF24L01 二楼到一楼就断连。换成 CC1101 后,地下室到三楼都能稳定通信。这就是频段的威力。
CC1101 的亮点:
- 频段可配置,315/433/868/915MHz 随便选
- 灵敏度高,接收灵敏度可达 -116dBm
- 支持多种调制方式:ASK、FSK、MSK、OOK
需要注意的:
- 配置寄存器多,初始化代码比 nRF24L01 复杂
- 速率上不去,最高 500kbps,实际常用 38.4kbps
- 国内 433MHz 频段有对讲机干扰,我吃过这个亏
2.4 LoRa SX1278:远距离之王
说到 LoRa,你想想看,几公里的通信距离,功耗还那么低,是不是有点反直觉?这就是扩频技术的魅力。
SX1278 用的是 LoRa 调制,说白了就是把信号在很宽的频带上铺开,抗干扰能力极强。我在一个农业项目中用过,田间的传感器节点距离基站 3 公里,照样能传数据。
LoRa 的核心参数:
- 扩频因子 SF7~SF12,SF 越大距离越远,速率越慢
- 带宽 125kHz/250kHz/500kHz
- 编码率 4/5 ~ 4/8
经验之谈: LoRa 的速率和距离是跷跷板。SF12 + 125kHz 带宽下,速率只有 300bps 左右,但距离能到 15 公里。如果你要传音频或图片,别用 LoRa,它会让你等到怀疑人生。
避坑指南: 我曾经在 LoRa 项目中忽略了天线驻波比,结果发射功率大部分被反射回来,模块烫得能煎鸡蛋。一定要用频谱仪或驻波比表测一下天线匹配。
2.5 ESP8266:互联网的桥头堡
ESP8266 其实不只是一个无线模块,它本身就是一个完整的 MCU。我经常把它当 WiFi 透传模块用,但也会直接在上面写逻辑。
为什么选它?
- 直接连 WiFi 路由器,数据上云方便
- 生态丰富,Arduino、MicroPython、AT 指令随便选
- 价格低到离谱,某些型号不到 5 块钱
但你要忍这些:
- 功耗高,WiFi 发射时电流能到 300mA,电池供电很吃力
- WiFi 连接不稳定,路由器重启或信道切换就可能断
- 2.4GHz 频段拥挤,延迟不稳定
小技巧: 用 ESP8266 做低功耗项目时,可以开启 Modem-sleep 模式,让 WiFi 模块在空闲时休眠,电流能降到 15mA 左右。但注意,这个模式下连接可能会断,需要心跳包维持。
2.6 HC-12:蓝牙的入门之选
HC-12 是蓝牙串口模块,说白了就是把 UART 转成蓝牙。我最早用它是给一个手持设备做数据采集,手机 APP 直接收数据,开发周期很短。
优点:
- 配置简单,AT 指令搞定一切
- 手机直连,调试方便
- 支持主从模式,可以组简单网络
缺点:
- 距离短,空旷 30 米,隔墙就剩 5 米
- 蓝牙 2.0/3.0,不是 BLE,功耗偏高
- 配对过程有时会卡住,需要复位
嗯,这里要注意:HC-12 的供电电压是 3.3V~5V,但 5V 供电时模块会发热,我建议用 3.3V 供电更稳妥。
2.7 选型决策流程
说了这么多,到底怎么选?我画了一张流程图,你照着走一遍基本不会错。
2.8 我的选型建议
最后给点实在的建议。如果你刚开始做无线项目,我建议从 nRF24L01 入手,便宜、资料多、容易上手。等项目跑通了,再根据实际需求换模块。
如果你要做产品,尤其是需要过认证的,CC1101 和 LoRa 是更好的选择。Sub-1GHz 频段的干扰少,而且模块本身有 FCC/CE 认证的版本。
对了,还有一点:永远不要只看模块的参数表。我见过太多人拿着 1 公里标称的模块,在室内测出 50 米就骂娘。实际通信距离受天线、供电、环境、干扰等多重因素影响,一定要在你自己的场景里实测。
我的习惯: 每次拿到新模块,先做三件事:1)测静态电流和发射电流;2)在空旷场地测极限距离;3)在目标环境中测 24 小时稳定性。这三步走完,模块的底细就摸清了。