本书全面介绍物联网工程的蓝牙4.0低功耗开发技术。全书分为4篇,共18章。其中,第1篇是实验软、硬件平台的搭建,一步一步地介绍如何构架简单的蓝牙软硬实验平台;第2篇是蓝牙基础实验,讲解最简单的无操作系统的蓝牙芯片实验,让读者充分了解和熟悉蓝牙芯片,为后续的蓝牙通信开发打下基础;第3篇是低功耗蓝牙通信协议栈,主要介绍低功耗蓝牙通信原理以及如何自定义硬件抽象层,本篇内容是后面的蓝牙通信实验的理论和实验基础;第4篇是低功耗蓝牙通信实验,先从学着改造简单的蓝牙协议栈范例项目开始,再定制一个我的蓝牙感知器iSensor,在iSensor中一步步实践蓝牙协议栈的通信原理,然后结合USB模块综合应用蓝牙设备实现蓝牙键鼠、蓝牙CDC串口通信及网络处理机,最后讲述了应用蓝牙无线分析仪测试蓝牙通信。
目录
第1篇概述及实验平台
第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.2IAR 8051?8.3的下载、安装和破解12
2.2.1下载IAR 8051?8.312
2.2.2安装IAR 8051?8.313
2.2.3破解IAR 8051?8.317
2.3IAR 8051集成开发环境简介21
2.4IAR 8051 C/C++22
2.5安装相关支持软件22
第3章蓝牙4.0 BLE硬件开发平台搭建24
3.1选择世嵌开发板的理由24
3.2世嵌最简配置开发套件25
3.2.1核心板WB2540MVA26
3.2.2底板WX253028
3.2.3仿真器CCDBG33
3.3搭建实验硬件环境35
3.4创建工程——点亮LED37
第2篇基 础 实 验
第4章GPIO实验534.1LED实验: 打开所有LED53
4.1.1任务要求及效果呈现53
物联网技术实践教程——基于蓝牙4
目录4.1.2实验原理54
4.1.3实验步骤56
4.1.4源码清单59
4.2LED实验: 让LED一闪一闪59
4.2.1任务要求及效果呈现59
4.2.2实验原理60
4.2.3源码清单60
4.3LED实验: 实现流水灯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按键实验: 按键控制LED66
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.2Flash读写实验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.2SPI总线实验(诺基亚5110液晶屏驱动)161
10.2.1任务要求及效果呈现161
10.2.2实验原理163
10.2.3源码清单171
第3篇BLE协议栈
第11章蓝牙4.0协议栈基础19711.1BLE协议栈整体构架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.1GAP角色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.1BLE协议栈开发平台配置227
12.2BLE协议栈软件开发框架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.4OSAL操作系统抽象层236
12.4.1任务事件和事件处理236
12.4.2内存堆管理237
12.4.3OSAL消息237
12.5HAL硬件抽象层238
12.6BLE协议栈238
12.6.1通用访问配置文件239
12.6.2通用属性配置文件240
12.6.3GATT服务器应用程序241
12.7配置文件242
12.7.1GAP外围角色配置242
12.7.2GAP外围/广播多重角色配置243
12.7.3GAP Central Role Profile243
12.7.4GAP绑定管理器244
12.7.5简单属性配置文件245
12.7.6简单按键属性配置文件252
12.7.7设备信息服务253
12.7.8其他属性配置文件253
下载体验