一篇文章足够你学习蓝牙技术,提供史上最全的蓝牙技术(传统蓝牙/低功耗蓝牙)文章总结,文档下载总结(2024/10/02更新)

本文章目的:

1)给广大蓝牙爱好者提供蓝牙资料下载渠道

2)给广大蓝牙爱好者增加一个蓝牙学习文章导读

我们的蓝牙书以及CSDN蓝牙系列的书籍以及视频有以下计划,大家可以根据兴趣爱好或者工作需要挑选特定的章节来学习!

另外,提供一个学习,交流渠道,欢迎关注以及”剁手“

----------------------------------------------------------------------------------------------------------------------------------------------

第零篇:文档代码下载连接总结(备注:如果连接失效,请评论留言,我及时更新)

1. 代码github连接(点击我)

2. 蓝牙协议栈视频教程(点击我)!!!!!!!!!!!!!!!!!!!!!!!

3. 开发板链接(点击我购买)

第一篇:蓝牙综合介绍

主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍,内容如下:

章节文章标题文章链接视频课程
第一章 蓝牙概述1. 蓝牙的基本概念以及发展轨迹2. 蓝牙协议栈视频教程(点击我)!!!!!!!!!!!!!!!!!!!!!!!点击我
2. 一文让你彻底了解市面蓝牙架构点击我
3.吐血推荐历史最全的蓝牙协议栈介绍点击我
4. 蓝牙初学者建议点击我
第二章 蓝牙模组以及开发板介绍1.蓝牙模组以及开发板介绍点击我
2.开源协议栈代码结构以及常用配置选项介绍点击我
3. STM32F1(我们的)实现蓝牙协议栈搜素以及原理介绍点击我
4. 正点原子F1实现蓝牙协议栈搜索以及原理介绍点击我

第二篇:Transport层介绍

主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等,再就是一个根据Transport的btsnoop的介绍,内如如下:

章节文章标题文章链接视频课程
第三章 Transport类型介绍1. UART协议就应该这么理解点击我
2. linux uart编程,发送hci reset点击我
3. 蓝牙UART H4 Transport介绍点击我点击我
4. 蓝牙UART H5 Transport介绍待更新
5. 蓝牙UART BCSP Transport介绍待更新
6. 蓝牙USB H2 Transport介绍待更新
7. 蓝牙SDIO Transport介绍待更新
第四章 调试工具介绍1. 蓝牙协议栈学习/开发利器-btsnoop介绍点击我
2.蓝牙协议分析工具Wireshark/Frontline/Ellisys使用介绍点击我
3.通过ATS tool抓取iphone hci交互数据点击我
4.通过Xcode中的packetlogger tool抓取iphone蓝牙交互数据点击我
5.蓝牙认证BQB PTS工具的安装点击我
6. android手机抓取btsnoop的方法汇总点击我
7.android7 btsnoop代码介绍点击我

第三篇:传统蓝牙controller介绍

主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等,内容如下:

章节文章标题文章链接视频课程
第五章 射频层(RF)介绍待更新待更新待更新
第六章 基带层(baseband)介绍待更新待更新待更新
第七章 链路管理层(LMP)介绍待更新待更新待更新
第八章 802.11协议使用层(AMP)介绍待更新待更新待更新

第四篇:传统蓝牙host介绍

主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP,Apple IAP2等等一系列的协议吧。内容如图:

