功耗蓝牙开发权威性指南根据与經典手机蓝牙作比照,详细详细介绍了将深层次危害下多次无线通信技术辛亥革命的功耗蓝牙技术的造成、设计方案、原理以及优良的环保节能、抗干扰性特点和灵便、简易的开发设计特性。这书分成4个一部分,各自论述了功耗蓝牙技术以及控制板、服务器的原理,及其手机应用程序的开发设计,合适从业功耗手机蓝牙产品研发工作中的技术工程师、应用开发工作人员、室内设计师或网络营销工作人员等各种用户阅读文章
目录
- 译者序
- 前言
- 第一部分 综 述
- 第1章 什么是低功耗蓝牙技术 2
- 1.1 设备类型 4
- 1.2 设计目标 5
- 1.3 术语 6
- 第2章 基本概念 8
- 2.1 纽扣电池 8
- 2.2 时间即能量 9
- 2.3 昂贵的内存 10
- 2.4 非对称设计 10
- 2.5 为成功而设计 11
- 2.6 凡事皆有状态 12
- 2.7 客户端–服务器架构 12
- 2.8 模块化架构 13
- 2.9 十亿只是个小数目 14
- 2.10 无连接模型 14
- 2.11 范式 14
- 2.11.1 客户端–服务器架构 14
- 2.11.2 面向服务的架构 15
- 第3章 低功耗蓝牙的体系结构 19
- 3.1 控制器 20
- 3.1.1 物理层 20
- 3.1.2 直接测试模式 20
- 3.1.3 链路层 21
- 3.1.4 主机/控制器接口 22
- 3.2 主机 22
- 3.2.1 逻辑链路控制和适配协议 22
- 3.2.2 安全管理器协议 23
- 3.2.3 属性协议 23
- 3.2.4 通用属性规范 24
- 3.2.5 通用访问规范 25
- 3.3 应用层 25
- 3.3.1 特性 26
- 3.3.2 服务 26
- 3.3.3 规范 26
- 3.4 协议栈划分 27
- 3.4.1 单芯片解决方案 27
- 3.4.2 双芯片解决方案 28
- 3.4.3 三芯片解决方案 28
- 第4章 新的使用模型 30
- 4.1 存在检测 30
- 4.2 广播数据 31
- 4.3 无连接模式 31
- 4.4 网关 32
- 第二部分 控 制 器
- 第5章 物理层 36
- 5.1 背景 36
- 5.2 模拟调制 36
- 5.3 数字调制 38
- 5.4 频段 39
- 5.5 调制 40
- 5.6 射频信道 41
- 5.7 发射功率 41
- 5.8 容限 42
- 5.9 接收机灵敏度 42
- 5.10 通信距离 42
- 第6章 直接测试模式 45
- 6.1 背景 45
- 6.2 收发机测试 46
- 6.2.1 测试报文格式 46
- 6.2.2 发射机测试 47
- 6.2.3 接收机测试 47
- 6.3 硬件接口 48
- 6.3.1 串口 48
- 6.3.2 命令与事件 48
- 6.4 使用HCI的直接测试模式 50
- 第7章 链路层 51
- 7.1 链路层状态机 51
- 7.1.1 就绪态 52
- 7.1.2 广播态 53
- 7.1.3 扫描态 53
- 7.1.4 发起态 54
- 7.1.5 连接态 55
- 7.1.6 多状态机 55
- 7.2 报文 57
- 7.2.1 广播与数据报文 57
- 7.2.2 白化 57
- 7.3 报文结构 59
- 7.3.1 比特序与字节 60
- 7.3.2 前导 60
- 7.3.3 接入地址 60
- 7.3.4 报头 61
- 7.3.5 长度 61
- 7.3.6 净荷 63
- 7.3.7 循环冗余校验 63
- 7.4 信道 63
- 7.4.1 跳频 66
- 7.4.2 自适应跳频 66
- 7.5 设备发现 68
- 7.5.1 通用广播 69
- 7.5.2 定向广播 69
- 7.5.3 不可连接广播 70
- 7.5.4 可发现广播 70
- 7.6 广播 70
- 7.7 建立连接 71
- 7.7.1 接入地址 72
- 7.7.2 CRC初始化 72
- 7.7.3 发送窗口 72
- 7.7.4 连接事件 73
- 7.7.5 信道图 74
- 7.7.6 睡眠时钟精度 74
- 7.8 发送数据 74
- 7.8.1 数据报头 75
- 7.8.2 逻辑链路标识符 75
- 7.8.3 序列号 76
- 7.8.4 确认 76
- 7.8.5 更多数据 77
- 7.8.6 使用序列号和更多数据的例子 77
- 7.9 加密 79
- 7.9.1 AES 79
- 7.9.2 加密净荷数据 80
- 7.9.3 消息完整性校验 81
- 7.10 管理连接 82
- 7.10.1 连接参数更新 83
- 7.10.2 自适应跳频 84
- 7.10.3 启动加密 85
- 7.10.4 重启加密 87
- 7.10.5 版本交换 87
- 7.10.6 功能交换 89
- 7.10.7 终止连接 90
- 7.11 鲁棒性 90
- 7.11.1 自适应跳频 90
- 7.11.2 强CRC 92
- 7.12 为低功耗优化 93
- 7.12.1 短报文 93
- 7.12.2 高比特率 94
- 7.12.3 低开销 95
- 7.12.4 确认机制 96
- 7.12.5 单信道连接事件 96
- 7.12.6 亚速率连接事件 97
- 7.12.7 离线加密 98
- 第8章 主机/控制器接口 99
- 8.1 介绍 99
- 8.2 物理接口 99
- 8.2.1 UART 99
- 8.2.2 3线UART 100
- 8.2.3 USB 101
- 8.2.4 SDIO 102
- 8.3 逻辑接口 102
- 8.3.1 HCI信道 102
- 8.3.2 命令数据包 102
- 8.3.3 事件数据包 103
- 8.3.4 数据包 104
- 8.3.5 命令流控 105
- 8.3.6 数据流控 106
- 8.4 控制器的配置 106
- 8.4.1 重置控制器为已知状态 106
- 8.4.2 读取设备地址 107
- 8.4.3 设置事件掩码 107
- 8.4.4 读取缓冲区大小 108
- 8.4.5 读取控制器支持的功能 109
- 8.4.6 读取控制器支持的状态 109
- 8.4.7 随机数 110
- 8.4.8 加密数据 110
- 8.4.9 设置随机地址 111
- 8.4.10 白名单 112
- 8.5 广播和观察 112
- 8.5.1 广播 112
- 8.5.2 被动扫描 114
- 8.5.3 主动扫描 115
- 8.6 发起连接 116
- 8.6.1 与白名单设备发起连接 116
- 8.6.2 与单一设备发起连接 118
- 8.6.3 取消连接请求 118
- 8.7 连接管理 119
- 8.7.1 更新连接 119
- 8.7.2 更新信道映射图 120
- 8.7.3 交换功能列表 121
- 8.7.4 交换版本信息 121
- 8.7.5 加密连接 122
- 8.7.6 重启加密 123
- 8.7.7 终止连接 125
- 第三部分 主 机
- 第9章 逻辑链路控制和适配协议 128
- 9.1 背景 128
- 9.2 L2CAP信道 130
- 9.3 L2CAP数据包结构 130
- 9.4 低功耗信令信道 131
- 9.4.1 命令拒绝 132
- 9.4.2 连接参数更新请求和响应 132
- 第10章 属性 135
- 10.1 背景 135
- 10.1.1 精简协议 136
- 10.1.2 无所不在的数据 136
- 10.1.3 数据与状态 137
- 10.1.4 几种常见的状态 137
- 10.1.5 状态机 138
- 10.1.6 服务和规范 139
- 10.2 属性 142
- 10.2.1 属性概述 143
- 10.2.2 属性句柄 143
- 10.2.3 属性类型 143
- 10.2.4 属性值 144
- 10.2.5 数据库、服务器和客户端 145
- 10.2.6 属性许可 145
- 10.2.7 接入属性 147
- 10.2.8 原子操作和事务 148
- 10.3 分组 149
- 10.4 服务 150
- 10.4.1 扩展服务 151
- 10.4.2 其他服务的重用 153
- 10.4.3 结合服务 153
- 10.4.4 首要还是次要 154
- 10.4.5 即插即用的客户端应用 156
- 10.4.6 服务声明 157
- 10.4.7 包含服务 158
- 10.5 特性 159
- 10.5.1 特性声明 159
- 10.5.2 特性数值 161
- 10.5.3 描述符 161
- 10.6 属性协议 164
- 10.6.1 协议消息 165
- 10.6.2 交换MTU请求 165
- 10.6.3 查找信息请求 166
- 10.6.4 按类型值查找请求 167
- 10.6.5 按类型读取请求 168
- 10.6.6 读取请求 168
- 10.6.7 大对象读取请求 168
- 10.6.8 多重读取请求 169
- 10.6.9 按组类型读取请求 169
- 10.6.10 写入请求 169
- 10.6.11 写入命令 169
- 10.6.12 签名写入命令 169
- 10.6.13 准备写入请求与执行写入请求 170
- 10.6.14 句柄值通知 171
- 10.6.15 句柄值指示 171
- 10.6.16 错误响应 171
- 10.7 通用属性规范 173
- 10.7.1 发现规程 174
- 10.7.2 发现服务 174
- 10.7.3 特性发现 175
- 10.7.4 客户端发起规程 176
- 10.7.5 服务器发起规程 178
- 10.7.6 属性协议数据单元(ATT PDU)到GATT规程的映射 178
- 第11章 安全 180
- 11.1 安全概念 180
- 11.1.1 认证 180
- 11.1.2 授权 181
- 11.1.3 完整性 181
- 11.1.4 机密性 182
- 11.1.5 隐私 182
- 11.1.6 加密引擎 182
- 11.1.7 共享机密 182
- 11.2 配对和绑定 185
- 11.2.1 配对 185
- 11.2.2 配对信息交换 185
- 11.2.3 认证 186
- 11.2.4 密钥分配 187
- 11.2.5 绑定 188
- 11.3 数据签名 188
- 第12章 通用访问规范 189
- 12.1 背景 189
- 12.1.1 初次发现 190
- 12.1.2 建立初始连接 191
- 12.1.3 服务特性 191
- 12.1.4 长期关系 192
- 12.1.5 重连 192
- 12.1.6 私有地址 193
- 12.2 GAP角色 193
- 12.3 模式和规程 194
- 12.3.1 广播模式和观察规程 195
- 12.3.2 可发现性 195
- 12.3.3 可连接性 197
- 12.3.4 绑定 199
- 12.4 安全模式 200
- 12.5 广播数据 201
- 12.5.1 标识 202
- 12.5.2 服务 202
- 12.5.3 本地名称 203
- 12.5.4 发射功率等级 203
- 12.5.5 从设备连接间隔范围 203
- 12.5.6 服务请求 203
- 12.5.7 服务数据 203
- 12.5.8 制造商指定数据 203
- 12.6 GAP服务 204
- 12.6.1 设备名特性 204
- 12.6.2 外观特性 204
- 12.6.3 外围设备隐私标识 204
- 12.6.4 重连地址 205
- 12.6.5 外围设备首选连接参数 205
- 第四部分 应 用
- 第13章 中央设备 208
- 13.1 背景 208
- 13.2 发现设备 208
- 13.3 连接设备 209
- 13.4 这个设备能做什么 210
- 13.5 通用客户端 211
- 13.6 与服务交互 211
- 13.6.1 可读特性 212
- 13.6.2 控制点 212
- 13.6.3 状态机 213
- 13.6.4 通知和指示 214
- 13.7 绑定 214
- 13.8 变更服务 215
- 13.9 实现规范 216
- 13.9.1 定义规范 216
- 13.9.2 查找服务 217
- 13.9.3 查找特性 217
- 13.9.4 使用特性 217
- 13.9.5 规范安全 217
- 第14章 外围设备 219
- 14.1 背景 219
- 14.2 仅广播 219
- 14.3 可发现 220
- 14.4 可连接 220
- 14.5 公开服务 221
- 14.6 特性 221
- 14.7 安全事项 222
- 14.8 为低功耗优化 222
- 14.8.1 可发现广播 224
- 14.8.2 绑定 224
- 14.8.3 可连接广播 224
- 14.8.4 定向广播 225
- 14.8.5 已连接 225
- 14.8.6 保持连接还是断开 226
- 14.9 优化属性 227
- 第15章 测试和质量鉴定 229
- 15.1 启动项目 229
- 15.2 选择功能 231
- 15.3 一致性检查 232
- 15.4 生成测试计划 232
- 15.5 建立合规文件夹 232
- 15.6 鉴定测试 233
- 15.7 鉴定设计 234
- 15.8 合规声明 234
- 15.9 产品名录 234
- 15.10 结合组件 235