基于Arduino的无线传感器网络室内定位方法的研究毕业设计论文_第1页
基于Arduino的无线传感器网络室内定位方法的研究毕业设计论文_第2页
基于Arduino的无线传感器网络室内定位方法的研究毕业设计论文_第3页
基于Arduino的无线传感器网络室内定位方法的研究毕业设计论文_第4页
基于Arduino的无线传感器网络室内定位方法的研究毕业设计论文_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要 无线传感器网络(WSN,Wireless Sensor Network)是近年来迅速发展并受 到普遍重视的新型网络技术,它的出现和发展给人类的生活和生产的各个领域 带来了深远的影响。无线传感器网络节点定位技术是无线传感器网络应用研究 的基础。目前,已有多种定位技术被应用于室内定位中,尤其是基于接收信号 强度(RSSI,Received Signal Strength Indication)的定位技术以其低功耗、低成 本、易于实现等优点,得到了无线传感器网络研究学者们的青睐。 本文重点研究了基于 RSSI 的室内定位的关键技术,主要包括定位模型分 析和定位算法设计。首先,为了获得较为精确

2、的定位,根据 RSSI 测距原理和 无线信号传播衰减模型在设定的室内环境进行多次实验,通过计算及均值处理 等方法反复调整以获得标准的定位模型参数,得到高精度的等效距离。接着, 根据三边定位算法原理简化定位算法,建立更为简单的定位模型,采用双边定 位得到两个可能的定位点,再利用 RSSI 测距原理对两个定位点进行择优选择 确定定位点。最后,在 Arduino 开发平台上对参考节点与未知节点这两类 iDuino 节点的室内定位模型进行了软件开发设计和程序开发。在设定的室内环 境部署 iDuino 节点,搭建实验定位模型,并实现了定位。 关键词:无线传感器网络,节点,室内定位,RSSI,Arduin

3、o ABSTRACT Wireless sensor network (WSN) is developed rapidly and universally emphasized as a new network technology in recent years, the advent and development of WSN have had a profound and lasting impact on the life and all areas of production of human beings. Wireless nodes localization technolo

4、gy is the basis in the application and studies of wireless sensor network. There are a variety of positioning technology have been used in indoor location at present, especially the based on RSSI (received signal strength) positioning technology gets a great preference from many scholars of studies

5、of wireless sensor network with the advantages of low power consumption, low cost and easy to realize. This paper mainly studies the key technology of indoor positioning based on RSSI, which mainly includes the positioning model analysis and positioning algorithm design. First, in order to obtain mo

6、re accurate positioning, we perform several experiments according to the RSSI ranging principle and wireless signal propagation attenuation model in the setting of indoor environment, and get accurate positioning model parameters and equivalent distance by the methods of calculation and mean process

7、ing. Then, we simplify Trilateral Localization Algorithm to Bilateral Location Algorithm and establish a simpler positioning model, with which we can get two nodes of possible location, and determine the better node according to the RSSI ranging principle. At last, we make software designing and pro

8、gramming of these nodes that are anchor nodes and nodes of unknown on the Arduino development platform. Combined with the indoor environment we selected, we deploy the iDuino nodes and then build location model, with which we implement the location. KEY WORDS:Wireless Sensor Network,Nodes,Indoor Loc

9、ation,RSSI,Arduino 目 录 第一章第一章 绪论绪论.1 1.1 选题目的与意义.1 1.2 研究背景.2 1.2.1 国内外研究状况.2 1.2.2 室内定位技术.3 1.2.3 无线传感器网络操作系统.6 1.3 论文章节安排.7 第第二二章章 无无线线传传感感器器网网络络定定位位技技术术.8 2.1 无线传感器网络结构.8 2.1.1 无线传感器网络体系结构.8 2.1.2 无线传感器节点结构.9 2.1.3 无线传感器网络的协议栈.10 2.2 无线传感器网络的定位机制.11 2.2.1 基于测距的定位技术.11 2.2.2 与距离无关的定位技术.13 2.3 常用的室

10、内节点定位算法.13 2.3.1 三边测量法.13 2.3.2 三角测量法.14 2.3.3 极大似然估计算法.15 2.3.4 DV-Hop 定位算法.16 2.3.5 APIT 定位算法.16 2.3.6 加权质心算法.17 2.4 定位系统和算法的性能评价标准.18 第三章第三章 基于基于 RSSI 的室内定位模型分析及算法设计的室内定位模型分析及算法设计 .18 3.1 RSSI 测距原理.18 3.1.1 无线信号传播损耗模型.19 3.1.2 RSSI 测距模型18.20 3.2 RSSI 测距实验.21 3.3 基于 RSSI 的三边定位简化算法.25 第四章第四章 基于基于 I

