如果说 adapter模块是蓝牙主机的"嘴和耳朵",那么 device模块就是连接远端蓝牙设备的"手"。它管理着每一个被发现、已连接或已配对的蓝牙设备对象,是 BlueZ 中对象数量最多、状态变化最频繁的核心模块。
目录
一、核心数据结构深度解析
二、设备发现与对象创建
三、D-Bus 接口:org.bluez.Device1
四、连接管理:BR/EDR vs LE 的差异化处理
五、配对绑定流程
六、设备状态机
七、断连与资源回收
八、BLE 与经典蓝牙的差异化处理
九、调试技巧与常见问题
十、核心函数索引
十一、完整开发范例
十二、总结与开发规范
模块职责全景:
职责 | 说明 |
设备发现 | 处理扫描结果,创建设备对象,缓存设备信息 |
对象管理 | 维护所有已知设备的生命周期(创建/更新/销毁) |
连接控制 | 发起连接、断开连接、管理连接状态机 |
配对绑定 | 处理 SMP/PinCode 认证流程,管理 bond 状态 | <