‘壹’ 无线传感器网络系统主要有什么组成
传感器网络系统通常包括传感器节点(sensor)、汇聚节点(sink node)和管理节点。大量传感器节点随机部署在监测区域(sensor field)内部或附近,能够通过自组织方式构成网络。传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点。用户通过管理节点对传感器网络进行配置和管理,发布监测任务以及收集监测数据。
传感器网络节点的组成和功能包括如下四个基本单元:传感单元(由传感器和模数转换功能模块组成)、处理单元(由嵌入式系统构成,包括CPU、存储器、嵌入式操作系统等)、通信单元(由无线通信模块组成)、以及电源部分。此外,可以选择的其它功能单元包括:定位系统、运动系统以及发电装置等。
‘贰’ 什么是无线传感器网络
本教程操作环境:windows10系统、Dell G3电脑。
什么是无线传感器网络无线传感器网络(Wireless Sensor Networks, WSN)是一种分布式传感网络,它的末梢是可以感知和检查外部世界的传感器。WSN中的传感器通过无线方式通信,因此网络设置灵活,设备位置可李戚以随时更改,还可以跟互联网进行有线或无线方式的连接。通过无线通信方式形成的一个多跳自组织网络。
基本信息
无线传感器网络是一项通过无线通信技术把数以万计的传感器节点以自由式进行组织与结合进而形成的网络形式。
构成传感器节点的单元分别为:数据采集单元、数据传输单元、数据处理单元以及能量供应单元。
其中数据采集单元通常都是采集监测区域内的信息并加以转换,比如光强度跟大气压力与湿度等;数据传输单元则主要以无线通信和交流信息以及缓扒发送接收那些采集进来的数据信息为主;数据处理单元通常处理的是全部节点的路由协议和管理任务以及定位装置等;能量供应单元为缩减传感器节点占据的面积,会选择微型电池的构成形式。
无线传感器网络当中的节点分为两种,一个是汇聚节点,一个是传感器节点。
汇聚节点主要指的是网关能够在传感器节点当中将错误的报告数据剔除,并与相关的报告相结合将数据加以融合,对发生的事件进行判断。
汇聚节点与用户节点连接可借助广域网络或者卫星直接通信,并对收集到的数据进行处理。
相较于传统式的网络和其他传感器相比,无线传感器网络有以下特点:
(1)组建方式自由。无线网络传感器的组建不受任何外界条件的限制,组建者无论在何时何地,都可以快速地组建起一个功能完善的无线网络传感器网络,组建成功之后的维护管理工作也完全在网络内部进行。
(2)网络拓扑结构的不确定性。从网络层次的方向来看,无线传感器的网络拓扑结构是变化不定的,哪哪陵例如构成网络拓扑结构的传感器节点可以随时增加或者减少,网络拓扑结构图可以随时被分开或者合并。
(3)控制方式不集中。虽然无线传感器网络把基站和传感器的节点集中控制了起来,但是各个传感器节点之间的控制方式还是分散式的,路由和主机的功能由网络的终端实现各个主机独立运行,互不干涉,因此无线传感器网络的强度很高,很难被破坏。
(4)安全性不高。无线传感器网络采用无线方式传递信息,因此传感器节点在传递信息的过程中很容易被外界入侵,从而导致信息的泄露和无线传感器网络的损坏,大部分无线传感器网络的节点都是暴露在外的,这大大降低了无线传感器网络的安全性。
组成结构:
无线传感器网络主要由三大部分组成,包括节点、传感网络和用户这3部分。其中,节点一般是通过一定方式将节点覆盖在一定的范围,整个范围按照一定要求能够满足监测的范围;传感网络是最主要的部分,它是将所有的节点信息通过固定的渠道进行收集,然后对这些节点信息进行一定的分析计算,将分析后的结果汇总到一个基站,最后通过卫星通信传输到指定的用户端,从而实现无线传感的要求。
‘叁’ 无线传感器网络体系结构包括哪些部分,各部分的
结构
传感器网络系统通常包括传感器节点EndDevice、汇聚节点Router和管理节点Coordinator。
大量传感器节点随机部署在监测区域内部或附近,能够通过自组织方式构成网络。传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点。用户通过管理节点对传感器网络进行配置和管理,发布监测任务以及收集监测数据。
传感器节点
处理能力、存储能力和通信能力相对较弱,通过小容量电池供电。从网络功能上看,每个传感器节点除了进行本地信息收集和数据处理外,还要对其他节点转发来的数据进行存储、管理和融合,并与其他节点协作完成一些特定任务。
汇聚节点
汇聚节点的处理能力、存储能力和通信能力相对较强,它是连接传感器网络与Internet 等外部网络的网关,实现两种协议间的转换,同时向传感器节点发布来自管理节点的监测任务,并把WSN收集到的数据转发到外部网络上。汇聚节点既可以是一个具有增强功能的传感器节点,有足够的能量供给和更多的、Flash和SRAM中的所有信息传输到计算机中,通过汇编软件,可很方便地把获取的信息转换成汇编文件格式,从而分析出传感节点所存储的程序代码、路由协议及密钥等机密信息,同时还可以修改程序代码,并加载到传感节点中。
管理节点
管理节点用于动态地管理整个无线传感器网络。传感器网络的所有者通过管理节点访问无线传感器网络的资源。
无线传感器测距
在无线传感器网络中,常用的测量节点间距离的方法主要有TOA(Time of Arrival),TDOA(Time Difference of Arrival)、超声波、RSSI(Received Sig nalStrength Indicator)和TOF(Time of Light)等。
‘肆’ 无线传感器网络的特点与应用
无线传感器网络是一种新型的传感器网络,其主要是由大量的传感器节点组成,利用无线网络组成一个自动配置的网络系统,并将感知和收集到的信息发给管理部门。目前无线传感器网络在军事、生态环境、医疗和家居方面都有一定应用,未来无线传感器网络的发展前景将是不可估量的。
一、无线传感器网络的特点
(一)节点数量多
在监测区通常都会安置许多传感器节点,并通过分布式处理信息,这样就能够提高监测的准确性,有效获取更加精确的信息,并降低对节点传感器的精度要求。此外,由于节点数量多,因此存在许多冗余节点,这样就能使系统的容错能力较强,并且节点数量多还能够覆盖到更广阔的监测区域,有效减少监测盲区。
(二)动态拓扑
无线传感器网络属于动态网络,其节点并非固定的。当某个节电出现故障或是耗尽电池后,将会退出网络,此外,还可能由于需要而被转移添加到其他的网络当中。
(三)自组织网络
无线传感器的节点位置并不能进行精确预先设定。节点之间的相互位置也无法预知,例如通过使用飞机播散节点或随意放置在无人或危险的区域内。在这种情况下,就要求传感器节点自身能够具有一定的组织能力,能够自动进行相关管理和配置。
(四)多跳路由
无线传感网络中,节点之间的距离通常都在几十到几百米,因此节点只能与其相邻的节点进行直接通信。如果需要与范围外的节点进行通信,就需要经过中间节点进行路由。无线传感网络中的多跳路由并不是专门的路由设备,所有传输工作都是由普通的节点完成的。
(五)以数据为中心
无线传感网络中的节点均利用编号标识。由于节点是随机分布的,因此节点的编号和位置之间并没有联系。用户在查询事件时,只需要将事件报告给网络,并不需要告知节点编号。因此这是一种以数据为中心进行查询、传输的方式。
(六)电源能力局限性
通常都是用电池对节点进行供电,而每个节点的能源都是有限的,因此一旦电池的能量消耗完,就是造成节点无法再进行正常工作。
二、无线传感器网络的应用
(一)环境监测应用
无线传感器可以用于进行气象研究、检测洪水和火灾等,在生态环境监测中具有明显优势。随着我国市场经济的不断发展,生态环境污染问题也越来越严重。我国是一个幅员辽阔、资源丰富的农业大国,因此在进行农业生产时利用无线传感器进行对生产环境变化进行监测能够为农业生产带来许多好处,这对我国市场经济的'不断发展有着重要意义。
(二)医疗护理应用
无线传感器网络通过使用互联网络将收集到的信息传送到接受端口,例如一些病人身上会有一些用于监测心率、血压等的传感器节点,这样医生就可以随时了解病人的病情,一旦病人出现问题就能够及时进行临时处理和救治。在医疗领域内传感器已经有了一些成功案例,例如芬兰的技术人员设计出了一种可以穿在身上的无线传感器系统,还有SSIM(Smart Sensors and Integrated Microsystems)等。
(三)智能家居建筑应用
文物保护单位的一个重要工作就是要对具有意义的古老建筑实行保护措施。利用无线传感器网络的节点对古老建筑内的温度是、湿度、关照等进行监测,这样就能够对建筑物进行长期有效的监控。对于一些珍贵文物的保存,对保护地的位置、温度和湿度等提前进行检测,可以提高展览品或文物的保存品质。例如,英国一个博物馆基于无线传感器网络设计了一个警报系统,利用放在温度底部的节点检测灯光、振动等信息,以此来保障文物的安全[5]。
目前我国基础建设处在高速发展期,建设单位对各种建设工程的安全施工监测越来越关注。利用无线传感器网络使建筑能够检测到自身状况并将检测数据发送给管理部门,这样管理部门就能够及时掌握建筑状况并根据优先等级来处理建筑修复工作。
另外,在家具或家电汇中设置无线传感器节点,利用无线网络与互联网络,将家居环境打造成一个更加舒适方便的空间,为人们提供更加人性化和智能化的生活环境。通过实时监测屋内温度、湿度、光照等,对房间内的细微变化进行监测和感知,进而对空调、门窗等进行智能控制,这样就能够为人们提供一个更加舒适的生活环境。
(四)军事应用
无线传感器网络具有低能耗、小体积、高抗毁等特性,且其具有高隐蔽性和高度的自组织能力,这为军事侦察提供有效手段。美国在20世纪90年代就开始在军事研究中应用无线传感器网络。无线传感器网络在恶劣的战场内能够实时监控区域内敌军的装备,并对战场上的状况进行监控,对攻击目标进行定位并能够检测生化武器。
目前无线传感器网络在全球许多国家的军事、研究、工业部门都得到了广泛的关注,尤其受到美国国防部和军事部门的重视,美国基于C4ISR又提出了C4KISR的计划,对战场情报的感知和信息综合能力又提出新的要求,并开设了如NSOF系统等的一系列军事无线传感器网络研究。
总之,随着无线传感器网络的研究不断深入和扩展,人们对无线传感器的认识也越来越清晰,然而目前无线传感器网络的在技术上还存在一定问题需要解决,例如存储能力、传输能力、覆盖率等。尽管无线传感器网络还有许多技术问题待解决使得现在无法广泛推广和运用,但相信其未来发展前景不可估量。
‘伍’ 无线传感器网络操作系统TinyOS的目录
第1章 绪论 1
1.1 无线传感器网络概述 1
1.1.1 无线传感器网络的研究进展 2
1.1.2 无线传感器网络的体系特征 3
1.2 无线传感器网络操作系统 8
1.2.1 无线传感器网络对操作系统的需求 8
1.2.2 现有的无线传感器网络操作系统 10
1.3 TinyOS操作系统概述 13
1.3.1 设计理念 14
1.3.2 技术特点 15
1.3.3 体系结构 16
1.3.4 版本说明 17
1.4 与其他WSN操作系统的比较 20
1.5 本书章节安排 24
第2章 开发环境 26
2.1 TinyOS 2.1在Windows中的安装 26
2.1.1 搭建Java环境 27
2.1.2 安装Cygwin平台 30
2.1.3 安装平台交叉编译器 34
2.1.4 安装TinyOS源码与工具包 36
2.1.5 安装Graphviz图形工具 38
2.2 其他安装方法 39
2.2.1 在Ubuntu 9.10中的安装 39
2.2.2 使用RPM包的手动安装 41
2.2.3 TinyOS 1.x升级到TinyOS 2.x 42
2.2.4 使用CVS更新TinyOS 2.x文件 46
2.3 TinyOS安装后的测试 47
2.3.1 TinyOS文件概览 47
2.3.2 检查运行环境 48
2.3.3 仿真测试 49
2.4 程序的编译和下载 50
2.4.1 代码编辑工具 50
2.4.2 编译程序 52
2.4.3 USB串口驱动 53
2.4.4 下载程序 54
2.5 本章小结 57
第3章 nesC编程语言 58
3.1 nesC语言简介 58
3.2 nesC语言规范 59
3.2.1 接口 61
3.2.2 组件 62
3.2.3 模块及其组成 65
3.2.4 配件及其组成 68
3.3 基于nesC语言的应用程序 73
3.3.1 nesC应用程序简介 73
3.3.2 Blink实例 77
3.3.3 BlinkSingle实例 82
3.3.4 移植TinyOS 1.x代码到2.x 86
3.4 nesC程序运行模型 88
3.4.1 任务 88
3.4.2 内部函数 91
3.4.3 分阶段作业 92
3.4.4 同步与异步 94
3.4.5 原子性代码 95
3.4.6 无线模块的开启过程 96
3.5 编程约定 98
3.5.1 通用约定 98
3.5.2 软件包 98
3.5.3 语法约定 99
3.5.4 TinyOS约定 101
3.6 可视化组件关系图 103
3.7 本章小结 104
第4章 基本操作 106
4.1 点对点的无线通信 106
4.1.1 主动消息概述 106
4.1.2 通信接口和组件 107
4.1.3 消息缓存抽象 109
4.1.4 通过无线电发送消息 110
4.1.5 通过无线电接收消息 117
4.2 节点与PC的串口通信 119
4.2.1 信息源和端口测试 119
4.2.2 基站和监听工具 121
4.2.3 MIG消息接口生成工具 123
4.2.4 SerialForwarder和其他信息源 126
4.2.5 发送信息包到串口 129
4.2.6 基于printf库的打印调试 130
4.2.7 常见的串口通信故障 133
4.3 传感 134
4.3.1 传感简介 134
4.3.2 Sense实例 135
4.3.3 Oscilloscope实例 138
4.4 存储 140
4.4.1 存储简介 140
4.4.2 配置数据的存储 141
4.4.3 日志数据的存储 146
4.4.4 大数据块的存储 148
4.5 本章小结 149
第5章 系统内核 151
5.1 硬件抽象架构 151
5.1.1 架构简介 151
5.1.2 不同层次抽象的结合 154
5.1.3 横向分解 155
5.1.4 微处理器抽象 156
5.1.5 HIL抽象级别 156
5.2 任务和调度 157
5.2.1 任务简介 157
5.2.2 TinyOS 1.x的任务和调度器 157
5.2.3 TinyOS 2.x的任务 159
5.2.4 TinyOS 2.x的调度器 160
5.2.5 调度器的替换 162
5.2.6 调度器的具体实现 165
5.3 系统启动顺序 168
5.3.1 启动顺序简介 168
5.3.2 TinyOS 1.x的启动顺序 168
5.3.3 TinyOS 2.x的启动接口 169
5.3.4 TinyOS 2.x的启动顺序 170
5.3.5 系统启动和软件初始化 174
5.4 资源仲裁 175
5.4.1 资源简介 175
5.4.2 资源类型 176
5.4.3 资源仲裁 178
5.4.4 共享资源的应用实例 183
5.5 微控制器的电源管理 187
5.5.1 微控制器电源管理简介 187
5.5.2 TinyOS 1.x的电源管理 188
5.5.3 TinyOS 2.x的电源管理 189
5.5.4 外围设备和子系统 191
5.6 外围设备的电源管理 191
5.6.1 外围设备电源管理简介 191
5.6.2 电源管理模型 192
5.6.3 显式电源管理 193
5.6.4 隐式电源管理 196
5.7 串口通信 199
5.7.1 串口通信协议简介 199
5.7.2 串口协议栈的实现 200
5.7.3 串口协议栈的抽象 207
5.8 本章小结 207
第6章 平台与仿真 210
6.1 平台 210
6.1.1 平台简介 210
6.1.2 底层I/O口 211
6.1.3 新平台的建立 215
6.1.4 CC2430平台的移植 223
6.2 编译系统 226
6.2.1 编译系统简介 226
6.2.2 自定义编译系统 227
6.2.3 makefile入门 228
6.2.4 编写Makefile文件 230
6.2.5 编译工具 232
6.3 TOSSIM仿真 233
6.3.1 TOSSIM简介 233
6.3.2 仿真编译 234
6.3.3 基于Python的仿真 237
6.3.4 调试语句 239
6.3.5 网络配置 242
6.3.6 变量的观察 250
6.3.7 注入消息包 253
6.3.8 C++接口 256
6.3.9 gdb调试 258
6.4 本章小结 261
第7章 网络协议 262
7.1 分发协议 262
7.1.1 分发协议简介 262
7.1.2 相关接口和组件 263
7.1.3 EasyDissemination实例 265
7.1.4 Drip库和DIP库 269
7.2 汇聚协议 276
7.2.1 汇聚协议简介 276
7.2.2 相关接口和组件 277
7.2.3 CTP协议 279
7.2.4 CTP实现 281
7.2.5 EasyCollection实例 287
7.3 本章小结 291
第8章 高级应用技术 293
8.1 低功耗应用程序 293
8.1.1 能耗管理简介 293
8.1.2 外围设备的电源管理 294
8.1.3 无线模块的电源管理 297
8.1.4 微处理器的电源管理 300
8.1.5 低功耗传感的应用实例 300
8.2 低功耗监听 300
8.2.1 低功耗监听简介 300
8.2.2 相关接口 302
8.2.3 message_t元数据 304
8.2.4 HAL层的改进建议 305
8.3 TOSThreads线程 305
8.3.1 TOSThreads线程简介 305
8.3.2 nesC语言的API接口 306
8.3.3 C语言的API接口 309
8.3.4 支持新的系统服务 310
8.4 CC2420联网安全功能 312
8.4.1 CC2420安全模式简介 313
8.4.2 发送端的配置 313
8.4.3 接收端的配置 314
8.4.4 RadioCountToLeds实例 315
8.5 本章小结 319
第9章 基于TinyOS的应用开发实例 320
9.1 基于TSL2550传感器的光照检测 320
9.1.1 TSL2550简介 320
9.1.2 驱动实现 323
9.1.3 传感测试 330
9.2 基于GSM短信的远程数据传输 334
9.2.1 系统简介 334
9.2.2 功能实现 338
9.2.3 短信测试 348
9.3 基于简单蚁群算法的路由协议 350
9.3.1 算法简介 350
9.3.2 协议实现 353
9.3.3 仿真测试 366
9.4 本章小结 370
附录A nesC语言基本语法 371
附录B TinyOS编程技巧 374
附录C 英汉对照术语表 375
参考文献与网址 378