11、DUINO 节点的室内定位系统的实现节点的室内定位系统的实现 .29 4.1 IDUINO节点简介19.29 4.2 节点部署模型设计.32 4.3 程序设计.33 4.3.1 节点逻辑设计2,19.33 4.3.2 Arduino 程序体系结构及程序语言基础2,20.34 4.3.3 节点程序设计.37 4.4 定位实验.43 第五章第五章 总结与展望总结与展望.46 参考文献参考文献.48 致致 谢谢.50 毕业设计小结毕业设计小结.51 附附 录录.52 第一章 绪论 1.1 选题目的与意义 从 21 世纪初开始,物联网(Internet of Things)的概念和技术在全球得到 高度

12、重视。物联网是互联网的应用拓展,它通过智能感知、识别技术与普适计 算等通信感知技术,把传感器、控制器、机器、人和物等通过新的方式联系在 一起,形成物与物、人与物联系,实现信息化、远程管理控制和智能化网络, 也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮1。国内 外各大企业和高效开始将目光由传统的通信行业转向了物联网行业2,而与物 联网密切关联,基于大量具有通信功能的微型传感器构成的无线传感器网络也 成为了国内外关注的热点。 WSN 是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通 信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处 理网络覆盖区域被感

13、知对象的信息,并发送给观察者。随着微电子和微系统 (Micro-Electro-Mechanism System,MEMS) 、片上系统(System on Chip,SOC)、无线通信以及低功耗嵌入式技术的快速发展,无线传感器网络 (WSN)在军事应用、目标追踪、环境监测、医疗保健、空间探索等领域都得 到广泛的应用,为信息感知带来了一场新变革,使得物与物、人与物、人与人 之间,甚至人身的交互感知更方便2。 传感器节点是无线传感器网络(WSN)的基本单位,节点的位置信息是 WSN 应用的基础,不能确定位置信息的节点所得到的监测数据是没有任何意义 的,因而节点定位技术在 WSN 中具有举足轻重的

14、地位。 由美国国防部领导下的卫星导航联合计划局(JPO)主导研究的全球定位 系统(Global Positioning System,GPS)是目前应用最广泛和成功的定位技术。 GPS 在许多嵌入式系统中被用于定位服务,如手机、导航系统或笔记本电脑等。 虽然 GPS 能提供高精度的位置信息,但对于大多数的 WSN 应用并不适用。首 先,现有的 GPS 部件非常昂贵。其次,GPS 耗能高,将有可能对 WSN 生存期 产生额外的约束。另外,WSN 通常是静止的,定位协议可能只需要在网络初始 化周期执行。因此,GPS 可能不能实现有效的成本效益3。GPS 主要应用于船 舶、汽车、飞机等运动物体进行定

15、位导航,只适合于在户外使用。在室内场合, 由于建筑布局复杂、场景特定、再加上人员活动等不确定随机因素,存在着多 径效应和非视距传输的影响,使得室内信道环境复杂,微波信号衰减厉害、测 量误差大,GPS 并不适用。而基于 IEEE 802.11 协议的无线局域网(Wireless Local Area Network,WLAN)的定位技术已经取得了巨大的研究成果,尤其是 近年来基于多种简单定位机制和算法,技术相对简单,低成本、低功耗、自组 织的 WSN 定位技术得到了科研人员的重视和大量研究,具有很好的应用前景。 图 1-1 列举了 WSN 的主要应用3。 无线传感器的网络应用 军事 智能微粒 螺

16、旋侦察 狙击手侦 测系统 环境 洪水、火 山、森林 火灾等监 控 自然栖息 地监控 医疗 人工视网膜 病人监护 应急响应 人体检查 药品管理 家庭 用水监控 火灾监控 安防 智能家居 工业 定期检修 结构健康 侦测 图 1-1 WSN 的应用类别和举例 现代社会人们对生产生活中的安防和智能化的需求越来越高,精确的定位 技术在许多室内场景的实用性和必要性已经日趋显著4。在一些公共场所,例 如购物超市、展览厅、办公室、图书馆、地下停车场、监狱等,人们都需要精 确的定位信息2。精确的室内定位信息能够实现高效的空间利用,为人们的生 活带来了诸多便利。例如在医院进行医护人员与患者监控管理,药品和医疗设

