书籍详情

21天入门低功耗蓝牙5.x开发

21天入门低功耗蓝牙5.x开发

作者:谭晖

出版社:电子工业出版社

出版时间:2022-03-01

ISBN:9787121431494

定价:¥88.00

购买这本书可以去
内容简介
  本书主要介绍低功耗蓝牙5.x的开发技术,主要内容包括开发环境的搭建、小硬件系统、广播的实现、双向通信的实现、电池电量服务的添加、私有服务的添加、配对和绑定功能的实现、主机扫描、主机连接、主从一体的实现、多主多从的实现、高速率通信的实现、长距离通信的实现、扩展广播数据包的实现、基于QSPI驱动LCD、基于FreeRTOS的复杂应用、FDS的实现、OTA的实现、基于串口的DFU实现、PTR9818模块的开发等内容。通过本书的学习,读者不仅可以掌握低功耗蓝牙5.x的开发技术,也可以学习物联网的知识、培养物联网的思维,还可以提高自身的动手能力和创新能力。
作者简介
  谭晖,男,博士,毕业于哈尔滨工业大学,现任深圳市蓝科迅通科技有限公司总经理。在哈尔滨工业大学多年从事专用通信科研工作,曾获国家科技进步奖,国家教委科技进步奖,省科技进步奖等,拥有国内外多项发明专利,长期从事中短距离无线技术,低功耗智能蓝牙,物联网及相关技术的研究及创新应用。
