新書推薦:
《
大家小书 译馆 骑士:历史与文化
》
售價:NT$
255.0
《
没有一种人生是完美的:百岁老人季羡林的人生智慧(读完季羡林,我再也不内耗了)
》
售價:NT$
257.0
《
日耳曼通识译丛:复原力:心理抗逆力
》
售價:NT$
155.0
《
海外中国研究·未竟之业:近代中国的言行表率
》
售價:NT$
614.0
《
我们为何建造(城市与生态文明丛书)
》
售價:NT$
406.0
《
算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值)
》
售價:NT$
359.0
《
家书中的百年史
》
售價:NT$
359.0
《
偏爱月亮
》
售價:NT$
207.0
|
編輯推薦: |
本书既可作为高等院校电子信息、物联网、计算机、自动化等相关专业的单片机、嵌入式、物联网技术等课程的教材,也可作为BLE蓝牙技术的研发人员、软硬件工程师的开发、学习的参考用书。
|
內容簡介: |
本书主要讲解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
|
|