第1篇 无线传感器网络概述 3
第1章 无线传感器网络简介 3
1.1短距离无线网络概述 3
1.1.1短距离无线通信的特点 3
1.1.2常用短距离无线通信技术的介绍 3
1.2无线传感器网络发展历程 7
1.2.1无线数据网络 7
1.2.2无线自组织网络 10
1.2.3无线传感器网络 10
1.3无线传感器网络的特征 11
1.3.1传感器网络的特点 11
1.3.2传感器节点的限制 13
1.4传感器网络的关键技术 13
1.5无线传感器网络的应用 18
1.6无线传感器网络仿真平台 20
1.6.1 NS-2仿真平台 21
1.6.2 OPNET仿真平台 23
1.6.3 GloMoSim仿真平台 24
1.6.4 TOSSIM的系统结构及仿真方法 25
1.6.5 PowerTOSSIM 26
1.7无线传感器网络开发平台 28
1.8小结 32
参考文献 32
第2篇 无线传感器网络原理 37
第2章 无线传感器网络体系结构 37
2.1体系结构概述 37
2.2无线传感器网络体系结构 38
2.2.1无线传感器网络物理体系结构 38
2.2.2无线传感器网络软件体系结构 39
2.2.3无线传感器网络的协议栈 41
2.2.4无线传感器网络通信体系结构 41
2.3小结 43
参考文献 43
第3章 路由协议 45
3.1概述 45
3.2路由协议分类 46
3.3典型路由协议分析 48
3.3.1平面路由协议 48
3.3.2层次路由协议 52
3.3.3协议综合比较 56
3.4小结 56
参考文献 57
第4章MAC协议 60
4.1概述 60
4.1.1研究现状和趋势 60
4.1.2影响WSN的MAC协议因素 60
4.1.3协议特点 63
4.1.4 WSN的MAC协议设计策略 64
4.2 WSN的MAC协议分类 64
4.3 MAC协议分析比较 65
4.3.1 MAC协议分析 65
4.3.2 MAC协议的比较 73
4.4小结 75
参考文献 76
第5章 拓扑控制 79
5.1概述 79
5.2拓扑控制设计目标与研究现状 80
5.2.1拓扑控制的设计目标 80
5.2.2拓扑控制的研究现状 81
5.3拓扑模型与拓扑控制算法 85
5.3.1拓扑模型 85
5.3.2拓扑控制算法 86
5.4小结 93
参考文献 95
第6章WSN定位技术 101
6.1定位技术简介 101
6.1.1基本概念和评价指标 101
6.1.2定位算法的分类 104
6.2测距方法 106
6.2.1接收信号强度指示法 106
6.2.2到达时间法 107
6.2.3到达时间差法 108
6.2.4到达角法 108
6.3常用的定位计算方法 109
6.3.1三边定位与求解 109
6.3.2三角定位与求解 109
6.3.3极大似然估计法 110
6.4典型WSN定位系统和算法 110
6.4.1 Active Badge定位系统 111
6.4.2 Active Office 111
6.4.3 Cricket定位系统 111
6.4.4 APIT 111
6.4.5 AHLos 112
6.4.6 SPA相对定位 113
6.4.7凸规划 114
6.4.8 APS 114
6.4.9 Cooperative Ranging和Two-Phase Positioning 115
6.4.10 Generic Localized Algorithms 116
6.4.11 MDS-MAP 117
6.5定位算法设计的注意问题 117
6.5.1典型定位系统和算法比较 117
6.5.2定位算法设计的注意问题 120
6.6小结 121
参考文献 121
第7章 时间同步 125
7.1时间同步概述 125
7.1.1消息传递过程分解 125
7.1.2算法设计的影响因素 125
7.1.3算法的性能指标 126
7.2时间同步算法 127
7.2.1经典时间同步算法 127
7.2.2基于前同步思想的同步算法 131
7.2.3基于后同步思想的时间同步协议 133
7.3算法比较分析 133
7.4小结 135
参考文献 136
第8章 安全技术 137
8.1无线传感器网络安全基本理论 137
8.1.1无线传感器网络安全的限制因素 137
8.1.2系统假设 138
8.1.3无线传感器网络的安全问题分析 138
8.1.4无线传感器网络安全要求 143
8.2无线传感器网络的安全技术研究 144
8.2.1无线传感器网络密码技术 145
8.2.2密钥确立和管理 145
8.2.3无线传感器网络的路由安全 146
8.2.4数据融合安全 147
8.3无线传感器网络安全协议 148
8.3.1符号 148
8.3.2密钥管理 148
8.3.3 SNEP:数据加密、认证、完整性和实时性 150
8.4操作系统安全技术 151
8.4.1无线传感器网络运行的操作系统 151
8.4.2链路层加密方案Ⅰ (TinySec)—— TinyOS的安全保护措施 152
8.4.3链路层加密方案 Ⅱ(SenSec)—— TinySec的改进 154
8.5无线传感器网络安全的研究进展 156
8.5.1密钥管理 156
8.5.2身份认证 157
8.5.3攻防技术 158
8.6小结 159
参考文献 159
第9章 协议标准 163
9.1标准概述与网络简介 163
9.1.1 IEEE 802.15.4标准概述 163
9.1.2 IEEE 802.15.4网络简介 164
9.2 IEEE 802.15.4协议 166
9.2.1工业无线通信协议 166
9.2.2 IEEE 802.15.4网络协议栈 170
9.3 ZigBee协议标准 179
9.3.1 ZigBee是什么 179
9.3.2 ZigBee标准概要 179
9.3.3 ZigBee技术优势 179
9.3.4 ZigBee协议栈 180
9.3.5 ZigBee协议的消息格式及帧格式 182
9.3.6 ZigBee网络拓扑 184
9.4小结 186
参考文献 186
第3篇ZigBee实践开发技术——CC2430 189
第10章ZigBee硬件平台 189
10.1 ZigBee无线SoC片上系统CC2430/CC2431概述 189
10.2 CC2430/CC2431芯片主要特点 190
10.3 CC2430/CC2431芯片功能结构 192
10.4 SoC无线CC2430之8051的CPU介绍 194
10.4.1简介 194
10.4.2存储器 195
10.4.3特殊功能寄存器 197
10.5 CC2410/CC2431主要外部设备 199
10.5.1 I/O端口 199
10.5.2 DMA控制器 201
10.5.3 AES(高级加密标准)协处理器 204
10.6无线模块 207
10.6.1 IEEE 802.15.4调制方式 209
10.6.2接收模式 209
10.6.3发送测试模式 210
10.6.4 CSMA-CA/选通处理器 211
10.7 CC2430/CC2431所涉及的无线通信技术 214
10.7.1清除信道评估CCA 214
10.7.2无线直接频谱技术DSSS 215
10.7.3载波侦听多点接入/避免冲撞CSMA/CA 218
10.8 CC2431无线定位引擎介绍 219
10.9基于CC2430/CC2431的ZigBee硬件平台 220
10.9.1扩展表演板硬件描述 220
10.9.2进入演示 222
第11章CC2430开发环境IAR 224
11.1软件安装 224
11.2 ZigBee精简协议 224
11.3软件设置及程序下载 225
11.4软件使用实例 226
11.4.1创建一个工作区窗口 226
11.4.2建立一个新工程 226
11.4.3添加文件或新建程序文件 227
11.4.4设置工程选项 228
11.4.5编译和链接 231
11.4.6调试 232
11.5取片内温度实例 237
第12章 开发实践——环境监测 239
12.1系统总体方案 239
12.2 ZigBee芯片选择 240
12.3系统硬件研制 242
12.3.1射频传输模块 242
12.3.2采集节点底板模块 243
12.3.3 Coordinator节点底板模块 245
12.4系统试验平台搭建 246
12.4.1集成开发环境及调试器 247
12.4.2系统联调与实现 247
12.5小结 252
参考文献 253
第4篇ZigBee实践开发技术——JENNIC 257
第13章 硬件平台 257
13.1概述 257
13.2硬件平台介绍 257
13.2.1 GAINSJ开发板 257
13.2.2 JN5121 SoC芯片 258
13.2.3 JN5139 SoC芯片 261
13.2.4 JN5121模块 263
13.2.5 JN5139模块 265
第14章 软件平台 268
14.1软件介绍 268
14.2软件安装 268
14.3软件使用说明 269
14.3.1打开工程文件 269
14.3.2编译程序 270
14.3.3烧写程序 270
14.3.4新建工程 272
14.4实验平台功能演示 273
14.4.1基本功能介绍 273
14.4.2开发案例介绍 273
14.5可视化工具软件iSnamp-J 276
14.5.1简介 276
14.5.2特性 276
第15章 开发实践——基于ZigBee协议栈进行开发 284
15.1协议栈架构简介 284
15.1.1新的概念简介 284
15.1.2节点的类型简要解释 286
15.1.3网络拓扑形式 286
15.1.4地址模式 287
15.2 ZigBee协议栈的开发接口API 288
15.2.1应用的初始化函数 290
15.2.2应用程序调用协议栈的函数 290
15.2.3协议栈调用应用程序的函数 292
15.3应用框架接口函数 295
15.4 ZigBee Device Profile API 300
15.5外围部件的操作 304
15.5.1如何实现定时休眠唤醒 304
15.5.2如何使用SPI接口 305
15.5.3如何使用UART 305
15.5.4如何使用GPIO 306
参考文献 307
第5篇TinyOS实践开发技术 311
第16章nesC语言 311
16.1 nesC语言简介 311
16.1.1 nesC语言概述 311
16.1.2 nesC语言组成 311
16.1.3 nesC语言基本特点 313
16.1.4 nesC编译技术 314
16.1.5 nesC程序开发平台 314
16.2语法与术语 315
16.2.1变化 315
16.2.2语法 315
16.2.3术语 318
16.3接口 319
16.4组件 320
16.4.1组件概述 320
16.4.2组件语法与说明 322
16.4.3模块及其组成 325
16.4.4配件及其组成 326
16.4.5属性声明 328
16.5模块 328
16.5.1说明 329
16.5.2调用命令和事件信号 330
16.5.3任务 331
16.5.4原子陈述 331
16.6结构 332
16.6.1包含组件 332
16.6.2配线 332
16.6.3隐含连接 334
16.6.4配线语义 334
16.7 nesC协作 337
16.8应用程序 337
16.8.1装载C文件X 338
16.8.2装载组件K 338
16.8.3载入接口类型I 339
16.9多样性 339
16.9.1没有自变量的函数的C声明 339
16.9.2注释 339
16.9.3属性 339
16.9.4编译-时间常量函数 341
参考文献 341
第17章TinyOS操作系统 342
17.1 TinyOS简介 342
17.2 TinyOS框架结构与特点 344
17.2.1总体结构 344
17.2.2基于组件的程序模型 345
17.2.3组件化分层架构 345
17.2.4操作系统特点概述 347
17.3 TinyOS组件 352
17.3.1组件说明与实现 352
17.3.2并发模型 352
17.3.3 TinyOS组件模型 353
17.3.4应用示例——组件组合与无线通信 357
17.4 TinyOS的系统模型 363
17.4.1 TinyOS的系统模型 363
17.4.2 TinyOS IDE设计与实现机制 364
17.5 TinyOS通信模型 366
17.5.1主动消息概述 366
17.5.2基于主动消息的通信模型 368
17.5.3主动消息的设计与实现 368
17.5.4主动通信的缓存管理机制 369
17.5.5主动消息的显式确认消息机制 369
17.6 TinyOS事件驱动机制、调度策略 369
17.6.1事件驱动机制 369
17.6.2调度策略 371
17.6.3 TinyOS并发模型与执行模块 371
17.6.4用事件驱动方式从传感器读取数据 373
17.7 TinyOS任务调度机制 377
17.7.1调度机制概述 377
17.7.2中断处理 378
17.7.3任务队列 379
17.7.4调度策略与能量管理机制 379
17.7.5 TinyOS调度模型的特点 380
17.7.6 TinyOS的调度机制不足 381
17.7.7示例——用于处理应用数据的任务 381
17.8 TinyOS硬软件实现 382
17.8.1系统的硬件实现 382
17.8.2系统的软件实现 386
17.8.3 TinyOS支持多种不同设备 386
17.8.4系统及硬件验证 387
17.9 TinyOS协议栈 389
17.10 TinyOS应用示例 391
17.10.1应用程序示例:Blink 391
17.10.2应用程序示例:数据收集应用程序 398
17.11 TinyOS的安装 400
17.11.1在Windows平台下下载和安装TinyOS自动安装程序 401
17.11.2手动安装 403
第18章TinyOS示例 404
18.1 TinyOS示例——用事件驱动方式从传感器读取数据 404
18.1.1 SenseM.nc模块 404
18.1.2 Sense.nc配置 406
18.1.3定时器与参数化接口 407
18.1.4运行Sense应用程序 408
18.2 Crossbow-OEM设计套件与网络操作 408
18.2.1 Crossbow-OEM设计套件 408
18.2.2 Crossbow-OEM网络操作 409
18.2.3使用MoteView客户端程序查看无线传感器网络数据 411
18.3传感器节点配置 413
18.3.1 MoteConfig 413
18.3.2安装 414
18.3.3启动MoteConfig 415
18.3.4本地程序烧写 415
18.3.5远程/OTAP 418
18.4 MoteView操作示例 423
18.4.1简介 423
18.4.2安装 425
18.4.3快速启动应用 426