本文章目的:
1)給廣大藍牙愛好者提供藍牙資料下載渠道
2)給廣大藍牙愛好者增加一個藍牙學習文章導讀
我們的藍牙書以及CSDN藍牙系列的書籍以及視頻有以下計劃,大家可以根據興趣愛好或者工作需要挑選特定的章節來學習!

另外,提供一個學習,交流渠道,歡迎關注以及”剁手“

----------------------------------------------------------------------------------------------------------------------------------------------
告知:初學藍牙者暫時不要碰controller(藍牙芯片)里面的協議,否則會看到你懷疑人生,等徹底看會了藍牙host(藍牙協議棧)后再嘗試去研究
主要介紹藍牙的一些概念,產生背景,發展軌跡,市面藍牙介紹,以及藍牙開發板介紹,內容如下:

| 章節 | 文章標題 | 文章鏈接 | 視頻課程 |
|---|---|---|---|
| 第一章 藍牙概述 | 1. 藍牙的基本概念以及發展軌跡 | ||
| ? | 2. 一文讓你徹底了解市面藍牙架構 | ||
| ? | 3.吐血推薦歷史最全的藍牙協議棧介紹 | ||
| 第二章 藍牙模組以及開發板介紹 | 1.藍牙模組以及開發板介紹 | 待更新 | |
| ? | 2.開源協議棧代碼結構以及常用配置選項介紹 | 待更新 | |
| ? | 3. STM32F1(我們的)實現藍牙協議棧搜素以及原理介紹 | 待更新 | |
| ? | 4. 正點原子F1實現藍牙協議棧搜索以及原理介紹 | 待更新 |
主要介紹藍牙協議棧跟藍牙芯片之前的硬件傳輸協議,比如基于UART的H4,H5,BCSP,基于USB的H2等,再就是一個根據Transport的btsnoop的介紹,內如如下:

| 章節 | 文章標題 | 文章鏈接 | 視頻課程 |
|---|---|---|---|
| 第三章 Transport類型介紹 | 1. 藍牙UART H4 Transport介紹 | ||
| ? | 2. 藍牙UART H5 Transport介紹 | 待更新 | 待更新 |
| ? | 3. 藍牙UART BCSP Transport介紹 | 待更新 | 待更新 |
| ? | 4. 藍牙USB H2 Transport介紹 | 待更新 | 待更新 |
| ? | 5. 藍牙SDIO Transport介紹 | 待更新 | 待更新 |
| 第四章 btsnoop介紹 | 1. 藍牙協議棧學習/開發利器-btsnoop介紹 | ||
| ? | 2.藍牙協議分析工具Wireshark/Frontline/Ellisys使用介紹 |
主要介紹傳統藍牙芯片的介紹,包括射頻層(RF),基帶層(baseband),鏈路管理層(LMP)等,內容如下:

| 章節 | 文章標題 | 文章鏈接 | 視頻課程 |
|---|---|---|---|
| 第五章 射頻層(RF)介紹 | 待更新 | 待更新 | 待更新 |
| 第六章 基帶層(baseband)介紹 | 待更新 | 待更新 | 待更新 |
| 第七章 鏈路管理層(LMP)介紹 | 待更新 | 待更新 | 待更新 |
| 第八章 802.11協議使用層(AMP)介紹 | 待更新 | 待更新 | 待更新 |
主要介紹傳統藍牙的協議棧,比如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) | 待更新 | 待更新 | 待更新 |
| 第十四章 藍牙串口協議(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 上位機 測試藍牙電話功能功能 | 待更新 | |
| 第十六章 設備ID協議(DID) | 1. 藍牙DID協議講解 Bluetooth Device ID | 待更新 | |
| 第十七章 音視頻分布傳輸協議(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) | 待更新 | 待更新 | 待更新 |
| 第二十章 藍牙音樂控制協議(AVRCP) | 待更新 | 待更新 | 待更新 |
| 第二十一 藍牙對象交互協議(OBEX) | 待更新 | 待更新 | 待更新 |
| 第二十二章 藍牙電話本協議(PBAP) | 待更新 | 待更新 | 待更新 |
| 第二十三章 藍牙短信訪問協議(MAP) | 待更新 | 待更新 | 待更新 |
| 第二十四 文件推送協議(OPP) | 待更新 | 待更新 | 待更新 |
| 第二十五 藍牙網絡封裝協議(BNEP) | 待更新 | 待更新 | 待更新 |
| 第二十六章 藍牙個人局域網協議(PAN) | 待更新 | 待更新 | 待更新 |
| 第二十八章 附件接口協議(IAP2 蘋果特有) | 待更新 | 待更新 | 待更新 |
| ? | ? | ? | ? |
| ? | ? | ? | ? |
?
?
主要介紹低功耗藍牙芯片,包括物理層(PHY),鏈路層(LL),內容如下:

| 章節 | 文章標題 | 文章鏈接 | 視頻課程 |
|---|---|---|---|
| 第二十九章?物理鏈路協議(PHY) | 待更新 | 待更新 | 待更新 |
| 第三十章?鏈路協議(LL) | 待更新 | 待更新 | 待更新 |
?
低功耗藍牙協議棧的介紹,包括HCI,L2CAP,ATT,GATT,SM等,內容如下:

| 章節 | 文章標題 | 文章鏈接 | 視頻課程 |
|---|---|---|---|
| 第三十一章 主機控制器接口層(HCI) | 1. 低功耗藍牙搜索廣播的實現流流程介紹 |
待更新 | |
| ? | 2. BLE廣播流程介紹,低功耗藍牙廣播的實現流流程介紹 | 待更新 | |
| 第三十二章 屬性協議層(ATT) | 待更新 | 待更新 | 待更新 |
| 第三十三章 通用屬性協議層(GATT) | 待更新 | 待更新 | 待更新 |
| 第三十四章 安全管理協議層(SM) | 待更新 | 待更新 | 待更新 |
?
主要介紹芯片特性,vendor command的名詞

| 章節 | 文章標題 | 文章鏈接 | 視頻課程 |
|---|---|---|---|
| 第三十五章 CSR8311介紹 | 待更新 | 待更新 | 待更新 |
| 第三十六章 CSR8510介紹 | 待更新 | 待更新 | 待更新 |
| 第三十七章 QCA6696介紹 | 待更新 | 待更新 | 待更新 |
?
主要介紹以上常用名詞的介紹以及一些特殊流程的介紹等。
| 章節 | 文章標題 | 文章鏈接 | 視頻課程 |
| 附錄一 | 藍牙設備類型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) 連接播放音樂斷開流程(被連接)介紹