前言
树莓派 CM0 有带无线功能与不带无线功能两个版本,具体可以参考如下型号说明:
| 型号 | 前缀 | 无线 | RAM LPDDR2 | eMMC 存储 |
|---|---|---|---|---|
| CM0000000 | CM0 | 0 = No | 00 = 512MB | 000 = 0GB (Lite) |
| CM0000008 | CM0 | 0 = No | 00 = 512MB | 008 = 8GB |
| CM0000016 | CM0 | 0 = No | 00 = 512MB | 016 = 16GB |
| CM0100000 | CM0 | 1 = Yes | 00 = 512MB | 000 = 0GB (Lite) |
| CM0100008 | CM0 | 1 = Yes | 00 = 512MB | 008 = 8GB |
| CM0100016 | CM0 | 1 = Yes | 00 = 512MB | 016 = 16GB |
或者查看你的板子中是否带有无线模块。

如果你的 CM0 具备无线功能,则可以继续按照本教程的后续步骤进行测试。
需要知道的基础知识
在 BLE 通信中,设备工作于主从模式:
- 主设备可主动扫描并连接周围从设备的广播信号。
- 从设备则通过广播自身信号,被动等待主设备发起连接。
用一个简单的比喻,这就像美食街里有许多商贩在叫卖(从设备广播),而顾客(主设备)听到感兴趣的吆喝后,可以主动走过去交易。商贩只能等待顾客上门,而不能主动将商品塞给顾客。
在本次实验中,树莓派 CM0 将会作为主设备,对从设备进行操作。
实际上,两片树莓派 CM0 之间也可设置为一主一从进行通信,但受限于我只有一块 CM0,本次实验暂不演示该场景。
下一步安排:为便于理解与实践,下一章我们将以常见的小米温湿度计作为从设备,完成从发现,连接到数据读取的全过程演示。
环境准备与配置
启用蓝牙电源
输入
bluetoothctl进入蓝牙管理交互界面
root@rpi-cm0:~# bluetoothctl hci0 new_settings: bondable ssp br/edr le secure-conn Agent registered [CHG] Controller AA:CC:DD:11:22:33 Pairable: yes [bluetoothctl]>
开启蓝牙射频电源
在 bluetoothctl 交互界面中,输入 power on 以开启蓝牙射频电源
[bluetoothctl]> power on [CHG] Controller AA:CC:DD:11:22:33 PowerState: off-enabling hci0 class of device changed: 0x400000 [CHG] Controller AA:CC:DD:11:22:33 Class: 0x00400000 (4194304) hci0 new_settings: powered bondable ssp br/edr le secure-conn Changing power on succeeded [CHG] Controller AA:CC:DD:11:22:33 PowerState: on [CHG] Controller AA:CC:DD:11:22:33 Powered: [bluetoothctl]>


