logo资料库

清风蓝牙教程-nrf52832.pdf

第1页 / 共312页
第2页 / 共312页
第3页 / 共312页
第4页 / 共312页
第5页 / 共312页
第6页 / 共312页
第7页 / 共312页
第8页 / 共312页
资料共312页,剩余部分请下载后查看
------------作者:青风
作者: 青风
出品论坛: www.qfv8.com
淘宝店:http://qfv5.taobao.com
QQ技术群:346518370
硬件平台:青云QY-nrf52832开发板
第一篇 软硬件预备篇
第1章 青云蓝牙nrf52832开发板硬件资源
1.1硬件芯片介绍
1.2 青云nrf52832蓝牙开发平台硬件详解
1.2.1 青云nrf52832专业版资源简介
1.2.2 青云nrf52832开发板原理图详解:
第2章 青云蓝牙软件开发环境
2.1 协议栈下载工具nrfgo
2.2开发环境KEIL
2.2.1开发环境KEIL的安装
第3章 工程的下载与调试
3.1:仿真工具的选择:
3.2:工程下载:
第二篇 蓝牙4.x技术入门篇
第4章 蓝牙工程样例的建立
4.1:蓝牙样例工程结构:
4.2:nrf52832蓝牙协议的分层:
4.2.1应用层简介:
4.2.2 控制器的控制层
4.3主机主协议层详细说明:
4.3.1  通用访问规范(Generic Access Profile,GAP)
4.3.1.1 角色
4.3.1.2 广播
4.3.1.3 扫描
4.3.1.4 发起
4.3.1.5 连接
4.3.2 通用属性配置文件(Generic Attribute profile,GATT)
4.3.2.1角色
4.3.2.2 GATT的规范层次
1 属性
2 特性
3描述符
4 服务
5 profile(数据配置文件)
4.4 源代码分析:
4.4.1外设初始化
4.4.2协议栈初始化
4.4.3 gap初始化
4.4.4广播初始化
4.4.5服务初始化
4.4.6连接参数和安全参数初始化
4.4.7.广播开始
4.4.8电源管理
4.5下载验证:
第5章 蓝牙协议栈初始化与调度机制
5.1:nrf52832蓝牙协议栈初始化函数结构:
5.2: 协议栈系统时钟设置:
5.3 协议栈的使能:
5.4 回调派发函数与调度机制:
第6章 蓝牙协议通用访问规范GAP入门
6.1:nrf52832蓝牙GAP初识:
6.2: GAP软件设计分析:
6.3 GAP初始化安全模式配置:
6.3.1 GAP 连接要求:
6.3.2 设备名称修改
6.4 GAP初始化设置连接间隔
第7章 蓝牙广播初始化解析
7.1 BLE广播初始化步骤:
7.1.1广播名称
7.1.2 广播模式设置
7.1.3 广播UUID设置
7.1.4广播类型设置
7.2 不进入IDLE无效模式
7.3 应用与调试
2测试:
第8章 蓝牙链接参数更新
8.1:nrf52832蓝牙协议栈初始化函数结构:
8.2链接参数更新描述
8.2.1发起更新申请
8.2.2 链接参数更新应答
8.3: 链接参数更新初始化配置:
8.4本章总结:
第9章 蓝牙协议栈下板件设备
9.1:协议栈下按键初始化调用:
9.2:板件事件的触发:
9.3:事件触发任务:
9.4 应用与调试
1 下载
2 测试
第10章 蓝牙协议栈下定时器的应用
10.1 BLE定时器声明
10.2 定时器开始定时
10.3 主函数编写
10.4 应用与调试
10.4.1 下载
10.4.2 测试
第三篇 蓝牙任务的建立章
第11章 蓝牙任务的介绍(待更新)
第12章 蓝牙LED读写任务的建立
12.1 通用属性配置文件配置
12.1.1角色
12.2.2 GATT的规范层次
12.2.2.1 属性
12.2.2.2 特性
12.2.2.3描述符
12.2.2.4服务
12.2.2.5 profile(数据配置文件)
12.1.3 标准的定制服务和特性
12.2如果定制私有profile服务:
12.2.1    任务UUID设置
12.2.1.1 蓝牙技术联盟 UUID
12.2.1.2 供应商特定的UUID
 12.2.2 空中操作和性质
