Bluetooth

android的简单.so build:

先配置好ndk-buid, android ndk

然后下载 

git clone https://github.com/weiqifa0/androidjni


进入该目录

cd jni

ndk-build

生成的.so在目录中

android蓝牙编译:下载aosp的代码,可以用清华链接比较快

https://mp.csdn.net/console/editor/html/100677205   参考代码下载

进入aosp目录

source build/envsetup.sh

lunch  这个命令会列出选项,选择一个

mmm ./system/bt   即可编译蓝牙模块

蓝牙播放音频_我只是好奇-CSDN博客
https://blog.csdn.net/lf12345678910/article/details/102463272

 

蓝牙回连问题的分析_Neoway0401的博客-CSDN博客
https://blog.csdn.net/neoway0401/article/details/86661031

蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)(转载) - 焦少 - 博客园
https://www.cnblogs.com/shaobojiao/p/7883536.html

https://www.ituring.com.cn/space/164005?sort=new&page=1

蓝牙无线网

蓝牙协议的命令和事件

蓝牙协议的命令和事件_蓝牙,bluetooth,L2CAP_believe的专栏-CSDN博客
https://blog.csdn.net/wangzhen209/article/details/49252555?utm_source=blogxgwz3

 

https://www.cnblogs.com/iini/p/8834970.html   三种蓝牙架构实现方案(蓝牙协议栈方案)

蓝牙Host Controller Interface笔记  https://www.bbsmax.com/A/E35pLEbg5v/

https://blog.csdn.net/u011960402/article/details/12942327    [android源码分析]hci_init_req中的各种command和event的交互

以avrcp为例子,带有HAL标记的表示  从底层向上层的函数调用,从底层给上层返回消息

带有cb的,mw字样的,表示从上层到底层的调用linuxbt_mw等。

将a2dp src接起来,同时需要接的是avrcp的tg;

讲a2dp sink接起来,同时需要接的是avrcp的ct;

一般情况下a2dp sink与avrcp ct是一起的;a2dp src与avrcp tg是一起的;

absolute volume相反,a2dp sink为tg;a2dp src为ct;

产品场景:设备A不支持abs volume,做sink设备;设备B支持abs volume,比如iphone xs;、

那么设备B连接设备A,B做src,A做sink;B播放音乐的过程,B端调节音量,B做CT,A做TG;B切换到下一首歌曲,

B做tg,A做CT?在HCI  log中可以看到B做CT与TG的情况?

clound,edge,channel; 云端,边缘端,管道;clound与clound之间,通过channel管道交互;clound与edge之间?

edge与edge之间?edge包括哪些(智能设备,音响、耳机等)

os区别,yocto,android,freertos,linux;linux TV, android TV,yocto音响(speaker)

https://www.jianshu.com/p/73f7366161d1     思考从HCI log角度看

ACL Data: 有来自controller,也有来自host的

command:只是打了Host标签

event:打了controller标签

对于AVRCP而言,做CT角色的,CT来自Controller, TG来自Host;做TG角色的,CT来自Host,TG来自Controller;

思考,做CT角色,需要将CT发送到对端设备,所以,从controller;做TG角色,同样将TG的rsp发送对端》

对于A2DP,发送音乐的一端,数据全是Host,即使角色为slave; 对于sink,接收数据的一端,数据来自controller,即使角色为slave;

一些链接

hcidefs.h

hcicmds.c

一些注意的函数:

bta_av_act.c中bta_av_rc_msg函数中1148出现问题当p_data->rc_msg.msg.pass.pass_len == 0的时候

因为对于p_data->rc_msg.msg.pass.pass_len == 0的情况没有对av.remote_rsp.p_data赋值,所以有空指针null pointer

需要查看的函数:rc_ctrl_callbacks->track_changed_cb

avrc_msg_cback

btif_sm_dispatch

btif_rc_handler

蓝牙HCI log解析

https://www.jianshu.com/p/73f7366161d1  Android Bluetooth HCI log 详解

https://blog.csdn.net/sinat_19628093/article/details/52149189     安卓蓝牙如何查看和分析btsnoop.log