目录
目  录
第1章 低功耗蓝牙5.x开发环境之搭建 (1)
1.1 基于Nordic nRF52840 DK开发环境之搭建 (1)
1.1.1 SES的搭建 (1)
1.1.2 Keil MDK的搭建 (8)
1.1.3 其他工具的安装 (9)
1.2 nRF52840 DK开发板上的烧写器介绍 (13)
1.2.1 简介 (13)
1.2.2 nRF52840 DK开发板简介 (13)
1.2.3 nRF52840 DK开发板的烧写方式 (13)
1.2.4 PTR9818介绍 (15)
1.2.5 PTR9818模块的固件烧写方式 (16)
1.2.6 APTR-xxxx-EVB低功耗蓝牙模块评估板 (18)
1.3 nRF5 SDK介绍和目录结构解读 (19)
1.4 SES集成开发环境的使用 (23)
1.5 如何将工程移植到不同的芯片 (26)
1.5.1 在SES中将nRF52832的工程移植到nRF52840 (26)
1.5.2 Softdevice协议栈介绍 (31)
1.5.3 Log打印功能 (36)
1.5.4 芯片选型表 (38)
第2章 实验1:低功耗蓝牙5.x SoC之nRF52840小硬件系统 (41)
2.1 实验目标 (41)
2.2 nRF52840小硬件系统电路 (41)
2.2.1 供电方式 (42)
2.2.2 内部电源稳压方式 (43)
2.2.3 时钟电路 (45)
2.2.4 匹配电路 (46)
2.2.5 去耦电容 (46)
2.2.6 USB电路 (46)
2.2.7 NFC电路 (47)
2.3 nRF52840硬件设计的注意事项 (48)
2.4 实验小结 (50)
第3章 实验2:低功耗蓝牙5.x广播的实现 (51)
3.1 实验目标 (51)
3.2 实验准备 (51)
3.3 背景知识 (51)
3.3.1 广播 (51)
3.3.2 广播数据包的格式 (52)
3.3.3 常见的广播内容 (52)
3.3.4 广播数据包的类型 (53)
3.4 实验步骤 (54)
3.4.1 低功耗蓝牙5.x广播的初始化 (54)
3.4.2 低功耗蓝牙5.x广播名称的修改 (55)
3.4.3 广播内容和广播参数的修改 (56)
3.4.4 代码实战 (60)
3.5 实验小结 (65)
第4章 实验3:低功耗蓝牙5.x双向通信的实现 (67)
4.1 实验目标 (67)
4.2 实验准备 (67)
4.3 背景知识 (67)
4.3.1 低功耗蓝牙5.x双向通信的基本概念 (67)
4.3.2 低功耗蓝牙5.x双向通信的连接建立过程 (70)
4.4 实验步骤 (70)
4.4.1 低功耗蓝牙5.x串口通信服务的实现 (71)
4.4.2 main函数的解析 (75)
4.4.3 协议栈初始化分析 (75)
4.5 低功耗蓝牙5.x的传输速率 (77)
4.5.1 传输速率的理论值 (77)
4.5.2 影响传输速率的主要因素 (79)
4.5.3 代码实例测试 (79)
4.5.4 实际测试 (81)
4.5.5 实验分析 (85)
4.6 开发调试工具 (85)
4.6.1 nrfjprog命令行工具 (85)
4.6.2 RTT打印Log (86)
4.7 资料学习 (87)
4.8 实验小结 (89)
第5章 实验4:添加电池电量服务 (91)
5.1 实验目标 (91)
5.2 实验准备 (91)
5.3 背景知识 (91)
5.4 实验步骤 (92)
5.5 应用固件的烧写和调试 (103)
5.5.1 编译和烧写 (103)
5.5.2 查看电池电量服务数据 (103)
5.5.3 添加电池电量服务的注意事项 (104)
5.5.4 实验观察 (104)
5.6 实验小结 (104)
第6章 实验5:添加私有服务 (105)
6.1 实验目标 (105)
6.2 实验准备 (105)
6.3 背景知识 (105)
6.4 实验步骤 (106)
6.4.1 移植库文件 (106)
6.4.2 修改sdk_config.h中相应的宏 (107)
6.4.3 初始化LBS (107)
6.4.4 修改LBS中LED的特性 (111)
6.4.5 修改按键的逻辑 (113)
6.5 应用的实验与测试 (114)
6.5.1 应用固件的烧写与测试 (114)
6.5.2 实验观察 (115)
6.6 实验小结 (115)
第7章 实验6:添加配对、绑定功能 (117)
7.1 实验目标 (117)
7.2 实验准备 (117)
7.3 背景知识 (117)
7.3.1 配对和绑定的定义 (117)
7.3.2 相关概念知识 (118)
7.3.3 绑定的流程 (119)
7.3.4 绑定的方式(等级) (120)
7.3.5 例程讲解 (120)
7.3.6 与绑定功能相关的常用API函数 (120)
7.4 实验步骤 (121)
7.4.1 绑定模块移植 (121)
7.4.2 在例程ble_app_hrs中添加NUS (122)
7.4.3 Passkey配对模式的实现 (124)
7.4.4 数字比较的实现 (125)
7.5 实验拓展 (127)
7.6 实验小结 (128)
第8章 实验7:低功耗蓝牙的主机扫描 (129)
8.1 实验目标 (129)
8.2 实验准备 (129)
8.3 背景知识 (129)
8.3.1 广播的概念 (129)
8.3.2 扫描的概念 (130)
8.3.3 主机扫描的原理 (130)
8.3.4 主动扫描和被动扫描 (131)
8.4 实验步骤 (131)
8.4.1 扫描例程讲解 (131)
8.4.2 扫描附近所有设备 (132)
8.4.3 筛选广播数据包中的数据 (134)
8.5 实验小结 (135)
第9章 实验8:低功耗蓝牙的主机连接 (137)
9.1 实验目标 (137)
9.2 实验准备 (137)
9.3 背景知识 (137)
9.3.1 连接的概念 (137)
9.3.2 连接的过程 (138)
9.3.3 连接的重要参数 (138)
9.3.4 连接参数的优化 (139)
9.3.5 iOS对连接参数的要求 (139)
9.4 实验步骤 (139)
9.5 实验小结 (141)
第10章 实验9:低功耗蓝牙主从一体的实现 (143)
10.1 实验目标 (143)
10.2 实验准备 (143)
10.3 背景知识 (143)
10.4 实验步骤 (144)
10.4.1 低功耗蓝牙主从一体功能的实现 (144)
10.4.2 低功耗蓝牙主从一体功能的演示 (149)
10.5 实验小结 (151)
第11章 实验10:低功耗蓝牙多主多从的实现 (153)
11.1 实验目标 (153)
11.2 实验准备 (153)
11.3 背景知识 (153)
11.4 实验步骤 (154)
11.4.1 低功耗蓝牙多主多从功能的实现 (154)
11.4.2 低功耗蓝牙多主多从功能的演示 (157)
11.5 实验小结 (158)
第12章 实验11:LE 2M PHY高速率通信的实现 (159)
12.1 实验目标 (159)
12.2 实验准备 (159)
12.3 背景知识 (159)
12.3.1 低功耗蓝牙LE 2M PHY高速率通信 (159)
12.3.2 低功耗蓝牙数据包的组成 (160)
12.3.3 低功耗蓝牙数据包的完整传输周期 (161)
12.3.4 低功耗蓝牙的数据吞吐率 (162)
12.3.5 低功耗蓝牙LE 2M PHY高速率通信的应用 (163)
12.4 实验步骤 (163)
12.4.1 SDK例程测试 (163)
12.4.2 LE 2M PHY高速率通信的实现 (166)
12.5 实验小结 (167)
第13章 实验12:低功耗蓝牙长距离通信的实现 (169)
13.1 实验目标 (169)
13.2 实验准备 (169)
13.3 背景知识 (169)
13.3.1 链路预算和无线电波传播损耗 (170)
13.3.2 长距离通信的编码 (171)
13.3.3 长距离通信的传输速率 (172)
13.3.4 长距离通信的应用创新 (173)
13.4 实验步骤 (173)
13.4.1 长距离通信的PHY配置和数据吞吐率测试 (173)
13.4.2 低功耗蓝牙5.x长距离通信的实现 (176)
13.4.3 长距离通信的测试 (177)
13.5 实验小结 (177)
第14章 实验13:低功耗蓝牙扩展广播数据包的实现 (179)
14.1 实验目标 (179)
14.2 实验准备 (179)
14.3 背景知识 (179)
14.3.1 低功耗蓝牙5.x扩展广播数据包的格式 (180)
14.3.2 低功耗蓝牙5.x扩展广播数据包的应用场景 (182)
14.4 实验步骤 (182)
14.5 实验小结 (184)
第15章 实验14:基于SPI驱动OLED (185)
15.1 实验目标 (185)
15.2 实验准备 (185)
15.3 背景知识 (185)
15.3.1 SPI简介 (185)
15.3.2 SPI的工作方式 (186)
15.3.3 OLED简介 (187)
15.4 实验步骤 (187)
15.5 实验小结 (193)
第16章 实验15:基于QSPI驱动LCD (195)
16.1 实验目标 (195)
16.2 实验准备 (195)
16.3 背景知识 (195)
16.3.1 QSPI简介 (195)
16.3.2 LCD模块简介 (196)
16.3.3 QSPI接口与LCD模块的连接 (196)
16.4 实验步骤 (198)
16.5 实验小结 (206)
第17章 实验16:基于FreeRTOS实现复杂应用 (207)
17.1 实验目标 (207)
17.2 实验准备 (207)
17.3 背景知识 (207)
17.3.1 FreeRTOS简介 (207)
17.3.2 在RTOS中自定义线程 (208)
17.3.3 RTOS的移植 (209)
17.4 实验步骤 (209)
17.5 实验小结 (214)
第18章 实验17:FDS的实现 (215)
18.1 实验目标 (215)
18.2 实验准备 (215)
18.3 背景知识 (215)
18.3.1 FDS简介 (215)
18.3.2 FDS的实现原理 (216)
18.3.3 FDS区域 (216)
18.3.4 FDS的操作类型 (217)
18.3.5 FDS的常用API函数简介 (217)
18.3.6 使用FDS的注意事项 (219)
18.4 实验步骤 (219)
18.4.1 FDS模块的移植 (219)
18.4.2 FDS存储功能的实现 (220)
18.5 实验小结 (225)
第19章 实验18:固件空中升级(OTA)的实现 (227)
19.1 实验目标 (227)
19.2 实验准备 (227)
19.3 背景知识 (227)
19.3.1 DFU简介 (227)
19.3.2 OTA简介 (229)
19.3.3 基于Nordic的SDK实现DFU的原理 (229)
19.4 实验步骤 (230)
19.5 实验关键代码与实验要点 (233)
19.5.1 ble_app_buttonless_dfu服务的关键代码 (233
猜您喜欢

读书导航