无线传感器网络的实现

2024-10-23

无线传感器网络的实现(共9篇)

无线传感器网络的实现 篇1

目前,随着传感器、计算机、通信技术、集成电路、微机电系统以及纳米等技术和生产工艺的飞速发展,低成本、低功耗、多功能的集成微型传感器的大量生产,已成为可能。这种微型集成传感器,多种电路模块包括传感器、微处理器、双向无线通信模块和供电模块等集成在微小的体积内。因为微型传感器体积小、重量轻,有的已经缩小到了沙粒般大小,甚至可以像灰尘一样在空气中浮动,所以人们又称无线传感器网络为“智能微尘。将来,无线传感器网络会像灰尘一样散布在人类周围,相互定位,实时地感知物理世界的变化,并根据人的反应做出控制和改变。

1 无线传感器网络

如图1所示为无线传感器网络的系统结构。

无线传感器网络系统通常由三大部分组成,分别是传感器节点、汇聚节点和任务管理节点。数量巨大的传感器节点能够通过自组织方式形成网络,并且随机地部署在监测区域附近。监测到的数据沿着其它传感器节点逐跳式地传输,在传输过程中,传感器节点监测的数据可能被多个节点处理,经过多跳传输以后,到达汇聚节点,再通过互联网或卫星到达任务管理节点。用户通过管理节点,对传感器网络进行配置、管理、发布监测任务,以及收集监测数据。

与目前常见的移动通信网、无线局域网、蓝牙网络等无线网络相比,无线传感器网络具有以下特点:

动态拓扑,无线传感器网络是一个动态网络,节点可以随处移动;无中心,无线传感器网络中没有控制中心,所有的节点地位都相同;节点稠密分布,协作感知;节点具有一定的数据融合能力;有限的计算能力、存储空间、能耗和能量供应;自组织,不需要依赖其他预设的网络设施,网络自动的布设和展开;多跳路由,节点通信的距离总是在百米范围,而且是与和它相邻的节点直接通信。如果希望与其射频覆盖范围之外的节点进行通信,则需要通过中间节点进行传递。

2 TinyOS

2.1 TinyOS概述

TinyOS是一个开源的嵌入式操作系统,它是由加州大学的伯利克分校开发出来的,主要应用于无线传感器网络方面。它是基于一种组件的架构方式,使得能够快速实现各种应用。

TinyOS的程序采用的是模块化设计,所以它的程序核心往往都很小,一般来说核心代码和数据大概在400 Bytes左右,能够突破传感器存储资源少的限制,这能够让TinyOS很有效的运行在无线传感器网络上并去执行相应的管理工作等。

TinyOS本身提供了一系列的组件,可以很简单方便的编制程序,用来获取和处理传感器的数据并通过无线电来传输信息。可以把TinyOS看成是一个可以与传感器进行交互的API接口,它们之间可以进行各种通讯。TinyOS在构建无线传感器网络时,它会有一个基地控制台,主要是用来控制各个传感器子节点,并聚集和处理它们所采集到的信息。TinyOS只要在控制台发出管理信息,然后由各个节点通过无线网络互相传递,最后达到协同一致的目的,比较方便。

2.2 TinyOS的特点

TinyOS提供一系列可重用的组件,一个应用程序可以通过连接配置文件(A Wiring Specification)将各种组件连接起来,以完成它所需要的功能。

TinyOS是一个专为无线嵌入式传感器网络设计的开放源代码的操作系统。它具有基于组件的特性,在传感器网络天生就有内存严格限制的条件下,这可以用最小代码快速来创新和实现。TinyOS的组件库包括了网络协议,分布式服务,传感器驱动和数据获取工具———所有这些都可以像这样的使用或者进一步精练到用户自己的应用中。TinyOS的事件驱动执行模式使得更细密的功耗管理,然而仍允许可变化的调度,这些是无线通讯不可预期特性和物质世界接口的必须。

3 nesC

3.1 nesC概述

nesC是对C的扩展,它基于体现TinyOS的结构化概念和执行模型而设计。TinyOS是为传感器网络节点而设计的一个事件驱动的操作系统,传感器网络节点拥有非常有限的资源。

3.2 主要特性

由于传感器网络的自身特点,面向其的开发语言也有其相应的特点。主动消息是并行计算机中的概念。在发送消息的同时传送处理这个消息的相应处理函数ID和处理数据,接收方得到消息后可立即进行处理,从而减少通信量。整个系统的运行是因为事件驱动而运行的,没有事件发生时,微处理器进入睡眠状态,从而可以达到节能的目的。组件就是对软硬件进行功能抽象。整个系统是由组件构成的,通过组件提高软件重用度和兼容性,程序员只关心组件的功能和自己的业务逻辑,而不必关心组件的具体实现,从而提高编程效率。

3.3 使用环境

nesc主要用在Tinyos中,tinyos也是由nesc编写完成的。TinyOS操作系统就是为用户提供一个良好的用户接口。基于以上分析,研发人员在无线传感器节点处理能力和存储能力有限情况下设计一种新型的嵌入式系统TinyOS,具有更强的网络处理和资源收集能力,满足无线传感器网络的要求。为满足无线传感器网络的要求,研究人员在TinyOS中引入4种技术:轻线程、主动消息、事件驱动和组件化编程。轻线程主要是针对节点并发操作可能比较频繁,且线程比较短,传统的进程/线程调度无法满足(使用传统调度算法会产生大量能量用在无效的进程互换过程中)的问题提出的。

4 结束语

本文简要介绍了TinyOS操作系统和nesC语言的特点,以及如何在TinyOS中开发应用程序,对基于TinyOS开发应用程序具有一定的参考价值。

参考文献

[1]孙利民, 李建中, 陈渝, 等.无线传感器网络[M].北京:清华大学出版社, 2005:319-390.

[2]GayD, LevisP, CullerD, eta.l nesC1.1 Language referencemanual[EB/OL].http://nescc.sourceforge.net/papers/nesc-re.f pdf, 2005, 12.

无线传感器网络的实现 篇2

平安是系统可用的前提 , 需要在保证通信平安的前提下 , 降低系统开销 , 研究可行的平安算法。由于无线传感器网络受到平安威胁和移动 ad hoc 网络不同 , 所以现有的网络平安机制无法应用于本领域 , 需要开发专门协议。

目前主要存在两种思路简介如下 :

一种思想是从维护路由安全的角度动身 , 寻找尽可能平安的路由以保证网络的平安。如果路由协议被破坏导致传送的消息被篡改 , 那么对于应用层上的数据包来说没有任何的平安性可言。

