無線定位課程設(shè)計(jì)的報(bào)告_第1頁
無線定位課程設(shè)計(jì)的報(bào)告_第2頁
無線定位課程設(shè)計(jì)的報(bào)告_第3頁
無線定位課程設(shè)計(jì)的報(bào)告_第4頁
無線定位課程設(shè)計(jì)的報(bào)告_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

...wd......wd......wd...定位技術(shù)及其應(yīng)用設(shè)計(jì)說明書〔封面〕學(xué)院名稱:計(jì)算機(jī)與信息工程學(xué)院班級(jí)名稱:13級(jí)物聯(lián)網(wǎng)學(xué)生姓名:學(xué)號(hào):2題目:基于WiFi的定位系統(tǒng)設(shè)計(jì)指導(dǎo)教師姓名:日期:2015年11月10日第一局部:正文局部一、選題背景隨著當(dāng)前移動(dòng)通信技術(shù)的開展以及無線網(wǎng)絡(luò)的逐漸普及,對(duì)于基于定位服務(wù)的需求也迅速增加,例如,商場購物車定位和顧客消費(fèi)習(xí)慣的收集;再者是醫(yī)院重癥患者的跟蹤監(jiān)護(hù);以及還有學(xué)生上課期間的對(duì)所在的位置的收集等。所以定位的計(jì)算和服務(wù)在人們的日常生活中扮演者越來越重要的角色。盡管基于GPS技術(shù)的室外定位已經(jīng)到達(dá)很高的定位精度,但是由于GPS無法在室內(nèi)進(jìn)展定位,所以室內(nèi)定位也就成為目前研究的焦點(diǎn)?,F(xiàn)在的室內(nèi)定位有技術(shù)主要有紅外定位、超聲波定位、WiFi定位等。其中WiFi定位最受人們的關(guān)注,因?yàn)閃iFi定位網(wǎng)絡(luò)廣泛存在于室內(nèi)的環(huán)境中,信息傳輸?shù)乃俣缺容^快,而且硬件成本低,耗能也比較少。有利于在現(xiàn)在普及的WIFI熱點(diǎn)的室內(nèi)實(shí)現(xiàn),極大的彌補(bǔ)了GPS在建筑密集或者室內(nèi)應(yīng)用的限制,擴(kuò)大了室內(nèi)定位服務(wù)的應(yīng)用行業(yè)和范圍。方案論證2.1WiFi定位的網(wǎng)絡(luò)成員與構(gòu)造IEEE802.11主要規(guī)定了兩種不同類型的基本架構(gòu):有根基架構(gòu)的無線局域網(wǎng)絡(luò)(InfrastructureWirelessLAN)和無根基架構(gòu)的無線局域網(wǎng)絡(luò)(AdHocWirelessLAN)。在Wi-Fi定位中常用的架構(gòu)是有根基架構(gòu),如以以下圖2-1所示:圖2-12.2WiFi定位的流程首先通過編寫程序用來獲取該移動(dòng)設(shè)備周邊的WiFi的物理地址。提取WiFi的物理地址并進(jìn)展相應(yīng)的解析。通過使用了NativeWiFi,可以獲取到當(dāng)前WiFi信號(hào)的RSSI值,并將其記錄便可連續(xù)采集當(dāng)前網(wǎng)卡所采集到所有WiFi信號(hào)的RSSI。添加MAP.html文件將采集到的信息加載到百度地圖。移動(dòng)終端獲取WiFi移動(dòng)終端獲取WiFiWeb服務(wù)器Web服務(wù)器WiFi數(shù)據(jù)平臺(tái)WiFi數(shù)據(jù)平臺(tái)進(jìn)展WiFi的解析進(jìn)展WiFi的解析加載到百度地圖加載到百度地圖圖2-2定位流程圖三、過程論述3.1界面設(shè)計(jì)〔如以以下圖〕圖3-1界面設(shè)計(jì)圖3.2控件的設(shè)計(jì)3.2.1Label的使用:在工具箱中找到Label,拖放至設(shè)計(jì)界面中,如圖3-2、圖3-3所示,可以對(duì)其屬性進(jìn)展修改,以及在界面中移動(dòng)其位置。圖3-2工具箱圖3-3屬性3.2.2TextBox的使用:在工具箱中找到TextBox,拖放至設(shè)計(jì)界面中,如圖3-4、圖3-5所示,可以對(duì)其屬性進(jìn)展修改,在界面中移動(dòng)其位置。圖3-4TextBox工具圖圖3-5TextBox屬性圖3.2.3Button的使用在工具箱中找到Buttton,拖放至設(shè)計(jì)界面中,如圖3-6、圖3-7所示,可以對(duì)其屬性進(jìn)展修改,以及在界面中移動(dòng)其位置。圖3-6Button工具圖圖3-7Button屬性圖3.2.4實(shí)現(xiàn)基于WebBrowser加載Baidu地圖,如圖3-8所示。圖3-8WebBrowser工具圖3.2.5在bin/Bebug路徑下,新建文本文件,輸入以下內(nèi)容,并重命名為Map.html,保存并退出,如圖3-9所示。圖3-9Map.html嵌入圖3.3功能設(shè)計(jì)3.3.1加載百度地圖的代碼實(shí)例新建一個(gè)txt文件,輸入代碼后將該文件改為Map.html,以下是代碼:<html><head> <meta-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.map.baidu/api?v=2.0&ak=0uWHTjb5Ld12cSZoN9tkGXxu"></script> <title>城市名定位</title> <styletype="text/css"> .anchorBL{ display:none; } </style></head><body> <divid="allmap"></div> <divid="r-result"> 經(jīng)度:<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); //用經(jīng)緯度設(shè)置地圖中心點(diǎn) 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);//創(chuàng)立標(biāo)注 map.addOverlay(marker);//將標(biāo)注添加到地圖中 map.panTo(new_point); } }</script>完成上述操作之后選中Form1,在事件選項(xiàng)中選擇Load,并雙擊翻開相應(yīng)代碼:privatevoidForm1_Load(objectsender,EventArgse){stringstr_url=Environment.CurrentDirectory+"/Map.html";Uriurl=newUri(str_url);this.webBrowser1.Navigate(url);}此時(shí)運(yùn)行程序界面上會(huì)出現(xiàn)加載到WebBrowser的百度地圖。3.3.2獲取AP的相關(guān)信息下載ManagedWiFi:://managedwifi.codeplex/參加到工程中并添加引用,如以以下圖3-10所示圖3-10添加AP并申請(qǐng)命名空間為: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.haoservice/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{WebRequestrequest=(WebRequest)WebRequest.Create(_StringURL);request.Method="GET";request.Accept="*/*";request.KeepAlive=false;WebResponseresponse=(WebResponse)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為十六進(jìn)制,2為每次都是兩位數(shù).num2++;}returnstring.Join(":",array);//Join()方法:串聯(lián)數(shù)組里所有字符串,并用指定分隔符連接}privatestringGetStringForSSID(Wlan.Dot11Ssidssid){returnEncoding.UTF8.GetString(ssid.SSID,0,(int)ssid.SSIDLength);//0表示索引,ssid.SSIDlength表示解碼字節(jié)數(shù)}3.3.5將解析的數(shù)據(jù)定位到百度地圖privatevoidbutton1_Click(objectsender,EventArgse){HtmlElementHE_longitude=webBrowser1.Document.GetElementById("longitude");HE_longitude.SetAttribute("

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論