低功耗蓝牙5.0开发与应用——基于nRF系列处理器pdf下载pdf下载

低功耗蓝牙5.0开发与应用——基于nRF系列处理器百度网盘pdf下载

作者:
简介:本篇主要提供低功耗蓝牙5.0开发与应用——基于nRF系列处理器pdf下载
出版社:北京航空航天大学出版社
出版时间:2021-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

本书可作为高等院校电子信息、物联网、计算机、自动化等相关专业的单片机、嵌入式、物联网技术等课程的教材,也可以作为开发人员的参考用书。


内容简介

随着蓝牙学习的深入,开发者不得不面对诸如蓝牙安全配置、蓝牙实战应用、蓝牙主从设备互连、蓝牙组网等实际需求,本书正是在这个背景下诞生的。本书主要讲述了对蓝牙的参数与安全连接、蓝牙从机综合应用、主机搭建与发起连接、主机数据传输以及主从组网应用等内容,深入解决低功耗蓝牙开发人员的需求痛点,进一步提高低功耗蓝牙的开发能力。


目录

第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