3、硬件平台选型:ESP32开发板介绍、树莓派方案对比、nRF52840模块特性、选型决策树
做蓝牙网关,选硬件是第一道坎。我见过不少项目,代码写得挺好,结果选错了芯片,要么蓝牙性能跟不上,要么成本压不住,最后只能推倒重来。这一章咱们就把市面上主流的三个方案掰开揉碎了聊。
3.1 ESP32 开发板:性价比之王
ESP32 是我个人用得最多的平台。为什么?便宜、双核、自带 Wi-Fi 和蓝牙,一块板子全搞定。
- CPU:Xtensa LX6 双核,主频 240MHz
- 蓝牙:BLE 4.2 + Classic Bluetooth
- Wi-Fi:802.11 b/g/n,2.4GHz
- RAM:520KB SRAM + 4MB PSRAM(部分型号)
- Flash:4MB ~ 16MB
- 价格:15 ~ 40 元人民币
ESP32 最大的优势是「集成度」。你不需要外挂一颗蓝牙芯片再加一颗 Wi-Fi 芯片,一块 ESP32 就能同时跑蓝牙扫描和 MQTT 上报。我在一个智能楼宇项目里,用 ESP32 同时接了 30 个蓝牙传感器,数据通过 Wi-Fi 直接推到云端,稳定跑了半年没重启过。
不过 ESP32 也有短板。它的 BLE 只支持到 4.2,不支持 5.0 以上的长距离和广播扩展。如果你需要穿两堵墙还能稳定接收,那 ESP32 可能不太够用。
3.2 树莓派方案:灵活但功耗高
树莓派做网关,说白了就是拿一台小电脑当服务器。我早期做原型验证时特别喜欢用树莓派,因为开发快,Python 一把梭。
| 对比项 | 树莓派 4B | 树莓派 Zero 2W |
|---|---|---|
| CPU | BCM2711 四核 1.8GHz | BCM2837 四核 1.0GHz |
| 蓝牙 | BLE 5.0 | BLE 4.2 |
| RAM | 1GB / 2GB / 4GB / 8GB | 512MB |
| 功耗 | 5V / 3A(约 15W) | 5V / 1.2A(约 6W) |
| 价格 | 200 ~ 500 元 | 80 ~ 120 元 |
| 适用场景 | 高并发、多协议网关 | 轻量级、低吞吐网关 |
树莓派的优势是生态。你想装个数据库?apt install 搞定。想跑个 Node-RED?一行命令。我曾经用树莓派 4B 同时跑了蓝牙网关、MQTT Broker 和 InfluxDB,一台设备全包了。
另外,树莓派的蓝牙天线是板载的,信号质量一般。如果你要覆盖 50 米以上的范围,建议外接 USB 蓝牙适配器,或者干脆换别的方案。
3.3 nRF52840 模块:低功耗蓝牙的王者
nRF52840 是 Nordic 的旗舰 BLE 芯片。如果你对功耗有极致要求,或者需要 BLE 5.0 的全部特性,选它准没错。
- CPU:ARM Cortex-M4F,64MHz
- 蓝牙:BLE 5.0(2Mbps、长距离、广播扩展、Mesh)
- RAM:256KB
- Flash:1MB
- 功耗:RX 4.6mA,TX 4.8mA(0dBm)
- 价格:40 ~ 80 元(模块)
nRF52840 的 BLE 5.0 长距离模式,实测在开阔环境下能到 400 米。我在一个仓库项目里,用 nRF52840 做网关,配合 nRF52 系列的传感器节点,整个仓库 2000 平米只用了一个网关,信号全覆盖。
但 nRF52840 没有 Wi-Fi。你要做 MQTT 网关,必须外挂一个 Wi-Fi 模块或者以太网芯片。这就增加了硬件复杂度和成本。我个人习惯是:如果项目对功耗敏感且蓝牙节点多,就用 nRF52840 + ESP32 双芯片方案,nRF 负责蓝牙,ESP32 负责网络。
3.4 选型决策树
说了这么多,到底怎么选?我画了一张决策树,你跟着走一遍基本就有答案了。
走完决策树,你大概心里有数了。我再补充几条实战经验:
- 量产项目:优先 ESP32 或 nRF52840。树莓派成本高、功耗大、供货不稳定,不适合批量。
- 原型验证:树莓派最快。我一般先用树莓派搭通整个链路,再移植到 ESP32 或 nRF52840 上。
- 混合场景:如果既有 BLE 5.0 节点又有 Wi-Fi 需求,nRF52840 + ESP32 双芯片是成熟方案。我在两个量产项目里都这么干过,稳定可靠。
- 成本敏感:ESP32 单芯片方案能把 BOM 成本压到 30 元以内,适合消费级产品。