章节文章标题文章链接视频课程
第九章 主机控制器接口层(HCI)1.传统蓝牙HCI(bluetooth HCI)概念介绍点击我点击我
2.蓝牙HCI command/event/acl/sco格式介绍点击我
3.传统蓝牙HCI command(蓝牙命令)详细介绍点击我
4.传统蓝牙HCI event(蓝牙事件)详细介绍点击我
5.蓝牙HCI流控(HCI flow control)详细介绍点击我
6.蓝牙协议栈初始化流程介绍(以CSR8311为例)点击我
7.电脑串口工具验证蓝牙初始化(以CSR8311为例)点击我
8.蓝牙协议栈搜索介绍点击我
9.蓝牙协议栈HCI连接介绍 点击我
10.蓝牙协议栈pincode配对以及SSP配对流程介绍点击我
11. 蓝牙协议栈EIR(Extern inquiry response)介绍点击我
第十章 逻辑链路控制和适配协议(L2CAP)1. 传统蓝牙L2CAP概念介绍点击我
2. L2CAP基本模式(basic mode)数据格式点击我
3. L2CAP信令封包(SIGNALING PACKET)格式点击我
4. 传统蓝牙L2CAP连接流程介绍(以被连接为例)点击我
第十一章 服务发现协议(SDP)1. 传统蓝牙服务问询协议SDP概念点击我
2. 传统蓝牙SDP数据元介绍(SDP data element)点击我
3. 传统蓝牙SDP协议详细介绍点击我
第十二章 串口仿真协议(RFCOMM)1. 传统蓝牙RFCOMM协议概念介绍点击我
2. 一文彻底明白 传统蓝牙协议栈RFCOMM协议帧格式点击我
3. 传统蓝牙RFCOMM多路控制帧(multiplexor frames)介绍点击我
4. 传统蓝牙RFCOMM协议流程介绍点击我
第十三章 人机接口设备协议(HID)1. 传统蓝牙HID概念以及封包介绍点击我
第十四章 蓝牙串口协议(SPP)1. 传统蓝牙SPP(Serial Port Profile)概念介绍点击我
2. STM32F1(我们的)实现SPP收发自定义数据介绍点击我
3. 传统蓝牙SPP 建立连接/接受数据/发送数据/断开连接 流程介绍点击我
第十五章 蓝牙免提协议(HFP)1. 蓝牙电话HFP的概念介绍点击我
2. 蓝牙电话connection manager(SLC的建立跟释放)点击我

3. HFP传输手机状态信息(信号/漫游/电量/运行商/电话状态)

点击我
4. HFP SCO建立/释放/在通话中Audio transfer点击我
5. 接听来电/挂断来电(HFP Accept/Reject incoming call)点击我
6. 通过号码拨打电话/memory拨打电话/尾号重播点击我
7. 获取本地号码/获取语音信箱号码/获取通话时号码(CLCC)点击我
8. 三方通话功能相关的流程介绍 Three-way call点击我
9. 关闭手机的回声消除EC,噪音减弱NR(noise reduction)点击我
10. 开启关闭语音识别功能点击我
11.电话免提协议HFP(Hands-Free)SDP介绍点击我
12. STM32 上位机 测试蓝牙电话功能功能点击我
13. HFP profile蓝牙BQB认证介绍点击我
第十六章 设备ID协议(DID)1. 蓝牙DID协议讲解 Bluetooth Device ID点击我
2. DID蓝牙认证BQB介绍点击我
第十七章 音视频分布传输协议(AVDTP)1. 音视频频分布传输协议(AVDTP)概念点击我
2. 音视频频分布传输协议(AVDTP)封包格式点击我
3. 音视频频分布传输协议(AVDTP) 错误码以及Service Capablities介绍点击我
4. 音视频频分布传输协议(AVDTP) 命令(Signal)封包介绍点击我
第十八章 蓝牙音乐协议(A2DP)1. 高质量音频分布协议(A2DP) 概念介绍点击我
2. 高质量音频分布协议(A2DP) SBC编解码算法点击我
3. 高质量音频分布协议(A2DP) SDP以及cod介绍点击我
4. 高质量音频分布协议(A2DP) 连接播放音乐断开流程(被连接)介绍点击我
第十九章 音视频控制传输协议(AVCTP)1. 蓝牙AVCTP协议介绍点击我
第二十章 蓝牙音乐控制协议(AVRCP)1. 蓝牙AVRCP协议概述点击我
2. 蓝牙AVRCP AV/C command格式介绍点击我
3. AVRCP command跟response介绍点击我
第二十一 蓝牙对象交互协议(OBEX)1. 蓝牙对象OBEX协议介绍点击我
2. OBEX常见的opcode介绍点击我
第二十二章 蓝牙电话本协议(PBAP)待更新待更新
第二十三章 蓝牙短信访问协议(MAP)待更新待更新
第二十四 文件推送协议(OPP)待更新待更新
第二十五 蓝牙网络封装协议(BNEP)待更新待更新
第二十六章 蓝牙个人局域网协议(PAN)待更新待更新
第二十八章 附件接口协议(IAP2 苹果特有)待更新待更新

第五篇:低功耗蓝牙controller介绍

主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL),内容如下:

章节文章标题文章链接视频课程
第二十九章 物理链路协议(PHY)待更新待更新待更新
第三十章 链路协议(LL)待更新待更新待更新

第六篇:低功耗蓝牙host介绍

低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等,内容如下:

章节文章标题文章链接视频课程
第三十一章 主机控制器接口层(HCI)

1. 低功耗蓝牙搜索广播的实现流流程介绍

点击我点击我
2. BLE广播流程介绍,低功耗蓝牙广播的实现流流程介绍点击我
第三十二章 属性协议层(ATT)待更新待更新
第三十三章 通用属性协议层(GATT)待更新待更新
第三十四章 安全管理协议层(SM)待更新待更新

