第1章 无线传感器网络 1
1.1 无线传感器网络概述 1
1.2 无线传感器网络的发展历程 2
1.3 无线传感器网络的研究现状和前景 3
1.4 无线传感器网络的特点 3
1.5 无线传感器网络体系结构 5
1.6 无线传感器网络的关键技术 8
1.7 无线传感器网络的应用与发展 9
1.8 典型短距离无线通信网络技术 10
1.9 无线传感器网络的主要研究领域 13
第2章 IEEE 802.15.4无线传感器网络通信标准 15
2.1 IEEE 802.15.4标准概述 15
2.2 网络组成和拓扑结构 18
2.3 协议栈架构 20
2.4 物理层规范 21
2.5 MAC层规范 23
2.6 MAC/PHY信息交互流程 29
2.7 基于IEEE 802.15.4标准的无线传感器网络 29
第3章 ZigBee无线传感器网络通信标准 32
3.1 ZigBee标准概述 32
3.2 ZigBee技术特点 33
3.3 ZigBee协议框架 35
3.4 ZigBee网络层规范 35
3.5 ZigBee应用层规范 38
3.6 ZigBee安全服务规范 40
第4章 ZigBee开发平台 41
4.1 ZigBee硬件开发平台 42
4.1.1 CC2530射频模块 42
4.1.2 调试器接口 44
4.1.3 ZigBee学习板 44
4.2 ZigBee软件开发平台 47
4.2.1 IAR简介 47
4.2.2 IAR基本操作 48
第5章 CC2530基础实验 54
5.1 CC2530无线片上系统概述 54
5.1.1 CC2530芯片主要特性 55
5.1.2 CC2530的应用领域 55
5.1.3 CC2530概述 56
5.1.4 CC2530芯片引脚的功能 58
5.1.5 CC2530增强型8051内核简介 59
5.2 通用I/O端口 60
5.2.1 通用I/O端口简介 60
5.2.2 通用I/O端口相关寄存器 60
5.2.3 实验1:点亮LED 61
5.2.4 实验2:按键控制LED交替闪烁 63
5.3 外部中断 64
5.3.1 中断概述 64
5.3.2 中断屏蔽 65
5.3.3 中断处理 68
5.3.4 实验:按键中断控制LED 71
5.4 定时器 73
5.4.1 片内外设I/O 73
5.4.2 定时器简介 74
5.4.3 定时器1寄存器 75
5.4.4 定时器1操作 76
5.4.5 16位计数器 77
5.4.6 实验1:定时器1控制LED闪烁 78
5.4.7 定时器3概述 79
5.4.8 实验2:定时器1和定时器3同时控制LED1和LED2以不同频率闪烁 80
5.5 1602型LCD 82
5.5.1 1602型LCD简介 82
5.5.2 1602型LCD引脚功能 82
5.5.3 1602型LCD的特性 83
5.5.4 1602型LCD字符集 83
5.5.5 1602型LCD基本操作程序 83
5.5.6 1602型LCD指令集 84
5.5.7 1602型LCD 4线连接方式 85
5.5.8 实验:LCD显示实验 85
5.6 USART 90
5.6.1 串行通信接口 90
5.6.2 串行通信接口寄存器 91
5.6.3 设置串行通信接口寄存器波特率 93
5.6.4 实验1:UART发送 93
5.6.5 UART接收 95
5.6.6 实验2:UART发送与接收 96
5.7 ADC 99
5.7.1 ADC简介 99
5.7.2 ADC输入 99
5.7.3 ADC寄存器 100
5.7.4 ADC转换结果 102
5.7.5 单个ADC转换 102
5.7.6 片内温度传感器实验 102
5.8 睡眠定时器 104
5.8.1 睡眠定时器简介 104
5.8.2 睡眠定时器寄存器 105
5.8.3 实验:睡眠定时器唤醒实验 105
5.9 时钟和电源管理 110
5.9.1 CC2530电源管理简介 110
5.9.2 CC2530电源管理控制 111
5.9.3 CC2530振荡器和时钟 111
5.9.4 实验:中断唤醒系统实验 111
5.10 看门狗 114
5.10.1 看门狗模式 115
5.10.2 定时器模式 115
5.10.3 看门狗定时器寄存器 116
5.10.4 实验:看门狗实验 116
5.11 DMA 118
5.11.1 DMA操作 119
5.11.2 DMA配置参数 119
5.11.3 DMA配置安装 122
5.11.4 实验:DMA传输 123
第6章 常用传感器 127
6.1 数字温湿度传感器DHT11 127
6.1.1 DHT11简介 127
6.1.2 DHT11典型应用电路 127
6.1.3 DHT11串行接口 128
6.1.4 DHT11串行接口通信过程 128
6.1.5 实验:DHT11实验 129
6.2 红外人体感应模块实验 133
6.2.1 红外人体感应模块功能特点 133
6.2.2 红外人体感应模块实物 133
6.2.3 实验:红外人体感应模块实验 134
6.3 结露传感器实验 134
6.3.1 HDS05结露传感器特性曲线 135
6.3.2 HDS05结露传感器电路设计 135
6.3.3 HDS05结露传感器实物 135
6.3.4 实验:结露传感器实验 136
6.4 烟雾传感器模块 138
6.4.1 烟雾传感器模块的功能特点 138
6.4.2 烟雾传感器模块实物 138
6.4.3 实验:烟雾传感器模块实验 139
6.5 光强度传感器模块 139
6.5.1 GY-30数字光模块介绍 139
6.5.2 数字光模块实物 140
6.5.3 I2C总线介绍 140
6.5.4 实验:光强度传感器模块实验 141
第7章 CC2530实现红外通信 148
7.1 红外通信简介 148
7.1.1 红外线通信的特点 148
7.1.2 红外线发射和接收 148
7.1.3 红外线遥控发射和接收电路 149
7.1.4 红外发射电路 150
7.1.5 NEC协议 150
7.2 实验1:中断方式发射红外信号 150
7.3 实验2:PWM方式输出红外信号 157
7.4 实验3:红外接收实验 161
第8章 Z-Stack协议栈 165
8.1 Z-Stack协议栈基础 165
8.1.1 Z-Stack协议栈简介 165
8.1.2 Z-Stack协议栈基本概念 165
8.1.3 Z-Stack的下载与安装 168
8.2 Sample Application工程 169
8.2.1 Sample Application工程简介 169
8.2.2 Sample Application工程概况 170
8.2.3 Sample Application工程初始化与事件的处理 170
8.2.4 Sample Application工程事件的处理函数 172
8.2.5 Sample Application工程流程 173
8.3 OSAL循环 178
8.3.1 Z-Stack的任务调度 178
8.3.2 Z-Stack主函数 179
8.3.3 Z-Stack任务的初始化 180
8.3.4 Z-Stack的系统主循环 181
8.4 数据的发送和接收 184
8.4.1 网络参数的设置 184
8.4.2 数据的发送 186
8.4.3 数据的接收 189
8.5 修改LED驱动 191
8.6 修改按键驱动 195
8.6.1 Z-Stack的按键机制概述 195
8.6.2 Z-Stack按键的宏定义 195
8.6.3 Z-Stack按键初始化代码分析 196
8.6.4 Z-Stack按键的配置 199
8.6.5 Z-Stack轮询方式按键处理 201
8.6.6 Z-Stack中断方式按键处理 206
8.7 Z-Stack 2007串口机制 213
8.7.1 串口配置 213
8.7.2 串口初始化 215
8.7.3 串口接收数据 220
8.7.4 Z-Stack串口发送数据 225
8.8 Z-Stack启动分析 227
8.8.1 启动配置 227
8.8.2 Z-Stack启动相关概念 228
8.8.3 SampleApp工程协调器启动过程分析 232
8.9 ZigBee绑定机制 236
8.10 SimpleApp工程 237
8.10.1 SimpleApp的打开 237
8.10.2 SimpleApp启动分析 238
8.11 灯开关实验 240
8.11.1 SimpleController.c 240
8.11.2 SimpleSwitch.c 244
8.11.3 灯开关实验其他函数分析 248
8.12 传感器采集实验 249
8.12.1 采集节点SimpleCollector.c 249
8.12.2 传感器节点SimpleSensor.c 251
第9章 智能家居系统 254
9.1 智能家居系统设计 254
9.1.1 智能家居系统的需求分析 254
9.1.2 智能家居系统分析 255
9.1.3 智能家居系统软件设计 255
9.2 智能家居系统开发环境的搭建 256
9.2.1 Mini6410 ARM11开发板 256
9.2.2 建立Android应用开发环境 256
9.2.3 在Andorid程序中访问串口 260
9.2.4 Android上的Servlet服务器i-jetty 261
9.3 智能家居系统下位机程序设计 262
9.3.1 下位机程序设计思路 262
9.3.2 一键报警功能下位机实现 262
9.3.3 水浸报警功能下位机实现 263
9.3.4 中断方式报警的红外入侵传感器的实现 264
9.4 智能家居系统设置模块的实现 265
9.4.1 SQLite简介 265
9.4.2 Android系统中SQLite数据库的操作 266
9.4.3 智能家居系统设置模块的实现 267
9.5 智能家居系统监听服务的实现 270
9.5.1 Android Service 270
9.5.2 Android多线程 271
9.5.3 短信的发送与接收 273
9.5.4 智能家居系统监听服务的实现 274
9.6 Web方式访问智能家居系统 279
9.6.1 ContentProvider简介 280
9.6.2 ContentProvider操作 280
9.6.3 创建ContentProvider 282
9.6.4 Web方式访问智能家居系统 283
第10章 智能温室系统 290
10.1 智能温室系统设计 290
10.1.1 智能温室定义 290
10.1.2 智能温室系统的需求分析 290
10.1.3 智能温室系统分析 291
10.2 智能温室系统控制功能的实现 291
10.2.1 继电器 291
10.2.2 控制板中控制电路的实现 292
10.2.3 智能温室系统控制功能的实现 293
10.3 智能温室系统休眠功能的实现 294
10.4 协调器直接访问Web服务器 295
10.4.1 设置wificp210x模块 295
10.4.2 使用wificp210x模块访问Web服务器 296
10.4.3 编程实现ZigBee协调器数据上传至Web服务器 297
第11章 学生考勤管理系统 299
11.1 学生考勤管理系统设计 299
11.1.1 校园一卡通学生考勤管理系统的组成 299
11.1.2 校园一卡通学生考勤管理系统的可行性分析 300
11.1.3 校园一卡通学生考勤管理系统的需求分析 300
11.2 学生考勤管理系统的时钟功能的实现 300
11.2.1 DS1302实时时钟电路 300
11.2.2 DS1302实时时钟模块 300
11.2.3 DS1302实时时钟模块的操作说明 301
11.2.4 DS1302时钟模块例程 303
11.2.5 Z-Stack中使用DS1302时钟模块实现显示时间的功能 306
11.3 学生考勤管理系统读卡功能的实现 307
11.3.1 RFID介绍 307
11.3.2 M104BPC读写模块 309
11.3.3 例程 313
11.3.4 Z-Stack实现读卡功能 319
参考文献 322