無線定位課程設(shè)計(jì).doc
《無線定位課程設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《無線定位課程設(shè)計(jì).doc(15頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
定位技術(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ù)的發(fā)展以及無線網(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、 方案論證2.1 WiFi定位的網(wǎng)絡(luò)成員與結(jié)構(gòu)IEEE 802.11主要規(guī)定了兩種不同類型的基本架構(gòu):有基礎(chǔ)架構(gòu)的無線局域網(wǎng)絡(luò) (Infrastructure Wireless LAN) 和無基礎(chǔ)架構(gòu)的無線局域網(wǎng)絡(luò) (Ad Hoc Wireless LAN) 。在Wi-Fi定位中常用的架構(gòu)是有基礎(chǔ)架構(gòu),如下圖2-1所示: 圖2-12.2 WiFi定位的流程(1) 首先通過編寫程序用來獲取該移動(dòng)設(shè)備周邊的WiFi的物理地址。(2) 提取WiFi的物理地址并進(jìn)行相應(yīng)的解析。(3) 通過使用了NativeWiFi,可以獲取到當(dāng)前WiFi信號(hào)的RSSI值,并將其記錄便可連續(xù)采集當(dāng)前網(wǎng)卡所采集到所有WiFi信號(hào)的RSSI。(4) 添加MAP.html文件將采集到的信息加載到百度地圖。移動(dòng)終端獲取WiFi Web服務(wù)器WiFi數(shù)據(jù)平臺(tái)進(jìn)行WiFi的解析加載到百度地圖 圖2-2定位流程圖三、過程論述 3.1界面設(shè)計(jì)(如下圖) 圖3-1界面設(shè)計(jì)圖 3.2 控件的設(shè)計(jì)3.2.1 Label的使用:在工具箱中找到Label,拖放至設(shè)計(jì)界面中,如圖3-2、圖3-3所示,可以對(duì)其屬性進(jìn)行修改,以及在界面中移動(dòng)其位置。 圖3-2工具箱 圖3-3屬性3.2.2 TextBox的使用:在工具箱中找到TextBox,拖放至設(shè)計(jì)界面中,如圖3-4、圖3-5所示,可以對(duì)其屬性進(jìn)行修改,在界面中移動(dòng)其位置。 圖3-4 TextBox工具圖 圖3-5 TextBox屬性圖3.2.3 Button的使用在工具箱中找到Buttton,拖放至設(shè)計(jì)界面中,如圖3-6、圖3-7所示,可以對(duì)其屬性進(jìn)行修改,以及在界面中移動(dòng)其位置。 圖3-6 Button工具圖 圖3-7 Button屬性圖 3.2.4實(shí)現(xiàn)基于WebBrowser加載Baidu地圖,如圖3-8所示。 圖3-8 WebBrowser工具圖 3.2.5在bin/Bebug路徑下,新建文本文件,輸入以下內(nèi)容,并重命名為Map.html,保存并退出,如圖3-9所示。 圖3-9 Map.html嵌入圖3.3功能設(shè)計(jì)3.3.1加載百度地圖的代碼實(shí)例 新建一個(gè)txt文件,輸入代碼后將該文件改為Map.html,以下是代碼:body, htmlwidth: 100%;height: 100%;margin:0;font-family:微軟雅黑;#allmapheight:500px;width:100%;#r-resultwidth:100%; font-size:14px;城市名定位 .anchorBL display:none; 經(jīng)度: 緯度: / 百度地圖API功能var map = new BMap.Map(allmap);map.centerAndZoom(new BMap.Point(116.331398,39.897445),11);map.enableScrollWheelZoom(true);/ 用經(jīng)緯度設(shè)置地圖中心點(diǎn)function theLocation()if(document.getElementById(longitude).value != & document.getElementById(latitude).value != )map.clearOverlays(); var new_point = new BMap.Point(document.getElementById(longitude).value,document.getElementById(latitude).value);var marker = new BMap.Marker(new_point); / 創(chuàng)建標(biāo)注map.addOverlay(marker); / 將標(biāo)注添加到地圖中map.panTo(new_point); 完成上述操作之后選中Form1,在事件選項(xiàng)中選擇Load,并雙擊打開相應(yīng)代碼:private void Form1_Load(object sender, EventArgs e) string str_url = Environment.CurrentDirectory + /Map.html; Uri url = new Uri(str_url); this.webBrowser1.Navigate(url); 此時(shí)運(yùn)行程序界面上會(huì)出現(xiàn)加載到WebBrowser的百度地圖。3.3.2 獲取AP的相關(guān)信息(1) 下載ManagedWiFi:http:/managedwifi.codeplex.com/加入到工程中并添加引用 ,如下圖3-10所示 圖3-10添加AP并申請命名空間為: using NativeWifi;(2) 獲取WIFI的名稱以及MAC地址,代碼如下: private void button3_Click(object sender, EventArgs e) WlanClient client = new WlanClient(); foreach (WlanClient.WlanInterface wlanIface in client.Interfaces) Wlan.WlanBssEntry WBE = wlanIface.GetNetworkBssList(); for (int i = 0; i WBE.Length - 1; i+) for (int j = i; j WBE.Length - 1; j+) Wlan.WlanBssEntry index; if (WBEi.rssi = WBEj.rssi) index = WBEi; WBEi = WBEj; WBEj = index; for (int i = 0; i 3; i+) STRi = new info(GetStringForMACAddress(WBEi.dot11Bssid), WBEi.rssi.ToString(); foreach (Wlan.WlanBssEntry sub_wbe in WBE) string SSID = GetStringForSSID(sub_wbe.dot11Ssid); string MAC = GetStringForMACAddress(sub_wbe.dot11Bssid); string RSSI = sub_wbe.rssi.ToString(); string LinkQuality = sub_wbe.linkQuality.ToString(); textBox1.AppendText(SSID: + SSID + + MAC: + MAC + + RSSI: + RSSI + + LQ: + LinkQuality + System.Environment.NewLine); JavaScriptSerializer Serializer = new JavaScriptSerializer(); string s = Serializer.Serialize(STR); String S = http:/api.haoservice.com/api/LocationByWifiData?requestdata= + s + &type=1&key=5888d456644a4d8eb92cf9bc92fa8c85; textBox2.Text = S; textBox2.Show(); 3.3.3提取MAC地址 private void button4_Click(object sender, EventArgs e) string _StringURL = textBox2.Text; try HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_StringURL); request.Method = GET; request.Accept = */*; request.KeepAlive = false; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); string responseFromServer = reader.ReadToEnd(); response.Close(); reader.Close(); dataStream.Close(); this.textBox2.Text = responseFromServer; catch (Exception ex) MessageBox.Show(ex.ToString(); 3.3.4解析MAC和SSID private string GetStringForMACAddress(byte macAddr) uint num = (uint)macAddr.Length; string array = new stringnum; int num2 = 0; while (long)num2 (long)(ulong)num) arraynum2 = macAddrnum2.ToString(x2).ToUpper();/ToString(x2):X為十六進(jìn)制,2為每次都是兩位數(shù). num2+; return string.Join(:, array);/Join()方法:串聯(lián)數(shù)組里所有字符串,并用指定分隔符連接 private string GetStringForSSID(Wlan.Dot11Ssid ssid) return Encoding.UTF8.GetString(ssid.SSID, 0, (int)ssid.SSIDLength);/0表示索引,ssid.SSIDlength表示解碼字節(jié)數(shù) 3.3.5將解析的數(shù)據(jù)定位到百度地圖 private void button1_Click(object sender, EventArgs e) HtmlElement HE_longitude = webBrowser1.Document.GetElementById(longitude); HE_longitude.SetAttribute(value, location0); HtmlElement HE_latitude = webBrowser1.Document.GetElementById(latitude); HE_latitude.SetAttribute(value, location1); webBrowser1.Document.InvokeScript(theLocation); 四、結(jié)果分析4.1 WiFi定位分析圖如下圖: 圖4-1 WiFi定位圖由上圖可知通過用C#軟件編寫程序?qū)崿F(xiàn)了WiFi的定位的基本功能,通過點(diǎn)擊獲取按鈕搜索到周邊的WiFi,點(diǎn)擊請求和解析的按鈕然后得到對(duì)應(yīng)的具體地址。然后點(diǎn)擊定位按鈕并能將其成功的定位到百度地圖上。盡管界面比較簡單,但是基本上能獲取WiFi定位條件下所需要的數(shù)據(jù)。經(jīng)過多次的測試,程序還是比較穩(wěn)定的,每次都能順利的運(yùn)行。總體來說,該WiFi定位系統(tǒng)還是相對(duì)完善的,是可執(zhí)行的。五、結(jié)論(或總結(jié))通過本次WiFi定位系統(tǒng)的課程設(shè)計(jì),我們了解了WiFi定位的基本原理以及它的實(shí)現(xiàn)過程。盡管遇到過很多的問題,但是最終都能夠得到解決。同時(shí)這也是對(duì)個(gè)人能力的鍛煉,使我們以后能很好的把理論應(yīng)用于實(shí)踐。除了個(gè)人能力得到很好的鍛煉之外,同時(shí)我也意識(shí)到自己有很多的不足之處,比如編寫代碼能力還不是那么熟練,好多編程思想不夠成熟,希望能夠在今后的學(xué)習(xí)中多多去改善這些不足,努力把自己的編程水平提升上去。同時(shí)感謝老師的耐心指導(dǎo)、細(xì)心講解,希望以后的學(xué)習(xí)中老師能夠多多糾正我們學(xué)習(xí)之中的不足。第二部分:參考文獻(xiàn)學(xué)生簽名: 填表日期: 年 月 日第四部分: 指導(dǎo)教師評(píng)語 第五部分:成績評(píng)定- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 無線 定位 課程設(shè)計(jì)
鏈接地址:http://ioszen.com/p-6607671.html