这篇文章简单分析一下 蓝牙音箱配对流程.现在的音箱基本都支持security simple pairing.所以这里的流程基本上就是ssp的代码流程. 源码参考的是 Android 6.0 上面的bluedroid.这里先介绍一些bluedroid定义的概率. 首先介绍一下 配对的几个状态:pair ...
分类:
其他好文 时间:
2019-01-09 00:30:06
阅读次数:
584
之前分析了a2dp profile 的初始化的流程,这篇文章分析一下,音频流在bluedroid中的处理流程。 上层的音频接口是调用a2dp hal 里面的接口来进行命令以及数据的发送的。 关于控制通道的初始化以及建立的过程,这里就不分析了,我们主要看数据的流向和处理。我们从控制通道的最后一个命令s ...
分类:
其他好文 时间:
2018-09-13 17:25:24
阅读次数:
740
之前写了一篇 bluedroid对于sdp的实现的源码分析 ,他其实对于sdp 协议本身的分析并不多,而是侧重于 sdp 处于Android bluedroid 架构中的代码流程,这篇文章,是针对SDP 的规范来整理SDP 协议本身的一些要点。 概要: 我们想一想,两个陌生的设备(之前未有过交互)如 ...
分类:
其他好文 时间:
2018-08-18 23:34:40
阅读次数:
375
蓝牙进程中有多个线程,其中HCI 线程是负责处理蓝牙主机端和控制器的数据处理和收发的工作。 本篇文章就是分析一下该线程的数据处理流程。 1.跟HCI相关的接口 首先看看hci的相关的接口:在hci_layer.c中: 主要是结构是:hal,packet_fragmenter以及vendor,下面看看 ...
分类:
编程语言 时间:
2018-06-23 20:53:11
阅读次数:
234
在蓝牙enable的过程中会进行多个线程的创建以及将线程与队列进行绑定的工作。该篇文章主要分析一下处理hci数据这个 线程。 ...
分类:
编程语言 时间:
2018-06-21 23:44:12
阅读次数:
357
Android BlueDroid(一):BlueDroid概述 Android BlueDroid(二):BlueDroid蓝牙开启过程init Android BlueDroid(三):BlueDroid蓝牙开启过程enable ...
分类:
移动开发 时间:
2017-12-06 16:19:33
阅读次数:
214
本文转载自:http://blog.csdn.net/kangear/article/details/37961769 这个工具据说是基于BlueZ的,但是Android4.2以后不再采用BlueZ取而代之的是BlueDroid,具体详见《Android 4.2蓝牙介绍-Android中的Bluet ...
分类:
其他好文 时间:
2017-09-30 20:58:35
阅读次数:
260
一. UIPC: Audio Flinger获取到a2dp的hw module,然后蓝牙协议栈有专用于发送和接收media数据的线程,名称:btif_media_task. 蓝牙与Audio的通信则采用了socket的方式,管理socket的中间文件为:UIPC。主要的作用就是,接收Audio的控制 ...
分类:
其他好文 时间:
2017-08-25 19:20:44
阅读次数:
630
1. 概述 GKI以库libbt-brcm_gki.so(Static Lib?)的形式提供给BlueDroid使用 该层是一个适配层,适配了OS相关的进程、内存相关的管理。还能够用于线程间传递消息 主要通过变量gki_cb实现对进程的统一管理 typedef struct { pthread_mu ...
分类:
其他好文 时间:
2017-07-01 14:35:09
阅读次数:
205
1. 概述 GKI以库libbt-brcm_gki.so(Static Lib?)的形式提供给BlueDroid使用 该层是一个适配层。适配了OS相关的进程、内存相关的管理,还能够用于线程间传递消息 主要通过变量gki_cb实现对进程的统一管理 typedef struct { pthread_mu ...
分类:
其他好文 时间:
2017-07-01 14:34:54
阅读次数:
376