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 扫描在双核模式下,建议把蓝牙协议栈跑在核心 0,MQTT 和业务逻辑跑在核心 1。否则扫描间隔稍微一紧,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,一台设备全包了。

注意:树莓派不适合电池供电的场景。15W 的功耗,用 18650 电池组撑不过 4 小时。我有个朋友把树莓派 Zero 2W 塞进智能门锁里,结果两天就得换一次电池,后来老老实实换成了 nRF52840。

另外,树莓派的蓝牙天线是板载的,信号质量一般。如果你要覆盖 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 负责网络。

避坑指南:nRF52840 的 SDK 学习曲线比较陡。我刚开始用的时候,光是配一个蓝牙广播包就折腾了两天。建议先买官方的 DK 开发板,跑通例程再画自己的板子。

3.4 选型决策树

说了这么多,到底怎么选?我画了一张决策树,你跟着走一遍基本就有答案了。

蓝牙网关硬件选型决策树 开始选型 是否需要 Wi-Fi / 以太网? 是 → 需要 BLE 5.0? 否 → 低功耗优先? nRF52840 + ESP32 双芯片方案 ESP32 单芯片 性价比最高 nRF52840 单芯片 极致低功耗 树莓派 Zero 2W 原型验证首选 节点数量 > 50? 需要 OTA 升级? 需要本地处理? 开发周期紧张? nRF52840 + 树莓派 4B ESP32 + 外部 Flash nRF52840 + Wi-Fi 协处理器 树莓派 4B 快速原型 💡 选型建议 量产选 ESP32 或 nRF52840,原型验证选树莓派 电池供电必选 nRF52840,市电供电优先 ESP32

走完决策树,你大概心里有数了。我再补充几条实战经验:

  • 量产项目:优先 ESP32 或 nRF52840。树莓派成本高、功耗大、供货不稳定,不适合批量。
  • 原型验证:树莓派最快。我一般先用树莓派搭通整个链路,再移植到 ESP32 或 nRF52840 上。
  • 混合场景:如果既有 BLE 5.0 节点又有 Wi-Fi 需求,nRF52840 + ESP32 双芯片是成熟方案。我在两个量产项目里都这么干过,稳定可靠。
  • 成本敏感:ESP32 单芯片方案能把 BOM 成本压到 30 元以内,适合消费级产品。
重要提醒:选型不是一锤子买卖。我见过最惨的案例是,团队选了 nRF52840,结果发现客户需要 Wi-Fi 直连,最后硬生生加了一块 ESP32,PCB 改了三版。所以,选型前一定把需求清单列清楚:供电方式、节点数量、通信距离、是否需要 OTA、成本预算,缺一不可。