版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
定位技术及其应用设计说明书(封面)学院名称:计算机与信息工程学院班级名称:13级物联网学生姓名:学号:2题目:基于WiFi的定位系统设计指导教师姓名:日期:2015年11月10日第一部分:正文部分一、选题背景随着当前移动通信技术的发展以及无线网络的逐渐普及,对于基于定位服务的需求也迅速增加,例如,商场购物车定位和顾客消费习惯的收集;再者是医院重症患者的跟踪监护;以及还有学生上课期间的对所在的位置的收集等。所以定位的计算和服务在人们的日常生活中扮演者越来越重要的角色。尽管基于GPS技术的室外定位已经达到很高的定位精度,但是由于GPS无法在室内进行定位,所以室内定位也就成为目前研究的焦点。现在的室内定位有技术主要有红外定位、超声波定位、WiFi定位等。其中WiFi定位最受人们的关注,因为WiFi定位网络广泛存在于室内的环境中,信息传输的速度比较快,而且硬件成本低,耗能也比较少。有利于在现在普及的WIFI热点的室内实现,极大的弥补了GPS在建筑密集或者室内应用的限制,扩大了室内定位服务的应用行业和范围。方案论证2.1WiFi定位的网络成员与结构IEEE802.11主要规定了两种不同类型的基本架构:有基础架构的无线局域网络(InfrastructureWirelessLAN)和无基础架构的无线局域网络(AdHocWirelessLAN)。在Wi-Fi定位中常用的架构是有基础架构,如下图2-1所示:图2-12.2WiFi定位的流程首先通过编写程序用来获取该移动设备周边的WiFi的物理地址。提取WiFi的物理地址并进行相应的解析。通过使用了NativeWiFi,可以获取到当前WiFi信号的RSSI值,并将其记录便可连续采集当前网卡所采集到所有WiFi信号的RSSI。添加MAP.html文件将采集到的信息加载到百度地图。移动终端获取移动终端获取WiFiWebWeb服务器WiFiWiFi数据平台进行进行WiFi的解析加载到百度地图加载到百度地图图2-2定位流程图三、过程论述3.1界面设计(如下图)图3-1界面设计图3.2控件的设计3.2.1Label的使用:在工具箱中找到Label,拖放至设计界面中,如图3-2、图3-3所示,可以对其属性进行修改,以及在界面中移动其位置。图3-2工具箱图3-3属性3.2.2TextBox的使用:在工具箱中找到TextBox,拖放至设计界面中,如图3-4、图3-5所示,可以对其属性进行修改,在界面中移动其位置。图3-4TextBox工具图图3-5TextBox属性图3.2.3Button的使用在工具箱中找到Buttton,拖放至设计界面中,如图3-6、图3-7所示,可以对其属性进行修改,以及在界面中移动其位置。图3-6Button工具图图3-7Button属性图3.2.4实现基于WebBrowser加载Baidu地图,如图3-8所示。图3-8WebBrowser工具图3.2.5在bin/Bebug路径下,新建文本文件,输入以下内容,并重命名为Map.html,保存并退出,如图3-9所示。图3-9Map.html嵌入图3.3功能设计3.3.1加载百度地图的代码实例新建一个txt文件,输入代码后将该文件改为Map.html,以下是代码:<html><head> <metahttp-equiv="Content-Type"content="text/html"/> <metaname="viewport"content="initial-scale=1.0,user-scalable=no"/> <styletype="text/css"> body,html{width:100%;height:100%;margin:0;font-family:"微软雅黑";} #allmap{height:500px;width:100%;} #r-result{width:100%;font-size:14px;} </style> <scripttype="text/javascript"src="/api?v=2.0&ak=0uWHTjb5Ld12cSZoN9tkGXxu"></script> <title>城市名定位</title> <styletype="text/css"> .anchorBL{ display:none; } </style></head><body> <divid="allmap"></div> <divid="r-result"> 经度:<inputid="longitude"type="text"style="width:100px;margin-right:10px;"/> 纬度:<inputid="latitude"type="text"style="width:100px;margin-right:10px;"/> <inputtype="button"value="查询"onclick="theLocation()"/> </div> </body></html><scripttype="text/javascript"> //百度地图API功能 varmap=newBMap.Map("allmap"); map.centerAndZoom(newBMap.Point(116.331398,39.897445),11); map.enableScrollWheelZoom(true); //用经纬度设置地图中心点 functiontheLocation(){ if(document.getElementById("longitude").value!=""&&document.getElementById("latitude").value!=""){ map.clearOverlays(); varnew_point=newBMap.Point(document.getElementById("longitude").value,document.getElementById("latitude").value); varmarker=newBMap.Marker(new_point);//创建标注 map.addOverlay(marker);//将标注添加到地图中 map.panTo(new_point); } }</script>完成上述操作之后选中Form1,在事件选项中选择Load,并双击打开相应代码:privatevoidForm1_Load(objectsender,EventArgse){stringstr_url=Environment.CurrentDirectory+"/Map.html";Uriurl=newUri(str_url);this.webBrowser1.Navigate(url);}此时运行程序界面上会出现加载到WebBrowser的百度地图。3.3.2获取AP的相关信息下载ManagedWiFi:/加入到工程中并添加引用,如下图3-10所示图3-10添加AP并申请命名空间为:usingNativeWifi;获取WIFI的名称以及MAC地址,代码如下:privatevoidbutton3_Click(objectsender,EventArgse){WlanClientclient=newWlanClient();foreach(WlanClient.WlanInterfacewlanIfaceinclient.Interfaces){Wlan.WlanBssEntry[]WBE=wlanIface.GetNetworkBssList();for(inti=0;i<WBE.Length-1;i++){for(intj=i;j<WBE.Length-1;j++){Wlan.WlanBssEntryindex;if(WBE[i].rssi<=WBE[j].rssi){index=WBE[i];WBE[i]=WBE[j];WBE[j]=index;}}}for(inti=0;i<3;i++){STR[i]=newinfo(GetStringForMACAddress(WBE[i].dot11Bssid),WBE[i].rssi.ToString());}foreach(Wlan.WlanBssEntrysub_wbeinWBE){stringSSID=GetStringForSSID(sub_wbe.dot11Ssid);stringMAC=GetStringForMACAddress(sub_wbe.dot11Bssid);stringRSSI=sub_wbe.rssi.ToString();stringLinkQuality=sub_wbe.linkQuality.ToString();textBox1.AppendText("SSID:"+SSID+""+"MAC:"+MAC+""+"RSSI:"+RSSI+""+"LQ:"+LinkQuality+System.Environment.NewLine);}}JavaScriptSerializerSerializer=newJavaScriptSerializer();strings=Serializer.Serialize(STR);StringS="/api/LocationByWifiData?requestdata="+s+"&type=1&key=5888d456644a4d8eb92cf9bc92fa8c85";textBox2.Text=S;textBox2.Show();}3.3.3提取MAC地址privatevoidbutton4_Click(objectsender,EventArgse){string_StringURL=textBox2.Text;try{HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(_StringURL);request.Method="GET";request.Accept="*/*";request.KeepAlive=false;HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();StreamdataStream=response.GetResponseStream();StreamReaderreader=newStreamReader(dataStream);stringresponseFromServer=reader.ReadToEnd();response.Close();reader.Close();dataStream.Close();this.textBox2.Text=responseFromServer;}catch(Exceptionex){MessageBox.Show(ex.ToString());}}3.3.4解析MAC和SSIDprivatestringGetStringForMACAddress(byte[]macAddr){uintnum=(uint)macAddr.Length;string[]array=newstring[num];intnum2=0;while((long)num2<(long)((ulong)num)){array[num2]=macAddr[num2].ToString("x2").ToUpper();//ToString("x2"):X为十六进制,2为每次都是两位数.num2++;}returnstring.Join(":",array);//Join()方法:串联数组里所有字符串,并用指定分隔符连接}privatestringGetStringForSSID(Wlan.Dot11Ssidssid){returnEncoding.UTF8.GetString(ssid.SSID,0,(int)ssid.SSIDLength);//0表示索引,ssid.SSIDlength表示解码字节数}3.3.5将解析的数据定位到百度地图privatevoidbutton1_Click(objectsender,EventArgse){HtmlElementHE_longitude=webBrowser1.Document.GetElementById("longitude");HE_longitude.SetAttribute("value",location[0]);HtmlElementHE_latitude=webBrowser1.Document.GetElementById("latitude");HE_latitude.SetAttribute("value",location[1]);webBrowser1.Document.InvokeScript("theLocation");}四、结果分析4.1WiFi定位分析图如下图:图4-1WiFi定位图由上图可知通过用C#软件编写程序实现了WiFi的定位的基本功能,通过点击获取按钮搜索到周边的WiFi,点击请求和解析的按钮然后得到对应的具体地址。然后点击定位按钮并能将其成功的定位到百度地图上。尽管界面比较简单,但是基本上能获取WiFi定位条件下所需要的数据。经过多次的测试,程序还是比较稳定的,每次都能顺利的运行。总体来说,该WiFi定位系统还是相对完善的,是可执行的。五、结论(或总结)通过本次WiFi定位系统的课程设计,我们了解了WiFi定位的基本原理以及它的实现过程。尽管遇到过很多的问题,但是最终都能够得到解决。同时这也是对个人能力的锻炼,使我们以后能很好的把理论应用于实践。除了个人能力得到很好的锻炼之外,同时我也意识到自己有很多的不足之处,比如编写代码能力还不是那么熟练,好多编程思想不够成熟,希望能够在今后的学习中多多去改善这些不足,努力把自己的编程水平提升上去。同时感谢老师的耐心指导、细心讲解,希望以后的学习中老师能够多多纠正我们学习之中的不足。第二部分:参考文献学生签名:填表日期:年月日
第四部分:指导教师评语第五部分:成绩评定基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用基于ATmega16单片机的流量控制器的开发基于M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届阿里地区日土县三年级数学下学期期末质量跟踪监视试题含答案
- 2026届阳江市阳春市数学三年级第二学期期中学业水平测试试题含答案解析
- 2026届阜城县数学四年级下学期期末检测试题(含答案)
- 2026年湖北省潜江市高三数学下册期末考试模拟考试卷(满分必刷)附答案
- 2026年湖北省老河口市高三数学下册期末考试模拟测试卷附完整答案【易错题】
- 2026年四川省绵竹市高三数学下册期末考试模拟试卷含答案【完整版】
- 2026年河北省南宫市高三数学下册期末考试模拟试卷及完整答案一套
- 2026年云南省香格里拉市高三数学下册期末考试模拟考试卷【真题汇编】附答案
- 2026年江西省贵溪市高三数学下册期末考试模拟卷【考试直接用】附答案
- 2026年湖南省韶山市高三数学下册期末考试模拟检测卷附答案(综合题)
- 用电安全与人走断电规范
- 建筑装饰装修室内空间照明设计应用标准
- 《神经退行性疾病》课件
- 贵州省考试院2025年4月高三年级适应性考试化学试题及答案
- 2025年郑州铁路职业技术学院单招职业适应性测试题库必考题
- 水库施工便道合同
- 质量文化导论(华东理工大学)知到智慧树章节答案
- 国家电网有限公司新一代电子商务平台(ECP20)操作手册-省公司合同管理-供应商操作分册
- 第四届全国工业设计职业技能大赛(玩具设计师)选拔赛考试题库(含答案)
- NB-T47023-2012长颈对焊法兰
- DB32T 4627-2023 城市隧道通风设计标准
评论
0/150
提交评论