1. 课程导论与硬件准备

各位同学好,我是老周。做嵌入式通信开发十几年了,从最早的蓝牙2.0折腾到现在的BLE 5.2,踩过的坑能绕深圳湾一圈。今天咱们开始这门实战课,第一讲先把家伙事儿备齐。

这门课的核心就两件事:蓝牙怎么配对连上,Wi-Fi透传怎么调通。说白了,就是让两个设备互相认识、互相说话。你想想看,如果连硬件选型都搞错了,后面调试就是白费功夫。

1.1 蓝牙与Wi-Fi模块选型

选模块这事儿,我个人的习惯是:先看项目需求,再定芯片方案。别一上来就追最新的芯片,稳定才是硬道理。

模块类型 代表芯片 适用场景 我的评价
双模SoC ESP32 Wi-Fi+蓝牙同时用,IoT网关 性价比之王,生态好
纯BLE SoC CC2640 低功耗传感器,穿戴设备 功耗控制一流,但开发门槛高
AT指令模块 ESP8266/ESP32 AT 快速验证,MCU+Wi-Fi透传 上手最快,但灵活性差

ESP32 是我最常用的。双核240MHz,自带蓝牙和Wi-Fi,关键是乐鑫的文档和社区支持特别好。我在项目中遇到过用ESP32做智能网关,同时挂20个BLE子设备,稳得很。

CC2640 呢,TI的东西,射频性能确实好。但我要提醒你——它的开发环境CCS实在太重了,我第一次装的时候折腾了整整一天。如果你做超低功耗产品,选它没错;如果只是学通信协议,建议先绕道。

AT指令模块 适合谁?适合那些主控MCU资源紧张、只想把Wi-Fi当外设用的场景。比如你用STM32做主控,串口发几条AT指令就能联网,确实方便。但坑也明显——调试困难,出了问题你只能看AT返回值猜原因。

选型建议: 本课程以ESP32为主,CC2640为辅。ESP32兼顾蓝牙和Wi-Fi,一块板子搞定两套协议,省心。

1.2 开发板与调试工具

工具这事儿,我吃过亏。以前图便宜买了几块钱的USB转TTL模块,结果波特率一高就丢数据,查了三天才发现是模块的问题。嗯,这里要注意:工具可以不是最贵的,但必须是可靠的。

必备工具清单

  • USB转TTL模块:推荐CP2102或CH340G芯片的方案。别买FT232的仿品,坑太多。
  • 逻辑分析仪:24MHz采样率起步,8通道。我习惯用Saleae的逻辑分析仪,虽然贵点,但软件好用。
  • 万用表:测电压、通断、电阻。福禄克太贵的话,优利德UT61E也够用。
  • 杜邦线:公对母、母对母各备20根。颜色要区分开,我一般红黑电源、黄绿信号。

小技巧: 逻辑分析仪抓蓝牙空中包?别想了,2.4GHz信号逻辑分析仪抓不到。它只能抓模块和MCU之间的UART/SPI通信。抓蓝牙包得用专用的BLE Sniffer,比如nRF52840 DK或者TI的CC2540 USB Dongle。

调试工具对比

工具 能干什么 不能干什么 我的推荐
USB转TTL 串口打印、AT指令交互 抓时序、看波形 CP2102模块,15元以内
逻辑分析仪 UART/SPI/I2C时序分析 抓射频信号 Saleae Logic 8,或国产24M采样
万用表 测电压、通断、电阻 看波形、抓数据 优利德UT61E,200元左右
BLE Sniffer 抓蓝牙空中包 分析Wi-Fi信号 nRF52840 DK,或CC2540

1.3 开发环境搭建

环境搭建这事儿,我建议你一次配好,后面别动。我见过太多人今天装这个IDE明天换那个,结果项目没写几行代码,环境倒折腾了半个月。

ESP32开发环境(Arduino IDE)

为什么选Arduino IDE?因为快。对于咱们这门课,重点是通信协议的理解和调试,不是嵌入式底层开发。Arduino IDE能让你5分钟跑起第一个例程。

步骤:
1. 下载Arduino IDE 2.x(别用1.x,太老了)
2. 打开 文件 -> 首选项 -> 附加开发板管理器网址
   填入:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
3. 工具 -> 开发板 -> 开发板管理器
   搜索ESP32,安装 esp32 by Espressif Systems
4. 选择开发板:ESP32 Dev Module
5. 串口选择:看你的USB转TTL映射到哪个COM口

注意: 安装ESP32包时,如果下载慢,可以手动下载离线包。我曾经在公司网络下等了两个小时没装完,最后用手机热点一分钟搞定。你懂的,有些网络环境对GitHub不友好。

CC2640开发环境(Keil + IAR)

CC2640我建议用IAR。虽然Keil用的人多,但TI官方对IAR的支持更好。不过说实话,CC2640的开发环境确实重,第一次配置SDK路径就够你喝一壶的。

步骤:
1. 安装IAR for ARM(建议8.32以上版本)
2. 下载SimpleLink CC26x2 SDK(约1.5GB)
3. 导入例程:File -> Open -> Workspace
   选择 SDK目录/examples/rtos/CC2640R2_LAUNCHXL/ble5stack/...
4. 编译前检查:
   - 芯片型号:CC2640R2F
   - 优化等级:不要选High,选None或Low
   - 链接脚本:选cc2640r2f.icf

串口助手的选择

串口助手是调试的眼睛。我试过不下十款,最后常驻的就两个:

  • SSCOM(丁丁串口):轻量、稳定、支持中文。我用了十年没换过。
  • MobaXterm:如果你需要同时开多个串口窗口,这个好用。还带SSH功能。

别用那些花里胡哨的串口助手,功能越多bug越多。串口助手的核心需求就三个:波特率准、不丢数据、显示不乱码。

1.4 知识体系总览

下面这张图,是我画的本课程知识体系。你可以把它当成地图,后面每学一章,回来看看自己在哪个位置。

蓝牙配对连接与Wi-Fi透传调试 · 知识体系 课程目标:蓝牙配对 + Wi-Fi透传 硬件选型与工具 蓝牙协议栈实战 Wi-Fi透传与调试 ESP32 / CC2640 调试工具选型 GAP / GATT 配对与绑定 AT指令透传 TCP/UDP通信 故障定位:逻辑分析仪 + Sniffer + 串口日志 课程路线:硬件准备 → 蓝牙基础 → 配对实战 → Wi-Fi透传 → 综合调试 每章都有实战代码 + 故障案例,跟着做就能上手

这张图把课程分成了三条主线:硬件选型、蓝牙协议栈、Wi-Fi透传。最后汇到故障定位,这是咱们这门课的终极目标——出了问题能自己搞定。

1.5 本章小结

好,第一讲的内容就这些。总结一下重点:

  • 模块选型:ESP32适合入门和综合项目,CC2640适合低功耗场景,AT模块适合快速验证
  • 工具准备:USB转TTL、逻辑分析仪、万用表是三大件,别省这个钱
  • 环境搭建:Arduino IDE最快,Keil/IAR适合深度开发

课前作业: 把ESP32开发环境搭好,跑一个串口打印"Hello World"的例程。下节课咱们要开始写蓝牙代码了,环境没配好你会跟不上。

记住一句话:工欲善其事,必先利其器。硬件准备这一步走扎实了,后面调试才能事半功倍。咱们下节课见。