书籍详情

低功耗蓝牙5.0开发与应用:基于nRF52系列处理器(提高篇)

低功耗蓝牙5.0开发与应用:基于nRF52系列处理器(提高篇)

作者:万青 著

出版社:北京航空航天大学出版社

出版时间:2021-09-01

ISBN:9787512435995

定价:¥79.00

购买这本书可以去
内容简介
  随着蓝牙学习的深入,开发者不得不面对诸如蓝牙安全配置、蓝牙实战应用、蓝牙主从设备互连、蓝牙组网等实际需求,本书正是在这个背景下诞生的。本书主要讲述了对蓝牙的参数与安全连接、蓝牙从机综合应用、主机搭建与发起连接、主机数据传输以及主从组网应用等内容,深入解决低功耗蓝牙开发人员的需求痛点,进一步提高低功耗蓝牙的开发能力。
作者简介
暂缺《低功耗蓝牙5.0开发与应用:基于nRF52系列处理器(提高篇)》作者简介
目录
第1篇蓝牙工程搭建篇

第1章蓝牙5.0基础知识以及学习规划2

1.1蓝牙5.0基础知识2

1.1.1蓝牙5.0简介2

1.1.2蓝牙BLE协议栈结构3

1.2蓝牙BLE如何实现连接与通信5

1.2.1从机广播5

1.2.2主机扫描6

1.2.3建立连接7

1.2.4发送与接收数据8

1.3学习规划9

1.3.1蓝牙BLE基础工程搭建10

1.3.2蓝牙服务的建立10

1.3.3蓝牙数据传输10

1.3.4蓝牙参数及安全设置11

1.3.5从机蓝牙综合应用11

1.3.6主机的搭建以及组网12

第2章蓝牙BLE样例的建立13

2.1蓝牙BLE样例工程结构13

2.2蓝牙主函数21

2.2.1外设初始化23

2.2.2协议栈层配置25

2.2.3应用层配置28

2.2.4电源管理30

2.3下载验证31

第3章蓝牙程序信息Log显示34

3.1Log打印串口输出配置34

3.2Log打印RTT的输出配置37

3.3Log日志参数__________41

3.3.1Log日志输出颜色41

3.3.2Log日志时间戳41

3.3.3Log日志打印类型43

3.3.4模块配置的日志使能44

第4章蓝牙协议栈下的软件定时器47

4.1软件定时器47

4.2蓝牙BLE下软件定时器配置48

4.2.1BLE定时器声明48

4.2.2定时器开始定时51

4.2.3定时器超时处理52

4.2.4主函数编写52

4.3应用与调试53

第5章蓝牙协议栈下按键的使用55

5.1按键下控制触发LED灯55

5.1.1协议栈下板级设备配置55

5.1.2下载与验证59

5.2按键下的长按和短按59

5.2.1长按与短按的配置59

5.2.2按键数量的增加64

5.2.3长按与短按的分离66

5.3本章小结68

第6章蓝牙协议初始化69

6.1nRF52832蓝牙协议栈初始化函数结构69

6.2协议栈回复使能应答70

6.2.1协议栈使能70

6.2.2议栈时钟设置71

6.3协议栈默认配置的设置__________74

6.3.1配置链接数目和角色74

6.3.2配置MTU协商值76

6.3.3设置定制的UUID数目77

6.3.4GATTS的属性表大小77

6.3.5使能服务变化特征值78

6.4使能协议栈80

6.5注册蓝牙处理事件80

6.6应用:协议栈采用内部RC运行83

第7章通用访问规范GAP84

7.1蓝牙GAP84

7.2GAP初始化安全模式配置85

7.3设备名称修改与外观设置87

7.3.1蓝牙设备名称设置87

7.3.2中文广播名称设置90

7.3.3蓝牙应用图标的设置93

7.4GAP初始化设置连接参数95

7.4.1GAP连接参数定义95

7.4.2连接参数配置96

7.5本章小结101

第8章蓝牙连接参数更新102

8.1蓝牙连接参数更新函数结构102

8.1.1连接更新的配置102

8.1.2连接参数更新描述103

8.1.3连接参数更新应答104

8.1.4主机协商结果处理104

8.2连接参数更新步骤105

8.3参数更新过程109

8.4本章总结112

第9章蓝牙广播初始化分析113

9.1nRF52832蓝牙BLE广播初始化113

9.1.1广播参数定义114

9.1.2广播模式配置117

9.1.3蓝牙广播的启动119

9.2不进入Idle无效模式124

9.3蓝牙BLE广播响应包125

第2篇蓝牙服务任务建立篇

第10章低功耗蓝牙BLE之LED灯任务的读/写130

10.1nRF52832蓝牙协议的分层130

10.1.1应用层131

10.1.2控制层132

10.1.3主协议栈层132

10.2通用访问规范(GAP)133

10.2.1角色133

10.2.2从机广播133

10.2.3主机扫描并发起连接134

10.3通用属性配置文件(GATT)134

10.3.1数据配置文件135

10.3.2服务135

10.3.3特性135

10.4定制私有文件服务137

10.4.1工程框架的搭建137

10.4.2私有主服务的建立137

10.4.3服务特性的设置139

10.4.4协议栈事件处理143

10.4.5应用层的实现144

10.5下载验证146

第11章蓝牙BLE的按键通知148

11.1原理分析148

11.2按键通知特性的建立148

11.2.1特性参数配置149

11.2.2GATT属性配置149

11.2.3特性添加150

11.3按键处理与通知数据上传152

11.3.1按键处理152

11.3.2通知数据上传函数153

11.4下载验证154

11.5连接后自动使能CCCD155

11.5.1连接时发起回调155

11.5.2更新从机属性信息156

第12章蓝牙BLE的电池服务159

