21天入門(mén)低功耗藍(lán)牙5.x開(kāi)發(fā)
定 價(jià):88 元
叢書(shū)名:智能芯片開(kāi)發(fā)與應(yīng)用叢書(shū)
- 作者:譚暉
- 出版時(shí)間:2022/3/1
- ISBN:9787121431494
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TN926
- 頁(yè)碼:272
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)主要介紹低功耗藍(lán)牙5.x的開(kāi)發(fā)技術(shù),主要內(nèi)容包括開(kāi)發(fā)環(huán)境的搭建、最小硬件系統(tǒng)、廣播的實(shí)現(xiàn)、雙向通信的實(shí)現(xiàn)、電池電量服務(wù)的添加、私有服務(wù)的添加、配對(duì)和綁定功能的實(shí)現(xiàn)、主機(jī)掃描、主機(jī)連接、主從一體的實(shí)現(xiàn)、多主多從的實(shí)現(xiàn)、高速率通信的實(shí)現(xiàn)、長(zhǎng)距離通信的實(shí)現(xiàn)、擴(kuò)展廣播數(shù)據(jù)包的實(shí)現(xiàn)、基于QSPI驅(qū)動(dòng)LCD、基于FreeRTOS的復(fù)雜應(yīng)用、FDS的實(shí)現(xiàn)、OTA的實(shí)現(xiàn)、基于串口的DFU實(shí)現(xiàn)、PTR9818模塊的開(kāi)發(fā)等內(nèi)容。通過(guò)本書(shū)的學(xué)習(xí),讀者不僅可以掌握低功耗藍(lán)牙5.x的開(kāi)發(fā)技術(shù),也可以學(xué)習(xí)物聯(lián)網(wǎng)的知識(shí)、培養(yǎng)物聯(lián)網(wǎng)的思維,還可以提高自身的動(dòng)手能力和創(chuàng)新能力。
譚暉,男,博士,畢業(yè)于哈爾濱工業(yè)大學(xué),現(xiàn)任深圳市藍(lán)科迅通科技有限公司總經(jīng)理。在哈爾濱工業(yè)大學(xué)多年從事專(zhuān)用通信科研工作,曾獲國(guó)家科技進(jìn)步獎(jiǎng),國(guó)家教委科技進(jìn)步獎(jiǎng),省科技進(jìn)步獎(jiǎng)等,擁有國(guó)內(nèi)外多項(xiàng)發(fā)明專(zhuān)利,長(zhǎng)期從事中短距離無(wú)線技術(shù),低功耗智能藍(lán)牙,物聯(lián)網(wǎng)及相關(guān)技術(shù)的研究及創(chuàng)新應(yīng)用。
目 錄
第1章 低功耗藍(lán)牙5.x開(kāi)發(fā)環(huán)境之搭建 (1)
1.1 基于Nordic nRF52840 DK開(kāi)發(fā)環(huán)境之搭建 (1)
1.1.1 SES的搭建 (1)
1.1.2 Keil MDK的搭建 (8)
1.1.3 其他工具的安裝 (9)
1.2 nRF52840 DK開(kāi)發(fā)板上的燒寫(xiě)器介紹 (13)
1.2.1 簡(jiǎn)介 (13)
1.2.2 nRF52840 DK開(kāi)發(fā)板簡(jiǎn)介 (13)
1.2.3 nRF52840 DK開(kāi)發(fā)板的燒寫(xiě)方式 (13)
1.2.4 PTR9818介紹 (15)
1.2.5 PTR9818模塊的固件燒寫(xiě)方式 (16)
1.2.6 APTR-xxxx-EVB低功耗藍(lán)牙模塊評(píng)估板 (18)
1.3 nRF5 SDK介紹和目錄結(jié)構(gòu)解讀 (19)
1.4 SES集成開(kāi)發(fā)環(huán)境的使用 (23)
1.5 如何將工程移植到不同的芯片 (26)
1.5.1 在SES中將nRF52832的工程移植到nRF52840 (26)
1.5.2 Softdevice協(xié)議棧介紹 (31)
1.5.3 Log打印功能 (36)
1.5.4 芯片選型表 (38)
第2章 實(shí)驗(yàn)1:低功耗藍(lán)牙5.x SoC之nRF52840最小硬件系統(tǒng) (41)
2.1 實(shí)驗(yàn)?zāi)繕?biāo) (41)
2.2 nRF52840最小硬件系統(tǒng)電路 (41)
2.2.1 供電方式 (42)
2.2.2 內(nèi)部電源穩(wěn)壓方式 (43)
2.2.3 時(shí)鐘電路 (45)
2.2.4 匹配電路 (46)
2.2.5 去耦電容 (46)
2.2.6 USB電路 (46)
2.2.7 NFC電路 (47)
2.3 nRF52840硬件設(shè)計(jì)的注意事項(xiàng) (48)
2.4 實(shí)驗(yàn)小結(jié) (50)
第3章 實(shí)驗(yàn)2:低功耗藍(lán)牙5.x廣播的實(shí)現(xiàn) (51)
3.1 實(shí)驗(yàn)?zāi)繕?biāo) (51)
3.2 實(shí)驗(yàn)準(zhǔn)備 (51)
3.3 背景知識(shí) (51)
3.3.1 廣播 (51)
3.3.2 廣播數(shù)據(jù)包的格式 (52)
3.3.3 常見(jiàn)的廣播內(nèi)容 (52)
3.3.4 廣播數(shù)據(jù)包的類(lèi)型 (53)
3.4 實(shí)驗(yàn)步驟 (54)
3.4.1 低功耗藍(lán)牙5.x廣播的初始化 (54)
3.4.2 低功耗藍(lán)牙5.x廣播名稱(chēng)的修改 (55)
3.4.3 廣播內(nèi)容和廣播參數(shù)的修改 (56)
3.4.4 代碼實(shí)戰(zhàn) (60)
3.5 實(shí)驗(yàn)小結(jié) (65)
第4章 實(shí)驗(yàn)3:低功耗藍(lán)牙5.x雙向通信的實(shí)現(xiàn) (67)
4.1 實(shí)驗(yàn)?zāi)繕?biāo) (67)
4.2 實(shí)驗(yàn)準(zhǔn)備 (67)
4.3 背景知識(shí) (67)
4.3.1 低功耗藍(lán)牙5.x雙向通信的基本概念 (67)
4.3.2 低功耗藍(lán)牙5.x雙向通信的連接建立過(guò)程 (70)
4.4 實(shí)驗(yàn)步驟 (70)
4.4.1 低功耗藍(lán)牙5.x串口通信服務(wù)的實(shí)現(xiàn) (71)
4.4.2 main函數(shù)的解析 (75)
4.4.3 協(xié)議棧初始化分析 (75)
4.5 低功耗藍(lán)牙5.x的傳輸速率 (77)
4.5.1 傳輸速率的理論值 (77)
4.5.2 影響傳輸速率的主要因素 (79)
4.5.3 代碼實(shí)例測(cè)試 (79)
4.5.4 實(shí)際測(cè)試 (81)
4.5.5 實(shí)驗(yàn)分析 (85)
4.6 開(kāi)發(fā)調(diào)試工具 (85)
4.6.1 nrfjprog命令行工具 (85)
4.6.2 RTT打印Log (86)
4.7 資料學(xué)習(xí) (87)
4.8 實(shí)驗(yàn)小結(jié) (89)
第5章 實(shí)驗(yàn)4:添加電池電量服務(wù) (91)
5.1 實(shí)驗(yàn)?zāi)繕?biāo) (91)
5.2 實(shí)驗(yàn)準(zhǔn)備 (91)
5.3 背景知識(shí) (91)
5.4 實(shí)驗(yàn)步驟 (92)
5.5 應(yīng)用固件的燒寫(xiě)和調(diào)試 (103)
5.5.1 編譯和燒寫(xiě) (103)
5.5.2 查看電池電量服務(wù)數(shù)據(jù) (103)
5.5.3 添加電池電量服務(wù)的注意事項(xiàng) (104)
5.5.4 實(shí)驗(yàn)觀察 (104)
5.6 實(shí)驗(yàn)小結(jié) (104)
第6章 實(shí)驗(yàn)5:添加私有服務(wù) (105)
6.1 實(shí)驗(yàn)?zāi)繕?biāo) (105)
6.2 實(shí)驗(yàn)準(zhǔn)備 (105)
6.3 背景知識(shí) (105)
6.4 實(shí)驗(yàn)步驟 (106)
6.4.1 移植庫(kù)文件 (106)
6.4.2 修改sdk_config.h中相應(yīng)的宏 (107)
6.4.3 初始化LBS (107)
6.4.4 修改LBS中LED的特性 (111)
6.4.5 修改按鍵的邏輯 (113)
6.5 應(yīng)用的實(shí)驗(yàn)與測(cè)試 (114)
6.5.1 應(yīng)用固件的燒寫(xiě)與測(cè)試 (114)
6.5.2 實(shí)驗(yàn)觀察 (115)
6.6 實(shí)驗(yàn)小結(jié) (115)
第7章 實(shí)驗(yàn)6:添加配對(duì)、綁定功能 (117)
7.1 實(shí)驗(yàn)?zāi)繕?biāo) (117)
7.2 實(shí)驗(yàn)準(zhǔn)備 (117)
7.3 背景知識(shí) (117)
7.3.1 配對(duì)和綁定的定義 (117)
7.3.2 相關(guān)概念知識(shí) (118)
7.3.3 綁定的流程 (119)
7.3.4 綁定的方式(等級(jí)) (120)
7.3.5 例程講解 (120)
7.3.6 與綁定功能相關(guān)的常用API函數(shù) (120)
7.4 實(shí)驗(yàn)步驟 (121)
7.4.1 綁定模塊移植 (121)
7.4.2 在例程ble_app_hrs中添加NUS (122)
7.4.3 Passkey配對(duì)模式的實(shí)現(xiàn) (124)
7.4.4 數(shù)字比較的實(shí)現(xiàn) (125)
7.5 實(shí)驗(yàn)拓展 (127)
7.6 實(shí)驗(yàn)小結(jié) (128)
第8章 實(shí)驗(yàn)7:低功耗藍(lán)牙的主機(jī)掃描 (129)
8.1 實(shí)驗(yàn)?zāi)繕?biāo) (129)
8.2 實(shí)驗(yàn)準(zhǔn)備 (129)
8.3 背景知識(shí) (129)
8.3.1 廣播的概念 (129)
8.3.2 掃描的概念 (130)
8.3.3 主機(jī)掃描的原理 (130)
8.3.4 主動(dòng)掃描和被動(dòng)掃描 (131)
8.4 實(shí)驗(yàn)步驟 (131)
8.4.1 掃描例程講解 (131)
8.4.2 掃描附近所有設(shè)備 (132)
8.4.3 篩選廣播數(shù)據(jù)包中的數(shù)據(jù) (134)
8.5 實(shí)驗(yàn)小結(jié) (135)
第9章 實(shí)驗(yàn)8:低功耗藍(lán)牙的主機(jī)連接 (137)
9.1 實(shí)驗(yàn)?zāi)繕?biāo) (137)
9.2 實(shí)驗(yàn)準(zhǔn)備 (137)
9.3 背景知識(shí) (137)
9.3.1 連接的概念 (137)
9.3.2 連接的過(guò)程 (138)
9.3.3 連接的重要參數(shù) (138)
9.3.4 連接參數(shù)的優(yōu)化 (139)
9.3.5 iOS對(duì)連接參數(shù)的要求 (139)
9.4 實(shí)驗(yàn)步驟 (139)
9.5 實(shí)驗(yàn)小結(jié) (141)
第10章 實(shí)驗(yàn)9:低功耗藍(lán)牙主從一體的實(shí)現(xiàn) (143)
10.1 實(shí)驗(yàn)?zāi)繕?biāo) (143)
10.2 實(shí)驗(yàn)準(zhǔn)備 (143)
10.3 背景知識(shí) (143)
10.4 實(shí)驗(yàn)步驟 (144)
10.4.1 低功耗藍(lán)牙主從一體功能的實(shí)現(xiàn) (144)
10.4.2 低功耗藍(lán)牙主從一體功能的演示 (149)
10.5 實(shí)驗(yàn)小結(jié) (151)
第11章 實(shí)驗(yàn)10:低功耗藍(lán)牙多主多從的實(shí)現(xiàn) (153)
11.1 實(shí)驗(yàn)?zāi)繕?biāo) (153)
11.2 實(shí)驗(yàn)準(zhǔn)備 (153)
11.3 背景知識(shí) (153)
11.4 實(shí)驗(yàn)步驟 (154)
11.4.1 低功耗藍(lán)牙多主多從功能的實(shí)現(xiàn) (154)
11.4.2 低功耗藍(lán)牙多主多從功能的演示 (157)
11.5 實(shí)驗(yàn)小結(jié) (158)
第12章 實(shí)驗(yàn)11:LE 2M PHY高速率通信的實(shí)現(xiàn) (159)
12.1 實(shí)驗(yàn)?zāi)繕?biāo) (159)
12.2 實(shí)驗(yàn)準(zhǔn)備 (159)
12.3 背景知識(shí) (159)
12.3.1 低功耗藍(lán)牙LE 2M PHY高速率通信 (159)
12.3.2 低功耗藍(lán)牙數(shù)據(jù)包的組成 (160)
12.3.3 低功耗藍(lán)牙數(shù)據(jù)包的完整傳輸周期 (161)
12.3.4 低功耗藍(lán)牙的數(shù)據(jù)吞吐率 (162)
12.3.5 低功耗藍(lán)牙LE 2M PHY高速率通信的應(yīng)用 (163)
12.4 實(shí)驗(yàn)步驟 (163)
12.4.1 SDK例程測(cè)試 (163)
12.4.2 LE 2M PHY高速率通信的實(shí)現(xiàn) (166)
12.5 實(shí)驗(yàn)小結(jié) (167)
第13章 實(shí)驗(yàn)12:低功耗藍(lán)牙長(zhǎng)距離通信的實(shí)現(xiàn) (169)
13.1 實(shí)驗(yàn)?zāi)繕?biāo) (169)
13.2 實(shí)驗(yàn)準(zhǔn)備 (169)
13.3 背景知識(shí) (169)
13.3.1 鏈路預(yù)算和無(wú)線電波傳播損耗 (170)
13.3.2 長(zhǎng)距離通信的編碼 (171)
13.3.3 長(zhǎng)距離通信的傳輸速率 (172)
13.3.4 長(zhǎng)距離通信的應(yīng)用創(chuàng)新 (173)
13.4 實(shí)驗(yàn)步驟 (173)
13.4.1 長(zhǎng)距離通信的PHY配置和數(shù)據(jù)吞吐率測(cè)試 (173)
13.4.2 低功耗藍(lán)牙5.x長(zhǎng)距離通信的實(shí)現(xiàn) (176)
13.4.3 長(zhǎng)距離通信的測(cè)試 (177)
13.5 實(shí)驗(yàn)小結(jié) (177)
第14章 實(shí)驗(yàn)13:低功耗藍(lán)牙擴(kuò)展廣播數(shù)據(jù)包的實(shí)現(xiàn) (179)
14.1 實(shí)驗(yàn)?zāi)繕?biāo) (179)
14.2 實(shí)驗(yàn)準(zhǔn)備 (179)
14.3 背景知識(shí) (179)
14.3.1 低功耗藍(lán)牙5.x擴(kuò)展廣播數(shù)據(jù)包的格式 (180)
14.3.2 低功耗藍(lán)牙5.x擴(kuò)展廣播數(shù)據(jù)包的應(yīng)用場(chǎng)景 (182)
14.4 實(shí)驗(yàn)步驟 (182)
14.5 實(shí)驗(yàn)小結(jié) (184)
第15章 實(shí)驗(yàn)14:基于SPI驅(qū)動(dòng)OLED (185)
15.1 實(shí)驗(yàn)?zāi)繕?biāo) (185)
15.2 實(shí)驗(yàn)準(zhǔn)備 (185)
15.3 背景知識(shí) (185)
15.3.1 SPI簡(jiǎn)介 (185)
15.3.2 SPI的工作方式 (186)
15.3.3 OLED簡(jiǎn)介 (187)
15.4 實(shí)驗(yàn)步驟 (187)
15.5 實(shí)驗(yàn)小結(jié) (193)
第16章 實(shí)驗(yàn)15:基于QSPI驅(qū)動(dòng)LCD (195)
16.1 實(shí)驗(yàn)?zāi)繕?biāo) (195)
16.2 實(shí)驗(yàn)準(zhǔn)備 (195)
16.3 背景知識(shí) (195)
16.3.1 QSPI簡(jiǎn)介 (195)
16.3.2 LCD模塊簡(jiǎn)介 (196)
16.3.3 QSPI接口與LCD模塊的連接 (196)
16.4 實(shí)驗(yàn)步驟 (198)
16.5 實(shí)驗(yàn)小結(jié) (206)
第17章 實(shí)驗(yàn)16:基于FreeRTOS實(shí)現(xiàn)復(fù)雜應(yīng)用 (207)
17.1 實(shí)驗(yàn)?zāi)繕?biāo) (207)
17.2 實(shí)驗(yàn)準(zhǔn)備 (207)
17.3 背景知識(shí) (207)
17.3.1 FreeRTOS簡(jiǎn)介 (207)
17.3.2 在RTOS中自定義線程 (208)
17.3.3 RTOS的移植 (209)
17.4 實(shí)驗(yàn)步驟 (209)
17.5 實(shí)驗(yàn)小結(jié) (214)
第18章 實(shí)驗(yàn)17:FDS的實(shí)現(xiàn) (215)
18.1 實(shí)驗(yàn)?zāi)繕?biāo) (215)
18.2 實(shí)驗(yàn)準(zhǔn)備 (215)
18.3 背景知識(shí) (215)
18.3.1 FDS簡(jiǎn)介 (215)
18.3.2 FDS的實(shí)現(xiàn)原理 (216)
18.3.3 FDS區(qū)域 (216)
18.3.4 FDS的操作類(lèi)型 (217)
18.3.5 FDS的常用API函數(shù)簡(jiǎn)介 (217)
18.3.6 使用FDS的注意事項(xiàng) (219)
18.4 實(shí)驗(yàn)步驟 (219)
18.4.1 FDS模塊的移植 (219)
18.4.2 FDS存儲(chǔ)功能的實(shí)現(xiàn) (220)
18.5 實(shí)驗(yàn)小結(jié) (225)
第19章 實(shí)驗(yàn)18:固件空中升級(jí)(OTA)的實(shí)現(xiàn) (227)
19.1 實(shí)驗(yàn)?zāi)繕?biāo) (227)
19.2 實(shí)驗(yàn)準(zhǔn)備 (227)
19.3 背景知識(shí) (227)
19.3.1 DFU簡(jiǎn)介 (227)
19.3.2 OTA簡(jiǎn)介 (229)
19.3.3 基于Nordic的SDK實(shí)現(xiàn)DFU的原理 (229)
19.4 實(shí)驗(yàn)步驟 (230)
19.5 實(shí)驗(yàn)關(guān)鍵代碼與實(shí)驗(yàn)要點(diǎn) (233)
19.5.1 ble_app_buttonless_dfu服務(wù)的關(guān)鍵代碼 (233)
19.5.2 Bootloader程序的關(guān)鍵代碼 (238)
19.5.3 實(shí)驗(yàn)要點(diǎn) (241)
19.6 實(shí)驗(yàn)小結(jié) (241)
第20章 實(shí)驗(yàn)19:基于串口的DFU實(shí)現(xiàn) (243)
20.1 實(shí)驗(yàn)?zāi)繕?biāo) (243)
20.2 實(shí)驗(yàn)準(zhǔn)備 (243)
20.3 背景知識(shí) (243)
20.4 實(shí)驗(yàn)步驟 (244)
20.5 實(shí)驗(yàn)要點(diǎn) (247)
20.6 實(shí)驗(yàn)小結(jié) (247)
第21章 實(shí)驗(yàn)20:基于低功耗藍(lán)牙模塊PTR9818的開(kāi)發(fā) (249)
21.1 實(shí)驗(yàn)?zāi)繕?biāo) (249)
21.2 實(shí)驗(yàn)背景 (249)
21.3 實(shí)驗(yàn)配置 (250)
21.3.1 低頻時(shí)鐘源的配置 (250)
21.3.2 外設(shè)的配置 (251)
21.3.3 UART的配置 (253)
21.4 實(shí)驗(yàn)小結(jié) (253)
參考文獻(xiàn) (255)
后記 (256)