17、备管理。如果有病人发生意外,定位系统就可以确定患者位置并通知最近的医 护人员,进行紧急处理;在图书馆布置带有温度和烟雾浓度的感知系统,如果 发生火灾系统能够及时向监控中心报告火灾的具体位置;在超市,可以通过对 消费情况的监控来对商品优化摆放,减少消费者寻找时间以及减轻拥堵情况4 等等。因此,室内定位技术应用前景广阔,具有极大的研究价值和市场需求。 1.2 研究背景 1.2.1 国内外研究状况 无线传感器网络的研究最初起源于美国军方,其研究的项目包括 CEC、REMBASS、TRSS、Sensor IT、WINS、Smart Dust、SeaWeb、AMPS、NEST 等5。美国国防部远景计划研

18、究局已经投资几千万美元,帮助无线传感器网络 技术的研发。美国国家自然基金委员会(NSF)也开设了大量与其相关的项目, 如:2003 年制定了无线传感器网络研究计划,每年拨款 3400 万美元支持相关 研究项目,并在加州大学洛杉矶分校成立了传感器网络研究中心;2005 年对网 络技术和系统的研究计划中,主要研究下一代高可靠、安全的可扩展的网络、 可编程的无线及传感器系统的网络特性,资助金额达 4000 万美元。此外,美国 交通部、能源部、美国国家航空航天局也相继启动了相关的研究项目。 美国所有著名的院校几乎都从事传感器网络相关技术的研究,如加州大学 洛杉矶分校、康奈尔大学、麻省理工学院和加州伯克

19、利分校等都先后开展了传 感器网络方面的研究工作。加拿大、英国、德国、芬兰、日本和意大利等国家 的研究机构都先后开始了无线传感器网络的研究。欧盟第 6 个框架计划将“信息 社会技术”作为优先发展的领域之一,其中多处涉及对无线传感器网络的研究。 日本总务省在 2004 年 3 月成立了“泛在传感器网络”调查研究会。韩国信息通信 部制定了信息科技 839 战略,其中“3”是指 IT 产业的 3 大基础设施,即宽带融 合网络、泛在传感器网络、下一代互联网协议。企业界中欧盟的 Philips、Siemens、Ericsson、ZMD、France、Chipcon 等公司,日本的 NEC、OKI、Skyl

20、eynetworks、世康、欧姆龙等公司都开展了无线传感器网络的 研究。 我国对无线传感器网络的研究起步较晚6,首次正式启动出现于 1999 年中 国科学院知识创新工程点领域方向研究的“信息与自动化领域研究报告”中, 无线传感器网络是该领域的五大重点项目之一。2001 年,中国科学院依托上海 微系统与信息技术研究所成立微系统研究与发展中心,旨在引领中国科学院无 线传感器网络的相关工作。 在一份我国未来 20 年预见技术的调查报告中,信息领域 157 项技术课题中 有 7 项与传感器网络直接相关6。2006 年初发布的国家中长期科学与技术发 展规划纲要为信息技术定义了三个前沿方向,其中两个与无线

21、传感器网络的 研究直接相关,即智能感知技术和自组织网络技术。我国 2010 年远景规划和 “十五”计划中,就已经将无线传感器网络列为重点发展产业之一2,7。2012 年教 育部也将无线传感器网络纳入科研重点项目7。近年来,国家自然科学基金委 员会对无线传感器网络相关的研究课题给予了大力资助,大量关于无线传感器 网络的国家自然科学基金研究项目赫然在列。国家 863 高技术发展也设立了专 项基金,以资助无线传感器网络技术的研究工作。 从 20 世纪 90 年代起,国内外许多高校和研究机构开始了室内定位技术的 研究,也出现了一些成熟的室内定位系统。例如 Active Badges11、Active

22、Bats、Cricket12、RADAR13等。Active Badges 与 Active Bats 定位系统都是由 AT #if defined(USBCON) USBDevice.attach(); #endif setup(); for (;) loop(); if (serialEventRun) serialEventRun(); return 0; Arduino程序采用C+进行编写,并在此基础上添加了一些自定义的函数和 常量。只要没有超过内存限制,Arduino可以按照C+语法自由定义变量,它还继 承了C+的运算符,包括数学运算法、逻辑运算符和二进制运算符三部分内容。 Ardu