12.2.2.1  写和没有回应的写
12.2.2.2  读
12.2.2.3  通知和指示
12.2.3 广播配置
12.2.4 连接参数
12.2.5 服务
12.2.6特性
12.3 私有服务的实现
12.3.1 API设计
12.3.2 实现数据结构体
12.3.3 服务初始化
12.3.3.1  实现LED特性
12.3.3.2 增加特性
12.3.4 处理协议栈事件
12.3.4.1 参数CCCD写的处理
12.3.4.2 处理LED特性写
12.4 应用层实现
12.4.1 使用调度
12.4.2 包含服务
12.4.3 加入本服务的UUID到广播数据包中
12.5下载验证:
第13章 蓝牙按键通知任务的建立
13.1 工程项目的建立:
13.1.1私有服务的实现
13.1.1.1 API设计
13.1.1.2 实现数据结构体
13.1.2 服务初始化
13.1.2.1服务UUID的添加:
13.1.2.2按键服务特性的添加:
13.1.2.3 增加特性
13.1.3 处理协议栈事件
13.1.4 处理按键事件
13.2 应用层实现
13.2.1 使用调度
13.2.2 按键处理
13.2.3 加入本服务的UUID到广播数据包中
13.3下载验证:
第14章 蓝牙电池采集任务的建立
14.1:nrf52832蓝牙BLE电池函数库:
14.1.1 BLE电池函数库文件的添加
14.1.2 电池采样设计基本原理:
14.2:函数编写:
14.2.1 定时器设计
14.2.2 电池任务声明和调用
14.2.3 电池值采集更新
14.2.4 主函数编写
14.3 应用与调试
14.3.1 下载
14.3.2 测试
第15章 蓝牙心电任务的建立
15.1工程项目的建立:
15.1.1 主函数的建立
15.1.2 外设部分初始化
15.1.3 协议栈相关初始化
15.1.3.1 设备管理函数初始化
15.1.3.2 服务任务建立
15.2 蓝牙服务程序设计
15.2.1 心率服务设计
15.2.2 电池服务设计和设备信息服务设计
15.3 主函数的实现
15.4 下载验证
第16章 蓝牙UUID的分配
16.1:UUID设置规则及原理:
16.1.1 蓝牙技术联盟UUID
16.1.2 供应商特定的UUID
16.2:程序中UUID的设置:
16.2.1 蓝牙协议小组公共UUID设置
16.2.2 私有服务UUID设置:
16.2.3 UUID类型切换:
16.3 应用与调试
16.3.1 下载
16.3.2 测试
第四篇 蓝牙4.x数据传输
第17章 蓝牙串口数据透传
17.1  工程项目的建立:
17.1.1 主函数的建立
17.1.2 外设部分初始化
17.1.3 协议栈相关初始化
17.2 蓝牙API头文件设计
17.2.1 API函数库文件头文件设计:
17.2.2 数据结构体设计
17.3蓝牙API主函数设计:
17.3.1  开通API应用服务
17.3.2   UUID设置方法
17.3.2.1 蓝牙技术联盟 UUID
17.3.2.2 供应商特定的UUID
17.3.3 串口接收和发送服务添加
17.3.4蓝牙串口服务特性的配置
17.3.4.1 CCCD安全设置
17.3.4.2 特征参数组设置
17.3.4.3 特征添加
17.3.5 处理协议栈事件
17.3.6 处理串口特征
17.3.7 处理串口接收事件
17.4 主函数的实现
17.5下载验证
第18章 蓝牙广播包与数据包分析
第19章 蓝牙遥控器
19.1:遥控指令设置:
19.2应用与调试
19.2.1 下载
19.2.2 测试
第20章 蓝牙接收数据内部FLASH存储
20.1:nrf52832蓝牙内部FLASH处理函数:
20.1.1 主要处理函数介绍
20.1.2 处理函数使用注意:
20.2:函数编写:
20.2.1 FLASH操作初始化设置
20.2.2 私有任务处理
20.2.3 主函数编写
20.3 应用与调试
20.3.1 下载
20.3.2 测试
第21章 远程设备的修改
21.1 工程名称服务
21.2:协议栈下实现流程:
21.2.1 手机发送新的设备名称存储FLASH
21.2.2 判断是否为有效的设备名称
21.2.3 服务重启
21.3 应用与调试
21.3.1 下载
21.3.2 测试
第22章 蓝牙温湿度测量方法一
22.1 温湿度DHT11采集驱动
22.2:协议栈下实现流程:
22.2.1 初始化传感器
22.2.2 采集指令发送
22.3 应用与调试
22.3.1 下载
22.3.2 测试
第23章 蓝牙温湿度测量二
23.1 温湿度DHT11采集驱动
23.2:协议栈下实现流程:
23.2.1 初始化传感器
23.2.2 私有任务建立
23.2.2.1 DHT11服务特性的添加:
23.2.2.2 增加特性:
23.2.2.3 采集温湿度数据更新:
23.2.3 定时器的建立
23.2.4 主函数的实现:
23.3 应用与调试
23.3.1 下载
23.3.2 测试
第24章 蓝牙ADC光照强度的采集(待更新)
第五篇 蓝牙参数及安全配置
第25章 蓝牙MAC地址
25.1:BLE设备地址类型:
25.1.1 公共设备地址Public Device Address
25.1.2 随机设备地址Random Device Address
25.1.2.1 静态设备地址Static Device Address
25.1.2.2 私密设备地址Private Device Address
25.2:nrf52832地址配置:
25.3 设置自己的MAC地址:
25.4 应用与调试
25.4.1 下载
25.4.2 测试
第26章 蓝牙发送功率设置
26.1:nrf52832蓝牙BLE的发送功率设置:
26.2 应用与调试
26.2.1 下载
26.2.2 测试
第27章 蓝牙信号强度rssi的获取
27.1:nrf52832蓝牙BLE的rssi获取:
27.1.1 BLE定时器声明
27.1.2 定时器开始定时
27.1.3 主函数编写
27.2 应用与调试
27.2.1 下载
27.2.2 测试
第28章 静态密码配对
28.1:静态密钥设置:
28.1.1 设置静态密钥
28.1.2 配对事件配置
28.2 应用与调试
28.2.1 下载
28.2.2 测试
第29章 动态秘钥应用(待更新)
第六篇章 蓝牙4.x综合应用 (待更新)
第30章 蓝牙防丢器的应用(待更新)
第31章 蓝牙ibeacon的应用(待更新)
第32章 空中升级DFU的应用
2.32.1:nRF52832空中升级DPU的概念:
2.32.1.1 DFU 的Flash空间布局详解:
1.1.1 协议栈和bootloader升级
1.1.2 应用程序升级
2.32.1.2 DPU的运行原理:
2.32.2 DPU升级文件的生成
2.32.2.1 工程准备与设置
2.32.2.2 BIN文件的生成:
2.32.3 创建zip升级文件:
2.32.3 测试与升级:
2.32.4 总结
第七篇 蓝牙4.x无线网络的组建
第33章 主从串口网络的建立
33.1:nrf52832蓝牙主机的主程序流程:
33.2 主机蓝牙串口过程分析:
33.2.1 主机设备和从机设备连接分析
33.2.2 主机蓝牙串口数据流分析:
33.2.2.1 从机到主机的数据流向:
33.2.2.2 主机发送到从机的数据流向:
33.3 应用与调试
33.3.1软件准备:
33.3.2 实验现象:
第34章 主机扫描(待更新)
第35章 主机心电详解(待更新)
第36章 主从1拖8网络的实现(待更新)
第37章 主从一体详解(待更新)
青风蓝牙教程 nrf52832 V1.0 青风带你玩蓝牙 nrf52832 系列教程...................5 ------------作者:青风......................... 5 作者: 青风.............................................6 硬件平台:青云 QY-nrf52832 开发板......6 第一篇 软硬件预备篇..........................................6 第 1 章 青云蓝牙 nrf52832 开发板硬件资源..6 1.1 硬件芯片介绍.........................................6 1.2 青云 nrf52832 蓝牙开发平台硬件 详解...............................................................7 1.2.1 青云 nrf52832 专业版资 源简介..................................................7 1.2.2 青云 nrf52832 开发板原 理图详解:..........................................9 第 2 章 青云蓝牙软件开发环境..................... 13 2.1 协议栈下载工具 nrfgo........................13 2.2 开发环境 KEIL.....................................13 2.2.1 开发环境 KEIL 的安装........... 13 2.2.2 工程项目的建立错误!未定义书签。 第 3 章 工程的下载与调试..............................16 3.1:仿真工具的选择:............................16 3.2:工程下载:........................................17 3.3 工程项目的仿真调试错误!未定义书签。 第二篇 蓝牙 4.x 技术入门篇...........................21 第 4 章 蓝牙工程样例的建立......................... 21 4.1:蓝牙样例工程结构:........................21 4.2:nrf52832 蓝牙协议的分层:............23 4.2.1 应用层简介:.......................... 23 4.2.2 控制器的控制层..................... 24 4.3 主机主协议层详细说明:.................. 25 4.3.1 通用访问规范(Generic Access Profile,GAP).................................25 4.3.1.1 角色............................. 25 4.3.1.2 广播............................. 26 4.3.1.3 扫描............................. 26 4.3.1.4 发起............................. 26 4.3.1.5 连接............................. 26 4.3.2 通 用 属 性 配 置 文 件 (Generic Attribute profile,GATT)...............27 4.3.2.1 角色.............................. 27 4.3.2.2 GATT 的规范层次.......27 1 属性...................................... 27 2 特性...................................... 27 3 描述符................................... 27 4 服务...................................... 28 淘宝地址:http://qfv5.taobao.com/ 5 profile(数据配置文件).... 28 4.4 源代码分析:......................................28 4.4.1 外设初始化.............................. 29 4.4.2 协议栈初始化.......................... 31 4.4.3 gap 初始化................................33 4.4.4 广播初始化.............................. 34 4.4.5 服务初始化.............................. 36 4.4.6 连接参数和安全参数初始化.. 36 4.4.7.广播开始.................................. 37 4.4.8 电源管理.................................. 37 4.5 下载验证:...........................................38 第 5 章 蓝牙协议栈初始化与调度机制......... 40 5.1:nrf52832 蓝牙协议栈初始化函数 结构:.........................................................41 5.2: 协议栈系统时钟设置:.................... 42 5.3 协议栈的使能:..................................43 5.4 回调派发函数与调度机制:............. 44 第 6 章 蓝牙协议通用访问规范 GAP 入门...46 6.1:nrf52832 蓝牙 GAP 初识:..............47 6.2: GAP 软件设计分析:..................... 48 6.3 GAP 初始化安全模式配置:.......... 48 6.3.1 GAP 连接要求:.................... 49 6.3.2 设备名称修改......................... 50 6.4 GAP 初始化设置连接间隔................. 51 第 7 章 蓝牙广播初始化解析......................... 54 7.1 BLE 广播初始化步骤:......................54 7.1.1 广播名称.................................. 55 7.1.2 广播模式设置......................... 56 7.1.3 广播 UUID 设置..................... 57 7.1.4 广播类型设置.......................... 58 7.2 不进入 IDLE 无效模式...................... 62 7.3 应用与调试..........................................63 测试:................................................64 第 8 章 蓝牙链接参数更新..............................65 8.1:nrf52832 蓝牙链接参数更新初始化 函数结构:.................................................66 8.2 链接参数更新描述...............................68 8.2.1 发起更新申请.......................... 68 8.2.2 链接参数更新应答................. 68 8.3: 链接参数更新初始化配置:............ 69 8.4 本章总结:...........................................72 第 9 章 蓝牙协议栈下板件设备..................... 72 9.1:协议栈下按键初始化调用:........... 72 9.2:板件事件的触发:............................73 Copyright© 2009-2015 青风电子社区 ALL rights reserved 1
青风蓝牙教程 nrf52832 V1.0 淘宝地址:http://qfv5.taobao.com/ 9.3:事件触发任务:................................76 9.4 应用与调试..........................................77 1 下载.............................................77 2 测试.............................................79 第 10 章 蓝牙协议栈下定时器的应用............. 79 10.1 BLE 定时器声明................................79 10.2 定时器开始定时................................81 10.3 主函数编写........................................81 10.4 应用与调试........................................82 10.4.1 下载..................................... 82 10.4.2 测试..................................... 84 第三篇 蓝牙任务的建立章..............................88 第 11 章 蓝牙任务的介绍(待更新)............88 第 12 章 蓝牙 LED 读写任务的建立............. 88 12.1 通用属性配置文件配置................... 88 12.1.1 角色.........................................88 12.2.2 GATT 的规范层次................. 89 12.2.2.1 属性........................... 89 12.2.2.2 特性........................... 89 12.2.2.3 描述符........................ 89 12.2.2.4 服务............................ 89 12.2.2.5 profile(数据配置文件) .................................................. 90 12.1.3 标准的定制服务和特性....... 90 12.2 如果定制私有 profile 服务:............90 12.2.1 任务 UUID 设置................ 90 12.2.1.1 蓝牙技术联盟 UUID90 12.2.1.2 供应商特定的 UUID91 12.2.2 空中操作和性质.................. 91 12.2.2.1 写和没有回应的写..92 12.2.2.2 读.............................. 92 12.2.2.3 通知和指示.............. 92 12.2.3 广播配置............................... 92 12.2.4 连接参数............................... 93 12.2.5 服务........................................93 12.2.6 特性.........................................93 12.3 私有服务的实现................................94 12.3.1 API 设计................................. 94 12.3.2 实现数据结构体................... 94 12.3.3 服务初始化........................... 95 12.3.3.1 实现 LED 特性....97 12.3.3.2 增加特性............... 97 12.3.4 处理协议栈事件................... 98 12.3.4.1 参数 CCCD 写的处 理.............................................. 99 12.3.4.2 处理 LED 特性写. 99 12.4 应用层实现........................................99 12.4.1 使用调度............................. 100 12.4.2 包含服务............................. 100 12.4.3 加入本服务的 UUID 到广播数 据包中..............................................102 12.5 下载验证:.......................................103 第 13 章 蓝牙按键通知任务的建立............... 107 13.1 工程项目的建立:..........................107 13.1.1 私有服务的实现.................. 107 13.1.1.1 API 设计...................107 13.1.1.2 实现数据结构体..... 108 13.1.2 服务初始化..........................110 13.1.2.1 服务 UUID 的添加:112 13.1.2.2 按键服务特性的添加:115 13.1.2.3 增加特性................. 117 13.1.3 处理协议栈事件................. 118 13.1.4 处理按键事件..................... 118 13.2 应用层实现....................................119 13.2.1 使用调度............................. 120 13.2.2 按键处理............................. 120 13.2.3 加入本服务的 UUID 到广播数 据包中..............................................122 13.3 下载验证:.......................................124 第 14 章 蓝牙电池采集任务的建立............. 126 14.1:nrf52832 蓝牙 BLE 电池函数库: ...................................................................127 14.1.1 BLE 电池函数库文件的添加127 14.1.2 电池采样设计基本原理:128 14.2:函数编写:..................................128 14.2.1 定时器设计....................... 128 14.2.2 电池任务声明和调用......... 129 14.2.3 电池值采集更新................. 130 14.2.4 主函数编写......................... 130 14.3 应用与调试....................................131 14.3.1 下载................................... 131 14.3.2 测试................................... 132 第 15 章 蓝牙心电任务的建立..................... 136 15.1 工程项目的建立:...................... 136 15.1.1 主函数的建立..................... 137 15.1.2 外设部分初始化................. 138 15.1.3 协议栈相关初始化............. 139 15.1.3.1 设备管理函数初始化139 Copyright© 2009-2015 青风电子社区 ALL rights reserved 2
青风蓝牙教程 nrf52832 V1.0 淘宝地址:http://qfv5.taobao.com/ 15.1.3.2 服务任务建立......... 140 15.2 蓝牙服务程序设计....................... 143 15.2.1 心率服务设计..................... 143 15.2.2 电池服务设计和设备信息服 务设计..............................................149 15.3 主函数的实现................................154 15.4 下载验证........................................154 第 16 章 蓝牙 UUID 的分配......................... 157 16.1:UUID 设置规则及原理:............ 157 16.1.1 蓝牙技术联盟 UUID........ 158 16.1.2 供应商特定的 UUID........ 158 16.2:程序中 UUID 的设置:.............160 16.2.1 蓝牙协议小组公共 UUID 设 置......................................................160 16.2.2 私有服务 UUID 设置:. 161 16.2.3 UUID 类型切换:........... 163 16.3 应用与调试....................................166 16.3.1 下载................................... 166 16.3.2 测试................................ 168 第四篇 蓝牙 4.x 数据传输.............................171 第 17 章 蓝牙串口数据透传..........................171 17.1 工程项目的建立:.........................171 17.1.1 主函数的建立..................... 172 17.1.2 外设部分初始化................. 173 17.1.3 协议栈相关初始化............. 174 17.2 蓝牙 API 头文件设计.....................175 17.2.1 API 函数库文件头文件设计:175 17.2.2 数据结构体设计................. 176 17.3 蓝牙 API 主函数设计:................178 17.3.1 开通 API 应用服务.............178 17.3.2 UUID 设置方法............181 17.3.2.1 蓝牙技术联盟 UUID181 17.3.2.2 供应商特定的 UUID ................................................ 182 17.3.3 串口接收和发送服务添加183 17.3.4 蓝牙串口服务特性的配置184 17.3.4.1 CCCD 安全设置.186 17.3.4.2 特征参数组设置.186 17.3.4.3 特征添加.............187 17.3.5 处理协议栈事件.............. 187 17.3.6 处理串口特征.................. 188 17.3.7 处理串口接收事件.......... 189 17.4 主函数的实现................................192 17.5 下载验证.........................................192 第 18 章 蓝牙广播包与数据包分析..............194 第 19 章 蓝牙遥控器......................................194 19.1:遥控指令设置:......................... 194 19.2 应用与调试.....................................195 19.2.1 下载................................ 195 19.2.2 测试................................ 197 第 20 章 蓝牙接收数据内部 FLASH 存储..200 20.1:nrf52832 蓝牙内部 FLASH 处理 函数:.......................................................200 20.1.1 主要处理函数介绍............200 20.1.2 处理函数使用注意:.... 202 20.2:函数编写:..................................202 20.2.1 FLASH 操作初始化设置202 20.2.2 私有任务处理.................. 205 20.2.3 主函数编写...................... 206 20.3 应用与调试....................................207 20.3.1 下载................................ 207 20.3.2 测试................................ 208 第 21 章 远程设备的修改..............................210 21.1 工程名称服务..................................210 21.2:协议栈下实现流程:..................211 21.2.1 手机发送新的设备名称存 储 FLASH........................................211 21.2.2 判断是否为有效的设备名称213 21.2.3 服务重启.......................... 215 21.3 应用与调试....................................216 21.3.1 下载................................ 216 21.3.2 测试................................ 218 第 22 章 蓝牙温湿度测量方法一................. 221 22.1 温湿度 DHT11 采集驱动............... 221 22.2:协议栈下实现流程:................. 223 22.2.1 初始化传感器................ 223 22.2.2 采集指令发送................ 224 22.3 应用与调试....................................225 22.3.1 下载................................ 225 22.3.2 测试................................ 228 第 23 章 蓝牙温湿度测量二..........................230 23.1 温湿度 DHT11 采集驱动............... 231 23.2:协议栈下实现流程:................. 232 23.2.1 初始化传感器................ 233 23.2.2 私有任务建立................ 234 23.2.2.1 DHT11 服 务 特 性 的 添 加:........................................ 234 23.2.2.2 增加特性:............. 236 Copyright© 2009-2015 青风电子社区 ALL rights reserved 3
淘宝地址:http://qfv5.taobao.com/ 28.2.1 下载................................... 272 28.2.2 测试................................... 274 第 29 章 动态秘钥应用(待更新)............. 276 第六篇章 蓝牙 4.x 综合应用 (待更新).. 276 第 30 章 蓝牙防丢器的应用(待更新)..... 276 第 31 章 蓝牙 ibeacon 的应用(待更新).. 276 第 32 章 空中升级 DFU 的应用(待更新)276 第七篇 蓝牙 4.x 无线网络的组建................ 292 第 33 章 主从串口网络的建立........................292 33.1:nrf52832 蓝牙主机的主程序流程:293 33.2 主机蓝牙串口过程分析:............. 295 33.2.1 主机设备和从机设备连接分 析......................................................295 33.2.2 主机蓝牙串口数据流分析:300 33.2.2.1 从 机 到 主 机 的 数 据 流 向:........................................ 300 33.2.2.2 主 机 发 送 到 从 机 的 数 据流向:................................ 304 33.3 应用与调试.......................... 306 33.3.1 软件准备:................. 306 33.3.2 实验现象:................ 310 第 34 章 主机扫描(待更新)........................311 第 35 章 主机心电详解(待更新)................311 第 36 章 主从 1 拖 8 网络的实现(待更新)311 第 37 章 主从一体详解(待更新)................311 青风蓝牙教程 nrf52832 V1.0 23.2.2.3 采集温湿度数据更新: ................................................ 236 23.2.3 定时器的建立................ 237 23.2.4 主函数的实现:............ 239 23.3 应用与调试....................................240 23.3.1 下载................................... 240 23.3.2 测试................................ 242 第 24 章 蓝牙 ADC 光照强度的采集(待更新) ............................................................................ 244 第五篇 蓝牙参数及安全配置........................244 第 25 章 蓝牙 MAC 地址.............................. 245 25.1:BLE 设备地址类型:...................245 25.1.1 公共设备地址 Public Device Address............................................ 245 25.1.2 随 机 设 备 地 址 Random Device Address................................ 246 25.1.2.1 静 态 设 备 地 址 Static Device Address.......................247 25.1.2.2 私 密 设 备 地 址 Private Device Address.......................247 25.2:nrf52832 地址配置:....................249 25.3 设置自己的 MAC 地址:.............. 252 25.4 应用与调试......................................254 25.4.1 下载................................... 254 25.4.2 测试................................... 256 第 26 章 蓝牙发送功率设置..........................257 26.1:nrf52832 蓝牙 BLE 的发送功率设置: ...................................................................257 26.2 应用与调试......................................259 26.2.1 下载................................... 259 26.2.2 测试..................................261 第 27 章 蓝牙信号强度 rssi 的获取............. 261 27.1:nrf52832 蓝牙 BLE 的 rssi 获取:262 27.1.1 BLE 定时器声明..................262 27.1.2 定时器开始定时................. 264 27.1.3 主函数编写......................... 264 27.2 应用与调试......................................265 27.2.1 下载................................... 265 27.2.2 测试................................... 267 第 28 章 静态密码配对..................................268 28.1:静态密钥设置:............................268 28.1.1 设置静态密钥..................... 268 28.1.2 配对事件配置..................... 271 28.2 应用与调试......................................272 Copyright© 2009-2015 青风电子社区 ALL rights reserved 4
青风带你玩蓝牙nrf52832 V1.0 淘宝地址:http://qfv5.taobao.com/ 青风带你玩蓝牙 nrf52832 系列教程 ------------作者:青风 出品论坛: www.qfv8.com 青风电子社区 Copyright© 2009-2015 青风电子社区 ALL rights reserved 5
青风带你玩蓝牙nrf52832 V1.0 淘宝地址:http://qfv5.taobao.com/ 作者: 青风 出品论坛: www.qfv8.com 淘宝店:http://qfv5.taobao.com QQ 技术群:346518370 硬件平台:青云 QY-nrf52832 开发板 第一篇 软硬件预备篇 第 1 章 青云蓝牙 nrf52832 开发板硬件资源 1.1 硬件芯片介绍 QY-nrf52832 是一个功能强大的蓝牙开发套件,支持蓝牙低功耗(BLE)协议和私 有协议。 它为广大的产品开发人员提供了一个平台,帮助工程师进行产品的开发、评估、 测试。nrf52832 属于挪威 NORDIC 公司推出的 nRF52 系列 2.4G 无线低功耗片上方案解决 系统中的一员。凭借超低的功耗、优越的性能、卓越的设计、nrf52832 得到了越来越广泛 的应用。 nrf52832 是一款为超低功耗无线应用(ULP wirelesss applications)打造的多协议单芯 片解决方案。它整合了 Nordic 一流的无线收发器,一个 ARM Cortex M4 内核以及 512KB 的 flash + 64KB 的 RAM。nrf52832 支持 Bluetooth4.0 low energy 和专用的 2.4GHz 协议 栈。 1. 关键特性: • 支持多种 2.4GHz radio • 32 位 ARM Cortex M4 processor • 512kB flash/64kB RAM • Software stacks available as downloads • nRF52xxx 系列管脚兼容 • 应用程序与协议栈完全分离的开发方式 • 512kB Flash Copyright© 2009-2015 青风电子社区 ALL rights reserved 6
V1.0 淘宝地址:http://qfv5.taobao.com/ 64kB RAM 青风带你玩蓝牙nrf52832 • Digital I/O • 与 nRF24L-series 完全兼容 • 可编程的输出功率 from +4dBm to -20dBm • RSSI • RAM mapped FIFOs using EasyDMA • • Dynamic on air payload length up to 512 Bytes • 灵活可配置的 31 pin GPIO • • • 全功能的数字接口: SPI/2-wire/UART • • • 10-bit ADC 128-bit AES ECB/CCM/AAR co-processor Quadrature demodulator Programmable Peripheral Interface – PPI Simple ON/OFF 全局电源管理 2.更低的功耗,更高的性能: nrf52832 使用 32 位 ARM Cortex M4 核心,片上 512kB 的 flash。相对于 8/16 位的平 台拥有更佳的代码密度和更快的执行速度。可编程外设互联(Programmable Peripheral Interconnect, PPI)系统提供了一个 16 通道的总线,使外设可在没有 MCU 介入的情况下 进行直接的和自主的通信。这将减少外设经由 CPU 通信造成的延迟,并可在通信过程中 保持 CPU 休眠以减少能耗。该芯片有两种电源模式 - ON/OFF, 并且所有系统模块和外设 都有独立的电源管理,用于控制相应模块根据任务需求在 RUN/IDLE 状态间进行切换。 全新的 Radio 模块是 nrf52832 优秀性能的基础。该模块支持低功耗蓝牙(Bluetooth low energy)并同时兼容 Nordic 的 nRF24L 系列产品。输出功率范围在+4dBm 到-20dBm 之间,步进为 4dB。超高的灵敏度可接收变化范围在-96 与-85dBm 之间的信息(取决于 数据速率)。蓝牙低功耗模式下的灵敏度为-92.5dB。. • • • • • • • Low cost external crystal 16MHz ± 40ppm Low power 16MHz crystal and RC oscillators Ultra low-power 32kHz crystal and RC oscillators 宽幅供电电压 (1.8 V to 3.6 V) On-chip DC/DC buck converter 全部外设的独立电源管理 封装: 48-pin 6x6 QFN 1.2 青云 nrf52832 蓝牙开发平台硬件详解 青风 nrf52832 蓝牙开发平台针对试下物联网兴起的特点,从低功耗蓝牙无线单芯片 SOC--nrf52832 为基础,设计的蓝牙开发平台如下几个部分: 整个平台如下图 1 所示,平台小巧,方便调试,同时功能比较丰富,其设计综合考虑 了成本和功能这两个矛盾,结合物联网应用下蓝牙的相关特点,最终确定了本平台设计。 1.2.1 青云 nrf52832 专业版资源简介 QY-nrf52832 开发板整体设计框图如下图所示,包含多个外设: Copyright© 2009-2015 青风电子社区 ALL rights reserved 7
青风带你玩蓝牙nrf52832 V1.0 淘宝地址:http://qfv5.taobao.com/ 匹 配 板 载 天 线 核心芯片: nrf52832QFAA 1 个 32MHZ 高 速晶振; 1 个 32.758KHZ 低速晶振; 复位按键 板载电位器 SWD 接口引出 USB 转串口 cp2102 所有 I/O 口引出 3 个用户 LED 灯 2 个用户按键 Usb 电源 5V 转 3.3V 锂电池座 QY-nrf52832 开发板板载资源介绍如下: 板子实物功能如下图所示: 青云 nRF52832 开发板小巧便捷,有锂电池供电,可以随身携带。方便易 用。主要特性: • 兼容官方 nRF52832_DK PCA10040 的外围接口. • 兼容 2.4 GHz nRF24L 系列芯片(on-the-air) • 支持 Bluetooth low energy(低功耗蓝牙 4.x) • PCB 印制天线(Inverted F Antenna) • 支持 NFC • 具有引出 SWD 调试接口 • 4 个独立可编程 LED(共阴极) • 四个用户按键 • CP2102 调试接口(USB 转串口) • 支持 iOS /安卓应用,提供源码 • 一个 OLED 接口 • 一个 ADC 电位器 板子功能如下图所示: Copyright© 2009-2015 青风电子社区 ALL rights reserved 8
分享到:
收藏