https://www.twblogs.net/a/5c89ee27bd9eee35fc14a568     藍牙耳機打電話流程hci.log解析

http://www.voidcn.com/article/p-pkhazvcf-qx.html  如何分析HCI的Command Packet和Event Packet包

https://blog.csdn.net/u010657219/article/details/42192481  在HCI层看蓝牙的连接过程

http://www.jeepxie.net/article/499894.html   启用蓝牙HCI信息收集日志

 

蓝牙协议的命令和事件

http://blog.sina.com.cn/s/blog_7d688acb0102vpl8.html

L2CAP数据发送和接收

https://blog.csdn.net/luopingfeng/article/details/50239901

BlueDroid代码学习分享

https://blog.csdn.net/zcc450959507/article/details/79402406

蓝牙A2DP模块详细函数调用图_

https://wenku.baidu.com/view/0e866586be1e650e53ea994f.html

Bluedroid: 音频数据的传输流程

https://www.cnblogs.com/blogs-of-lxl/p/7429367.html

a2dp播放流程源码分析

http://www.mamicode.com/info-detail-2447446.html

android5.1 蓝牙子系统介绍(一)Android下bluedroid、bluetooth apk介绍

https://blog.csdn.net/weixin_39481506/article/details/79932982

bluedroid a2dp sink播放流程

https://blog.csdn.net/u010481276/article/details/90413582

蓝牙系列博客:

https://www.cnblogs.com/libs-liu/default.html?page=2

蓝牙整体框架学习整理

https://blog.csdn.net/u010312289/article/details/87868181

原创

Android BT STACK BTU 和 HCI之间的消息传递

本文链接:https://blog.csdn.net/yanli0084/article/details/51824060

 

蓝牙打开流程(btu_task_start_up打开 和 BT hci打开

https://blog.csdn.net/u010312289/article/details/90442860

转载

A2DP协议笔记(蓝牙的音频传输协议)

https://blog.csdn.net/u010503912/article/details/59483337

蓝牙扫描流程整理(从app层到HCI)

https://blog.csdn.net/u010312289/article/details/90442804

 

            https://blog.csdn.net/feelinghappy/article/details/86021364

>(6条消息)Bluedroid: 蓝牙协议栈源码剖析 - feelinghappy的专栏 - CSDN博客</A>

            https://www.jianshu.com/p/d60d480e0e48

>蓝牙协议-----之pan profile on bluedroid - 简书</A>

            https://blog.csdn.net/javon_hzw/article/details/48731281

 >(6条消息)Android bluedroid模块间关系 - javon_hzw的专栏 - CSDN博客</A>

            https://www.cnblogs.com/hellokitty2/p/10479167.html

>Android蓝牙学习笔记 - Hello-World3 - 博客园</A>

            http://www.mamicode.com/info-detail-2579632.html

蓝牙speaker配对流程源码分析</A>

            http://www.elecfans.com/baike/waijiepeijian/lanyashipeiqi/20190531949249.html

 智能音响蓝牙调试经验 - 电子发烧友网</A>

            http://ishare.iask.sina.com.cn/f/iQZHwchjFY.html

 >android蓝牙智能解锁笔记word免费下载_爱问共享资料</A>

            https://blog.csdn.net/feelinghappy/article/details/97764878

>(6条消息)BlueDroid源码详细分析 - feelinghappy的专栏 - CSDN博客</A>

            https://blog.csdn.net/madannasf/article/details/102684139

 >(6条消息)Bluedroid框架 - madannasf的博客 - CSDN博客</A>

           

https://blog.csdn.net/mouse1598189/article/details/87858779

 >(6条消息)BlueDroid软件协议栈架构 - sundaygeek的专栏 - CSDN博客</A>

            https://blog.csdn.net/weixin_30301183/article/details/98921708

>(6条消息)Bluedroid: 蓝牙协议栈源码剖析 - weixin_30301183的博客 - CSDN博客</A>

            https://blog.csdn.net/u010481276/article/details/90510809

>(6条消息)Bluedroid: 音频数据的传输流程问题分析 - 人帥不说话 - CSDN博客</A>

    

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值