低功耗藍牙5.0 開發與應用 — 基於 nRF52 系列處理器 (進階篇)

萬青

  • 出版商: 北京航空航天大學
  • 出版日期: 2021-06-01
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • 頁數: 506
  • 裝訂: 平裝
  • ISBN: 7512435177
  • ISBN-13: 9787512435179
  • 立即出貨

買這商品的人也買了...

商品描述

本書主要講解Nordic公司開發的nRF52系列處理器的藍牙低功耗開發與應用。
在理論上分析了BLE藍牙5.0協議棧的基本結構,包括協議棧初始化、
通用訪問規範GAP、藍牙連接參數及藍牙廣播等內容。
在應用上從BLE藍牙的工程搭建、藍牙從機服務的建立完成,到藍牙數據如何進行通信,
都進行了詳細的介紹與總結,同時通過代碼編程帶領讀者進入實際的工程中。
本書是作者多年應用經驗的總結,實例多,有很強的實用性。

目錄大綱

第1篇藍牙參數及安全
第1章藍牙MAC地址2
1.1藍牙BLE設備的MAC地址分類2
1.2公共設備地址(Public Device Address)3
1.3隨機設備地址(Random Device Address)3
1.3.1靜態設備地址(Static Device Address)4
1.3.2私有設備地址(Private Device Address)4
1.4nRF52832地址配置5
1.4.1MAC地址配置原理5
1.4.2API編程8
1.5本章小結9

第2章接收信號強度和藍牙發射功率10
2.1nRF52832藍牙BLE的RSSI獲取10
2.1.1BLE定時器配置11
2.1.2主函數編寫13
2.1.3應用與調試13
2.2藍牙BLE的發射功率設置14
2.2.1發射功率控制14
2.2.2應用與調試16
2.3本章小結17

第3章藍牙靜態密鑰和動態密鑰配對18
3.1藍牙配對與綁定的概念18
3.2藍牙的配對19
3.2.1配對信息交換19
3.2.2鏈路認證23
3.2.3密鑰分配23
3.3靜態密鑰設置24
3.3.1設置靜態密鑰24
3.3.2配對事件配置26
3.3.3下載與測試27
3.3.4任務安全設置28
3.4隨機密鑰設置31

第4章藍牙綁定配對35
4.1藍牙的綁定35
4.2設備管理與FDS文件添加35
4.2.1設備管理需要使能的選項35
4.2.2Peer綁定功能支持文件的添加35
4.2.3FDS和CRC支持文件的添加38
4.3設備管理代碼的實現39
4.3.1頭文件的添加39
4.3.2配對管理函數的添加39
4.3.3安全定時器的添加44
4.3.4藍牙事件處理函數與剔除綁定函數45
4.3.5藍牙任務安全等級設置48
4.4配對綁定實現原理分析50
4.4.1設備管理初始化50
4.4.2發起連接51
4.4.3申請安全認證55
4.4.4配對與配對信息綁定57
4.4.5第二次連接64
4.5應用與調試66

第5章自定義廣播與動態廣播70
5.1nRF52xx藍牙BLE廣播內容參數70
5.2自定義廣播的實現72
5.2.1廣播包中包含UUID的值72
5.2.2廣播包中包含從機的連接間隔參數76
5.2.3廣播包中包含製造商的自定義參數78
5.2.4廣播包中包含藍牙設備地址79
5.3動態廣播的切換80
5.3.1廣播包中包含服務數據80
5.3.2服務數據的更新82
5.4本章小結83

第6章藍牙iBeacon的應用85
6.1藍牙iBeacon的基本介紹85
6.2藍牙iBeacon代碼解析86
6.2.1iBeacon廣播編碼86
6.2.2廣播中添加信息90
6.3藍牙iBeacon的應用92
6.3.1藍牙iBeacon的微信搖一搖92
6.3.2藍牙測距96
6.4本章小結100

第7章藍牙防丟器詳解101
7.1藍牙防丟器原理分析101
7.2藍牙防丟器程序解析102
7.2.1即時報警服務(從機報警)105
7.2.2鏈接丟失服務113
7.2.3雙向報警之主機報警120
7.3藍牙防丟器調試123
7.4本章小結126

第8章DFU升級實現詳解127
8.1DFU的功能介紹127
8.1.1DFU的原理127
8.1.2DFU升級工具132
8.2DFU文件製作步驟133
8.2.1GCC編譯環境的安裝133
8.2.2MinGW平台的安裝135
8.2.3microeccmaster源碼的添加140
8.2.4micro_ecc_lib_nrf52.lib文件的生成141
8.2.5python軟件的安裝143
8.2.6pcnrfutil的安裝與密鑰的生成146
8.2.7boot工程和應用工程的hex生成149
8.3程序燒錄與升級152
8.3.1程序的燒錄與升級152
8.3.2hex的燒錄與合併155
8.4串口DFU升級158
8.4.1boot工程的hex生成158
8.4.2應用工程的hex生成159
8.4.3應用工程的ZIP生成159
8.4.4程序的燒錄步驟160
8.5本章小結161