一种方法是有安全意识的路由 ” SA R , 其思想是找出真实值和节点之间的关系 , 然后利用这些真实值去生成安全的路由。该方法解决了两个问题 , 即如何保证数据在平安路径中传送和路由协议中的信息平安性。这种模型中 , 当节点的平安等级达不到要求时 , 就会自动的从路由选择中退出以保证整个网络的路由安全。可以通过多径路由算法改善系统的稳健性 ( robust , 数据包通过路由选择算法在多径路径中向前传送 , 接收端内通过前向纠错技术得到重建。

另一种思想是把着重点放在平安协议方面 , 此领域也出现了大量的研究效果。假定传感器网络的任务是为高级政要人员提供平安维护的 , 提供一个平安解决方案将为解决这类安全问题带来一个合适的模型,

具体的技术实现上 , 先假定基站总是正常工作的 , 并且总是平安的 , 满足必要的计算速度、存储器容量 , 基站功率满足加密和路由的要求 ; 通信模式是点到点 , 通过端到端的加密保证了数据传输的平安性 ; 射频层总是正常工作。

基于以上前提 , 典型的无线 传感器网络平安 问题:

a 信息被非法用户截获 ;

b 一个节点遭破坏 ;

c 识别伪节点 ;

d 如何向已有传感器网络添加合法的节点。

此方案是不采用任何的路由机制。此方案中 , 每个节点和基站分享一个唯一的 64 位密匙 Keyj 和一个公共的密匙 KeyBS, 发送端会对数据进行加密 , 接收端接收到数据后根据数据中的地址选择相应的密匙对数据进行解密。

无线 传感器网络平安 中的两种专用安全协议 :

无线传感器网络的实现 篇3

关键词:计算机科学与技术,传感器,传感器网络,实验平台

0 引言

物联网是目前计算机网络领域研究的热门课题,被称为继计算机、互联网与移动通信网之后世界信息产业的第三次浪潮,是新一代信息技术中的重要的组成部分。由于物联网对社会经济发展的重要意义,我国于2009年制定了“感知中国”的战略[1]。在这一大背景下,我国有多所高校申报和准备试办物联网专业,这反映了高校对科学技术前沿的高度敏感和重视。很多高校已经开设了物联网相关的课程,着手构建自己的无线传感器网络实验平台[2][3]。

目前,各高校无线传感器网络实验平台构建尚处在探索阶段。如何构建功能、技术完备的实验平台,有效地实现无线传感器网络技术的实验研讨,推动物联网技术在全国迅速发展,成为无线传感器网络实验平台构建的关键[4][5]。无线传感器网络实验平台的建设应有独立的特点。首先是先进性,要求采用先进的设备和教学实践活动。其次是综合性和统一性,平台建设的复杂性和准确性要求进行分阶段建设。最重要的是灵活性和可扩展性,根据未来物联网的发展和变化,实验平台需要有扩充升级的特性,以保持学科的先进性。

1 实验平台的总体设计

按照上述物联网实验平台的需求特点,本文设计并实现了一个开放的无线传感器网络实验平台。本实验平台的目的是,用最简单的环境,搭建一个完整的无线传感器网络,让学生在简洁的环境中有重点的学习实践传感器网络和传感器系统的相关知识。传统的传感器网络分为三个层次,感知层、通信层和应用层,如下图所示。感知层负责数据的采集与感知,传感器通过串口与采集控制模块相连并发送感知信息。通信层的主要功能是组织无线传感器网络,传输数据。通信层与感知层采用串口连接,传感器采集的数据可以通过通信层的组网与中间节点的转发到达上层接口。应用层主要是通过串口接收通信层上报的数据,然后根据用户的需求,对上报的数据进行业务逻辑的处理,完成对传感器网络的控制。

参照无线传感器网络功能层次的划分,和由浅入深、由易入难的原则,本实验平台分为三个模块进行设计,WSN采集与控制实验、WSN网络通信实验和WSN应用层软件实验。第一个模块的主要功能是感知数据,对应了传感器网络中的感知层,让学生了解无线传感器基础知识,为以后的实验打下基础;第二个模块是对应数据传输的通信层,旨在让学生了解无线传感器网络的组网方式和通信协议等相关知识;第三个模块则是应用层,让学生初步了解MVC框架,熟悉应用软件设计的一般流程。模块划分结构图如下所示:

2 实验平台环境搭建

2.1 实验平台的硬件节点开发

无线传感器网络是由大量无处不在、具有通信与简单计算能力的微小传感器节点,以多跳无线通信方式构成的具有自组织性和自适应性的网络系统,它能智能地感知与采集周围环境的状态与变化信息,并能够根据既定的需求自主完成指定的功能[6]。

本实验中无线传感器网络节点硬件主要包括如下几个种类:

(1)采集节点

采集节点主要包括各类传感器、电源、led指示灯、射频模块和采集板。采集节点主要功能是感知采集周围环境数据并将其发送出去[7]。在实验中,主要是利用简单传感器进行数据采集,然后根据采集到的数据结果控制led指示灯。采集节点各个组成部分如图2所示。其中,射频模块是实现射频收发、存储控制程序、执行控制程序的多功能模块;采集板,是实验平台中用于采集节点数据的设备。

(2)控制节点

控制节点包括电源模块、开关模块、LED灯展示模块及射频模块,是WSN网络的一种终端设备。电源模块提供MiniUSB接口,需要5V外接电源,内部实现5V到3.3V的转换;开关模块包括两个手动开关,分别控制两个LED灯;LED灯展示模块包括红、绿两个LED灯,监听手动开关及射频模块的on/off命令;射频模块为上面的射频模块。(如图3)

(3)协调者

协调者负责传感器网络中数据的汇聚,并将其发送给高层应用。协调者包括射频模块、串口模块。射频模块以CC2430为核心芯片,同时配置了2.4G天线、编程接口等;串口模块以CP2102为核心芯片,通过USB接口与PC机进行通信,还可对射频模块进行在线编程[8]。

2.2 实验平台的软件环境搭建

实验平台中,主要设计四种软件环境:开发环境、观测软件、数据库和zigbee协议栈。

(1)开发环境

实验平台用到的开发环境主要有连个,IAR FOR AVR和Microsoft Visual Studio。前者支持软件仿真,主要用在硬件程序的编写和编译,后者主要是应用在应用层windows平台代码编写。

(2)观测软件

本实验平台中主要用到两种观测软件,一种是accessport,另一种是PacketSniffer。前者主要用于在PC上查看传感器节点上报的数据并下发命令,后者是用于掌握网络配置,理解网络传输协议。

(3)数据库

本实验应用层使用了Mysql软件作为数据库,将数据保存在不同的表中,完成对感知数据的管理和保存。

(4)zigbee协议栈

本实验的通信部分,包括终端节点与路由节点、路由节点与协调者、终端节点与协调者之间的通信,主要使用的zigbee协议栈。

3 实验平台的具体设计

3.1 WSN采集与控制实验

WSN采集与控制实验设计为基础的传感器实验,目的是让学生掌握多种传感器基本原理和使用方法,熟悉各类节点的控制方式、结构功能和工作模式,为以后的实验打下基础。为达到上述目标,本实验模块做了如下设计,要求学生按需要编写采集模块的程序,通过串口发送到控制模块,然后由控制模块改变信号灯的状态,来观测数据的变化,从而学习了解传感器的工作原理和机制。具体的实验流程设计如图5所示。

首先是对模块进行初始化,也就是对GPIO、TWI、ADC和USART四个模块进行配置。通过对这些模块的配置,可以让学生了解学习端口引脚、数模转换、串行总线和收发器等单片机模块相关知识,为以后的学习打下基础。如下表所示为GPIO的配置。

注:本表为GPIO端口配置表。

初始化结束后,设置时间周期,开始循环等待数据采集。当一个时间周期结束时,传感器节点开始对数据进行采集,并将结果进行发送。在接收到终端节点发送的数据后,程序中进行读取温度或者电压的信息,进行相应的逻辑判断,控制信号灯的闪烁。

最后将信号灯复位,开始等待下一个时间周期的结束。通过此部分代码的编写,可以让学生学会相关开发工具的使用,了解基本的控制流程,并解析数据包。

下面为本模块示例代码。

3.2 WSN网络通信实验

本模块实验的主要目的是让学生了解无线传感器网络的组网过程和组网方式,熟悉无线传感器网络数据传输过程和数据格式以及各个种类节点的功能作用。本部分的实验中,感知层和通信层程序都是给定的,要求学生使用accessport和packed sniffer软件抓取通信包,然后对得到的数据进行分析,在熟悉数据传输格式的基础上,了解组网过程和各个节点的功能作用。

在提供给学生使用的通信模块中,使用了zigbee协议栈,其中,应用层是按如下流程进行设计的,如下图所示。首先,对通信模块进行初始化,设置采集周期等,然后开始监听串口数据。当发生底板中断时,也就是底板有数据上报,则进入底板信息处理程序,将信息处理后进行上报发送,然后继续等待串口数据。当发生射频中断时,首先判断是否是请求转发,如果是,则将其处理转发,如果不是,则将底板采集程序触发,继续等待接收串口数据。

针对各个节点进行数据发送的需求,还设计了应用层的上行和下行的消息格式。具体格式如下表所示。上行数据包中,包头包尾的长度分别为2B,内容依次为短地址、MAC地址、节电功能、错误标识和数据段。其中,MAC地址长度为8B,数据段为变长。在下行数据包中,包头包尾长度分别为2B,与短地址和数据段的长度相同。

注:本表为实验箱中使用的上行数据包格式。

注:本表为实验箱中使用的下行数据包格式。

3.3 WSN应用层软件实验

本模块实验的主要目的,是让学生了解应用层软件的基本设计方法和设计流程,熟悉MVC框架的基本架构。因此,本模块给定了感知层和通信层相关的模块代码,需要学生完成应用层框架的填充。在应用层,本实验给定了基本的程序框架,也就是MVC框架,已经完成了其中模型层的编写,要求学生对控制层和视图层按要求进行编写。

其中,模型层提供了一些对数据的操作方法,控制器和视图层对于模型来讲是透明的,模型只关注与数据的管理。本实验中,模型层指的是数据库的操作模块。数据库模块主要设计了三个表,节点表、数据表和错误表。

节点表主要记录了节点的MAC地址和对应的网络地址,也就是短地址。节点表的数据字段如下图所示。其中,ieee_addr字段为节点标识,保存的是节点的MAC地址,short_addr字段保存的是协调者在网络中给其分配的地址,也就是短地址。表中数据为实验中的无线传感器节点的MAC地址和短地址。

数据表主要记录了节点采集上报的温湿光数据以及采集时间。下图为数据表的字段。在数据表中,ieeeaddress字段为上报节点的标识,也就是节点的MAC地址,voltage字段记录节点采集的电压数据,temperature字段记录节点周围环境的温度,humidity为节点周围环境的湿度,light字段为节点周围的光照值,Time字段为节点上报数据的时间。其中,湿度采集字段为错误字段。(如图8)

错误表专门记录了产生错误节点的错误信息,还有错误信息上报的时间。下图为错误表的字段。ieeeaddress为产生错误的节点MAC地址,voltage_fault字段、temperature_fault字段、humidity_fault字段和light_fault字段表示产生错误的信息类型,依次为电压、温度、湿度和光照错误。最后一个Time字段表示错误信息的上报时间。(如图9)

除了Model层之外的控制层和视图层,需要学生自行进行编写。视图层要求学生完成用户接口的定义和数据的展示,达到数据界面清晰,接口完善的程度。控制层要求学生完成主要的业务逻辑编写,起到模型层与视图层之间的桥梁作用。由此可以达到对应用层知识的学习和实践。

4 结论

本文完成了一个无线传感器网络实验平台的设计与实现,将实验平台按照功能划分为三个模块,给出了每个模块的设计和实现方案。学生可以通过这三个模块的实验,可以对无线传感器相关知识进行学习实践,如传感器相关工作原理、zigbee协议通信机制、MVC框架基础知识和相关开发工具的使用等等。[9][10]

另外,本实验平台还有一定的开放性和扩展性。实验平台的节点等硬件可以作为一个完整的无线传感器系统的基础节点,结合相关器件可以完成智能家居等应用试验的研究和探索。将多个试验箱结合使用可以进行多个基础传感网络的组建,从而进行多网络分布式等相关实验。因此,本实验平台在扩展性和开放性上,有一定的优势。

参考文献

[1]孙利民,李建中,陈渝,朱红松等.无线传感器网络[M].北京:清华大学出版社,2005.

[2]张飞舟,杨东凯,陈智.物联网技术导论[M].北京:电子工业出版社,2010.

[3]李如年.基于RFID技术的物联网研究[J].中国电子科学研究院学报,2009,4(6):594-597.

[4]吴功宜.对物联网工程专业教学体系建设的思考.计算机教育,2010(21):26-29.

[5]贾海林,郑立刚,路长,崔志恒.实验室建设的分析与探讨[J].实验室科学,2010,(1):136-138.

[6]李珍香,王红.立体化创新性的计算机硬件实验教学体系与模式研究[J].实验技术与管理,2009,26(10):104-106。

[7]高宇.物联网创新实训室建设思考[J].科技信息,2010,(36): 251-253.

[8]叶苗.高校物联网工程专业设置的思考[J].电脑知识与技术:学术交流,2011,07(28):7046-7049第10期

[9]卫菊红.物联网技术发展及应用研究进展[J].工业控制计算机,2011,24(12):50-54.

无线传感器网络的实现 篇4

无线传感器网络促进智能交通的发展

智能交通系统(ITS)应用在城市交通中主要体现在微观的交通信息采集、交通控制和诱导等方面,通过提高对交通信息的有效使用和管理来提高交通系统的效率,主要是由信息采集输入、策略控制、输出执行、各子系统间数据传输与通信等子系统组成。信息采集子系统通过传感器采集车辆和路面信息,策略控制子系统根据设定的目标(如通行量最大、或平均候车时间最短等)运用计算方法(例如模糊控制、遗传算法等)计算出最佳方案,并输出控制信号给执行子系统(一般是交通信号控制器),以引导和控制车辆的通行,达到预设的目标。

无线传感器网络是一种融合短程无线通讯技术、微电子传感器、嵌入式系统的新技术,逐渐被用于智能交通系统等需要数据采集与检测的相关领域。基于IEEE 802.15.4规范的ZigBee技术,具备以下良好特性:①功耗低,2节普通5号电池可支持一个节点工作6~24个月;②组网能力强,网络最多可达个节点,并支持树状、星状、网状等多种组网方式;③传输距离远,两节点室外传输距离可达几百米,在增加发射功率后可达几千米;④可靠性高,具备多级安全模式;⑤成本低,开放的简化ZigBee协议栈,工作在2.4GHz免执照的ISM频段。

无线传感器网络具备优良特性,可以为智能交通系统的信息采集提供一种有效手段,可以监测路口各个方向上的车辆,根据监测结果,改进简化、改进信号控制算法,提高交通效率。无线传感器网络可以应用于执行子系统中的控制子系统和引导子系统等方面。例如可以应用该技术改进信号控制器,实现智能公交系统的公交优先功能。

用于ITS的无线传感器网络构建

在无线传感器网络结构中,安装道路两旁的汇聚节点组成一个自组织的多跳网状Mesh基础网络构架,交通信息采集专用的传感器终端节点与每个临近的汇聚节点组成星型网络进行通讯,最终的数据将被汇聚到网关节点上,

网关节点可以作为一个模块安装在交叉路口的交通信号控制器内,通过信号控制器的专有网络,将所采集到的数据发送到交管中心作进一步处理。

在无线传感器网络部署中,汇聚节点可以安装在路边立柱、横杠等交通设施上,网关节点可以集成再交叉路口的交通信号控制器内,专用传感器终端节点可以填埋在路面下或者安装在路边,道路上的运动车辆也可以安装传感器节点动态加入传感器网络

采用无线传感器网络进行交通信息采集

在交通信息采集中,终端节点可采用非接触式地磁传感器来定时收集和感知区域内车辆的速度、车距等信息。当车辆进入传感器的监控范围后,终端节点通过磁力传感器来采集车辆的行驶速度等重要信息,并将信息传送给下一个定时醒来的节点。当下一个节点感应到该车辆时,结合车辆在两个传感器节点间的行驶时间估计,就可估算出车辆的平均速度。多个终端节点将各自采集并初步处理后的信息通过汇聚节点汇聚到网关节点,进行数据融合,获得道路车流量与车辆行使速度等信息,从而为路口交通信号控制提供精确的输入信息。通过给终端节点安装温湿度、光照度、气体检测等多种传感器,还可以进行路面状况、能见度、车辆尾气污染等检测。

无线传感器网络在ITS中的应用

实现智能公交系统中的公交优先功能需要对现有交通信号控制器进行改造。通过添加传感器等辅助设备,交通信号控制器可以估算出公交车辆到达交叉路口的时间(旅行时间),计算出公交车辆在路口是否需要给予优先(可选择乘客数量作为优先权重),然后选择合适的优先控制策略,通过调整绿信比来优先放行公交车辆。交通信号控制器的改造包括:

◆车载无线通讯终端节点;

◆交叉路口交通信号控制器上集成无线网关;

◆用于公交车辆定位的终端节点;

◆通过构建基于ZigBee的无线传感器网络可以实现上述功能。

无线传感器网络的实现 篇5

无线传感器网络WSN(Wireless Sensor Network)是集数据采集、处理及通信功能于一体的特殊Ad-hoc网络。无线传感器网络具有十分广阔的应用前景,在军事目标跟踪与探测、自然灾害预防、生物医疗、环境监测、危险区域远程测控等许多重要领域都有潜在的实用价值[1],己经引起了许多国家学术界和工业界的高度重视。美国商业周刊和MIT技术评论在预测未来技术发展的报告中,分别将无线传感器网络列为21世纪最有影响的21项技术和改变世界的10大技术之一。

1 无线传感器网络节点

无线传感器网络节点是组成网络的基本单元,节点负责采集、处理、压缩数据,中转其他节点的数据包并将数据包发送出去。传感器网络节点一般由传感器模块、数据处理模块、无线通信模块和电源模块等部分组成。由于传感器网络节点具有节点数量大、体积小、能量有限等特点,其硬件设计要求低成本和低功耗。目前传感器网络节点的主流设计的处理器采用8位AVR单片机,无线通信使用IEEE802.15.4/Zig Bee协议,如Crossbow公司的Mica Z系列节点和中科院计算所ICT的Gain Z系列节点[2]。AVR单片机ATmega128L具有高性能、低功耗、已成熟应用Tiny OS操作系统等特点,是传感器网络节点处理器的合适选择之一。传感器网络的部分应用中节点采样速率较高且处理存储信息量较大,此时需要更高性能的处理器,本文研究了AMR7处理器LPC2114作为传感器网络节点处理器的应用,LPC2114较ATmega128L具有更高的处理速度和更大的内存,能满足较高性能传感器网络节点的需求。IEEE802.15.4/ZigBee协议具有低复杂度、低功耗、低数据速率的特点,是无线传感器网络推荐采用的无线技术,但目前实现该协议的硬件成本还较高,其应用研究也还不够深入,要大规模地应用在传感器网络上还需要一定时间。蓝牙技术是一种全球开放性的短距离无线通信规范,采用快速跳频、前向纠错和优化编码等技术,具有抗干扰能力强、低功耗、低成本等特点[3]。蓝牙技术的这些优势,是其在无线传感器网络的应用基础,并且蓝牙技术已经大规模的在手机、PDA等设备上成熟应用,为蓝牙在无线传感器网络中应用提供了有利条件。本文研究了蓝牙无线传感器网络节点的设计以及蓝牙无线传感器网络的组网。

2 节点总体架构

图1所示是基于蓝牙的无线传感器网络节点总体架构,它由传感器模块、数据处理模块、无线通信模块和电源模块四个部分组成[4]。传感器模块负责环境信息的采集和数据转换,包括温度传感器单元、湿度传感器单元、亮度传感器单元三部分。传感器模块上还预留了数字和模拟接口,可以方便地扩展传感器的种类。数据处理模块负责控制整个传感器节点的处理操作、存储和处理本身采集的数据和其它节点发来的数据,还要负责节点组网和数据路由选择以及系统功耗的控制等。数据处理模块的核心是高性能的ARM7处理器。无线通信模块负责与其它传感器节点进行无线通信,交换控制消息和收发采集数据。电源模块为传感器节点提供运行所需的所有电源。

3 节点电路设计

3.1 传感器模块

传感器模块是节点的数据采集部分,根据实际需求,确定合适的传感器,如温度、湿度、振动、光强、气体报警、磁阻、红外等。本系统设计了温度、湿度和亮度传感器,并留有通用传感器扩展接口。传感器模块为独立电路板,通过30针双排针连接器与主控模块电路板连接。

温湿度传感器使用高度集成传感器芯片SHT10,湿度的测量精度为±4.5%RH,在25℃时,温度的测量精度为±0.5℃。SHT10的供电电压采用3.3V,电源引脚(VDD,GND)之间使用一个100n F的滤波电容,传感器上电后,要等待11ms来完成“休眠”状态,在此期间无需发送任何指令。SHT10采用两条串行线(SCK,DATA)与处理器进行数据通信。SCK用于处理器与SHT10之间的通讯同步,串行数据(DATA)用于数据的读取,在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。SHT10完整的测量时序由启动传输时序、发布命令、等待测量完成、读回数据这四个部分组成。处理器用一组“启动传输”时序来发起一个通信过程。它包括:当SCK时钟高电平时DATA翻转为低电平。在DATA为低电平期间,SCK变为低电平,再翻转为高电平,随后是在SCK时钟高电平时DATA翻转为高电平。在“启动传输”时序之后,微控制器可以向SHT10发送命令。命令字节包括高3位的地址位和低5位的命令位。微控制器在发布一组湿度或者温度测量命令后,需要等待测量的结束,SHT10通过将DATA线拉低表示测量的完成。重新启动时钟线SCK读取测量结果时,2个字节的测量数据和1个字节的CRC校验将被传送。为提高系统的稳定性,时钟线和数据线均通过电阻上拉到3.3V。SHT10电路连接如图2所示。

亮度传感器使用LX1970型模仿人眼感光效应的可见光亮度传感器,它有一个独特的光电二极管阵列,在520nm时有一个尖峰响应而在紫外和红外波长时就急剧衰减。这个光电二极管阵列具有非常精确、线性和可重复的电流转换功能,其电流灵敏度为0.38μA/lx,暗电流为10n A。工作时,LXT970接收可见光并转换成电流信号,从SNK、SRC两引脚输出电流,通过20K的电阻将电流转换成电压,然后接入LPC2114的模数转换AIN0处。通过AD读取电压值,然后将其转换成相应的亮度值,系统的亮度测量范围为:0~2550LUX。

3.2 数据处理模块

数据处理模块使用ARM7处理器LPC2114,带有16k片内静态RAM,128k片内FLASH程序存储器。LPC2114体积小,支持空闲和掉电两种低功耗模式,具有2个32位定时器、4通道10位ADC,还内置了多个串行通信接口,包括2个16C550工业标准的UART、2个SPI接口、1个高速I2C接口等。

数据处理模块与其外围设备的硬件连接如图3所示。传感器节点上设计了528k B的串行FLASH存储器AT45DB041来完成信息在本节点的辅助存储功能。处理器通过SPI串行接口与AT45DB041连接,通过片选引脚CS使能,通过串行输出(MO-SI)和串行输入(MISO)进行数据读写操作,由串行时钟(SCK)控制读写操作。处理器通过ADC的AIN0引脚与亮度传感器LX1970连接,通过2根通用IO引脚与温湿度传感器SHT10连接,软件控制2根IO引脚的电平来完成对SHT10的操作。处理器还预留了ADC模拟输入通道、IO接口、I2C接口到传感器扩展接口,对系统扩展其它传感器提供硬件支持。处理器ADC的AIN1与系统电池电压检测电路连接,提供对系统电池剩余能量的检测。处理器的串口0与BC02蓝牙模块连接,通过HCI协议访问控制蓝牙模块,串口1用于系统调试时与PC机连接。

3.3 无线通信模块

系统使用蓝牙封装模块BC02,该模块共有32个引脚,提供USB接口、UART接口、PCM语音接口、PIO通用IO口、SPI接口。本系统仅使用蓝牙模块的UART接口与处理器连接,硬件连接电路如图4所示。蓝牙模块的复位信号由简单的RC复位电路提供,UART接口的信号线RXD和TXD通过100欧姆电阻与处理器连接,以提高接口的抗干扰能力。RTS和CTS信号按蓝牙模块要求,通过1K电阻连接。

3.4 电源模块

电源模块由电池、升压稳压电路和LDO线性电压调节电路组成。系统需要使用3.3V和1.8V的双电源,考虑到节点的可移动性,使用两节1.5V的AA电池并联供电,同时使用MAX1678完成电压的升压稳压变换,完成电压从1.5V到3.3V的变换,然后使用LDO线性稳压器REG1117完成3.3V到1.8V的变换。MAX1678电路设计如图5所示。

MAX1678升压型稳压器转换效率很高,尺寸较小。该芯片内还包括一个独立的比较器可用于电池低电压检测。MAX1678采用恒峰值电流控制原理使其具有低静态电流而且在满负荷下效率可达90%,具有极低的输出电压纹波,工作电压可低至0.7V时仍能保证启动。MAX1678的BATT引脚为电池电源的输入端,PFI为掉电输入。当PFI处的电压低于614m V时,PFO抑制电流,PFO为开流掉电输出。SHDN低压激活开关,常与BATT连接。FB为双重模式,反馈输入。LX为N沟道MOSFET场效应管开关的漏极引出端和P沟道同步整流的漏极引出端。OUT为3.3V电源输出。

4 软件设计

系统软件主要包括系统初始化、传感信息采集、蓝牙无线组网、信息传输等程序,其中蓝牙无线组网部分的设计尤为重要。本文将传感器网络技术与蓝牙技术相结合,设计的蓝牙散射网组网充分考虑无线传感器网络的具体应用。基于传感器网络节点能量可知的情况下使整个网络的生存时间尽可能长,同时也满足部分节点的加入、移动、离开等情况要求,具有较好的可靠性、灵活性和可自愈性。利用传感器网络传感信息数据向根节点汇聚流动的特性,在形成网络拓扑的同时建立节点的路由表。

无线传感器网络各节点间采用蓝牙通信,AMR7处理器通过UART接口,使用HCI协议来控制蓝牙模块的工作。HCI分组分为命令分组、事件分组和数据分组,AMR7处理器通过命令分组向蓝牙设备发布命令,蓝牙设备通过事件分组向ARM7处理器汇报命令执行情况以及蓝牙设备状态信息等,数据分组分为异步无连接ACL数据分组和同步面向连接SCO数据分组,用来完成蓝牙设备与AMR7处理器间的双向数据通信。

典型的蓝牙通信程序流程如图6所示,首先进行的系统初始化主要包括UART接口参数设置、蓝牙命令、事件缓冲区初始化等。蓝牙设备在第一次通信前需要进行初始化操作,主要包括复位、读取并记录本地蓝牙地址、设置查询响应时间参数等。初始化完成后蓝牙主设备发出查询广播包,在通信距离内的蓝牙设备将对查询包进行应答,主设备获得应答蓝牙设备的蓝牙地址等信息。蓝牙主设备根据蓝牙从设备地址发出建立ACL连接请求,从设备同意后则建立一条连接,获得一个连接句柄,然后主从设备根据建立的连接句柄来进行数据传输。

蓝牙无线组网流程如图7所示,组网的第一步是根节点的选举,采用分布式算法在网络内选出能量较高的节点作根节点,根节点的选举分为能量信息互通和根信息广播两个阶段。在能量信息互通阶段,所有节点与周围节点进行能量信息交互,形成多个局部能量最高节点。在根信息广播阶段,局部能量最高节点通过广播方式交互,形成最终根节点。根节点选出后的第二步是形成根微微网,根微微网的形成分为根微微网成员选举、根微微网成员编号和根微微网路由信息记录。根微微网形成后开始进行网络扩张,扩张方式为由网络末端节点进行网络扩张,此时的网络末端节点为根微微网的从节点,先以根微微网的每个从节点为二级微微网的主节点进行网络扩张,然后通过角色转换形成以根微微网的每个从节点作为连接根微微网和二级微微网的桥节点的网络结构。根节点反复命令网络扩张,直到网络扩张找不到新节点为止,至此,可认为组网过程已经完成。

蓝牙无线传感器网络的组网具有以下特性:

每个微微网的节点个数不超过7个,留有1个空位以便新节点灵活加入;

每个微微网的节点个数尽可能接近或等于7个,使网络直径较小;

一个桥节点只连接两个微微网;

两个微微网之间只有一个桥节点连接;

桥节点的类型为S/S型,使网络有较好的通信性能;

每个微微网通过1个上行S/S桥与上级微微网通信;

每个微微网中至少有1个不充当桥的纯从节点,对本微微网的主节点和上行桥节点形成备份。

5 小结

本文设计了一种基于蓝牙和ARM7处理器的无线传感器网络节点。节点采用高性能、低功耗的ARM7处理器,提供温度、湿度、亮度的传感信息采集和传感器扩展接口,能够满足大部分环境信息采集的需要。传感器节点的组网利用低成本、低功耗、应用技术成熟的蓝牙无线通信技术,结合传感器网络的实际特点,设计的传感器网络具有较长的生存时间,较好的可靠性、灵活性和可自愈性。本文设计的基于蓝牙的无线传感器网络节点已经在科研项目中应用,具有较高的实用价值。

参考文献

[1]Jennifer Yick,Biswanath Mukherjee,Dipak Ghosal.Wireless sensor network survey[J].Computer Networks,2008,52(12):2292-2330.

[2]张伟,何斌,赵霞,等.开放的无线传感器网络平台OpenWSN[J].计算机研究与发展,2008,45(1):97-103.

[3]You Ke,Liu Ruiqiang.Bluetooth-based wireless sensor networks[C]//Second International Conference on Space Information Technology,Wu-han,2007:67950X.

[4]江虹,等.基于蓝牙的无线传感器网络节点:中国,200720081863.1[P].2007-10-31.

无线传感器网络的实现 篇6

无线传感器网络 (wireless sensor networks, 简称WSN) 作为先进的信息获取和处理技术, 已经在农业[1]、交通、零售业、医疗和国防等领域得到了广泛应用。目前, 无线传感器网络的研究和应用已成为信息技术领域的一个热点, 具有重要的学术价值[2]。无线传感器应用中的网络运行状态的监控是一个关键环节[3]。监控平台给无线传感器网络的节点性能检测、感知数据的显示与管理带来了生命力。

目前, 国内外许多企业、大学、科研机构对无线传感器网络做了不同层次的研究, 已经设计开发出一些WSN监控平台, 但大部分都是针对特定需求设计开发的, 不能有效进行二次开发, 不具有通用性。因此开发一套扩展性、通用性强的无线传感器监控平台是一个亟待解决的问题。

针对无线传感器网络应用数据管理, 拓扑管理, 可视化界面以及通用性和扩展性的要求, 构建了此网络数据分析和动态管理平台。本系统实现了原始数据的收集与处理, 节点感知数据和网络拓扑结构变化的图形化和动态显示, 满足了无线传感器网络数据分析和管理需求。

1 无线传感器网络工作原理

WSN是由传感器节点组成, 以无线自组网的方式构成网络。它是基于IEEE 802.15.4, Zigbee技术标准设计的工业应用型中短距离、低速率无线传感器网络[4]。网络系统由3种网络设备组成:无线路由终端、无线路由、无线协调器 (本系统无线协调器备有RS-232接口, 可与计算机相连, 通过计算机对数据进行管理和控制) 。无线路由设备为系统的数据进行转接, 根据现场需要布置路由器;整个网络的监控分层实现, 由上依次为传感器设备、无线终端、无线路由、无线协调器和服务器。服务器与Internet相连, 将收集的数据处理保存后传送到监控平台进行进一步分析与处理, 最后进行图形化显示和网络管理。

2 系统设计与实现

2.1 总体架构设计

本系统分为三个单元, 仪表单元主要负责采集现场感知数据。WSN单元主要负责仪表采集的环境数据传输给上位机, 该单元由传感器节点组成, 节点之间以无线方式传输数据。上位机负责接受数据, 进行解析并进一步的处理。传感器节点配有嵌入式操作系统和无线收发装置, 采用内置或外置方式与仪表相连, 并使用统一的接口接收仪表数据。仪表采集的现场环境数据由传感器节点进行格式转换, 通过WSN传送到上位机。上位机接收数据, 再作解析、显示、存储和发布。用户终端通过Internet与上位机相。图1是系统架构图。

2.2 AT Commmand指令与服务控制程序

该协议的操作系统基于任务调度机制, 通过对事件触发来实现任务调度。每个任务都包含若干个事件。服务控制程序通过串口从协调器收集数据和发送AT Commmand指令。协调器接收到的数据都是特定格式的字符串, 便于发送到服务器进行处理。AT Commmand也是由服务器发给协调器的特定序列的字符串, 经协调器处理后, 根据指令类型型返回服务器或继续下行发送给网络路由器。图2是主程序框架图。

其中U1RxHandleTask () 执行串口指令任务, 即由服务器发送给协调器或协调器返回给服务器的指令处理函数。handleATCommand (U1Rx.buf, U1Rx.cnt, 0) 封装了ATCommmand指令, 参数U1Rx.buf是串口缓冲地址, U1Rx.cnt为缓冲数组字节数, 0为标记位 (0表示ATCommmand指令返回服务器, 1表示ATCommmand指令下行发送给网络下层节点) 。

在路由信息处理方面, 网络路由建立过程如下:

(1) 节点初始状态ChildStatus为LinkTo广播连接请求, 调用SMPL_Link (&sLinkID1) 与其它节点互换Rxport, 与此节点先回应则选择谁为父节点, 同时将ChildStatus改为SEND_JOIN_INFO_TO_PARENT。

(2) 再次循环检测到ChildStatus为SEND_JOIN_INFO_TO_PARENT, 此时会将自己的信息封装成帧发送给选定的父节点。

(3) 当此父节点接受到帧, 若父节点是协调者会返回发送帧回复加入请求, 回复帧格式为:

3 硬件平台与图形界面设计

无线传感器核心部件采用了Chipcon公司生产的24GHZ射频系统单芯片CC2530。该芯片整合了RF前端、内存和微处理控制器等[5]。同时针对本系统的需要对芯片进行了升级, 扩展了模块存储空间, 即使协议后续再更新, 也有足够的存储空间可以使用。协调器通过串口与PC相连。终端传感器节点集成了处理器和功率控制功能模块等, 具有一定的能耗控制和数据处理能力。

监控界面使用VB.6.0可视化程序设计语言开发, VB6.0提供了MSComm串行通信控件, 同时也为控件提供了标准的事件处理函数、过程, 并通过属性的方法提供了通信接口的参数设置[6]。人机交互界面设计包括模块界面的绘制以及界面功能连接, 应主要考虑以下3点:

(1) 界面友好美观。

(2) 界面之间切换方便, 操作简单。

(3) 在功能满足的基础上, 尽量减少界面数量。

4 结语

首先阐述了无线传感器网络的工作原理和无线传感器网络监控平台的概要设计, 其次陈述了系统实现的AT Commmand指令与服务器控制程序。本系统采用C/S模式软件架构, 利用多线程并行处理技术实现了数据的即时收集与处理, 最后简单介绍了硬件平台与界面设计。该平台可以使得数据的处理更加方便、更加直观, 并能按需动态管理网络, 提高了网络开发和维护的效率。该平台适用于多种传感器节点, 具有较好的通用性。较长时间的实验证明该平台运行稳定, 有较好的维护性和扩展性, 实现了设计目标。

参考文献

[1]朱晓姝.物联网技术在现代农业信息化中得应用研究[J].沈阳师范大学学报 (自然科学版) , 2010, 7 (3) :391-393.

[2]李建中, 李金宝, 石胜飞.传感器网络及其数据管理的概念、问题与进展[J].软件学报, 2003, 14 (10) :1717-1727.

[3]李战明, 陈红波, 何畏, 等.桥梁施工控制中无线检测系统的设计[J].仪表技术与传感器, 2006 (12) :28-33.

[4]郑霖, 曾志民, 万济萍, 等.基于IEEE802.15.4标准的无线传感网络[J].传感器技术, 2005, 24 (7) :86-88.

[5]吴键, 袁慎芳.无线传感器网络节点的设计和实现[J].仪器仪表学报, 2006, 27 (9) :140-144.

无线传感器网络的实现 篇7

关键词:无线传感器网络,农业定位,n RF903,人工鱼群算法

0 引言

无线传感器网络由大量的微型传感器节点组成,这些传感器节点价格低廉,它们能够通过构建自组织多跳网络,感知网络覆盖区域的信息。然后将采集的信息进行处理,再发送给观察者[1,2]。无线传感器网络发展迅速,在现代农业中发挥了重要的作用,其在农作物的精准作业、设施农业环境智能调控、农田水利灌溉、果园管理以及畜禽养殖等诸多方面有着广泛的应用[3,4]。应用具备移动能力的传感器节点对农业环境进行动态监测,不仅能够减少所需节点的数量,还大幅提高了网络的覆盖范围,更有利于采样;同时可以通过数据转发以提高网络连通性和保障服务质量[5]。移动部署策略使传感器网络在资源配置方面得到了优化,可以显著改善信息感知、数据融合、无线通信的质量。由于环境和成本的限制,如果每个节点都配置GPS定位终端显然是不现实的,因此通过节点自定位技术获得节点的绝对或相对位置信息显得尤为重要。

常见的定位算法分为基于测距和无需测距的算法[6]。无需测距的定位算法不需要测量网络节点相互间的距离,单纯依赖网络连通状态完成位置估算,定位精确度相对较低。基于测距的定位算法和无需测距的定位算法不同,需要对节点之间的距离或者角度进行测量,从而实现节点的定位。常用测距方法有RSSI(Received Signal Strength Indicator),TOA(Time of Arrival),AOA(Angle of Arrival),TDOA(Time Difference of Arrival)等[7,8]。其中基于RSSI的测距技术应用较为广泛,它主要依据无线收发芯片来获取信号强度,在此基础上通过信号强度与传输距离之间的数学关系来实现距离测量。目前很多的无线射频芯片都具备RSSI采集功能,这些芯片价格低廉,功能强大,功耗较低,例如n RF903,CC1101,且它们均为独立模块,基于RSSI的测距技术已成为农业无线传感器网络定位的主要手段[9,10]。针对农业低成本的需求,本文设计了一种基于无线传感器网络的农业定位系统。当定位系统部署完成后,首先定位平台接收锚节点发送的包含自身位置与ID的数据包,建立网络的拓扑图和数据链表;然后移动节点向锚节点发送定位请求,接收锚节点的RSSI值并进行存储。最后定位平台依据移动节点与锚节点通信的RSSI值,应用基于变步长的人工鱼群算法定位模型确定移动节点的估算位置。

1 RSSI测距原理

RSSI测距方法利用接收的信号强度和经验路径损耗模型来计算移动节点与锚节点的距离,其模型如下:

式中:d0为参考距离(单位:m);d为移动节点与锚节点之间的距离(单位:m);为当距离为d时接收信号的平均功率(单位:d Bm);Pr(d0) 为在参考距离为d0处的接收功率(单位:d Bm);β 为路径损耗指数,表征无线信号功率随距离增长的损耗率。

测距时接收信号强度为:

式中:表示距离为d时的接收信号的平均功率,即RSSI(单位:d Bm);Pt为发射信号的功率(单位:d Bm);G为天线增益(单位:d Bi);指传输距离为d时的平均损耗功率(单位:d B)。

2 无线定位系统组成

设计的无线定位系统由定位平台和定位节点两部分组成,其中定位节点又包括锚节点和移动节点两部分。锚节点是指该节点被预先设定好位置,也就是说锚节点是一种参考定位节点;移动节点在网络中的位置是未知的,而且它的移动轨迹是随机的。网络中的所有节点均为同构节点,具有相同的通信距离和计算能力。定位平台主要包括节点通信模块、人机交互接口、定位服务器3 大部分。节点通信模块负责采集定位节点的无线通信信号,下发定位平台控制指令;人机交互接口负责设置定位参数、设备权限,及时接收移动节点与各锚节点通信的RSSI信息,通过定位模型进行处理后,输出定位节点的位置,记录所有定位操作发生的时间、地点,查询指定时间段内移动节点历史位置状态信息,并生成统计报表供用户查询;定位服务器负责所有定位节点信息的添加、修改和删除操作,包括锚节点、移动节点的编号信息,锚节点在定位区域内放置的地理位置信息,管理/启动/更新相关服务,以及对服务状态进行定时查询和检测。

定位平台和定位节点之间的通信频率为433 MHz,为有效防止同频干扰问题,系统采用分时TDMA(Time Division Muhiple Access)技术。待系统准备就绪后,所有锚节点首先向定位平台发送自身位置、节点ID等组成的数据包,定位平台建立相应的网络拓扑图和数据链表;然后移动节点向锚节点发送定位请求,接收锚节点的RSSI值并进行存储。最后定位平台将依据移动节点与锚节点通信的RSSI值,通过定位模型确定移动节点的估算位置。

2.1 定位系统设计

定位节点采用Atmega161 单片机为控制核心。Atmega161 为8 位单片机,功耗低,具有32 个工作寄存器,16 KB的FLASH,35 个通用的I/O接口,3 个具有比较模式的定时器,2 个可编程的UART,SPI口。n RF903为433/868/915 MHz,ISM频段设计的单片UHF(Ultra High Frequency)无线收发芯片[11,12,13],具有较高的传输效率,当带宽达到155.6 k Hz时,传输速率可提高至76.8 Kb/s,最大发射功率为10 d Bm,采用差分天线接口,供电电源为3 V的直流电源,可工作在待机和掉电模式,具备RSSI功能,通过读取ADC寄存器可获取当前的接收信号强度(0~255)。

将n RF903 的CFG_CLK( 配置寄存器时钟)、CFG_DATA(配置寄存器数据)、CS(配置寄存器片选)三个接口分别与Atmega161 的SPI端口的PB7(SCK),PB5(MOSI),PB4(SS)相连,对其工作频率、通道、输出功率和时钟频率等多个参数进行编程设置。n RF903 的数据接口DATA与Atmega161 的UART1 相连,收发通信数据和读取RSSI值。n RF903 与Atmega161 连接示意图如图1所示。

定位平台采用Visual C++ 6.0 环境下C语言进行开发。应用SQL Server 2012 数据库,由C/S模式(客户端/服务器)开发而成,可分为硬件接口层、定位引擎层和图形界面层三部分。硬件接口层与移动节点时刻保持通信,并将采集到的移动节点与锚节点的RSSI信息通过串口读入到定位平台,RSSI信息接收界面如图2 所示。

定位引擎层将定位平台获取的RSSI信息数据进行分析和处理,应用变步长的人工鱼群算法处理后获得移动节点的位置坐标。图形界面主要用于人机交互界面的图形显示,不仅可以读入用户数据,比如移动节点的位置,以及移动节点的使用配置和命令等,而且还可以将拓扑图导入到图形界面,从而完成相关节点的定位显示。

2.2 基于变步长的人工鱼群算法定位模型

移动节点与锚节点时刻保持通信,将锚节点的RSSI值按序组成一个数组,并上传至定位平台,定位平台完成对数据的分析和处理,然后依据路径损耗模型计算各移动节点与锚节点之间的距离,通过变步长的人工鱼群算法可以估算移动节点的位置,从而实现对移动节点的定位估算,然后计算相应的定位误差。

人工鱼群算法是一种优化的随机搜索模型,通过模拟鱼群的聚集和觅食行为,利用鱼群不断聚集实现移动节点的最终定位,达到利用鱼群个体的局部寻优来实现全局寻优的目的[14,15,16]。相关符号定义如下:

xi为第i条人工鱼的状态,维数为3,表示待定位移动节点所处的三维空间位置;鱼群中个体之间的相互距离表示为visual表示人工鱼的感知距离;δ 表示人工鱼的拥挤度因子;try_number为觅食过程中鱼群不断尝试的次数。

y为目标函数值,表征鱼群当前的食物浓度:

式中:n为锚节点总数;(xi1,xi2,xi3) 为待定位的估计坐标,即人工鱼状态xi;(xj,yj,zj) 为锚节点的实际坐标;dj为待定位移动节点和各锚节点之间的测量距离。由于使用RSSI测距存在一定的误差,定位的实质并不是消除误差,而是使误差最小化,因此当目标函数值达到最大时,鱼群的食物浓度值达到最大,此时鱼群聚集最多,定位结果达到最优化状态。

基于变步长的人工鱼群算法的移动节点定位主要包括4 种典型的行为:觅食、聚群、追尾和随机。

(1)觅食行为。设人工鱼的当前状态为xi,当dij≤visual时,在该人工鱼的感知距离范围内选择一个状态xj,如果yj> yi,则向该方向前进一步;反之,重新选择状态,判断是否满足前进条件;经过数次尝试后,如果仍然不能满足前进的条件,则随机向前移动一步;公式如下:

式中:rand(N(xi,visual))表示在人工鱼状态xi的visual范围内随机选取一个新的状态。

(2)聚群行为。设人工鱼的当前状态为xi,当dij≤visual时,对其视野范围内的鱼群进行搜索,并确定伙伴鱼群的中心位置,设伙伴数目为nf,伙伴鱼群的中心距离为xc。当nf不为零,且ycnf> δyj,说明伙伴鱼群的数量不为零,其中心聚集着较多的食物,且食物分布区域较广,则需要向着伙伴鱼群中心移动一步,否则继续执行觅食行为;若nf为零,说明搜索区域内并未出现觅食的伙伴鱼群,此时也要执行觅食行为。

(3)追尾行为。设人工鱼当前状态为xi,探索其dij≤visual范围内的伙伴中yj为最大的伙伴xmax。如果ymaxnf>δyi,表明伙伴xmax的状态具有较高的食物浓度并且其周围不太拥挤,则向伙伴xmax的方向前进一步;否则执行觅食行为。

(4)随机行为。随机行为就是一种缺省状态,就是随机选择一个方向,然后朝着这个方向移动,因此具有一定的随机性和盲目性。

一般来说,步长越大算法运行前期收敛速度越快,但是算法运行后期会出现波动情况,难以快速收敛;因此可以通过适时改变步长的方式提高人工鱼群算法的收敛性和准确性,即在算法运行前期,选用较大的步长,使人工鱼能够在较大范围内进行粗搜索,随着优化搜索的进行,逐步减小步长,使算法运行演化为局部搜索,定位在最优解附近区域完成精细搜索。步长step的动态调整模型为:

式中:a为调整因子;stepmin为最小步长;iter为当前迭代次数;Tmax为迭代次数最大值。

按照定位问题求取最优值的性质,采用试探法执行聚群、追尾等行为,通过对鱼群行动后的取值进行比较评价,执行最大值,如果行为为缺省状态的话,则判定此行为为觅食行为。在变步长的人工鱼群定位算法中设立一个公告板,此公告板是用来记录鱼群最优个体位置以及当前的食物浓度值,每当鱼群移动一次后就将此时鱼群个体自身位置对应的食物浓度与上一次公告板记录的进行对比,如果优于公告板上的记录,则应该将此时的位置及食物浓度替换公告板上的记录。

3 试验与结果分析

为验证所研制定位系统设计的合理性和实用性,进行了定位试验。试验三维区域为60 m×20 m×5 m,部署有6 个锚节点和1 个移动节点,网络部署方式如图3 所示,图中圆形代表锚节点,方形代表定位测试的移动节点。综合考虑农业环境监测与定位的需要,同侧锚节点间采用横向等距布置,间距为30 m,且部署在距地面约2.5 m高度处,移动节点在网络内随机移动。锚节点与移动节点采用基于n RF903 芯片开发的无线通信模块,其发射功率为10 d Bm,接收灵敏度为-104 d Bm,最大视距传输距离为400 m,锚节点和移动节点安装增益为3 d Bi的胶棒天线,节点通信设置为波特率9 600 b/s,8 位数据位,无奇偶校验位,1 位停止位。

定位平台发送配置命令,以对锚节点的位置和参数阈值、数据采集周期、移动节点定位周期等进行配置,系统处于正常运行状态,此后定位平台周期性地采集移动节点与各锚节点通信的RSSI信息,运用定位模型对这些信息进行解析,随后将得到的定位结果储存到数据库中。设置定位工作周期为3 min,系统连续运行1 h。衡量定位系统性能的主要标准是定位误差,移动节点的实际位置与估算位置之间的欧式距离就是定位误差,即:

式中:(xi, yi, zi) 为实际位置;(xe, ye, ze) 为估算位置。

感知距离visual会对基于变步长的人工鱼群算法定位模型的收敛性能产生比较大的影响。当感知距离大时,人工鱼群算法的全局搜索能力比较强,这时定位模型收敛的速度比较快;当感知距离较小时,人工鱼群算法的全局搜索能力就较弱,模型收敛的速度较慢,但是其局部搜索能力较强。感知距离visual对平均定位误差的影响如图4 所示,从图4 可以看出:当感知距离visual∈[0.5,4]时,平均定位误差较大;当visual∈(4,5]时,平均定位误差迅速下降,并且当感知距离visual≥4.0 时,平均定位误差就会基本保持不变。因此,选取的最终定位模型的感知距离visual为4.0。

在试验环境下记录20 次测试结果,计算移动节点的定位误差,结果如图5 所示。从图5 中可以看出,定位误差始终保持了较好的水平,定位误差的最大值为3.113 9 m,最小值为1.066 8 m,均值为1.769 9 m,均方差为0.786 8 m,定位误差≤1.5 m的比例达35%,定位误差≤3.0 m的比例达95%。表明定位系统的性能稳定,具有较好的鲁棒性。

在相同试验环境中,将本文提出的定位模型与遗传BP定位算法进行比较,遗传BP定位算法参数设置为:输入节点数为6,输出节点数为3,种群规模为20,进化次数为50,变异概率为0.2,交叉概率为0.4。两种算法定位误差的波动范围分别为[1.066 8 m,3.113 9 m],[1.867 4 m,6.015 7 m],表明本文所设计的定位系统性能更为优越。

4 结论

本文研发了一种基于无线传感器网络的农业定位系统。以Atmega161 单片机为定位节点的核心,n RF903无线收发模块接于单片机的外围;在Visual C++6.0 环境下利用C++语言自主开发定位平台,采用SQL Server2012 数据库并且以C/S模式(客户端/服务器)开发而成。试验表明,该定位系统简单易实现并且定位效果好。

(1)感知距离visual会对定位模型的收敛性能产生较大的影响。当感知距离较大时,定位模型的全局搜索能力增强并且能够快速地收敛;当感知距离较小时,定位模型的局部搜索能力增强。

(2)模拟定位试验中部署6 个锚节点,定位效果良好,表明该定位系统对锚节点数量的依赖度低,即使在少量锚节点的情况下,也能够获得比较理想的定位效果,有效降低网络的定位成本。

无线传感器网络的实现 篇8

关键词:无线传感器网络,ZigBee,温度监测

0 引言

煤炭作为我国的主要能源, 在国民经济发展中作用重大。近年来国家有关部门虽下大力气整治煤矿安全生产, 但生产状况仍不容乐观, 安全事故仍时有发生。

Zigbee技术具有1-3m W的超低功耗, 可连接216-264个设备, 数据传输速率达250kbps。硬件成本低, CC2420芯片只要20~40元, 完全可以大规模应用。

本文将Zigbee应用于矿井温度监测, 系统最终产品只有火柴盒大小, 矿工可以随身携带, 时刻监测矿工周围的温度, 彻底消除有线系统探头固定、探测范围有限的缺点。系统可以软件升级, 对矿工进行定位, 形成人员定位监测系统, 产品经济附加值高。

1 总体结构

网络结构如图1所示, 无线传感器网络由若干个Zig Bee温度探头、若干个Zig Bee分站和一个中心节点搭建而成。温度探头上的温度传感器采集环境温度信息并通过无线芯片发送到分站, 经过几个分站传送, 将信息及时反馈到中心节点, 传到计算机上。

2 硬件设计

无线传感器节点的硬件组成如图2所示, 微处理器采用Microchip公司的PIC单片机PIC18F4580。该芯片在交替工作模式下, Timerl的控制器、内部晶振将会被关闭, 可以减少90%消耗。无线通信模块选用Chipcon公司的CC2420芯片。该芯片是IEEE 802.15.4兼容的RF接收器, 射频工作频率选在2.4GHz上, 采用数字直接序列扩频基带的调制解调器来提供250kbps有效数据传输速率, 具有较强的抗干扰性。DS18B20是“一线总线”数字温度传感器, 具有小尺寸、廉价特点。LCD的驱动芯片采用HT1621, 内嵌32×4位显示RAM内存, 四线串行接口, 内嵌时基发生器和看门狗定时器 (WDT) 。LCD显示为8位8字, 前4位是温度数据, 后4位是探头的ID号。

探头、分站硬件一致, 但软件不同。对于探头, 传感器DS18B20收集数据, 送至PIC单片机, 通过LCD显示出来并通过RF模块发送出去;对于分站, RF模块处于接收状态, 收到数据后送到PIC单片机中, 解包后在LCD上显示。

3 软件设计

3.1 总体流程

网络中每个节点具有一个16位短地址和一个64位长地址。短地址用于本地网络中的设备通信, 长地址用于与本地网络之外的其它网络进行通信。数据传送采用树形方式, 探头向分站发送数据, 分站再把数据传向下一级分站, 直到中心节点, 最后中心节点把数据传到电脑中。

图3是分站程序流程图。分站初始化完成后进入接收状态, 并循环显示探头列表数据。若收到数据, 则处理收到的数据。探头每隔3s采集一次温度数据, 并打包发送, 其它时间进入休眠状态;TIMER0中断每隔10s触发一次, 完成分站数据传输。

3.2 应用层特征信息修改

本软件采用Microchip公司Zig Bee协议栈。根据实际需要, 在创建协调器和终端节点项目时做协议修改。定义节点的64位MAC地址。主程序使用此值来初始化MAC地址以及根据此值来分配短地址。其中, 后4个字节由用户定义, 前4个字节是组织唯一标识码 (OUI) 。如将MAC地址设置为00:04:A3:00:00:00:00:60, 则配置如图4所示。

指定当前节点属性, 定义节点为协调器 (COORDINATOR) 或是终端节点 (RFD) :

#define I_AM_COORDINATOR。

定义协调器所支持的最大数量的子节点数。有效值大于2, 最大值由具体应用决定:

#define MAX_NEIGHBORS 24。

定义间接发送帧缓冲器的最大容量 (MAX_HEAP_SIZE) 。堆大小由MAX_DATA_REQ_PERIOD (帧的平均大小和网络中节点的总数) 决定。通常, 堆必须足够大以保存典型数量的帧直到它们被预期的接收者读取为止。

#define MAX_HEAP_SIZE 2048。

定义处理器时钟频率 (CLOCK_FREQ) , 定义处理器时钟频率为16MHz:

#define CLOCKee_FREQ_16000000。

定义UART波特率值 (BAUD_RATE) , 可以根据应用程序的要求更改此值, 但须保证当前波特率值选择对于当前的处理器时钟频率选择是可能的。以下定义波特率为19200bps:

#define BAUDse_RATE 19200。

3.3 程序的初始化

协调器程序需要使用下列语句定义一个变量来跟踪当前执行的原语状态:

ZIGBEE_RIMITIVE current Primitive;

终端节点不仅需要跟踪当前执行的原语状态, 还需要另外两个变量来进行网络发现和网络加入的工作:

NETWORK DESCRIPTOR*current Network Descriptor;

ZIGBEE_RIMITIVE current Primitive;

NETWORK DESCRIPTOR*Network Descriptor;

PIC初始化前需要加载命令清空看门狗, 以免不必要中断。开门狗并对控制台和硬件进行初始化:

CLRWDT () ;

ENABLE_WDT () ;

Console Init () ;

Hardware Init () ;

在协议栈被使用之前, 必须对其进行初始化, 激活所有中断:

APLEnable () ;

IPEN=1;

GIEH=1;

3.4 数据传送

发送数据用的是MAC命令帧, 结构如下:

温度数据存放在MAC载荷里面。温度探头和分站均采用短地址, 地址域占用8个字节, 命令帧载荷为1个字节的命令帧标识符加上4个字节的温度数据, 共5个字节。所以帧的长度为18个字节。

由于公司原有产品都是用的MAC命令帧, 为了和原有产品兼容, 探头和分站发送数据也使用MAC命令帧。

分站中探头列表的数据结构如下:

分站接收到数据后, 先判断包长度, 若长度等于18字节, 则是探头发来的数据, 直接显示在LCD上, 并和探头列表中的数据比较, 若已有这个探头卡号, 则更新温度数据;若没有这个探头的卡号, 则把这个探头的卡号加到列表中。并且把这个探头的flag标志位置1, 表示刚收到过这个探头数据, 它还在当前分站的覆盖范围内。若包长度大于18字节, 则是分站发来的数据直接和探头列表比较, 有这个探头的卡号, 就更新温度数据, 没有, 就加到列表中, 把这个探头的flag标志位置1, 表示刚收到过这个探头数据, 它还在当前分站的覆盖范围内。

温度探头每隔3s发一次数据, 发完后就进入休眠。TIMER0每10s中断一次。中断产生时, 分站向上一级发送探头列表中的数据, 并且把列表中flag标志位为1的卡号的flag标志位置成0;把flag标志位为0的卡号删掉。因为flag标志位为0, 说明20s内都没收到这个探头的数据, 它已不在当前分站覆盖范围内。

4 实验分析

4.1 无障碍传输距离测试

测试在井上无障碍的环境下进行测试, 分别选取5个测试距离, 测试结果如图5所示。信号接收效果中的数据为探头发送100个数据包时分站接收到的数据包个数。从图中可以看出当在距离超过80m时, 接收效果就明显下降了, 这也是Zig Bee协议应用中的一个缺憾。

4.2 有障碍传输距离测试

测试在矿井巷道隔离的环境下进行实际测试, 测试结果如图6所示。信号接收效果中的数据为探头发送100个数据包分站接收到的数据包个数。在有障碍巷道中, 接收效果受通信距离影响下降明显。当距离为80m时, 趋近于0。

5 结束语

本文设计并开发了基于Zig Bee协议的无线温度传感器网络。该网络由若干个分站、探头组成。探头负责将温度传感器所采集到的信息反馈给分站, 从而达到对一块区域进行温度监控目的。

实际应用中, 用户大多要求测量多个环境信息 (如, 湿度、气压等) , 所以要在无线传感器节点上为多种传感器提供接口, 获取数据并在网络中发送。另外, 加入人员定位功能, 能确定带有探头的矿工在井下的位置, 监测它们的运动轨迹, 便于发生事故后对其进行营救。

参考文献

[1]崔吉, 徐桂云, 张燕超, 等.无线传感器网络的概述[J].山东通信技术, 2006 (4) .

[2]蒋垫, 曹长修, 纪强军.基于ZigBee技术的温度控制系统的实现[J].自动化博览, 2006 (3) .

[3]CC2420Preliminary Datasheet (rev1.2) , 2004.

[4]Microchip Stack for the ZigBee Protocol AN965, 2006.

[5]ZigBee Specification Version1.1, September5th, 2005.

[6]BHASKAR KRISHNAMACHARI.Networking Wireless Sensors.Can bridge University press, 2005.

[7]任少华.基于ZigBee的远程抄表系统收发功能模块的研制[D].成都:四川大学, 2006.

无线传感器网络的实现 篇9

无线传感器网络(Wireless Sensor Network, WSN)就是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者。传感器、感知对象和观察者构成了无线传感器网络的三个要素。ZigBee是一种短距离、低速率、低功率和低成本的无线网络通信技术,其开发是为了建立一种低成本、低功耗的小区域的无线通信方式,在此基础上通过软件协议栈发展出易布建的大容量、不依赖现有通信网络和现有电力网络的无线网络。协议栈不需注册,有很多公司有开发的协议栈供研发使用。该技术使用免费的IMS的2.4GHz、915MHz和868MHz频段,传输速率为20kbps到250kbps。其与蓝牙、红外和WiFi等无线通信技术相比有着成本和开发简单等优势,所以ZigBee是无线传感网主要的无线通信技术标准。无线传感器网络网关是外部网络与内部网络之间的连接点。

1 网关方案设计

1.1 硬件设计

本网关的硬件设计采用3个部分。MCU即核心控制芯片采用Microchip公司的PIC24FJ128GA010,无线通信芯片采用该公司的MRF24J40MA,转外网部分采用USR-TCP232-2模块,该模块是串口转以太网的模块,实现将ZigBee内网数据通过RS232串口转换成以太网的功能。网关节点的硬件框图如图1所示。

1.1.1 处理器模块

网关必须具有强大的处理能力和存储空间,必须采用高性能的芯片作为其微处理器。PIC24FJ128GA010是16位改进型哈佛架构(将程序指令存储和数据存储分开的存储器结构),程序存储器128k,数据存储器8192字节, 8MHz内部振荡器,工作性能可达16MIPS, 两个 3 线 /4线 SPI模块,利用 4 级 FIFO 缓冲器支持4 种帧模式, 两个 UART模块,7个通用I/O口等优点。基于以上考虑,选择将其作为网关的MCU。

数据先存放在数据储存器当中,处理器通过寄存器、中断、串口和SPI等方式控制串口转以太网芯片和无线收发模块。

1.1.2 协议转换模块

协议转换采用的是串口转以太网的方式。网关节点选取USR-TCP232-2模块作为协议转换。它用来将TCP网络数据包或UDP数据包通过RS232串口与ZigBee的数据实现透明传输。它体积小巧,功耗很低、搭载ARM处理器,速度快,响应迅速、稳定性高。由于内部集成了TCP/IP协议栈,用户利用它可以轻松完成嵌入式设备的网络功能,将原有的串口设备升级成可以上互联网的网络功能,节省物力人力和宝贵的开发时间,使产品更快地投入市场。串口转以太网模块集成10/100M自适应以太网接口,串口通信最高波特率高达230kbps。

1.1.3 ZigBee无线通信模块

这一模块采用的是MRF24J40MA 芯片,它是符合IEEE 标准802.15.4的RF收发器,小尺寸(17.8mm×27.9mm),可表面贴装,集成的晶振、内置稳压器、匹配电路和PCB天线(这一点也免去了应用中自己去设计天线的麻烦)、范围最大可达400米,易于集成到最终产品中——最大程度降低产品开发周期,缩短上市时间。

普通节点采集到的数据都是通过ZigBee无线通信最终汇聚到网关节点的。这一模块对应的是MAC和PHY层。MCU通过SPI控制其通信。图2为该射频芯片的引脚。它通过SCK(控制时钟)、SDI(接收数据)和SDO(发送数据)引脚与MCU通信。

1.1.4 电源模块

电源模块负责整个网关节点的能源供应。因为网关节点是无线传感网中的核心节点,负责汇聚所有传感到的有效数据和对其他节点的管理,同时又是ZigBee网络与TCP/IP网络的接口,处理的数据量非常大,因此必须保证其稳定地工作。所以采用外接交流电对其供电。在J12上提供9V至15V(最好是9V)未稳压的直流电源,经过变压器变压、稳压后提供3V和5.5V两种电压。电源模块如图3所示。

1.2 软件功能

采用ZigBee协议栈,对网关节点写协调器的程序代码。网关节点在ZigBee网络中对应的是协调器。该程序运行的过程是:硬件和协议栈初始化、扫描信道建立网络、接收和发送数据包、向串口转发、协议转换至以太网。建立ZigBee网络的过程在 NO_PRIMITIVE 原语处理中启动。如果设备是ZigBee 协议协调器,而它尚未组建网络,则通过发出NLME_NETWORK_FORMATION_request原语,它将尝试组建一个网络。而普通的节点如果目前不在网络中,它会尝试接入某个网络。如果设备已明确它曾是某个网络的一个节点,则通过发出RejoinNetwork参数置为TRUE的NLME_JOIN_request,它将尝试以孤立节点重新接入该网络。如果失败,或者设备以前并不在某一网络中,则它将尝试以新节点加入网络。它首先发出NLME_NETWORK_DISCOVERY_request原语来发现可用的网络。然后,应用程序代码将从发现的网络中选择一个,通过发出RejoinNetwork参数置为FALSE的NLME_JOIN_request原语尝试接入该网络。

2 功能测试

将硬件都连接好以后,先设置好串口转以太网模块的参数使其可以正常工作。包括:工作方式、本模块的IP地址、串口的波特率、模块自身端口、连接目标IP和连接目标端口。模块的MAC地址是固定。给所有硬件上电,打开网络调试助手查看数据的通信情况。

网关首先启动ZigBee网络,然后显示出已经有一个节点加入了网络。在电脑的上位机上面显示接收到了来自节点的测试数据“ABC”,表明网关节点汇总的ZigBee数据已经传到了以太网上。192.168.1.7为网关节点的IP地址,192.168.1.145为电脑(上位机)的IP地址,如图4所示。

3 结束语

该ZigBee网关通过串口转以太网的方式实现了ZigBee网络采集到的传感数据与以太网数据的转换,达到了数据共享的目的,为ZigBee传感器网络提供了以太网网络平台,使ZigBee在无线传感器网络上的作用越来越大,可以为智慧城市和生活做出贡献。网关节点还可以加入GPRS、WiFi等模块,丰富其网络通信的功能,这给下一步的改进工作提供了方向。

参考文献

[1]Zhu Zhen,Cui Ruchun.Remote Intelligent Monitoring System Basedon Embedded Internet Technology[C].Proceedings of the Interna-tional Conference on Automation and Logistics,Jinan,2007:2665-2669.

[2]Yu-Ping Tsou,Jun-Wei Bsieh,cheng-Ting Lineta1.Building a Re-mote Supervisory Control Network System for Smart Home Applica-tions[C].IEEE International Conference on Systems.Taipei,2006:1826-1830.

[3]吕治安.网络原理与应用开发[M].北京:北京航空航天大学出版社,2008.

[4]匡兴红,邵惠鹤.无线传感器网络网关研究[J].计算机工程,2007,33(6):228-230.

上一篇:润滑体系下一篇:管柱腐蚀