第七篇:蓝牙芯片介绍

主要介绍芯片特性,vendor command的名词

章节文章标题文章链接视频课程
第三十五章 CSR8311介绍1. CSR8311/8811 HCI vendor command介绍点击我待更新
第三十六章 CSR8510介绍待更新待更新待更新
第三十七章 QCA6696介绍待更新待更新待更新
第三十八章 BCM博通介绍1. Android博通 libbt-vendor.so初始化流程介绍点击我

第八篇:附录 

主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。

章节文章标题文章链接视频课程
附录一蓝牙设备类型cod(class of device)介绍点击我待更新

第九篇:文章更新更新日志

那我们就一一来列举下(持续更新此文章,每周一更这篇文章)

2020/08/10更新:

1)第九章第6篇文章:蓝牙协议栈初始化流程介绍(以CSR8311为例)

2)第九章第7篇文章:电脑串口工具验证蓝牙初始化(以CSR8311为例)

3)第九章第8篇文章:蓝牙协议栈搜索介绍

4)第九章第9篇文章:蓝牙协议栈HCI连接介绍 

5)第九章第10篇文章:蓝牙协议栈pincode配对以及SSP配对流程介绍

5)第九章视频:点击我

2020/08/15更新:

1)第十章第1篇文章:传统蓝牙L2CAP概念介绍

2)第十章第2篇文章:L2CAP基本模式(basic mode)数据格式

3)第十章第3篇文章:L2CAP信令封包(SIGNALING PACKET)格式

4)第十章第4篇文章:传统蓝牙L2CAP连接流程介绍(以被连接为例)

5)增加蓝牙Core 5.2 下载链接

2020/08/21更新:

1)第十一章第1篇文章:传统蓝牙服务问询协议SDP概念

2)第十一章第2篇文章:传统蓝牙SDP数据元介绍(SDP data element)

3)第十一章第3篇文章:传统蓝牙SDP协议详细介绍

4)增加自己写的蓝牙Github连接

5)增加我自己写的蓝牙书下载链接

2020/08/28更新:

1)第十二章第1篇文章:传统蓝牙RFCOMM协议概念介绍

2)第十二章第2篇文章:一文彻底明白 传统蓝牙协议栈RFCOMM协议帧格式

3)第十二章第3篇文章:传统蓝牙RFCOMM多路控制帧(multiplexor frames)介绍

4)第十二章第4篇文章:传统蓝牙RFCOMM协议流程介绍

5)增加购买开发板的链接

6)修改开发板连接二维码失效问题

2020/09/08更新:

1)第九章第1篇文章:蓝牙协议栈EIR(Extern inquiry response)介绍

2)第二章第1篇文章:蓝牙模组以及开发板介绍

3)第二章第2篇文章:开源协议栈代码结构以及常用配置选项介绍

4)第二章第3篇文章:STM32F1(我们的)实现蓝牙搜索以及原理介绍

5)第二章第4篇文章:正点原子F1实现蓝牙搜索以及原理介绍

6)附录1:蓝牙设备类型cod(class of device)介绍

7)增加书的最新更新链接

这次更新间隔较长,因为迎来了人生大事,喜得千金

2020/10/11更新:

1)第十四章第1篇文章:传统蓝牙SPP(Serial Port Profile)概念介绍

2)第十四章第2篇文章:STM32F1(我们的)实现SPP收发自定义数据介绍

3)第十四章第3篇文章:传统蓝牙SPP 建立连接/接受数据/发送数据/断开连接 流程介绍

2020/10/23更新:

1)第十五章第1篇文章:蓝牙协议栈 电话免提协议HFP(Hands-Free)概念讲解

2)第十五章第2篇文章:蓝牙协议HFP电话免提协议 Connection management 连接管理HFP SLC 的建立跟释放

3)第十五章第3篇文章:蓝牙电话协议HFP传输手机状态信息(信号/漫游/电量/运行商/电话状态)

4)第十五章第4篇文章:蓝牙电话协议HFP(Hands-Free Profile) SCO建立/释放/在通话中Audio transfer

5)第十五章第5篇文章:蓝牙电话协议HFP接听来电/挂断来电(HFP Accept/Reject incoming call)

6)第十五章第6篇文章:蓝牙电话协议HFP通过号码拨打电话/memory拨打电话/尾号重播 功能介绍

7)第十五章第7篇文章:蓝牙电话协议HFP 获取本地号码/获取语音信箱号码/获取通话时号码(CLCC)

