从事Connectivity模块几年时间了,Team负责集成包括WiFi/Bluetooth(A2DP Source/Sink,HID[key/Audio],OPP,SPP)投屏类[Miracast,DLNA(DMR/DMP/DMS)],网络传输加密类协议(HDCP,DTCP)等功能;
最近写了WiFi专栏30篇左右,想总结的东西很多,比如Miracast Sink,DLNA。。。。
写一篇文章少则几小时,多则几天(断断续续),有时候还有画图。。。,毕竟每天还得搬砖嘛
看着这个蓝牙专栏十几个订阅的兄弟姐妹,真感觉对不住,乱糟糟的篇幅,现在开始抽空整理下,希望对得住大家哈!
也希望大家学习了无线互联相关技术后,路越走越宽,带着物联网,人工智能,无线通信走向巅峰哈!
1. Android蓝牙架构
Android Bluetooth架构
Android Bluetooth 集成
2. 蓝牙基础功能
2.1 Android 11 蓝牙Open & Scan
Android 12 Bluetooth Open[1]
Android 12 Bluetooth Open[2]
Android 12 Bluetooth Open[3]
HCI @Bluetooth Init
HCI_Inquiry
2.2 Android 12 Bluetooth Pair
Android 11 BT 配对流程[1]
Android 11 BT配对流程[2]
Android 11 BT配对流程[3]
Android 11 BT配对流程[4] - 配对状态上报流程
Android 11 BT配对流程[5] 配对交互
蓝牙配对HCI交互流程
3. Android 蓝牙协议连接
3.1 A2DP
A2DP协议介绍
A2DP协议连接&数据传输
AVDTP协议
3.1.1 A2DP Source
音频发送端:开发A2DP Source功能,是把当前的音频数据输出到外部设备(蓝牙耳机,音箱)播放。比如电视连接蓝牙音箱,声音从TV到音箱。
Android A2DP Source初始化
Android12 A2DP连接[1]
Android12 A2DP连接[2]
Android12 A2DP连接[3]
Android12 A2DP连接[4]
A2DP连接总结[Log&HCI]
3.1.2 A2DP Sink
音频接收端:开发A2DP Sink功能,是把外部的音频数据输出到外部设备(蓝牙耳机,音箱)播放。比如蓝牙音箱就是音频的接收端。
3.2 AVRCP
AVRCP协议
AVRCP协议介绍 //待完善
Avrcp连接流程
AVRCP @ 音量反向控制流程
3.3 HID
HID协议主要对应设备蓝牙鼠标/键盘/游戏手柄,蓝牙遥控器等
Bluetooth HID 键值Kernel态转换
getevent 用法
3.4 OPP
OPP(Object Push Profile)文件传输
3.5 BLE
BLE(Bluetooth Low Energy)低功耗蓝牙
3.6 SPP
4. 协议文档学习
Bluetooth Spec【0】蓝牙核心架构
Bluetooth Spec【1】 Physical Channel
Bluetooth Spec【2】 - HOGP
ACL&SCO链路介绍
蓝牙SSP&SMP协议介绍
SDP 服务
蓝牙Authentication介绍
5. Misc
5.1 Android & Bluedroid
Bluedroid中SSM(stream state machine)
5.2 其他
Android9 Bluetooth开发简介 <一>
Android9 Bluetooth开发简介 <二>
Android 蓝牙服务
btu_hcif_send_cmd实现细节
6. 调试&工具
Android HCI log //保存HCI Log
工具分析HCI Log[FrontLine&Wireshark]