- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于IEEE 协议标准的星型定位网络
基于IEEE 802.15.4 协议标准的星型定位网络
实验目的
本实验是在基于Gainz教学开发平台的定位系统上操作完成的。在此过程中,我们进一步地在实践中证明了定位实验在Gainz平台上的可行性(从理论上讲是可以的)。而我们实验的目的,简要而言就是在一个基于IEEE 802.15.4协议标准的星型网络中,通过Coordinator取得RSSI(接收信号强度指示器)的值,结合参考节点的位置坐标来大致判断出待测End_device的位置。
实验设备
硬件: PC机 一台
GAINZ教学开发平台 一套
软件: WINAVRAVRStudio V4.07
串口调试助手
实验内容
由于读者已在前面系统学习过IEEE802.15.4协议规范的内容,并做了大量实验进行验证,这里就不再对这方面内容进行叙述了,我们这里的定位实验是在前面实验的基础上,通过串口调试助手打印出Coordinator的RSSI的值,并结合参考End_device和Coordinator的位置坐标来判断出待End_device的大致位置(这里的实验是根据二维的情况设置的)。代码以库文件形式给出,同前面的实验一样,其中的Main.c文件需要读者自己编写。
实验原理
本定位网络是基于802.15.4协议规范搭建的,网络环境由一个Coordinator,若干参考End_device以及一个待测End_devica组成。
在实验开始前,我们会先测量出各节点的电池电压看看是否相同,这里建议各节点都采用新电池供电,避免由于电池电压的不同给实验结果带来偏差。然后将除待测节点外的所有节点的位置坐标进行详细记录,这样,我们就做好实验开始之前的准备工作了。
本实验的原理,就是通过串口调试助手打印出Coordinator收到End_device的帧时其RSSI(接收信号强度指示)的值,通过比较收到的来自各参考End_device的RSSI值与待测End_device的RSSI值,以及在实验前记录好的节点位置坐标,大致判断出待测End_device的位置。
实验预习要求
读者应做过前面的“基于IEEE 802.15.4 协议标准的星型网络”实验,了解其组网和通信的详细过程。本实验是完全基于IEEE 802.15.4 协议标准的星型网络做的定位系统,所以这一块的通信过程读者务必熟悉。
实验步骤
启动WINAVR,使用programmer Notepad 新建两个工程分别为Coordinator、End_device。
将光盘中与此实验中相应的设备源代码和库文件包含进相应的工程。
工程中的Main.c文件需要读者自己参考后面的附件《Main.c文件编程描述》写出这块代码。
使用Mfile 生成Makefile文件,分别保存在相应的工程文件夹中。
编译连接工程,生成可执行文件。
使用编程器将得到的.hex文件下载到相应的GAINZ实验板flash中。
将Coordinator节点通过串口与PC相连,启动串口调试助手,打开Coordinator,注意其LED灯的反应(这在前面的实验中已有过说明),当Coordinator开始广播信标帧时,依次打开参考End_device与待测End_device(这里我们使用4个参考End_device)。以第一个加入网络的End_device为例,在其加入的过程中串口调试助手会打印出如下信息:
ffe3ffe7ffe7ffe4
This RSSI is from End_device node 0x1201. 这里的ffe3、ffe7、ffe7、ffe4的低8位便是RSSI的值,为什么是4个呢?那是因为在End_device加入网络时,Coordinator一共要收到4个帧,按顺序分别为association_request、data_request、ack以及数据帧,由于我们是在接收中断处打印的RSSI值,所以每收到一个帧都会打印出一个RSSI的值,为了实验的准确性,一般是等到网络稳定时,即所有End_device都已加入到Coordinator所发起的网络中,再开始记下来Coordinator收到来自各End_device的数据帧时的RSSI值。即一般有如下类似信息出现时,才可作为实际测量值记录下来。
ffe2
This RSSI is from End_device node 0x1201.
ffeb
This RSSI is from End_device node 0x1202.
ffea
This RSSI is from End_device node 0x1203. 这里的信息表示Coordinator一次收到了来自于End_device0x1201、0x1202以及0x1203的数据
文档评论(0)