《物联网技术实践教程 基于蓝牙4》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:毛剑飞,周雪主编;毛科技,竺超明,陈立建副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302399773
  • 页数:420 页
图书介绍:本书从简单介绍物联网技术开始,着重介绍蓝牙4.0技术,再从蓝牙4.0芯片CC2540的基础实验慢深入到蓝牙4.0的协议栈再到项目实战,由浅及深,让初学者从零基础开始,慢慢深入了解和学习蓝牙4.0.只要认真学习本书,我相信每个读者最后都能在物联网领域做出属于自己的作品。

第1篇 概述及实验平台 3

第1章 低功耗蓝牙 3

1.1 蓝牙与物联网 3

1.2 低功耗蓝牙与“我的物联网” 5

1.3 低功耗蓝牙概述 8

1.4 低功耗蓝牙的特点 9

第2章 蓝牙4.0 BLE软件开发平台搭建 11

2.1 选择IAR 8051的理由 11

2.2 IAR 8051-8.3 的下载、安装和破解 12

2.2.1 下载IAR 8051-8.3 12

2.2.2 安装IAR 8051-8.3 13

2.2.3 破解IAR 8051-8.3 17

2.3 IAR 8051集成开发环境简介 21

2.4 IAR 8051 C/C++ 22

2.5 安装相关支持软件 22

第3章 蓝牙4.0 BLE硬件开发平台搭建 24

3.1 选择世嵌开发板的理由 24

3.2 世嵌最简配置开发套件 25

3.2.1 核心板WB2540MVA 26

3.2.2 底板WX2530 28

3.2.3 仿真器CCDBG 33

3.3 搭建实验硬件环境 35

3.4 创建工程——点亮LED 37

第2篇 基础实验 53

第4章 GPIO实验 53

4.1 LED实验:打开所有LED 53

4.1.1 任务要求及效果呈现 53

4.1.2 实验原理 54

4.1.3 实验步骤 56

4.1.4 源码清单 59

4.2 LED实验:让LED一闪一闪 59

4.2.1 任务要求及效果呈现 59

4.2.2 实验原理 60

4.2.3 源码清单 60

4.3 LED实验:实现流水灯 61

4.3.1 任务要求及效果呈现 61

4.3.2 实验原理 61

4.3.3 源码清单 62

4.4 蜂鸣器实验:驱动蜂鸣器发声 63

4.4.1 任务要求及效果呈现 63

4.4.2 实验原理 63

4.4.3 源码清单 65

4.5 按键实验:按键控制LED 66

4.5.1 任务要求及效果呈现 66

4.5.2 实验原理 66

4.5.3 源码清单 69

4.6 按键实验:按键控制LED(中断方式) 71

4.6.1 任务要求及效果呈现 71

4.6.2 实验原理 71

4.6.3 源码清单 74

第5章 定时器实验 77

5.1 定时器实验:流水灯(查询方式) 77

5.1.1 任务要求及效果呈现 77

5.1.2 实验原理 77

5.1.3 源码清单 81

5.2 定时器实验:流水灯(中断方式) 83

5.2.1 任务要求及效果呈现 83

5.2.2 实验原理 83

5.2.3 源码清单 84

5.3 定时器实验:PWM控制蜂鸣器 86

5.3.1 任务要求及效果呈现 86

5.3.2 实验原理 87

5.3.3 示波器与开发板连接 90

5.3.4 源码清单 91

第6章 串口实验 97

6.1 串口发送实验:打印欢迎信息 97

6.1.1 任务要求及效果呈现 97

6.1.2 实验原理 97

6.1.3 硬件连接 102

6.1.4 源码清单 103

6.2 串口发送:用printf打印系统信息 104

6.2.1 任务要求及效果呈现 104

6.2.2 实验原理 104

6.2.3 源码清单 106

6.3 串口收发:用C标准库输入/输出函数 107

6.3.1 任务要求及效果呈现 108

6.3.2 实验原理 108

6.3.3 源码清单 109

6.4 串口收发:中断方式 112

6.4.1 任务要求及效果呈现 113

6.4.2 实验原理 113

6.4.3 源码清单 116

第7章 ADC实验 119

7.1 测量芯片内部温度和供电电压 119

7.1.1 任务要求及效果呈现 119

7.1.2 实验原理 120

7.1.3 源码清单 124

7.2 测量光照强度 126

7.2.1 任务要求及效果呈现 127

7.2.2 实验原理 127

7.2.3 源码清单 128

第8章 睡眠与唤醒实验 130

8.1 外部中断唤醒 130

8.1.1 任务要求及效果呈现 130

8.1.2 实验原理 131

8.1.3 源码清单 134

8.2 定时器唤醒 139

8.2.1 任务要求及效果呈现 139

8.2.2 实验原理 140

8.2.3 源码清单 142

第9章 看门狗实验、Flash读写实验 144

9.1 看门狗实验 144

9.1.1 任务要求及效果呈现 144

9.1.2 实验原理 145

9.1.3 源码清单 146

9.2 Flash读写实验 147

9.2.1 任务要求及效果呈现 148

9.2.2 实验原理 148

9.2.3 源码清单 150

第10章 总线实验 153

10.1 单总线实验(DS18B20驱动) 153

10.1.1 任务要求及效果呈现 153

10.1.2 实验原理 154

10.1.3 源码清单 157

10.2 SPI总线实验(诺基亚5110液晶屏驱动) 161

10.2.1 任务要求及效果呈现 161

10.2.2 实验原理 163

10.2.3 源码清单 171