23、ino程序可以使用所有的标准数学函数。 对于本论文采用的iDuino节点,因为它没有任何显示设备,需要通过单片 机的串口来实现。Arduino提供了大量的串口函数,它使用静态对象SerialX来代 表串口,但AVR很多单片机都有多于一个以上的串口,在本文中使用的Serial代 表UART0。本文主要用到以下几个串口函数: void begin(unsigned long baud) :初始化串口,并工作在数值为baud的 波 特率下,如本文使用的代码 Serial.begin(38400); 则是启动了UART0,并工作在38400的波特率下; void end():关闭串口,如本文使用的代码

24、 Serial.end(); 关闭了UART0,一旦串口被关闭,串口的其它函数将不会发生作用; print(data):往串口写入数据,可以是数字型的也可以是字符串; println(data):和print(data)基本相同,不过在最后加上了回车换行; write(date):往串口写入一个字节。 iDuino自带了一个名为MxRadio的无线通信库,它是Smeshlink公司基于 uracoli和zigduinoRadio这两个开源射频库改造的,能同时支持2.4G的802.15.4标 准和780M的802.15.4C标准,并具备跨平台能力,用户只需少许改动就可以很方 便地应用到其它使用A

25、T86RF2XX射频芯片的平台上。 如图4-6所示,即为Smeshlink公司集成Eclipse的SmeshStudio开发平台上的 MxRadio无线通信库。在程序编写中必须勾选SmeshStudio Arduino扩展库中的 Arduino-MxRadio这一项,这样经烧入程序的iDuino节点才能实现无线收发数据。 这是在基于iDuino节点的室内定位的软件开发和程序编写的关键步骤 图4-6 Arduino-MxRadio无线通信库 在节点程序中,调用MxRadio库中的函数来实现对Atmega128RFA1射频芯 片的控制。本文中主要调用的库函数如下: 初始化MxRadio库 void

26、 begin(channel_t chan,uint16_t panid,uint16_t localaddress,bool needack,bool autotxval,bool autorxval); chan 表示通讯频段,iDuinoRf212取值范围是0-3,iDuinoRfa1取值范围是 11-26;panid 表示个人区域网编号,如果是广播发送,可以设定为 0 xFFFF;localaddress 表示本地地址编号;needack 表示是否要求接收方应答, 如果要求应答但却没有受到应答包,则发送方会再次发送4次;autorxval 表示 是否为自动发送模式,如果是,则会自动进行

27、冲突检测并重发;autorxval 表示 是否为自动接收模式,如果是,则会自动过滤掉不属于自己得数据包。 设置回调函数 void attachReceiveFrame(uint8_t* (*funct)(uint8_t, uint8_t*, uint8_t,int8_t, uint8_t); attachReceiveFrame 用于设定接收数据的处理,其参数分别是数据包程度, 数据包内容,数据链路质量指示LQI值,接收时的能量值ED,RSSI,CRC判错。 发送数据包 发送数据有一般模式和精简模式两种,本文采用一般模式。不管在何种模 式下,都是以数据包为最小传输单位。在一般模式下,发送数据需

28、要三步: (1)开始发送 void beginTransmission(uint16_t destaddress); 写入数据前,用户必须调用 beginTransmission 方法,传入参数表示目标 地址,如果没有参数,则表示发送广播数据。 (2)写入要发送的数据 void write(uint8_t* arr, uint8_t len); 在一个数据包内,用户可以写入多种数据,但 802.15.4/c 标准规定一个数 据包的最大长度为128,再加上包头9个字节和包尾2个字节的数据,实际的有效 数据最大为116个字节。 (3)结束发送 void endTransmission(); 用户可

29、以调用 endTransmission 真正结束发送数据。 接收数据包 iDuino 采用非缓冲方式数据接收,关键步骤如下: (1)定义数据接收处理函数: onReceiveFrame(uint8_t len,uint8_t* frm,uint8_t lqi,int8_t ed,uint_t crc_fail) (2)设置数据接收处理函数指针到自己定位的函数: MxRadio.attachReceiveFrame(receivehandler) 获取接收状态 用户在某些情况下还需要了解收发器在接收数据时的某些状态信息,如信 号强度(RSSI) ,链路质量指示(LQI) ,能量检测(ED)等信息

30、,MxRadio提 供的函数如下: int8_t getRssiNow(); 获取当前信号强度。 int8_t getLastRssi(); 获取接收最近一个数据包时的信号强度。 uint8_t getLqi(); 获取接收最近一个数据包时的链路质量信息。 int8_t getLastEd(); 获取接收最近一个数据包时的能量检测信息。 int8_t getEdNow(); 获取当前的能量检测信息。 4.3.3 节点程序设计 下面将分别简要介绍参考节点和未知节点上的应用程序。 参考节点 参考节点只需以广播方式发送数据包,数据包里包含自身的位置信息,并 在程序中显示数据包来源地址。不同的参考节点

31、的程序设计只需设置不同的地 址,其他的部分完全相同。 关键代码如下: #include MxRadio.h uint16_t localaddress=1;/设定节点地址 uint16_t destaddress=0 xffff;/节点以广播方式发送数据包 channel_t curchannel=11;/节点通信频段 void setup() MxRadio.begin(curchannel,0 xffff,localaddress,false,false,true); /初始化MxRadio库 void loop() MxRadio.beginTransmission(destaddres

32、s);/开始广播发送数据包 MxRadio.write(hello world from);/在节点上显示数据包来源 MxRadio.write(localaddress+0); MxRadio.write(!); MxRadio.endTransmission();/结束数据包发送 delay(2000); 未知节点 未知节点接收不同参考节点数据包及RSSI,接着进行滤波、排序、距离映 射处理,然后利用基于RSSI三边定位算法的简化算法(双边定位算法)对自身 进行定位计算,最后将计算结果转化为字符串通过USB接口传送到终端电脑上, 并利用串口进行监控观察。程序流程图如下: 接收参考节点的数据

