先说结论
蓝牙模块二次开发,SDK是必经之路,但选错SDK会让你多走三个月弯路。Nordic nRF5 SDK资料最全、生态最成熟,新手友好度最高;TI SimpleLink适合低功耗工业项目,但学习曲线陡一点;乐鑫ESP-IDF配ESP32是价格屠夫,BLE功能够用但不专精。我的建议:纯BLE产品优先看Nordic,想控制成本或需要WiFi+BLE打包再考虑ESP32,TI留给工业老项目。这篇把三个SDK的架构、例程、工具链全对比清楚,看完你心里就有数了。
先搞清楚:你真的需要SDK开发吗?
买回来的蓝牙模块通常有两状态:出厂固件(AT指令透传)和开放SDK(自己写代码)。
如果你只是想让模块透传数据、控制开关,选AT指令版本,3分钟上手,不碰SDK。如果你要做自定义广播内容、改连接参数、加传感器采集、自己定义通信协议——这些出场固件做不了的事,才需要SDK开发。
简单判断标准:
- 能用AT指令解决的 → 不需要SDK
- AT指令满足不了需求的 → 用SDK
- 想做量产差异化功能的 → 必须用SDK
Nordic nRF5 SDK — BLE开发首选,新手最推荐
基本情况
Nordic的nRF52系列是BLE市场占有率最高的芯片,没有之一。nRF5 SDK开源免费,文档质量是业界天花板,论坛问答多如牛毛。选Nordic的最大理由就一个:出了问题,你永远能在Nordic DevZone或者搜索引擎里找到答案。
Nordic芯片选型对照表:
| 芯片型号 | Flash/RAM | BLE版本 | 适合场景 | 参考模块价格 |
|---|---|---|---|---|
| nRF52810 | 192KB/24KB | 5.0 | 极致成本,BLE基础功能 | 8-12元 |
| nRF52820 | 256KB/32KB | 5.0 | 双核,低功耗入门 | 10-15元 |
| nRF52832 | 512KB/64KB | 4.2/5.0 | 经典主力,90%BLE项目 | 15-25元 |
| nRF52833 | 512KB/128KB | 5.0+Long Range | 长距离,定向定位 | 20-30元 |
| nRF52840 | 1MB/256KB | 5.2/5.3 | 旗舰,USB/Thread/Matter | 30-50元 |
颖特新现货型号:TX52832(nRF52832模块)、TX52840(nRF52840模块),全部开放SDK接口,支持Segger和GCC两种编译方式。
开发工具链
| 工具 | 费用 | 推荐度 | 适合人群 |
|---|---|---|---|
| Segger Embedded Studio | 免费(不限时) | ⭐⭐⭐⭐⭐ | 新手首选,官方推荐 |
| Keil MDK | 付费/社区版免费 | ⭐⭐⭐⭐ | 老工程师,存量项目 |
| IAR EWARM | 付费 | ⭐⭐⭐⭐ | 追求编译效率 |
| GCC + VSCode | 免费 | ⭐⭐⭐⭐ | 极客 / CI自动化 |
新手无脑选Segger Embedded Studio,不用破解,功能全,Nordic官方背书。
SDK目录结构
nRF5_SDK/
├── components/
│ ├── ble/ # BLE协议栈核心代码
│ ├── drivers/ # 芯片外设驱动(GPIO/UART/TIMER/ADC)
│ ├── libraries/ # 工具库(FIFO/队列/加密)
│ └── boards/ # 开发板引脚定义
├── config/ # 各芯片配置头文件
├── examples/ # ⭐例程集合,重点看这里
│ ├── ble_peripheral/ # 从机模式(BLE设备)
│ ├── ble_central/ # 主机模式(BLE主机)
│ └── ble_app_* # 各种应用例程
└── documentation/ # API文档
例程学习路径(按顺序来)
基础阶段(1-2周):
| 例程 | 重点学什么 | 改哪里 |
|---|---|---|
| ble_app_beacon | 广播包配置 | 改名称、UUID、厂商数据 |
| ble_app_uart | GATT服务 + 串口透传 | 改服务UUID、特征值 |
| ble_app_blinky | GPIO控制 + 主循环 | 改IO口、控制逻辑 |
| ble_app_template | 工程建立 | 建立自己的项目起点 |
进阶阶段(1-2个月):
| 例程 | 重点学什么 | 对应产品 |
|---|---|---|
| ble_app_hrs | GATT服务端设计 | 心率带、血氧仪 |
| ble_app_hids | HID协议应用 | 蓝牙键鼠 |
| ble_app_ancs | 复杂服务设计 | 通知推送 |
| ble_app_dfu | OTA升级流程 | 所有量产产品 |
TI SimpleLink BLE SDK — 低功耗工业首选
基本情况
TI的CC2640/CC2642系列在工业传感器领域口碑极好,芯片功耗指标是业界最顶的。SimpleLink SDK基于TI-RTOS,系统设计比Nordic更重,上手曲线陡一些。
适合场景:
- 工业物联网传感器(工业PLC环境下稳定性好)
- 需要纽扣电池续航3年以上的设备
- 对射频稳定性有严格要求的项目
支持芯片:
| 芯片型号 | BLE版本 | 休眠电流 | 适合场景 | 参考芯片价格 |
|---|---|---|---|---|
| CC2640R2 | 4.2 | <1μA | 老项目维护 | 8-15元 |
| CC2642R | 5.0 | <1μA | 低功耗旗舰 | 12-20元 |
| CC2652R7 | 5.2 多协议 | <1μA | Thread/Zigbee/Matter | 25-40元 |
SDK特点
优点:
- 休眠电流可以精确到0.1μA级别,Nordic做不到这个精度
- 射频稳定,工业现场口碑好
- TI对大客户有长期供货承诺
缺点:
- TI-RTOS系统增加了学习门槛
- 例程数量远不如Nordic
- 社区活跃度低,踩坑了不好找答案
乐鑫ESP-IDF + ESP32 — 成本敏感首选
基本情况
ESP32的最大优势是价格,模块单价5-15元,BLE+WiFi二合一,还要什么自行车。BLE功能基于开源NimBLE协议栈,协议栈功能没有Nordic/TI完整,但对于数传、简单控制场景完全够用。
适合场景:
- 成本极度敏感的项目
- 需要WiFi+BLE打包的网关产品
- 快速原型验证
芯片型号对比:
| 型号 | BLE版本 | 价格 | 特点 |
|---|---|---|---|
| ESP32-WROOM-32 | 4.2 | 8-12元 | 经典款,量大稳定 |
| ESP32-C3-WROOM-02 | 5.0 | 5-8元 | RISC-V内核,BLE 5.0 |
| ESP32-S3-WROOM-1 | 5.0 | 12-18元 | 加AI向量指令 |
三大SDK横向对比
| 对比维度 | Nordic nRF5 SDK | TI SimpleLink | ESP-IDF + ESP32 |
|---|---|---|---|
| BLE功能完整性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 例程丰富度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| 文档质量 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 编译工具免费 | ✅ Segger免费 | ✅ CCS免费 | ✅ 免费 |
| 芯片成本 | 中(15-25元) | 中(12-20元) | 低(5-12元) |
| 低功耗极限 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 社区活跃度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 上手难度 | 中等 | 较难 | 简单 |
| 推荐场景 | 90%BLE项目 | 工业/极致低功耗 | 成本敏感/WiFi网关 |
新手选型建议
| 你的情况 | 推荐方案 | 原因 |
|---|---|---|
| 第一次做BLE开发 | Nordic nRF52832 + Segger | 资料最多,踩坑能找到答案 |
| 低功耗工业传感器 | TI CC2642R | 休眠电流最稳 |
| 需要WiFi+BLE打包 | ESP32-C3 | 成本低,一个芯片解决 |
| 快速出原型验证 | ESP32 + Arduino | 上手最快 |
| 有Nordic经验,想省钱 | nRF52810 | 成本最低,功能够用 |
常见问题Q&A
Q1:Nordic SDK和SoftDevice版本要对应吗?
必须对应。SDK 17.x配SoftDevice S140 v7.x,混用会导致编译报错或者运行时异常。具体对应关系在Nordic官网Release Notes里有,下载SDK时看一眼不要跳过。
Q2:没有ARM开发经验,能学会Nordic SDK吗?
能学,但需要多花2-3周补C语言和ARM基础。重点学GPIO、UART、中断这三个,Nordic的SDK把外设封装得很好,门槛已经很低了。如果C语言和嵌入式都没接触过,建议先玩两个月Arduino再上手SDK。
Q3:SDK开发周期一般多长?
串口透传改造2-4周出原型;加传感器采集+数据上报4-8周;稳定量产级固件(含OTA、低功耗优化、多设备管理)建议留3-6个月。别被那些"一周出产品"的博客骗了,Demo和量产中间差了10倍的调试时间。
Q4:ESP32的BLE稳定吗?能用在工业环境吗?
ESP32 BLE适合消费类和轻工业场景。极端温度(<-20℃或>60℃)、强电磁干扰、长时间24小时持续运行这类场景,ESP32的NimBLE协议栈稳定性不如Nordic和TI。工业项目建议上Nordic或TI。
Q5:模块买回来能直接烧录SDK例程吗?
能,但最好买"开放SDK"版本的模块。部分模块出厂固件锁死,不能烧自己的代码。颖特新所有TX系列蓝牙模块均支持SDK开放烧录,出厂配套Segger烧录脚本,客户提供SDK可代烧。