




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.定位技術(shù)及其應(yīng)用 設(shè)計說明書(封面)學(xué)院名稱: 計算機與信息工程學(xué)院 班級名稱: 13級物聯(lián)網(wǎng) 學(xué)生姓名: 學(xué) 號: 2 題 目:基于WiFi的定位系統(tǒng)設(shè)計 指導(dǎo)教師姓 名: 日 期: 2015年11月10日 第一部分:正文部分一、選題背景隨著當(dāng)前移動通信技術(shù)的發(fā)展以及無線網(wǎng)絡(luò)的逐漸普及,對于基于定位服務(wù)的需求也迅速增加,例如,商場購物車定位和顧客消費習(xí)慣的收集;再者是醫(yī)院重癥患者的跟蹤監(jiān)護(hù);以及還有學(xué)生上課期間的對所在的位置的收集等。所以定位的計算和服務(wù)在人們的日常生活中扮演者越來越重要的角色。盡管基于GPS技術(shù)的室外定位已經(jīng)達(dá)到很高的定位精度,但是由于GPS無法在室內(nèi)進(jìn)行定位,所以室內(nèi)定
2、位也就成為目前研究的焦點?,F(xiàn)在的室內(nèi)定位有技術(shù)主要有紅外定位、超聲波定位、WiFi定位等。其中WiFi定位最受人們的關(guān)注,因為WiFi定位網(wǎng)絡(luò)廣泛存在于室內(nèi)的環(huán)境中,信息傳輸?shù)乃俣缺容^快,而且硬件成本低,耗能也比較少。有利于在現(xiàn)在普及的WIFI熱點的室內(nèi)實現(xiàn),極大的彌補了GPS在建筑密集或者室內(nèi)應(yīng)用的限制,擴大了室內(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 L
3、AN) 。在Wi-Fi定位中常用的架構(gòu)是有基礎(chǔ)架構(gòu),如下圖2-1所示: 圖2-12.2 WiFi定位的流程(1) 首先通過編寫程序用來獲取該移動設(shè)備周邊的WiFi的物理地址。(2) 提取WiFi的物理地址并進(jìn)行相應(yīng)的解析。(3) 通過使用了NativeWiFi,可以獲取到當(dāng)前WiFi信號的RSSI值,并將其記錄便可連續(xù)采集當(dāng)前網(wǎng)卡所采集到所有WiFi信號的RSSI。(4) 添加MAP.html文件將采集到的信息加載到百度地圖。移動終端獲取WiFi Web服務(wù)器WiFi數(shù)據(jù)平臺進(jìn)行WiFi的解析加載到百度地圖 圖2-2定位流程圖:三、過程論述 3.1界面設(shè)計(如下圖) 圖3-1界面設(shè)計圖 3.2
4、 控件的設(shè)計3.2.1 Label的使用:在工具箱中找到Label,拖放至設(shè)計界面中,如圖3-2、圖3-3所示,可以對其屬性進(jìn)行修改,以及在界面中移動其位置。 圖3-2工具箱 圖3-3屬性3.2.2 TextBox的使用:在工具箱中找到TextBox,拖放至設(shè)計界面中,如圖3-4、圖3-5所示,可以對其屬性進(jìn)行修改,在界面中移動其位置。 圖3-4 TextBox工具圖 圖3-5 TextBox屬性圖3.2.3 Button的使用在工具箱中找到Buttton,拖放至設(shè)計界面中,如圖3-6、圖3-7所示,可以對其屬性進(jìn)行修改,以及在界面中移動其位置。 圖3-6 Button工具圖 圖3-7 But
5、ton屬性圖 3.2.4實現(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è)計3.3.1加載百度地圖的代碼實例 新建一個txt文件,輸入代碼后將該文件改為Map.html,以下是代碼:<html><head><meta http-equiv="Content-Type" content="text/html"
6、 /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">body, htmlwidth: 100%;height: 100%;margin:0;font-family:"微軟雅黑"#allmapheight:500px;width:100%;#r-resultwidth:100%; font-size:14px;</style><sc
7、ript type="text/javascript" src="<title>城市名定位</title><style type="text/css"> .anchorBL display:none; </style> </head><body><div id="allmap"></div><div id="r-result">經(jīng)度: <input id="longitude&quo
8、t; type="text" style="width:100px; margin-right:10px;" />緯度: <input id="latitude" type="text" style="width:100px; margin-right:10px;" /><input type="button" value="查詢" onclick="theLocation()" /></div>
9、;</body></html><script type="text/javascript">/ 百度地圖API功能var map = new BMap.Map("allmap");map.centerAndZoom(new BMap.Point(116.331398,39.897445),11);map.enableScrollWheelZoom(true);/ 用經(jīng)緯度設(shè)置地圖中心點function theLocation()if(document.getElementById("longitude&quo
10、t;).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_poin
11、t); / 創(chuàng)建標(biāo)注map.addOverlay(marker); / 將標(biāo)注添加到地圖中map.panTo(new_point); </script>完成上述操作之后選中Form1,在事件選項中選擇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
12、); 此時運行程序界面上會出現(xiàn)加載到WebBrowser的百度地圖。3.3.2 獲取AP的相關(guān)信息(1) 下載ManagedWiFi:加入到工程中并添加引用 ,如下圖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.
13、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(GetSt
14、ringForMACAddress(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();
15、 textBox1.AppendText("SSID:" + SSID + " " + "MAC:" + MAC + " " + "RSSI:" + RSSI + " " + "LQ:" + LinkQuality + System.Environment.NewLine); JavaScriptSerializer Serializer = new JavaScriptSerializer(); string s = Serializer.Seriali
16、ze(STR); String S = " + 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(
17、_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
18、 = 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;
19、 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 Enc
20、oding.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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全注射試題及答案大全
- 安全員b考試試題及答案
- 2025年零售行業(yè)新零售門店設(shè)計與顧客行為研究報告
- 聚焦2025:工業(yè)互聯(lián)網(wǎng)平臺區(qū)塊鏈智能合約安全防護(hù)與合規(guī)性審查報告001
- 安全工程師試題及答案
- 工業(yè)互聯(lián)網(wǎng)平臺傳感器網(wǎng)絡(luò)自組網(wǎng)技術(shù)在智能倉儲中的應(yīng)用案例分析報告001
- 2025年大數(shù)據(jù)存儲市場規(guī)模增長與技術(shù)創(chuàng)新分析報告
- 隱私保護(hù)培訓(xùn)課件內(nèi)容
- 配電裝置培訓(xùn)課件
- 創(chuàng)極地培訓(xùn)課課件
- 充電站建設(shè)管理制度
- 美好生活大調(diào)查:中國居民消費特點及趨勢報告(2025年度)
- 失業(yè)保障國際比較-洞察及研究
- 黨群工作筆試題目及答案
- 2024-2025學(xué)年度第二學(xué)期二年級語文暑假作業(yè)有答案共25天
- 廣東省廣州市天河區(qū)2023-2024學(xué)年八年級下學(xué)期期末歷史試卷(含答案)
- 2025河南省豫地科技集團有限公司社會招聘169人筆試參考題庫附帶答案詳解
- 2025-2030年中國有機肥料行業(yè)市場投資分析及未來發(fā)展趨勢預(yù)測研究報告
- AI技術(shù)賦能中小學(xué)教學(xué)模式創(chuàng)新與實踐研究
- 山西焦煤集團招聘筆試題庫2025
- 2025汾西礦業(yè)井下操作技能人員招聘300人(山西)筆試參考題庫附帶答案詳解析
評論
0/150
提交評論