8)第十五章第8篇文章:蓝牙电话协议HFP(Hands-Free Profile) 三方通话功能相关的流程介绍 Three-way call

9)第十五章第9篇文章:蓝牙协议栈 电话免提协议HFP关闭手机的回声消除EC,噪音减弱NR(noise reduction)

10)第十五章第10篇文章:蓝牙电话协议HFP(Hands-Free Profile) 开启关闭语音识别功能

2020/11/02更新:

1)第十五章第11篇文章:电话免提协议HFP(Hands-Free)SDP介绍

2)第十五章第12篇文章:STM32 上位机 测试蓝牙电话功能功能

3)第三十一章第1篇文章:低功耗蓝牙搜索广播的实现流流程介绍

4)第三十一章第2篇文章:BLE广播流程介绍,低功耗蓝牙广播的实现流流程介绍

2020/11/11更新:

1)第十六章第1篇文章:蓝牙DID协议讲解 Bluetooth Device ID

2)第十七章第1篇文章:音视频频分布传输协议(AVDTP)概念

3)第十七章第2篇文章:音视频频分布传输协议(AVDTP)封包格式

4)第十七章第3篇文章:音视频频分布传输协议(AVDTP) 错误码以及Service Capablities介绍

2020/12/11更新:

1)第十七章第4篇文章:音视频频分布传输协议(AVDTP) 命令(Signal)封包介绍

2)第十八章第1篇文章:高质量音频分布协议(A2DP) 概念介绍

3)第十八章第2篇文章:高质量音频分布协议(A2DP) SBC编解码算法

4)第十八章第3篇文章:高质量音频分布协议(A2DP) SDP以及cod介绍

5)第十八章第4篇文章:高质量音频分布协议(A2DP) 连接播放音乐断开流程(被连接)介绍

我还一直在坚持创作,只不过近几年实在太忙,很多本地的文章都没有发布出来

2024/10/02更新:

1)第十三章第1篇文章:传统蓝牙HID协议概念以及封包格式介绍

2)第四章第3篇文章:通过ATS tool抓取iphone hci交互数据

3)第四章第4篇文章:通过Xcode中的packetlogger tool抓取iphone蓝牙交互数据

4)第一章第4篇文章:我不是蓝牙大神,但还是斗胆对蓝牙学习路线给点建议!

5)第三十五章第1篇文章:CSR8311/8811 HCI vendor command介绍

6)第三章第1篇文章:UART协议就应该这么理解

7)第四章第5篇文章:蓝牙认证BQB PTS工具的安装

8)第四章第6篇文章:android手机抓取btsnoop的方法汇总

9)第四章第7篇文章:android7 btsnoop代码介绍

10)第三十八章第1篇文章:Android博通 libbt-vendor.so初始化流程介绍

11)第三章第2篇文章:linux uart编程,发送hci reset

12)第十六章第2篇文章:DID蓝牙认证BQB介绍

13)第十五章第13篇文章:HFP profile蓝牙BQB认证介绍

14)第十九章第1篇文章:蓝牙AVCTP协议介绍

15)第二十章第1篇文章:蓝牙AVRCP协议概述

16)第二十章第2篇文章:蓝牙AVRCP AV/C command格式介绍

17)第二十章第3篇文章:AVRCP command跟response介绍

18)第二十一章第1篇文章:蓝牙对象OBEX协议介绍

19)第二十一章第2篇文章:OBEX常见的opcode介绍
 

出现这个错误的原因是在导入seaborn包时,无法从typing模块中导入名为'Protocol'的对象。 解决这个问题的方法有以下几种: 1. 检查你的Python版本是否符合seaborn包的要求,如果不符合,尝试更新Python版本。 2. 检查你的环境中是否安装了typing_extensions包,如果没有安装,可以使用以下命令安装:pip install typing_extensions。 3. 如果你使用的是Python 3.8版本以下的版本,你可以尝试使用typing_extensions包来代替typing模块来解决该问题。 4. 检查你的代码是否正确导入了seaborn包,并且没有其他导入错误。 5. 如果以上方法都无法解决问题,可以尝试在你的代码中使用其他的可替代包或者更新seaborn包的版本来解决该问题。 总结: 出现ImportError: cannot import name 'Protocol' from 'typing'错误的原因可能是由于Python版本不兼容、缺少typing_extensions包或者导入错误等原因造成的。可以根据具体情况尝试上述方法来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ImportError: cannot import name ‘Literal‘ from ‘typing‘ (D:\Anaconda\envs\tensorflow\lib\typing....](https://blog.csdn.net/yuhaix/article/details/124528628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 64
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wireless_Link

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值