第9章空中升級DFU程序的移植162
9.1配置文件使能162
9.1.1配置文件使能方法162
9.1.2DFU需要使能的選項162
9.2工程文件的添加166
9.2.1DFU功能支持文件的添加166
9.2.2Peer綁定功能支持文件的添加167
9.2.3FDS和CRC支持文件的添加169
9.3主函數代碼的添加171
9.3.1頭文件的添加171
9.3.2服務初始化DFU服務的聲明172
9.3.3配對函數的添加175
9.3.4主函數的修改和宏的聲明179

第3篇藍牙主機搭建
第10章主機工程的搭建182
10.1樣例工程的搭建182
10.1.1工程文件目錄的分配182
10.1.2工程選項卡的設置183
10.2樣例工程文件的添加190
10.3主函數的搭建196

第11章藍牙主機掃描詳解198
11.1主機掃描的概念198
11.1.1被動掃描狀態198
11.1.2主動掃描狀態198
11.1.3掃描參數配置命令200
11.2主機掃描器設計201
11.2.1掃描參數配置202
11.2.2掃描報告事件208
11.3被動掃描和主動掃描實驗213
11.3.1掃描參數的設置213
11.3.2啟動與關閉掃描214
11.3.3掃描報告215

第12章主機解析廣播數據218
12.1廣播數據包格式218
12.2廣播數據包內容解析219
12.2.1UUID解析219
12.2.2廣播名稱解析222
12.2.3信號強度解析224
12.2.4其他數據225

第13章白名單過濾策略226
13.1過濾策略的概念226
13.2白名單的配置227
13.3白名單掃描實驗228
13.3.1白名單的添加228
13.3.2多個白名單的添加230

第14章主機掃描過濾器233
14.1掃描過濾器原理233
14.1.1過濾策略對比233
14.1.2掃描事件派發233
14.2過濾器的配置過程236
14.3過濾器的編寫239
14.3.1名稱過濾器239
14.3.2設備地址過濾器241
14.3.3UUID過濾器243
14.3.4外觀過濾器245
14.3.5過濾器組合模式247

第15章主機發起連接250
15.1連接發起250
15.1.1發起連接函數介紹250
15.1.2調用連接函數251
15.2連接事件處理254
15.3主機靜態密鑰的連接256
15.4本章小結262

第16章主機MTU參數協商263
16.1MTU參數協商原理263
16.2MTU參數協商編程264
16.2.1MTU協商協議棧接口264
16.2.2GATT初始化265
16.2.3GATT事件派發266
16.3本章小結269

第17章主機連接參數更新271
17.1連接參數更新原理271
17.2主機參數更新編程273
17.2.1連接參數更新函數273
17.2.2連接參數更新應答274
17.3本章小結276

第18章主機PHY物理層配置278
18.1PHY物理層的概念278
18.2PHY參數更新原理279
18.2.1PHY參數更新指令279
18.2.2PHY參數更新過程280
18.3PHY更新的編程282
18.3.1PHY更新協議棧接口282
18.3.2PHY更新配置283
18.4本章小結287

第4篇主機服務及組網
第19章主機服務發現289
19.1主機對服務的發現啟動289
19.1.1主服務的發現289
19.1.2服務特性(特徵)的發現293
19.1.3服務描述符的發現294
19.2主機客戶端配置文件的搭建297
19.2.1客戶端初始化配置297
19.2.2數據發現初始化及回調299
19.3本章小結301

第20章主機藍牙串口數據交換302
20.1藍牙串口數據交換原理302
20.2從機到主機的數據流向303
20.2.1使能從機通知304
20.2.2接收從機數據306
20.2.3接收數據串口打印308
20.3主機發送到從機的數據流向310
20.3.1串口中斷處理311
20.3.2數據寫入從機312
20.4測試與小結313

第21章藍牙主機1拖8組網詳解315
21.1連接句柄概念315
21.1.1連接句柄的分配315
21.1.2從機設備的識別317
21.2多從機設備的區分320
21.2.1觀察者函數的添加320
21.2.2多服務發現和句柄分配321
21.3主從通信信道的搭建323
21.3.1主機到從機通信信道323
21.3.2從機到主機通信信道325
21.4測試與小結326

第22章藍牙主從一體327
22.1設計目標的分析327
22.2nRF52832藍牙主從一體工程的搭建327
22.2.1工程服務文件的添加327
22.2.2工程文件路徑的添加329
22.3從機服務和主機服務的共存331
22.3.1協議棧參數的配置335
22.3.2服務的使能和RAM空間的設置337
22.4主從一體數據傳輸流向339
22.4.1從機設備傳輸數據到主從一體設備339
22.4.2主從一體設備傳輸數據到從機設備340
22.5下載與調試342

第23章藍牙MESH組網343
23.1藍牙MESH開發平台的搭建343
23.1.1軟硬件平台的搭建343
23.1.2MESH工程文件的編譯345
23.2MESH網絡的實例測試347
23.2.1MESH網絡角色347
23.2.2MESH實例測試348
23.2.3代理節點的加入356
參考文獻364