33、包及 RSSI 基于 RSSI 三边定位算法的简化算法 (双边定位算法) RSSI 从大到小排序 RSSI 到距离 d 映射 RSSI 均值滤波处理 发送到终端电脑 数值到字符串转换 开始 结束 图4-7 未知节点程序流程图 由于未知节点的程序较为复杂,下面分别从接收不同参考节点数据包及 RSSI、RSSI 到距离 d 映射和基于 RSSI 三边定位算法的简化算法(双边定位算 法)这三部分关键程序进行说明。 接收不同参考节点数据包及 RSSI #include MxRadio.h uint16_t localaddress=0; channel_t curchannel=11; void se

34、tup() MxRadio.begin(curchannel,0 xffff,localaddress,false,false,true); Serial.begin(38400); void loop() if (MxRadio.available() Serial.println(); Serial.print(Rx: );/显示发送数据包的源地址 while(MxRadio.available() Serial.write(MxRadio.read(); Serial.println(); Serial.print(LQI: );/显示接收数据包内容 Serial.print(MxRad

35、io.getLqi(), 10); Serial.print(, RSSI: );/显示该接收节点的源地址节点的接收信号强度RSSI Serial.print(MxRadio.getLastRssi(), 10); Serial.print( dBm, ED: );/显示能量ED Serial.print(MxRadio.getLastEd(), 10); Serial.println(dBm); 未知节点接收来自不同参考节点的数据包及RSSI的监控结果如图4-8所示: 图4-8 未知节点串口监控结果接收不同节点数据包及RSSI 上图中,“Rx: hello world from1!”表示接收

36、到地址为1的参考节点发送的数 据包;“LQI: 255, RSSI: -82 dBm, ED: -76dBm”表示参考节点发送的数据包内容, 包括数据链路指数LQI,接收信号强度RSSI和能量ED。 RSSI到距离d的映射 关键代码如下所示: #include MxRadio.h uint16_t localaddress=0; channel_t curchannel=11; beacon rssival10; beacon rssival3TRI_BEACON; int i; int sflag=0; int rssivalindex=0; uint8_t* receivehandler(

37、uint8_t len,uint8_t* frm,uint8_t lqi,int8_t ed,uint8_t crc_fail) uint16_t srcaddress=(uint16_t)frm8*256+frm7; Serial.print(Src:); Serial.print(srcaddress); Serial.println(); Serial.print(RSSI:); int lastrssi=MxRadio.getLastRssi(); Serial.print(lastrssi); Serial.print(dBm); Serial.println(); rssivalr

38、ssivalindex.nodeid=srcaddress; rssivalrssivalindex.RSSI=lastrssi; rssivalrssivalindex.d=RSSI_to_distance(rssivalrssivalindex.RSSI); Serial.println(d=); Serial.print(rssivalrssivalindex.d,DEC); Serial.println(); Serial.println(RSSI_to_distance has been executed!); float RSSI_to_distance(float RSSI) f

39、loat d=0.0; float n=3.77;/信号衰减因子,需要调整 float A=82;/距离1m时的接收信号强度,需要实验测知 d=pow(10,-(RSSI+A)/(10*n); return(d); 未知节点与不同参考节点之间RSSI到距离之间的映射监控结果如图4-9所示: 图4-9 未知节点串口监控结果RSSI到距离d的映射 上图中,“Src:1”表示接收到地址为1的参考节点;“RSSI:-58dBm”表示接收 信号强度;“d=0.”表示该参考节点与未知节点之间RSSI到距离d的映射结果; “RSSI_to_distance has been executed!”表示此映射结

40、果的完成。 基于RSSI三边定位算法的简化算法(双边定位算法) 关键代码如下: void calculate(beacon bc3TRI_BEACON,float *eX,float *eY) float a=0,c=0,xi,yi,xj,yj,x,y,d,di,dj,sx1,sx2,sy1,sy2,t1,t2,fx,fy; xi=bc30.x; xj=bc31.x; yi=bc30.y; yj=bc31.y; di=bc30.d; dj=bc31.d; t1=0; t2=0; x=bc32.x; y=bc32.y; d=bc32.d; if(yi=yj) sx1=(pow(di,2)-pow

41、(dj,2)-(pow(xi,2)-pow(xj,2)/(2*(xj-xi); sx2=sx1; sy1=yi-sqrt(pow(di,2)-pow(xi-sx1),2); sy2=yi+sqrt(pow(di,2)-pow(xi-sx1),2); else a=0.5*(pow(xi,2)-pow(xj,2)+pow(yi,2)-pow(yj,2)-pow(di,2)+pow(dj,2)/(yi-yj); c=-1*(xi-xj)/(yi-yj); sx1=(c*yi+xi-a*c+sqrt(2*(c*xi+a)*yi-pow(yi,2)-pow(c,2)*pow(xi,2)-2*a*c*x

42、i- pow(a,2)+(1+pow(c,2)*pow(di,2)/(1+pow(c,2); sy1=a+c*sx1; sx2=(c*yi+xi-a*c-sqrt(2*(c*xi+a)*yi-pow(yi,2)-pow(c,2)*pow(xi,2)-2*a*c*xi- pow(a,2)+(1+pow(c,2)*pow(di,2)/(1+pow(c,2); sy2= a+c*sx2; t1=sqrt(pow(sx1-x),2)+pow(sy1-y),2); t2=sqrt(pow(sx2-x),2)+pow(sy1-y),2); if(abs(t1-d)abs(t2-d) fx=sx1; fy=

43、sy1; else fx=sx2; fy=sy2; *eX=fx; *eY=fy; Serial.println(Calculate has been executed !); return; 4.4 定位实验 定位实验的基本过程是:首先将编号的程序分别上载入参考节点和未知节 点;然后按照图4-4节点部署模型在所选的室内环境部署参考节点,并接入移动 电源为其功能,未知节点(连接电脑)随机摆放在监测区域;最后在电脑上通 过串口监控软件对未知节点进行监控。 所监测的实际室内环境图如下所示: 图 4-10 星天苑 E 座单号区 501 宿舍 监控结果如图4-11所示: 图4-11 未知节点串口监控结

44、果显示 上图中,“Src:1”表示接收到地址为1的参考节点;“RSSI:-58dBm”表示接收 信号强度;“d=0.”表示该参考节点与未知节点之间RSSI到距离d的映射结果;接 下来是各个函数被一次执行:RSSI_to_distance(RSSI等效距离),Rsort(排序) ,Caculate(定位算法),Floattostring(浮点型转化为字符串)。最后,“The Estimate Location:x=500 y=650”表示通过算法计算得到的位置(500,650),单 位为mm。 将未知节点依次随机布置在整个监测区域内,将定位结果与实地测量未知 节点位置进行比较,得到10组定位较为

45、准确的数据。定位结果对比模拟图如下 所示: 2 4 1 3 走廊 楼 梯 楼 梯 阳 台 x 0 y 1.02.0 3.0 4.0 1.02.0 参考节点位置 未知节点实际位置 未知节点定位估计位置 图4-12 未知节点定位对比图 通过以上定位对比图得知,定位误差约在在0.1m0.6m之间波动。导致误差 波动的原因可能是:(1)不同的参考节点周围的环境有所不同,使得即使等距 离的RSSI值不一定相同;(2)未知节点与参考节点之间的角度也可能对RSSI 值有所影响;(3)不同的参考节点之间本身物理特性存在着一些差异,使得同 一位置下测得的RSSI不同。总体来说,定位实验结果还算理想,定位精度较高

46、。 第五章 总结与展望 本论文的研究课题是基于 Arduino 的无线传感器网络室内定位技术,主要 完成的工作如下: (1)根据无线信号传播损耗模型建立 RSSI 测距模型,通过实验,利用均 值处理及最小二乘法原理计算出了测距模型中的重要参数值。 (2)简化了基于 RSSI 的三边定位算法双边定位算法。该算法简单易 于理解,占用内存小。实验证明,在短距离的定位中精度较为理想。 (3)实验中运用了基于 Arduino 开发平台的 iDuino 传感器节点,完成了 参考节点和未知节点的程序编写;并在监测区域部署节点,实现了定位。节点 通信良好,定位较为准确。 虽然基本完成定位的目的,并在实际中得到

47、了一定的成效,但由于时间仓 促,对于该课题的研究还不够全面。下面提出 4 点改进方案: (1)所选的室内环境区域狭小,节点部署方案不够全面,当节点靠近墙体 时接收信号强度会被墙体吸收而衰减增大,从而导致误差增大,定位精度降低。 (2)单一的定位算法并不适用于不同的环境特性。针对不同的环境条件, 可以选择不同的定位算法来实现定位。 (3)为了实现较为精确的定位,iDuino 节点之间间距偏小,使得监测区域 节点部署密度偏大,这样会增加成本。同时,也可能造成节点之间信号传播混 乱,影响接收信号强度,降低定位精度。后期研究应当选择更加监测距离的节 点。 (4)二维的定位系统在实际生活中对于实际室内的

48、智能应用并无多大用途, 研究应当扩展到三维层面上来。这对于定位的要求更高,难度更大,是一个值 得研究的方向。 参考文献 1 物联网导论物联网导论M. 科学出版社,科学出版社,2010. 2 张婧张婧. 基于基于Arduino的无线传感器网络节点室内定位技术研究的无线传感器网络节点室内定位技术研究D. 西北工西北工 业大学,业大学,2015. 3 徐平平徐平平. 刘昊,褚宏云等译刘昊,褚宏云等译. 无线传感器网络无线传感器网络M. 电子工业出版社,电子工业出版社,2013. 4 王琦王琦. 基于无线传感器网络的室内定位技术的研究与实现基于无线传感器网络的室内定位技术的研究与实现D. 西安电子科西

49、安电子科 技大学,技大学,2012. 5 黄帆黄帆. 无线传感器网络技术及应用研究无线传感器网络技术及应用研究M. 中国水利水电出版社,中国水利水电出版社, 2014:1113. 6 安文安文. 无线传感器网络技术与应用无线传感器网络技术与应用M. 电子工业出版社,电子工业出版社,2013. 7 贾杰贾杰. 无线传感器网络覆盖控制与节点部署技术无线传感器网络覆盖控制与节点部署技术M. 东北大学出版社,东北大学出版社, 2013. 8 吴雨航,吴才聪,陈秀万吴雨航,吴才聪,陈秀万. 介绍几种室内定位技术介绍几种室内定位技术J. 中国测绘报,科技中国测绘报,科技 时空,时空,2008. 9 王汝传

50、,孙力娟王汝传,孙力娟. 物联网技术导论物联网技术导论M. 清华大学出版社,清华大学出版社,2011. 10 熊茂华,熊昕熊茂华,熊昕. 无线传感器网络技术及应用无线传感器网络技术及应用M. 西安电子科技大学出版社,西安电子科技大学出版社, 2014. 11 Want R,Hopper A,Falcao V,et al,The active badge location systemJ. ACM Transactions on Information System(TOIS) ,1992,10(1):): 91102. 12 Priyantha N B,Chakraborty A,Balakr

51、ishnan H. The cricket location- support system/Proceeding of the 6th annual international conference on Mobile computing and networking. ACM,2000:3243. 13 李成岭李成岭. 基于基于RSSI的无线自组织网络室内定位算法研究与实现的无线自组织网络室内定位算法研究与实现D. 上海上海 交通大学,交通大学,2012. 14 张杰,唐宏,雷洋等译张杰,唐宏,雷洋等译. 无线传感器网络无线传感器网络M. 国防工业出版社,国防工业出版社,2014. 15

52、李士宁等著李士宁等著. 传感网原理与技术传感网原理与技术M. 机械工业出版社,机械工业出版社,2014. 16 任重远任重远. 基于基于RSSI技术的无线传感器网络定位方法研究技术的无线传感器网络定位方法研究D. 上海交通大上海交通大 学,学,2012. 17 物联网射频识别(物联网射频识别(RFID)核心技术详解)核心技术详解M. 人民邮电出版社,人民邮电出版社,2012. 18 顾宗海顾宗海. 基于基于RSSI测距的室内定位算法研究测距的室内定位算法研究M. 郑州大学,郑州大学,2011. 19 Beijing SmeshLink Technology,http:/ 20 Atmega12

53、8RFA1 Preliminary,http:/ ATMEGA128RFA1.aspx? tab=documents,2014. 21 Y.W.Lee,E.Stuntebeck,and S.C.Miller.MERIT:Mesh of RF sensors for indoor tracking.In Proc.of th Third Annual IEEE Communications Society Conference on Sensor,Mesh and Ad Hoc Communications and Networks(SECON 2006),pages 32-43,2006. 2

54、2 L.M.Ni,Y.Liu,Y.C.Lau,and A.P.Patil.LANDMARC:Indoor location sensing using active RFID.In Proc.of the First IEEE International Conference on Pervasive Computing and Communications,2003. 23 N.B.Priyantha,A.Chakraborty,and H.Balakrishnan.The Cricket location supporting sustem.In Proceedings of the AC

55、M MOBICOM,2000. 24 Kiran Yedavalli,Bhaskar Krishnamachari,Sharmila Ravula,and Bhaskar Srinivasan.Ecolocation: A sequence based technique for RF localization in wireless sensor networks.In Proceedings of IPSN 2005,2005. 25 陈永光陈永光,李修和李修和. 基于信号强度的室内定位技术基于信号强度的室内定位技术J. , 2004, 32(9): 1456-1458. 26 hu X,

56、 Feng Y. RSSI-based Algorithm for Indoor LocalizationJ. Communications and Network, 2013, 5: 37. 27 马玉秋马玉秋, 沈树群沈树群, 张平张平, 等等. 基于无线传感器网络的定位系统研究及设计基于无线传感器网络的定位系统研究及设计J. 重庆邮电学院学报重庆邮电学院学报 (自然科学版自然科学版), 2006, 18(1): 43-46. 28 林金朝林金朝, 陈晓冰陈晓冰, 刘海波刘海波. 基于平均跳距修正的无线传感器网络节点迭代基于平均跳距修正的无线传感器网络节点迭代 定位算法定位算法J. 通信学

57、报通信学报, 2009 (10): 107-113. 29 胡文鹏胡文鹏. 一种基于一种基于 RSSI 的无线传感器网络定位算法的设计与实现的无线传感器网络定位算法的设计与实现D. 长春长春: 吉林大学吉林大学, 2009. 30 Ahn H S, Yu W. Indoor localization techniques based on wireless sensor networksJ. Mobile Robots-State of the Art in Land, Sea, Air, and Collaborative Missions, 2009. 31 Cheng L, Wu C D

58、, Zhang Y Z. Indoor robot localization based on wireless sensor networksJ. Consumer Electronics, IEEE Transactions on, 2011, 57(3): 1099-1104. 32 Wessels A, Wang X, Laur R, et al. Dynamic indoor localization using multilateration with RSSI in wireless sensor networks for transport logisticsJ. Proced

59、ia Engineering, 2010, 5: 220-223 33 聂玉峰,王振海聂玉峰,王振海. 数值方法简明教程数值方法简明教程M. 高等教育出版社,高等教育出版社,2011. 致 谢 时间荏苒,四年的大学本科生活即将结束,也代表着我的研究生学习生活 即将开始。在这个重要的转折点上,毕业设计,作为大学本科阶段的最后一次 综合性大作业,它培养和提高了我独立分析和解决问题的能力,并进一步培养 了我的科研能力,为研究生学习阶段做了个很好的铺垫。 在毕业设计的整个过程中,我的指导老师程伟老师给了我莫大的帮助。 大学期间,我不太专注于学习,在不相干的事上浪费了很多的课余时间。久而 久之养成了懒散

60、与拖延的坏毛病。在毕业设计前期,自认为时间还很富裕,所 以研究成效甚微。幸好有程伟老师的监督与督促,才使得我在缓慢的研究过程 中至少没有止步不前。其实,在毕业设计的过程中,我最担心害怕的是程序部 分。因为在本科学习阶段,对于程序相关学科的学习比较吃力,自己的编程能 力也很弱。所幸的是,程伟老师手里已经有了完整的源代码,在编程过程中只 需要按程序框图正确地拼凑起来即可。并且他还帮我检查了关键代码部分,这 加快了我的毕业设计的进度,得以为其他工作腾出了充足的时间。 感谢程伟老师的严格的监督和悉心的指导,他温和而平易近人的性格让我 倍感亲切。 感谢我的室友齐艺超,祁之星,王博睿,是他们让我的大学本科

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论