2. 硬件选型与平台搭建:蜂窝模组与BLE芯片的实战选择
做物联网项目,第一步就是选硬件。说实话,这一步走错了,后面全是坑。我见过太多团队,芯片选型时只看参数表,结果打样回来发现电源纹波太大、天线匹配不对,折腾两个月又换方案。
这一章,我就把蜂窝模组和BLE芯片的选型逻辑、开发板连接要点、电源设计的关键细节,掰开了讲清楚。你跟着走一遍,至少能少走我当年踩过的那些弯路。
2.1 主流蜂窝模组选型:SIM7600 vs BC95
蜂窝模组的选择,说白了就是看你的业务场景。你是要高速传视频,还是只发几个传感器数据?这决定了你用4G Cat.4还是NB-IoT。
| 对比项 | SIM7600(4G Cat.4) | BC95(NB-IoT) |
|---|---|---|
| 速率 | 下行150Mbps,上行50Mbps | 下行约25kbps,上行约15kbps |
| 功耗 | 空闲约20mA,发送峰值约500mA | PSM模式约3.5μA,发送约50mA |
| 协议 | TCP/UDP/HTTP/MQTT全栈 | CoAP/UDP为主,MQTT需外挂 |
| 适用场景 | 视频监控、车载网关、远程控制 | 水表气表、环境传感器、资产追踪 |
| 成本 | 模组约80-120元 | 模组约25-40元 |
我个人习惯是:如果项目需要OTA升级固件、或者偶尔传一张图片,直接上SIM7600。如果只是每天上报几次温度、电量,BC95就够了,省下来的钱够买好几个传感器。
2.2 BLE芯片选型:nRF52832 vs ESP32
BLE芯片这边,nRF52832和ESP32是两大主流。一个专攻低功耗蓝牙,一个走的是Wi-Fi+蓝牙双模路线。怎么选?看你的网关角色。
| 对比项 | nRF52832 | ESP32 |
|---|---|---|
| BLE版本 | BLE 5.0,支持2Mbps/长距离 | BLE 4.2,基础功能完整 |
| 处理能力 | ARM Cortex-M4F,64MHz | Xtensa LX6双核,240MHz |
| 功耗(广播) | 约5.3mA(0dBm) | 约15mA(0dBm) |
| 特色 | 片上NFC、温度传感器、EasyDMA | Wi-Fi、以太网、蓝牙共存 |
| 开发环境 | nRF5 SDK / Zephyr | ESP-IDF / Arduino |
我建议这样选:如果BLE设备是电池供电的传感器节点,用nRF52832,它的功耗控制确实好。如果这个设备同时要连Wi-Fi上云,或者需要本地处理大量数据,那就ESP32,毕竟双核240MHz跑个算法还是轻松的。
2.3 开发板连接与接口设计
选好芯片,接下来就是怎么把它们连起来。蜂窝模组和BLE芯片之间,通常通过UART通信。但这里有个细节——电平匹配。
SIM7600的UART电平是1.8V,而nRF52832也是1.8V,可以直接连。但ESP32的UART是3.3V,直接连SIM7600会烧IO口。怎么办?加电平转换芯片,比如TXS0102。
BLE主控(UART_TX) → 电平转换 → 蜂窝模组(UART_RX)
蜂窝模组(UART_TX) → 电平转换 → BLE主控(UART_RX)
共地线必须接,否则通信会乱码。
另外,SIM7600的PWRKEY引脚需要拉低至少1秒才能开机。我习惯用BLE主控的一个GPIO控制PWRKEY,这样可以在需要时远程重启模组。
// 示例:ESP32控制SIM7600开机
#define PWRKEY_PIN 4
void sim7600_power_on() {
pinMode(PWRKEY_PIN, OUTPUT);
digitalWrite(PWRKEY_PIN, LOW);
delay(1500); // 拉低1.5秒
digitalWrite(PWRKEY_PIN, HIGH);
delay(3000); // 等待模组注册网络
Serial.println("SIM7600开机完成");
}
2.4 电源设计要点:别让供电拖后腿
电源设计是物联网设备最容易翻车的地方。蜂窝模组发射时电流会突然飙升,如果电源响应慢,电压一掉,模组就重启了。
我总结了几条硬规矩:
- 蜂窝模组独立供电: SIM7600峰值电流可达2A,不要和BLE芯片共用LDO。用DC-DC降压到3.8V,输出电容至少100μF+10μF+0.1μF组合。
- BLE芯片用LDO: nRF52832对电源纹波敏感,建议用XC6206或RT9013这类低噪声LDO,输出电容10μF+0.1μF。
- 大电容靠近模组: 470μF电解电容放在SIM7600电源入口,能有效抑制发射时的电压跌落。
- 地线要粗: 电源回路的地线宽度至少2mm,不要走细线,否则地弹效应会让你通信失败。
2.5 整体硬件架构图
下面这张图,是我做这类项目时常用的硬件架构。你可以直接参考。
2.6 避坑清单:我替你试过的错
最后,我把这些年做蜂窝+BLE项目遇到的典型问题列出来。你设计时对照检查一遍,能省很多调试时间。
- SIM7600开机时序: 拉低PWRKEY后,必须等模组输出"RDY"或"^READY"再发AT指令。我见过有人延时只给500ms,结果模组还没初始化完,AT指令全返回ERROR。
- BC95的PSM唤醒: 唤醒后不要立即发数据,先发AT+CSCON?确认网络状态。否则数据可能发不出去,白白耗电。
- nRF52832的广播间隔: 如果做低功耗传感器,广播间隔建议设为100ms以上。我试过20ms广播,功耗直接翻倍,而且手机扫描也不一定更快。
- ESP32的Wi-Fi和蓝牙共存: 如果同时开Wi-Fi和蓝牙,天线切换会有冲突。建议用ESP-IDF的
esp_coex_status_t接口做优先级管理,否则蓝牙连接会频繁断开。 - 电源去耦电容: 每个芯片的电源引脚都要放0.1μF陶瓷电容,且必须紧贴引脚。我见过有人把电容放在PCB背面,走线绕了半圈,结果高频噪声根本滤不掉。