開啟主選單
求真百科
搜尋
檢視 低功耗蓝牙5·0开发与应用 的原始碼
←
低功耗蓝牙5·0开发与应用
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
{| class="wikitable" align="right" |- |<center><img src=https://www0.kfzimg.com/G06/M00/EC/31/p4YBAFqZG7OAewR5AACnT0qhWKA955_s.jpg width="260"></center> <small>[https://book.kongfz.com/281961/7327470197 来自 孔夫子网 的图片]</small> |} 《'''低功耗蓝牙5·0开发与应用'''》,副标题:基于nRF52系列处理器(提高篇),万青 著,出版社: 北京航空航天大学出版社。 书籍是用文字、[[图画]]和其他符号,在一定材料上记录各种知识,清楚地表达思想,并且制装成卷册的著作物<ref>[https://www.doc88.com/p-6631147737261.html 作品、著作物与版权],道客巴巴,2014-11-09</ref>,为传播各种知识和思想,积累人类文化的重要工具。它随着历史的发展,在书写方式、所使用的材料和装帧形式<ref>[https://www.docin.com/p-1706199510.html 书籍装帧设计的分类及艺术表现形式],豆丁网,2016-08-14</ref>,以及形态方面,也在不断变化与变更。 ==内容简介== 随着蓝牙学习的深入,开发者不得不面对诸如蓝牙安全配置、蓝牙实战应用、蓝牙主从设备互连、蓝牙组网等实际需求,本书正是在这个背景下诞生的。本书主要讲述了对[[蓝牙]]的参数与安全连接、蓝牙从机综合应用、主机搭建与发起连接、主机数据传输以及主从组网应用等内容,深入解决低功耗蓝牙开发人员的需求痛点,进一步提高低功耗蓝牙的开发能力。 ==目录== 第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 ==参考文献== [[Category:040 類書總論;百科全書總論]]
返回「
低功耗蓝牙5·0开发与应用
」頁面