12.1电池服务函数库159

12.1.1电池函数库文件的添加159

12.1.2电池服务建立160

12.1.3电池采样步骤164

12.2应用层的实现165

12.2.1电池服务的调用165

12.2.2电池参数值的采集166

12.2.3电池电量的更新168

12.2.4定时器设计171

12.2.5主函数编写172

12.3下载与测试173

第13章蓝牙心电服务的建立175

13.1工程项目的建立175

13.1.1主函数的建立176

13.1.2外设部分初始化__________176

13.1.3服务初始化177

13.2心率服务设计180

13.2.1心率服务包含的特性180

13.2.2身体测量位置特性的添加182

13.2.3心率服务特性的添加183

13.2.4心率数据接口格式185

13.2.5心率数据上传188

13.3设备信息服务设计191

13.4下载验证197

第14章蓝牙任务的UUID设置199

14.1UUID设置规则199

14.1.1蓝牙技术联盟UUID199

14.1.2供应商特定的UUID199

14.2程序中UUID的设置201

14.2.1蓝牙协议小组公共UUID设置201

14.2.2私有服务UUID设置202

14.2.3UUID类型切换205

14.3应用与调试206

第15章蓝牙派发回调机制208

15.1观察者模式分析208

15.1.1观察者observer模型208

15.1.2观察者observer运行机制211

15.1.3片上SoC事件派发214

15.2回调机制的验证215

15.3本章小结216

第3篇蓝牙数据传输与存储篇

第16章蓝牙BLE之蓝牙串口218

16.1蓝牙串口工程的建立218

16.1.1主函数的建立219

16.1.2外设部分初始化220

16.1.3服务初始化221

16.2蓝牙串口服务头文件的设计222

16.2.1串口服务函数声明222

16.2.2数据结构体设计222

16.3蓝牙串口服务的设计224

16.3.1开通应用主服务224

16.3.2蓝牙接收和发送特性的添加226

16.3.3应用层的实现228

16.4蓝牙串口数据通道的搭建228

16.4.1蓝牙事件派发函数228

16.4.2处理串口写事件229

16.4.3处理串口接收事件231

16.4.4数据包长度控制233

16.5下载验证236

第17章蓝牙BLE遥控器238

17.1遥控指令设置原理238

17.2遥控OLED显示239

17.2.1OLED显示原理239

17.2.2OLED驱动的编写241

17.2.3手机遥控OLED显示247

17.3应用与调试249

第18章蓝牙BLE温湿度检测250

18.1温湿度DHT11驱动250

18.2温湿度采集方法一253

18.2.1应用层初始化传感器253

18.2.2采集指令发送254

18.2.3下载与测试255

18.3温湿度采集方法二257

18.3.1初始化传感器257

18.3.2私有任务建立259

18.3.3采集温湿度数据上传261

18.3.4定时器的建立与启动262

18.3.5下载与调试263

18.4本章总结264

第19章蓝牙Flash存储之fstorage265

19.1蓝牙Flash存储265

19.2Fstorage存储编写API266

19.2.1Flash区域声明266

19.2.2写数据267

19.2.3读数据269

19.2.4整页擦除270

19.3程序存储操作的实现271

19.4应用与调试275

第20章蓝牙Flash存储之FDS276

20.1蓝牙Flash存储模块276

20.2FDS库函数API277

20.3FDS的读/写过程281

20.3.1FDS数据帧格式281

20.3.2FDS文件写入和查找方式282

20.3.3FDS数据更新284

20.3.4FDS数据擦除与垃圾回收284

20.4FDS方式编程方法285

20.4.1FDS配置参数285

20.4.2FDS配置流程287

20.5应用与调试293

第21章远程传输数据Flash存储294

21.1两种存储方式对比294

21.2蓝牙接收数据fstorage方式下存储295

21.2.1Fstorage模式初始化295

21.2.2Fstorage事件回调函数296

21.2.3数据接收回调处理297

21.2.4下载与测试298

21.3蓝牙接收数据FDS方式下存储301

21.3.1设置FDS数据格式301

21.3.2配置FDS的记录参数301

21.3.3初始化FDS文件系统302

21.3.4数据接收回调处理302

21.3.5下载与测试305

第22章nRF52xx蓝牙通信包307

22.1空中数据接口307

22.1.1空中数据包格式307

22.1.2广播频道PDU域格式309

22.1.3连接数据频道PDU域格式315

22.2广播包抓取分析316

22.2.1抓取的广播包特征317

22.2.2广播包分析318

22.3连接的数据包抓取321

22.3.1抓取数据包特征321

22.3.2数据包分析322

22.4本章小结323

第23章传输数据吞吐量324

23.1低功耗蓝牙的理论吞吐率324

23.1.1蓝牙4.0和蓝牙4.2的吞吐量325

23.1.2蓝牙5.0的吞吐量326

23.2传输速率的影响因素327

23.3nRF52xx蓝牙传输速率配置329

23.3.1吞吐量传输测试框架搭建329

23.3.2配置参数增大吞吐量335

23.4本章小结341

第24章蓝牙实现低功耗的方式342

24.1nRF52系列的两种功耗模式342

24.1.1系统开低功耗模式342

24.1.2系统关睡眠模式344

24.2nRF52降低功耗方法347

24.2.1硬件电路设计347

24.2.2降低功耗的改进方案349

第4篇综合篇

第25章青风nRF52开发板综合开机实验353

25.1开机测试目标353

25.2工程文件的搭建354

25.3软件编写357

25.3.1RTC定时时钟的编写357

25.3.2电池检测与显示362

25.3.3按键、电容触摸按键和W25Q16363

25.3.4MPU6050的移植366

25.4程序下载与测试367

参考文献374
猜您喜欢

读书导航