第3篇 BLE协议栈 197

第11章 蓝牙4.0协议栈基础 197

11.1 BLE协议栈整体构架 197

11.2 物理层 198

11.3 链路层 198

11.3.1 链路层状态机 198

11.3.2 链路层报文 200

11.3.3 设备发现 200

11.3.4 关于广播 202

11.3.5 连接过程 202

11.3.6 数据发送 205

11.3.7 管理连接 205

11.4 主机/控制器接口 206

11.4.1 物理接口与逻辑接口 206

11.4.2 控制器的配置 206

11.4.3 广播与观察 207

11.4.4 发起连接 208

11.4.5 连接管理 210

11.5 逻辑链路控制和适配协议 210

11.6 属性协议层、通用属性配置文件层 210

11.6.1 服务器与客户端模型 210

11.6.2 属性 211

11.6.3 属性的访问 213

11.6.4 服务 213

11.6.5 特性 215

11.6.6 属性协议 216

11.6.7 通用属性规范 218

11.7 安全管理层 220

11.7.1 安全概念 220

11.7.2 配对和绑定 221

11.7.3 数据签名 221

11.8 通用访问配置文件层 222

11.8.1 GAP角色 222

11.8.2 模式和规程 222

11.8.3 广播模式和观察规程 223

11.8.4 可发现性 223

11.8.5 可连接性 224

11.8.6 绑定 226

第12章 TI蓝牙协议栈开发平台 227

12.1 BLE协议栈开发平台配置 227

12.2 BLE协议栈软件开发框架 228

12.3 协议栈应用程序运行机理 229

12.3.1 开始应用程序:main() 230

12.3.2 初始化系统:osal_init_system() 231

12.3.3 启动系统:osal_start_system() 233

12.3.4 系统运行机理 235

12.4 OSAL操作系统抽象层 236

12.4.1 任务事件和事件处理 236

12.4.2 内存堆管理 237

12.4.3 OSAL消息 237

12.5 HAL硬件抽象层 238

12.6 BLE协议栈 238

12.6.1 通用访问配置文件 239

12.6.2 通用属性配置文件 240

12.6.3 GATT服务器应用程序 241

12.7 配置文件 242

12.7.1 GAP外围角色配置 242

12.7.2 GAP外围/广播多重角色配置 243

12.7.3 GAP Central Role Profile 243

12.7.4 GAP绑定管理器 244

12.7.5 简单属性配置文件 245

12.7.6 简单按键属性配置文件 252

12.7.7 设备信息服务 253

12.7.8 其他属性配置文件 253

第13章 蓝牙协议栈项目开发入门 254

13.1 简单BLE外围设备 254

13.1.1 项目配置 254

13.1.2 Linker Map文件 257

13.1.3 simpleBLEPeripheral.c源码分析 258

13.2 简单BLE中央设备 273

13.2.1 项目配置 273

13.2.2 Linker Map文件 273

13.2.3 simpleBLECentral.c源码分析 274

第14章 定制硬件抽象层 281

14.1 增加外设驱动 281

14.2 修改hal_board_cfg 282

14.3 修改hal_led 284

14.4 修改hal_key 284

14.5 增强UART功能 286

14.6 增加Nokia 5110液晶屏驱动 294

第4篇 BLE通信实验 297

第15章 简单的蓝牙通信 297

15.1 引言 297

15.2 搭建蓝牙通信实验平台 298

15.3 源码相关配置修改 299

15.3.1 修改Simple BLE Peripherial项目 299

15.3.2 修改Simple BLE Central项目 301

15.4 实验过程演示 302

15.5 实验:实现自动连接和LED连接状态指示 305

15.5.1 任务要求及效果呈现 305

15.5.2 实验原理 307

15.5.3 源码修改 308

第16章 我的蓝牙感知器 312

16.1 控制LED 312

16.1.1 任务要求及效果呈现 313

16.1.2 实现外围设备 315

16.1.3 实现中央设备 319

16.2 感知外设CPU温度 328

16.2.1 任务要求及效果呈现 329

16.2.2 实现外围设备 330

16.2.3 实现中央设备 333

16.3 感知外设环境温度 336

16.3.1 任务要求及效果呈现 337

16.3.2 实现外围设备 338

16.3.3 实现中央设备 342

16.4 感知外设光照强度 344

16.4.1 任务要求及效果呈现 344

16.4.2 实现外围设备 346

16.4.3 实现中央设备 350

16.5 定时获取外设光照强度 352

16.5.1 任务要求及效果呈现 352

16.5.2 实现外围设备 355

16.5.3 实现中央设备 362

16.6 无线串口透传 364

16.6.1 任务要求及效果呈现 364

16.6.2 NPI模块原理与串口透传 366

16.6.3 实现外围设备 368

16.6.4 实现中央设备 371

第17章 蓝牙USB 376

17.1 iSensorHid(蓝牙键鼠) 377

17.1.1 任务要求及效果呈现 377

17.1.2 实现外围设备 385

17.1.3 实现中央设备 390

17.2 iSensorCDC(蓝牙USB串口) 395

17.2.1 任务要求及效果呈现 396

17.2.2 实现外围设备 398

17.2.3 实现中央设备 398

17.3 iHostTest(网络处理机) 400

17.3.1 实现iHost Test 400

17.3.2 系统初始化 402

17.3.3 建立连接 403

17.3.4 测试GATT属性服务 405

第18章 蓝牙通信测试与支持 414

18.1 蓝牙协议分析仪 414

18.2 蓝牙支持 417

参考文献 420