无线传感器网络WSNs(Wireless Sensor Networks)被广泛应用于环境探测、天气预报、安全、监控以及分布式计算和目标区域成像等领域,在军事、医疗和民用等方面的应用具有深远意义。在传感器网络中,位置信息对传感器网络的监测活动至关重要,事件发生的位置或获取信息的节点位置是传感器监测信息中所包含的重要信息,没有位置的监测消息往往是毫无意义的。因此,确定事件发生的位置或获取消息的节点位置是传感器网络 基本的功能之一,对传感器网络应用的有效性起着关键作用。
ZigBee技术是一个具有统一技术标准的短距离无线通信技术,其PHY层和MAC层协议为IEEE802.15.4协议标准。本文提出的无线传感器网络工作在 通用的ISM(Industrial Scientific and Medical)免付费频段2.4 GHz上,其数据传输速率为250 Kb/s,划分为16个信道。与蓝牙或802.11等同属于短距离无线通信的技术相比,ZigBee技术具有先天优势。ZigBee设备为低功耗设备,具有能量检测和链路质量指示的功能。同时,由于采用了碰撞避免机制(CSMA-CA),避免了发送数据时的冲突。在网络安全方面,采用了密钥长度为128 bit的加密算法,对所传输的数据信息进行加密处理,保证了数据传输时的高可靠性和安全性。用ZigBee技术组成的无线传感器网络结构简单、体积小、性价比高、放置灵活、扩展简便、成本低、功耗低、安全可靠,这种新兴的无线传感器网络必将有广泛的应用前景。
1 无线传感网定位系统设计
1.1 设计思想
本系统的主要设计思想是:先在监测区域布置一定的参考节点,参考节点的作用是在定位过程中起参考点的作用,不参与定位;移动节点就是定位节点,通过参考节点来确定自己的位置;网关节点一方面配置参考节点的位置信息,同时接收移动节点的位置信息发送给Web服务器,Web服务器接入网络可以实现远程访问和控制。系统框图如图1。
1.2 硬件设计
1.2.1 节点硬件设计
无线传感器节点一般由传感器模块、数据处理模块、电源模块和数据传输模块组成。由于在本设计中主要考虑定位,所以传感器模块只是为了以后扩展用的。
图2是一般节点(作为参考节点或者移动节点)的原理框图。
由于网关节点要和PC机或者Web服务器连接,所以要带串口。网关节点原理如图3。
本系统节点有参考节点、移动节点和网关节点3种。下面介绍节点系统的组成。
(1)处理器芯片
CC2431是TI公司推出的带硬件定位引擎的片上系统(SoC)解决方案,能满足低功耗ZigBee/IEEE 802.15.4无线传感器网络的应用需要。CC2431定位引擎基于接收信号强度指示RSSI(Received Signal Strength Indicator)技术,根据接收信号强度与已知参考节点位置准确计算出有关节点位置,然后将位置信息发送给接收端。相比于集中型定位系统,RSSI功能降低了网络流量与通信延迟。
(2)传感器芯片
SHT11是瑞士 Scnsirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域,具有集成度高、接口简单、测量 高并可编程调节、封装尺寸超小、可靠性高的特点。
(3)天线
天线设计是系统设计的关键,系统中其余模块只是芯片的级联,只有这一部分需要自己设计。由于射频信号的频率达到2.4 GHz,微波波长与传输线的长度已经达到同等数量级。传输线末端的微波反射和驻波等问题不可忽视,否则会产生恶劣的影响。解决这些问题的关键在于传输线特征阻抗与天线阻抗的良好匹配与控制。
系统设计中使用了2种天线。一种是外接的2.4 G天线,通过SMA头连接,市场上有成熟的外接天线;另一种是采用倒F型的微带天线,其制作成本很低,微波馈线采用微带传输线与敷铜底板的介质板上的带状线相同,具有较好的微波传输特性和较低的传输损耗。
1.2.2 Web服务器硬件设计
目前,无线传感器网络数据的传输主要是采用多跳实现的远距离传输,但是由于多跳的不稳定性给数据传输带来很大不便,同时使用串口的数据也不能实现远距离数据传输。为了实现远距离数据的传输和监控,本系统采用嵌入式Web服务器接入网络的方法实现远距离传输。图4是Web服务器原理框图。
(1)处理器芯片
S3C44B0是SAMSUNG公司推出的16/32 bit RISC处理器,为手持设备和一般应用提供了高性价比和高性能的微控制器解决方案。S3C44BOX使用ARM7TDMI内核,采用0.25 μm CMOS工艺制造。它的低功耗和全静态设计特别适用于对成本和功耗敏感的应用。
(2)以太网接口
网络接口芯片使用RTL8019AS,它符合NE2000,提供了自动检测10BaseT集成收发器RJ45,有2种工作模式:8 bit的DMA(只能用芯片地址0x4000-0x5fff)和16 bit的DMA(可用到0x6000-7fff)。这里的地址只是指芯片内的地址,而非总线地址。
RTL8019AS网络芯片要模拟的网络芯片内部RAM共2块:(1)0x0000-0x000B,12 B,页号为0x00,存放MAC地址(奇数和偶数存放的MAC地址是一样的,目的在于方便16 bit DMA读取)。(2)0x4000-0x5FFF,8192 B,页号为0x40-0x60(只用到0x5f,0x60为结束边界),用于存放收发的数据包缓冲,具体收发多少由驱动程序初始化决定。至于发送缓冲区和接收缓冲区的大小可以根据具体需要决定。
以太网接口使用的是带有变压器的RJ45接口。
(3)USB接口
ISP1161为ISP1161A1的 代芯片,也是业界 款在单芯片内集成USB主机端与USB设备端功能的产品,可提供点对点连接。它可以透过软件控制扮演独立型主机或设备,甚至同时兼具主机与设备的功能。它拥有一个16 bit并行输出入(PIO)与DMA接口,可以连接到市场上多数的RISC指令集处理器、数字信号处理器(DSP)与微控器。它完全符合USB2.0规格,非常适合嵌入式或会聚式系统。
1.3 软件设计
1.3.1 网关节点软件设计
网关节点在整个系统中有着重要的作用,首先要接收对参考节点的配置数据,其次还要接收各节点反馈的有效数据。其工作流程如图5。
1.3.2 参考节点软件设计
参考节点是一种静态节点,其坐标位置是固定的,并且不参与定位计算。其工作流程如图6。
1.3.3 移动节点软件设计
移动节点可在移动区域里任意移动。电脑各位节点通过接收定位区域内所有参考节点的RSSI值后,经过定位算法来计算其坐标位置。定位节点软件流程图如图7。
1.3.4 Web服务器软件设计
嵌入式Web服务器采用μClinux操作统,它是专门为无存储器管理单元(MMU)微控制器设计的嵌入式Linux操作系统。μClinux是基于Linux内核开发的,它是在GNU公共许可证(GPI)下发布的自由软件。μClinux经过对标准Linux内核的改动,形成了一个高度优化的、代码紧凑的嵌入式Linux,虽然它的体积很小,但μClinux仍然保留了Linux的大多数优点:稳定、良好的移植性、 的网络功能、对各种文件系统完备的支持以及丰富的API。
软件设计步骤为:(1)移植u-boot;(2)建立交叉编译环境;(3)μClinux操作系统的移植;(4)boa服务器的移植;(5)应用程序的编写。
1.3.5 服务器界面的设计
服务器界面采用动态和静态的网页实现。为了使得本系统的浏览器窗口呈现更为灵活的功能,采用了HTML多框架结构,这样在浏览器上便可以 显示多篇文档,相互配合,相互转换,如图8所示。其中“系统主页”、“关于我们”、“在线帮助”页面和“联系我们”网页为静态页面,没有与CGI程序的数据交互。“ 页面”、“系统状态查询”、“定位查询”、“节点配置”页面为动态页面,分别与3个不同的CGI程序链接,用于接收或返回实时数据或信息。
所有HTML文件及需链接的图像文件也均放人/μClinux-dist/vendors/tmpt目录下暂存。
2 系统测试
本系统主要由2部分组成:(1)由参考节点、移动节点和网关节点组成的定位系统。(2)网关节点和嵌入式Web服务器之间的通信通过串口实现,嵌入式Web服务器可以通过以太网接入网络,也可以通过USB实现传输。具体步骤如下:
(1)将参考节点布置在一定的区域,本次选择8个参考节点;
(2)配置参考节点,即给参考节点初始化一个位置信息;
(3)将移动节点放置在参考节点区域内,本次选择4个移动节点作为测试用;
(4)网关节点和嵌入式服务器通信,将定位信息通过网页界面显示出来。
通过多次改变移动节点的位置来测量移动节点的位置,然后与实际位置进行比较,表1和表2是以移动节点1为例在不同区域内进行测量的结果。
从上表可以看出本定位系统定位在区域不大的情况下,定位准确性很高。
经试验,本定位系统在空旷的地方定位效果良好,但是也受环境影响,如受房间墙壁、玻璃及金属对天线的影响。如果碰到这些情况应尽量使用外接天线,这样的效果会好。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。