bluedroid
文章平均质量分 81
utadalight
这个作者很懒,什么都没留下…
展开
-
Bluetooth LE SMP的简单流程
正如SPEC所言,安全管理协议()原创 2014-10-12 00:56:33 · 8172 阅读 · 0 评论 -
Android蓝牙代码学习——内存分配
从棉花糖开始,Android的蓝牙native代码就开始发生变化,更多的用面向对象的C++来设计。到了奥利奥,代码中还使用了一些相对新一些的技术,同时提供了一些基本的工具。今天先从内存分配开始,学习其中用到的一些技术。内存分配与释放的接口在整个蓝牙的native代码中,动态的内存分配使用了osi_malloc、osi_calloc接口,释放则是osi_free。以osi_malloc为...原创 2018-08-25 16:04:53 · 903 阅读 · 0 评论 -
Oreo对A2DP codec的支持
除了使用HIDL来区分蓝牙的公共stack和vendor lib,Oreo对蓝牙A2DP的支持也更加全面。除了A2DP profile强制支持的SBC,Oreo新增了对AAC、APTX、LDAC的编码定义。具体是否支持,还得看实现。这里简单说明Oreo是如何做到支持多种编码,并选择合适的编码方式的。 Java world的声明codec的支持是A2DP profile的声明的。在Blu...原创 2018-07-22 19:41:12 · 1812 阅读 · 0 评论 -
Android O 录制蓝牙HCI日志
在Android Oreo之前,要想在一个release版本的系统中录制蓝牙HCI log,可以通过打开“开发者选项->开启蓝牙HCI信息收集日志”选项。默认蓝牙的HCI log生成文件名为“bsnoop_hci.log”,位于“sdcard”目录。但是从Android Oreo开始,google做了一些调整,原有的路子已经走不通了。如何解决呢?答案是,自己实现一个录制蓝牙HCI l...原创 2018-07-15 16:27:42 · 3972 阅读 · 3 评论 -
Bluetooth Attribute Protocol Spec 解读
什么是Attribute protocol 简单来说,这个协议就是用来给Server和Client进行通信的协议。Server端保存有一个类似“属性数据库”的东西,包含了一系列的属性及其特性。而Client端可以通过ATT协议从Server端获取这些属性。再具体一些,Client可以查询(Discover)、读取(read)甚至配置(write)Server中保存的属性。通常是在配置之后,S...原创 2018-04-22 18:38:36 · 3098 阅读 · 0 评论 -
sniff mode及其参数的解释
介绍了bluetooth中sniff mode的基本原理原创 2015-02-15 18:25:25 · 14711 阅读 · 1 评论 -
Android4.4 BLE HOGP 设备回连
Android4.4 环境下 BLE HOGP设备的自动回连本博文简单介绍了蓝牙BLE HOGP 设备的回连过程,包括回连前的处理和HOGP disconnect后的动作。原创 2015-01-16 22:43:39 · 6275 阅读 · 0 评论 -
为什么不回连——被disconnect的蓝牙HOGP Device
为什么不回连——被disconnect的蓝牙HOGP Device为什么device那边产生了disconnect,master这边就允许其回连;而master这边将device disconnect掉,device就不能回连了呢?今天我们来看看,master在disconnect的过程中到底做了些什么。原创 2015-01-19 21:48:49 · 4690 阅读 · 1 评论 -
bluetooth LE HOGP profile的代码大致实现流程(HOGP+GATT)
之前一段时间学习了HOGP profile。Specification写得很简单,主要是说明它的原创 2014-10-19 20:20:41 · 25319 阅读 · 2 评论 -
bluedroid中的start discovery代码流程
之前看到csdn上balmy的博客——原创 2014-09-21 15:40:54 · 4363 阅读 · 0 评论 -
Android 9.0 HOGP 配对流程优化
在Android Pie的系统中,HOGP设备(基于BLE的HID设备)的配对流程和以往的Android版本一样,从扫描到设备,到物理层建立连接,再到生成秘钥、服务搜索、HOGP profile连接,最终设备可以使用,这一套流程并没有什么改变。它是一套通用的逻辑,先建立物理连接,接着生成秘钥(以便后续profile连接时会用到),再以最小的BLE connection interval(7.5ms...原创 2019-05-11 17:29:20 · 2785 阅读 · 2 评论