版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 自1998年,藍(lán)牙技術(shù)由愛立信、IBM等5家公司聯(lián)合推出起,其作為一種新型的無線網(wǎng)絡(luò)技術(shù),被廣大研究愛好者們應(yīng)用于各大領(lǐng)域,其中藍(lán)牙無線定位領(lǐng)域已取得相當(dāng)可觀的成就。目前已有的藍(lán)牙室內(nèi)定位大都是基于移動設(shè)備的定位,本課題設(shè)計提出一種基于藍(lán)牙無線信號網(wǎng)和位置指紋法的無設(shè)備室內(nèi)定位方法。</p><p>
2、 設(shè)計分為離線采樣和在線測試兩階段。離線采樣階段采集藍(lán)牙節(jié)點的RSSI(接收信號強(qiáng)度)值,關(guān)聯(lián)采集時的位置信息,構(gòu)建一個位置指紋數(shù)據(jù)庫;在線測試階段,采集此時藍(lán)牙節(jié)點的RSSI值,比對數(shù)據(jù)庫中的指紋信息,確定測試目標(biāo)位置。</p><p> 本設(shè)計基于eclipse平臺,通過建立藍(lán)牙無線信號網(wǎng),編寫測試手機(jī)采集藍(lán)牙節(jié)點的RSSI值、 顯示手機(jī)與測試手機(jī)之間的數(shù)據(jù)通訊以及顯示手機(jī)的數(shù)據(jù)處理等Android應(yīng)用程
3、序,構(gòu)建位置指紋數(shù)據(jù)庫,通過最鄰近算法計算確定位置。</p><p> 關(guān)鍵詞:無設(shè)備室內(nèi)定位、藍(lán)牙技術(shù)、位置指紋法、最鄰近算法。</p><p><b> Abstract</b></p><p> Ericsson and IBM, together with the other three companies launched Bl
4、uetooth in 1998, since which, this technology was applied to various areas by many a Bluetooth fan. Now Bluetooth wireless positioning system has made considerable achievements. But so far, Bluetooth indoor positioning i
5、s mainly based on the positioning of mobile devices. Therefore, this subject design puts forward a Device-Free indoor positioning approach, which is on the basis of Bluetooth wireless signal networks and fingerp</p>
6、;<p> Via setting up Bluetooth wireless signal networks, compiling the RSSI value of Bluetooth node collected by test mobiles, and revealing Android application program such as the data communication between mobi
7、les and test mobiles, this design will employ the platform of eclipse, establish the database of fingerprint, and calculate and determine the location by nearest neighbor algorithm.</p><p> Keywords: Device
8、-Free indoor positioning, Bluetooth technology, fingerprinting technology, nearest neighbor algorithm</p><p><b> 目 錄</b></p><p> 1 . 緒 論5</p><p> 1.1 研究背景與意義5</
9、p><p> 1.2 研究目標(biāo)與內(nèi)容6</p><p><b> 1.3論文結(jié)構(gòu)6</b></p><p> 2 . 系統(tǒng)總設(shè)計7</p><p> 2.1 系統(tǒng)總設(shè)計框圖7</p><p> 2.2 系統(tǒng)理論基礎(chǔ)8</p><p> 2.2.1 系統(tǒng)設(shè)計
10、分析8</p><p> 2.2.2 藍(lán)牙信號傳播模型8</p><p> 2.2.3 位置指紋數(shù)據(jù)庫9</p><p> 2.2.4 最鄰近算法10</p><p> 2.3 本章小結(jié)10</p><p> 3 . 系統(tǒng)硬件設(shè)計11</p><p> 3.1 系統(tǒng)硬件設(shè)
11、計框圖11</p><p> 3.2 藍(lán)牙無線信號網(wǎng)12</p><p> 3.2.1 藍(lán)牙無線信號網(wǎng)的布局圖12</p><p> 3.2.2 采樣點的分布圖12</p><p> 3.3 BC-05藍(lán)牙模塊13</p><p> 3.3.1 BC-05的實物圖與電路圖13</p>
12、<p> 3.3.2 BC-05的特點14</p><p> 3.3.3 應(yīng)用領(lǐng)域15</p><p> 3.4 手機(jī)模塊15</p><p> 3.4.1 測試手機(jī)16</p><p> 3.4.2 顯示手機(jī)17</p><p> 3.5 本章小結(jié)17</p><
13、;p> 4 . 系統(tǒng)軟件設(shè)計18</p><p> 4.1.1 系統(tǒng)軟件總體設(shè)計框圖19</p><p> 4.1.2 系統(tǒng)軟件開發(fā)環(huán)境19</p><p> 4.2 測試手機(jī)模塊20</p><p> 4.2.1 測試手機(jī)軟件流程圖20</p><p> 4.2.2 RSSI的采集處理2
14、0</p><p> 4.3 測試手機(jī)與顯示手機(jī)的數(shù)據(jù)通訊22</p><p> 4.3.1 數(shù)據(jù)通訊流程圖22</p><p> 4.4 顯示手機(jī)模塊24</p><p> 4.4.1 顯示手機(jī)軟件流程圖24</p><p> 4.4.2 手機(jī)藍(lán)牙的初始化25</p><p&g
15、t; 4.4.3 SQLite數(shù)據(jù)庫27</p><p> 4.4.4 離線采樣27</p><p> 4.4.5 在線測試28</p><p> 4.5 本章小結(jié)30</p><p> 5 . 系統(tǒng)調(diào)試31</p><p> 5.1 系統(tǒng)調(diào)試工具31</p><p>
16、 5.2 系統(tǒng)測試方案31</p><p> 5.3 測試數(shù)據(jù)31</p><p> 5.3.1 測試手機(jī)31</p><p> 5.3.2 顯示手機(jī)32</p><p> 5.3.3 數(shù)據(jù)庫數(shù)據(jù)36</p><p> 5.3.4 結(jié)果分析36</p><p> 5.4
17、本章小結(jié)37</p><p> 6 . 總結(jié)與展望38</p><p><b> 6.1總結(jié)38</b></p><p><b> 6.2展望38</b></p><p><b> 7 . 致謝39</b></p><p><b&
18、gt; 參考文獻(xiàn)40</b></p><p><b> 附錄41</b></p><p> 測試手機(jī)核心代碼:41</p><p> 顯示手機(jī)核心代碼:52</p><p><b> 1 . 緒 論</b></p><p> 1.1 研究背景
19、與意義</p><p> 隨著電信技術(shù)與網(wǎng)絡(luò)技術(shù)的發(fā)展,傳統(tǒng)定位技術(shù)也得到了廣泛的的拓展與應(yīng)用。定位系統(tǒng)是一種應(yīng)用無線通信技術(shù),各種無線網(wǎng)絡(luò)以及一系列的感應(yīng)技術(shù)來確定或追蹤被測物體的位置或運(yùn)動路徑的裝置。定位系統(tǒng)又分為室外定位系統(tǒng)和室內(nèi)定位系統(tǒng)。室外定位系統(tǒng)已得到成熟穩(wěn)定的發(fā)展,其最具典型的代表是GPS和AGPS室外定位系統(tǒng)。然而,作為LBS最后一米服務(wù)的室內(nèi)定位依然沒有一個統(tǒng)一的技術(shù)規(guī)范標(biāo)準(zhǔn)。</p&g
20、t;<p> 在一個稍微復(fù)雜點的多層次的建筑中,傳統(tǒng)的室外定位方法就已不能很好的實現(xiàn)定位導(dǎo)航的功能,因而實現(xiàn)一個強(qiáng)而有力的室內(nèi)定位系統(tǒng)已是一個重中之重的事情。如今,已有很多技術(shù)應(yīng)用于室內(nèi)定位,例如WIFI、藍(lán)牙、RFID、磁場等等。其中,藍(lán)牙技術(shù)隨著智能手機(jī)的高速發(fā)展而漸漸廣為人知。相對于其他無線技術(shù),藍(lán)牙技術(shù)具有低功耗、低成本、高可用性和精度高的優(yōu)點。</p><p> 傳統(tǒng)的基于藍(lán)牙信號的室
21、內(nèi)定位方法中,定位目標(biāo)(例如行人)必須攜帶接收藍(lán)牙信號的設(shè)備(例如手機(jī))。在設(shè)備無關(guān)室內(nèi)定位方法中,定位目標(biāo)不需要攜帶接收設(shè)備。但是需要在室內(nèi)構(gòu)成藍(lán)牙信號發(fā)送和接收的網(wǎng)絡(luò),當(dāng)行人在信號網(wǎng)絡(luò)中行走時會影響接收到的信號強(qiáng)度,進(jìn)而確定行人的室內(nèi)位置。</p><p> 設(shè)備無關(guān)室內(nèi)定位系統(tǒng)是一種估算不攜帶任何設(shè)備或附加任何標(biāo)簽的目標(biāo)的位置的定位系統(tǒng),其可應(yīng)用于很多領(lǐng)域,例如:建筑安全和報警系統(tǒng)、軍事和警察行動、災(zāi)難救
22、援和老人醫(yī)療保健等。</p><p> 1.2 研究目標(biāo)與內(nèi)容</p><p> 本文的主要研究內(nèi)容包括:</p><p> ?。?)藍(lán)牙無線信號網(wǎng)的布局:通過對藍(lán)牙模塊2.0以及手機(jī)藍(lán)牙接口的認(rèn)識和了解,在測試區(qū)域設(shè)計藍(lán)牙無線信號網(wǎng)的布局,建立藍(lán)牙無線信號網(wǎng)。</p><p> (2)測試手機(jī)的編程:理解測試手機(jī)在設(shè)計中的作用,編程實
23、現(xiàn)測試手機(jī)對藍(lán)牙節(jié)點的循環(huán)檢測、RSSI值的相關(guān)數(shù)據(jù)處理以及和顯示手機(jī)之間的數(shù)據(jù)交換。</p><p> ?。?)顯示手機(jī)的編程:編程實現(xiàn)顯示手機(jī)與測試手機(jī)之間的數(shù)據(jù)交換、離線采樣及數(shù)據(jù)庫的建立、在線測試及圖形顯示。</p><p> 本文設(shè)計的基于藍(lán)牙信號的設(shè)備無關(guān)室內(nèi)定位,需要實現(xiàn)的目標(biāo)主要有三個,第一個是實現(xiàn)測試手機(jī)對藍(lán)牙節(jié)點的RSSI值的檢測以及相關(guān)數(shù)據(jù)處理;第二個是實現(xiàn)離線采樣
24、以及數(shù)據(jù)庫的建立;第三個是實現(xiàn)在線測試及圖形顯示。</p><p><b> 1.3論文結(jié)構(gòu)</b></p><p> 本文以設(shè)備無關(guān)室內(nèi)定位的研究作為應(yīng)用背景,編程實現(xiàn)離線采樣與在線測試兩大功能。全文共分為六個章節(jié),主要內(nèi)容如下:</p><p> 第一章:緒論,介紹室內(nèi)定位的研究背景、研究設(shè)備無關(guān)室內(nèi)定位的意義以及應(yīng)用前景,然后闡述課
25、題的研究目標(biāo)及主要內(nèi)容。</p><p> 第二章:系統(tǒng)總設(shè)計,介紹設(shè)計的整個框架、各個模塊的作用以及相互之間的聯(lián)系。</p><p> 第三章:系統(tǒng)硬件設(shè)計,介紹藍(lán)牙無線信號網(wǎng)的布局、手機(jī)藍(lán)牙和藍(lán)牙2.0的硬件組成和接口。</p><p> 第四章:系統(tǒng)軟件設(shè)計,介紹測試手機(jī)以及顯示手機(jī)的流程圖以及相關(guān)功能說明。</p><p>
26、第五章:系統(tǒng)調(diào)試,介紹調(diào)試方案、測試界面以及相關(guān)數(shù)據(jù)分析。</p><p> 第六章:總結(jié)與展望,總結(jié)本設(shè)計各模塊,并對設(shè)備無關(guān)室內(nèi)定位的優(yōu)化方向進(jìn)行了簡要闡述。</p><p><b> 2 . 系統(tǒng)總設(shè)計</b></p><p> 2.1 系統(tǒng)總設(shè)計框圖</p><p> 本系統(tǒng)總設(shè)計主要包括藍(lán)牙節(jié)點模塊、測
27、試手機(jī)模塊以及顯示手機(jī)模塊。系統(tǒng)總設(shè)計框圖如圖2-1所示:</p><p> 本系統(tǒng)設(shè)計中,藍(lán)牙節(jié)點與測試手機(jī)按照一定的布局格式去構(gòu)建藍(lán)牙無線信號網(wǎng)。測試手機(jī)與藍(lán)牙節(jié)點之間進(jìn)行相互通訊,測試手機(jī)不斷采集藍(lán)牙節(jié)點的信號信息:設(shè)備名、設(shè)備地址以及RSSI值。同時,顯示手機(jī)與測試手機(jī)之間進(jìn)行數(shù)據(jù)交換,當(dāng)顯示手機(jī)向測試手機(jī)發(fā)送命令字符時,測試手機(jī)將處理好的RSSI值返回給顯示手機(jī)。</p><p&g
28、t; 2.2 系統(tǒng)理論基礎(chǔ)</p><p> 2.2.1 系統(tǒng)設(shè)計分析</p><p> 在室內(nèi),環(huán)境比較復(fù)雜,藍(lán)牙信號在傳播的過程中易受到地形、桌椅、墻壁以及人體的影響,從而引起藍(lán)牙信號的折射、衍射等多徑傳播,使得采集到的RSSI值出現(xiàn)偏大的誤差,從而影響到定位的精確性。因此本課題設(shè)計提出一種基于藍(lán)牙無線信號網(wǎng)和位置指紋法的無設(shè)備室內(nèi)定位方法。</p><p&g
29、t; 首先,以藍(lán)牙模塊作為發(fā)送藍(lán)牙信號的藍(lán)牙節(jié)點、以測試手機(jī)作為接收藍(lán)牙信號的藍(lán)牙節(jié)點,在室內(nèi)按照一定的方式布局,構(gòu)建藍(lán)牙無線信號網(wǎng)。利用測試目標(biāo)(行人)對藍(lán)牙信號的影響,采集RSSI值。</p><p> 在離線采樣階段,采集測試目標(biāo)(行人)在室內(nèi)均勻采樣點上的指紋數(shù)據(jù)(藍(lán)牙節(jié)點的信號強(qiáng)度),同時將指紋數(shù)據(jù)進(jìn)行一系列處理,存儲到顯示手機(jī)的內(nèi)部存儲器的數(shù)據(jù)庫中。</p><p> 在
30、在線測試階段,采集測試目標(biāo)在測試區(qū)域的指紋數(shù)據(jù),進(jìn)行數(shù)據(jù)處理后,比對數(shù)據(jù)庫中的數(shù)據(jù),通過最鄰近算法計算確定位置。</p><p> 2.2.2 藍(lán)牙信號傳播模型</p><p> 藍(lán)牙信號的強(qiáng)度r和距離d之間有多種傳播模型,本設(shè)計采用經(jīng)典的無線信號傳播模型(WSPM)作為藍(lán)牙信號傳播模型,該模型滿足式:</p><p> (2-1) </
31、p><p><b> 注:</b></p><p> :RSSI(接收信號強(qiáng)度指標(biāo));</p><p> 藍(lán)牙接收設(shè)備的電功率等級,等于;</p><p> 藍(lán)牙發(fā)射設(shè)備的電功率等級 ;</p><p> :藍(lán)牙接收設(shè)備的天線增益;</p><p> ?。核{(lán)牙發(fā)射設(shè)備
32、的天線增益;</p><p><b> :藍(lán)牙信號的波長;</b></p><p> ?。核p因子,表示墻壁和其他障礙的影響;</p><p> ?。喊l(fā)送方到接收方之間的傳播距離;</p><p> :藍(lán)牙信號傳播模型的參數(shù),和 有關(guān)。</p><p> 2.2.3 位置指紋數(shù)據(jù)庫</
33、p><p> 位置指紋法是在離線采樣階段,根據(jù)測試目標(biāo)在不同的均勻采樣點處采集到的藍(lán)牙節(jié)點的信號強(qiáng)度,關(guān)聯(lián)均勻采樣點的位置,建立相應(yīng)的位置指紋數(shù)據(jù)庫。在在線測試階段,實時采集當(dāng)前藍(lán)牙節(jié)點的信號強(qiáng)度,對比位置指紋數(shù)據(jù)庫中存儲的信號強(qiáng)度值,通過最鄰近算法進(jìn)行匹配實現(xiàn)定位。</p><p> 位置指紋法分為兩個階段:離線采樣和在線測試。而位置指紋數(shù)據(jù)庫的構(gòu)建是在離線采樣階段完成。位置指紋數(shù)據(jù)庫由
34、眾多數(shù)據(jù)庫元素組成,數(shù)據(jù)庫元素由物理位置L和該物理位置上采集到的指紋R組成,其表述如下:</p><p><b> ?。?-2)</b></p><p> 本設(shè)計中位置指紋數(shù)據(jù)庫采用RSSI測量法構(gòu)建,指紋信息R由測試手機(jī)對藍(lán)牙節(jié)點的信號強(qiáng)度的RSSI值組成,表述如下:</p><p><b> ?。?-3)</b>&l
35、t;/p><p> 其中,i代表藍(lán)牙節(jié)點的個數(shù),j代表測試手機(jī)的個數(shù),r[j][i]代表第j個手機(jī)采集的第i個藍(lán)牙節(jié)點的信號強(qiáng)度值。</p><p> 2.2.4 最鄰近算法</p><p> 本設(shè)計在線測試階段的定位數(shù)據(jù)處理采用的是最鄰近算法。在線測試階段,測試手機(jī)采集當(dāng)前藍(lán)牙節(jié)點的RSSI值,并以字符串方式傳給顯示手機(jī),顯示手機(jī)進(jìn)行數(shù)據(jù)處理,將字符串轉(zhuǎn)為雙精度
36、型數(shù)字,然后與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行方差計算。</p><p><b> ?。?-4)</b></p><p><b> 注:</b></p><p> m:數(shù)據(jù)庫數(shù)據(jù)的當(dāng)前ID;</p><p> S[m]:當(dāng)前測試數(shù)據(jù)與數(shù)據(jù)庫中數(shù)據(jù)的方差;</p><p> n:數(shù)據(jù)
37、處理后代表的RSSI的序號;</p><p> a[n]:當(dāng)前測試數(shù)據(jù)處理后第n個RSSI值;</p><p> b[m][n]:數(shù)據(jù)庫中第m行數(shù)據(jù)處理后第n個RSSI值;</p><p> N:測試手機(jī)(j個)測到的藍(lán)牙節(jié)點(i個)的RSSI值的總數(shù)i*j;</p><p> 從上述方差S[m]中選出方差值最小的k個點,參照公式2-
38、5求出當(dāng)前位置。設(shè)k個點的坐標(biāo)為(,)、(,)…(,),則當(dāng)前坐標(biāo)(x,y)為:</p><p><b> ?。?-5)</b></p><p><b> 2.3 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的總體框圖,并對整個系統(tǒng)進(jìn)行理論分析。在整個系統(tǒng)的理論分析的基礎(chǔ)上,從藍(lán)牙信號傳播模型、位置指紋數(shù)據(jù)庫
39、以及最鄰近算法三個方面對系統(tǒng)進(jìn)行深層次分析。</p><p> 3 . 系統(tǒng)硬件設(shè)計</p><p> 3.1 系統(tǒng)硬件設(shè)計框圖</p><p> 本系統(tǒng)硬件設(shè)計主要包括藍(lán)牙模塊、5V電源(充電寶)、測試手機(jī)以及顯示手機(jī)。系統(tǒng)總設(shè)計框圖如圖3-1所示:</p><p> 3.2 藍(lán)牙無線信號網(wǎng)</p><p>
40、 3.2.1 藍(lán)牙無線信號網(wǎng)的布局圖</p><p> 藍(lán)牙無線信號網(wǎng)的由若干個發(fā)送的藍(lán)牙節(jié)點和若干個接收的測試手機(jī)組成,藍(lán)牙節(jié)點和測試手機(jī)的個數(shù)決定藍(lán)牙無線信號網(wǎng)的靈敏度,個數(shù)越多,靈敏度越高。本設(shè)計主要依據(jù)測試區(qū)域的大小選擇藍(lán)牙節(jié)點與測試手機(jī)的個數(shù)。本設(shè)計預(yù)計測試區(qū)域為9m*9m,選用8個藍(lán)牙模塊和4個測試手機(jī)去構(gòu)建藍(lán)牙無線信號網(wǎng),同時用一個顯示手機(jī)去控制藍(lán)牙無線信號網(wǎng)的數(shù)據(jù)采集。</p>
41、<p> 3.2.2 采樣點的分布圖</p><p> 采樣點在測試區(qū)域中的分布需要均勻化,以便提高系統(tǒng)精確度,同時均勻采樣點的個數(shù)越多,系統(tǒng)精確度越高,定位誤差越小。本系統(tǒng)預(yù)計測試區(qū)域為9m*9m,選擇采樣點的個數(shù)為16個,即(0,0)到(9,9)的16個點,采樣間隔是3m。</p><p> 3.3 BC-05藍(lán)牙模塊</p><p> 3.3
42、.1 BC-05的實物圖與電路圖</p><p> 圖3-5 BC-05的電路圖</p><p> 3.3.2 BC-05的特點</p><p><b> 無線收發(fā)</b></p><p> 靈敏度(誤碼率)達(dá)到-80dBm</p><p> -4-6dBm功率可調(diào)輸出</p>
43、;<p> 藍(lán)牙2.0帶EDR,2Mbps-3Mbps調(diào)制度</p><p> 內(nèi)置2.4GHz天線,用戶無需自己調(diào)試天線</p><p> 外置8Mbit FLASH</p><p> 低電壓3.3V工作(3.1V~4.2V)配對時30~40MA波動,配對完畢通信8MA</p><p><b> 可選PIO
44、控制</b></p><p> 標(biāo)準(zhǔn)HCI端口(UART or USB)</p><p> USB協(xié)議:Full Speed USB1.1,Compliant with 2.0</p><p> 模塊可以作為SMD貼片工藝</p><p><b> RoHS制程</b></p><
45、p><b> 引腳半孔工藝</b></p><p> 數(shù)字2.4GHz無線收發(fā)射</p><p> CSR BC05 藍(lán)牙芯片技術(shù)</p><p><b> 自適應(yīng)跳頻技術(shù)</b></p><p> 體積小,(27mm*13mm*2mm)</p><p>&l
46、t;b> 簡單的外圍設(shè)計電路</b></p><p> 藍(lán)牙Class 2 功率級別</p><p> 存儲溫度:-40至+85度,工作溫度:-25至+75度</p><p> 諧波干擾:2.4MHz,發(fā)射功率 3dBm</p><p> 誤碼率:0,但會在傳輸鏈路中產(chǎn)生信號衰變,才有誤碼,如RS232和TTL線路
47、處理線路中</p><p><b> 低功耗</b></p><p><b> 高效能無線收發(fā)系統(tǒng)</b></p><p><b> 低成本</b></p><p> 3.3.3 應(yīng)用領(lǐng)域</p><p><b> 藍(lán)牙車載免提;&l
48、t;/b></p><p><b> 藍(lán)牙無線數(shù)據(jù)傳輸;</b></p><p> 自動化數(shù)據(jù)采集系統(tǒng);</p><p> 智能家居、工業(yè)控制;</p><p> 該模塊主要用于短距離的數(shù)據(jù)無線傳輸領(lǐng)域??梢苑奖愕暮蚉C機(jī)的藍(lán)牙設(shè)備相連,也可以兩個模塊之間的數(shù)據(jù)互通。避免繁瑣的線纜連接,能直接替代串口線。&
49、lt;/p><p><b> 3.4 手機(jī)模塊</b></p><p> 本課題設(shè)計安卓編程支持的Android版本號:高于Android3.0,測試手機(jī)與顯示手機(jī)的Android版本號都在Android4.0以上。</p><p> 3.4.1 測試手機(jī)</p><p> 本課題測試手機(jī)的型號分別為華為C8815、
50、TCL P500M、海信E602M、HTC T329t。</p><p><b> 華為C8815:</b></p><p> 攜帶藍(lán)牙2.0以上功能</p><p> 系統(tǒng):Android4.1.2</p><p> CPU型號:ARMv7 Processor rev 1 (v7l)</p>&l
51、t;p><b> CPU核心數(shù):四核</b></p><p> 運(yùn)行內(nèi)存總量:756MB</p><p> 屏幕分辨率:540*960</p><p> 像素密度:240 PPI</p><p><b> 多點觸摸:支持</b></p><p> TCL P
52、500M:</p><p> 攜帶藍(lán)牙4.1以上功能</p><p> 系統(tǒng):Android4.4</p><p> CPU型號:MT6732M</p><p><b> CPU核心數(shù):四核</b></p><p> 運(yùn)行內(nèi)存總量:512MB</p><p>
53、屏幕分辨率:480*854</p><p><b> 觸摸屏:電容屏</b></p><p><b> 海信E602M:</b></p><p> 攜帶藍(lán)牙2.0以上功能</p><p> 系統(tǒng):Android 4.4</p><p> CPU型號:MT6582M&
54、lt;/p><p><b> CPU核心數(shù):四核</b></p><p> 運(yùn)行內(nèi)存總量:512MB</p><p> 屏幕分辨率:480*854</p><p><b> 多點觸摸:支持</b></p><p> HTC T329t:</p><p
55、> 攜帶藍(lán)牙2.0以上功能</p><p> 系統(tǒng):Android 4.0</p><p> CPU型號:HTC H6S</p><p><b> CPU核心數(shù):雙核</b></p><p><b> 運(yùn)行內(nèi)存總量:1G</b></p><p> 屏幕分辨率
56、:480*800</p><p> 觸摸屏:電容屏、支持多點觸摸</p><p> 3.4.2 顯示手機(jī)</p><p> 本課題測試手機(jī)的型號為中興N919。</p><p><b> 中興 N919:</b></p><p> 攜帶藍(lán)牙2.0以上功能</p><p
57、> 系統(tǒng):Android4.1</p><p> CPU型號:高通 驍龍Snapdragon MSM8625Q</p><p><b> CPU核心數(shù):四核</b></p><p><b> 運(yùn)行內(nèi)存總量:1G</b></p><p> 屏幕分辨率:540*960</p>
58、<p> 像素密度:220 PPI</p><p><b> 多點觸摸:支持</b></p><p><b> 3.5 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的硬件設(shè)計框圖、藍(lán)牙無線信號網(wǎng)的構(gòu)建以及相關(guān)器件的介紹說明。其中,藍(lán)牙無線信號網(wǎng)的構(gòu)建主要包括布局設(shè)置以及均勻采樣點的設(shè)置分布。
59、</p><p> 4 . 系統(tǒng)軟件設(shè)計</p><p> 4.1 軟件系統(tǒng)總體設(shè)計</p><p> 4.1.1 系統(tǒng)軟件總體設(shè)計框圖</p><p> 根據(jù)系統(tǒng)要求,需要完成的總體軟件設(shè)計包括:</p><p><b> ?。?)系統(tǒng)初始化</b></p><p&g
60、t; ?。?)測試手機(jī)的數(shù)據(jù)采集</p><p> (3)顯示手機(jī)的控制命令</p><p> ?。?)顯示手機(jī)與測試手機(jī)的數(shù)據(jù)交換</p><p> (5)顯示手機(jī)的數(shù)據(jù)處理</p><p> 系統(tǒng)軟件總體框圖如圖4-1所示:</p><p> 4.1.2 系統(tǒng)軟件開發(fā)環(huán)境</p><p&
61、gt; 本系統(tǒng)設(shè)計的任務(wù)主要是測試手機(jī)與顯示手機(jī)的Android編程。眾所周知,安卓的應(yīng)用層是基于java的應(yīng)用層。本系統(tǒng)Android編程是基于Eclipse平臺開發(fā)的。Eclipse是一個開放源代碼的、基于java的可擴(kuò)展的開發(fā)平臺。Android的開發(fā)環(huán)境搭建內(nèi)容主要包括:</p><p> 相關(guān)軟件的下載與安裝,如Java JDK、Eclipse、Android SDK;</p><
62、;p> 配置Eclipse的環(huán)境,安裝相應(yīng)插件; </p><p> ?。?)配置Android SDK與ADT,使其版本號相同;</p><p> (4)測試項目,檢測開發(fā)環(huán)境是否安裝成功。</p><p> 4.2 測試手機(jī)模塊</p><p> 在本系統(tǒng)中,測試手機(jī)模塊作為藍(lán)牙信號接收節(jié)點,與藍(lán)牙模塊構(gòu)建了藍(lán)牙無線信號網(wǎng)
63、。其主要功能有:采集藍(lán)牙模塊的RSSI值、對RSSI值進(jìn)行類型轉(zhuǎn)換、與顯示手機(jī)進(jìn)行數(shù)據(jù)通訊。</p><p> 4.2.1 測試手機(jī)軟件流程圖</p><p> 4.2.2 RSSI的采集處理</p><p> 在測試手機(jī)編程中,RSSI的采集及處理是由 updataThread線程單獨控制,線程每隔12s掃描一次藍(lán)牙設(shè)備。其主要流程圖如圖4-3所示:<
64、/p><p> 圖 4-3 RSSI的采樣流程圖</p><p> 在線程的run()函數(shù)中,設(shè)置一個廣播以及廣播接收器:</p><p> IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); </p><p> registerReceiver(m
65、Receiver, filter);</p><p> Final BroadcastReceiver mReceiver = new BroadcastReceiver()</p><p> 在run()函數(shù)中,執(zhí)行mBluetoothAdapter.startDiscovery()開始掃描,利用廣播對周圍的藍(lán)牙設(shè)備進(jìn)行掃描。在廣播接收器函數(shù)BroadcastReceiver()中通
66、過BluetoothDevice.ACTION_FOUND.equals()函數(shù)判斷是否有藍(lán)牙設(shè)備被發(fā)現(xiàn)。通過intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)獲取發(fā)現(xiàn)的藍(lán)牙設(shè)備,用getAddress() 獲取藍(lán)牙設(shè)備的地址,并用address.equals() 函數(shù)判斷當(dāng)前檢測到的設(shè)備是否是設(shè)定的藍(lán)牙節(jié)點。如果是,則記錄rssi值,并判斷是否達(dá)到指定次數(shù),達(dá)到指定次數(shù),對r
67、ssi值取平均值,按照“m+ name + ":" + rssi”格式進(jìn)行顯示,并存儲當(dāng)前平均值。</p><p> 4.3 測試手機(jī)與顯示手機(jī)的數(shù)據(jù)通訊</p><p> 要實現(xiàn)藍(lán)牙通信,首先應(yīng)當(dāng)遵循藍(lán)牙通信的協(xié)議,相關(guān)協(xié)議在Google提供的BluetoothChatService類中已經(jīng)作了定義,在程序中添加此類即可。</p><p>
68、 4.3.1 數(shù)據(jù)通訊流程圖</p><p> 本系統(tǒng)設(shè)計中,顯示手機(jī)與測試手機(jī)之間的通信采用的是自動通信的方式。事先設(shè)定測試手機(jī)的MAC地址,利用一個for循環(huán),自動依次與4個測試手機(jī)進(jìn)行數(shù)據(jù)通訊,其流程圖如下:</p><p> 圖4-4 數(shù)據(jù)通訊流程圖</p><p> BluetoothChatService類中主要包括三個部分:請求鏈接的監(jiān)聽進(jìn)程(
69、AcceptThread)、連接一個設(shè)備的進(jìn)程(ConnectThread)以及連接之后的管理進(jìn)程(ConnectedThread)。</p><p> 藍(lán)牙通訊前需進(jìn)行初始化工作,即在BluetoothChatService類的構(gòu)造函數(shù)中獲取本地藍(lán)牙適配器、設(shè)置初始狀態(tài)為未連接狀態(tài),同時初始化消息傳遞的句柄。初始化完成后,在主程序的onResume()函數(shù)中調(diào)用start()函數(shù),取消ConnectThrea
70、d和ConnectedThread,新建一個AcceptThread進(jìn)程,并設(shè)置狀態(tài)為監(jiān)聽狀態(tài),等待連接。</p><p> AcceptThread進(jìn)程中,通過創(chuàng)建socket服務(wù)來監(jiān)聽設(shè)備的連接。當(dāng)accept接收到一個連接請求時,需判斷連接是否有效,無效則調(diào)用close()函數(shù)關(guān)閉;如果有效,則進(jìn)入連接進(jìn)程,同時調(diào)用mmServerSocket.close() 取消當(dāng)前監(jiān)聽進(jìn)程。</p>&
71、lt;p> ConnectThread進(jìn)程中,通過createRfcommSocketToServiceRecord構(gòu)建一個藍(lán)牙設(shè)備的BluetoothSocket對象,調(diào)用connect()函數(shù)進(jìn)行連接,如果出現(xiàn)異常,則關(guān)閉BluetoothSocket并通過start()函數(shù)重新啟動一個監(jiān)聽服務(wù)AcceptThread。如果連接成功,則調(diào)用connected()函數(shù)進(jìn)入連接管理進(jìn)程。</p><p>
72、 進(jìn)入ConnectedThread進(jìn)程后的主要操作就是數(shù)據(jù)交換,包括:顯示手機(jī)向測試手機(jī)發(fā)送命令字符和測試手機(jī)向顯示手機(jī)返回RSSI測試值。在ConnectedThread進(jìn)程中,進(jìn)程會一種從輸入流中讀取消息,并通過句柄的obtainMessage()函數(shù)將讀取的消息以BluetoothChat.MESSAGE_READ命令發(fā)送到UI進(jìn)程進(jìn)行數(shù)據(jù)處理。對于發(fā)送消息,調(diào)用write()函數(shù)將要寫的消息寫入輸出流中,以Bluetooth
73、Chat.MESSAGE_WRITE命令方式發(fā)送到UI進(jìn)程中。如果操作失敗,則顯示連接丟失,調(diào)用connectionLost函數(shù)來處理連接丟失。</p><p> 數(shù)據(jù)通訊分為兩部分,作為客戶端的顯示手機(jī),以及作為服務(wù)端的測試手機(jī)。作為客戶端,顯示手機(jī)向測試手機(jī)發(fā)送連接請求,當(dāng)測試手機(jī)接收到連接請求的時候,兩端開始連接,連接成功后,顯示手機(jī)向測試手機(jī)發(fā)送命令字符“我”,測試手機(jī)判斷接收到的字符是命令字符后向顯示
74、手機(jī)返回已處理好的RSSI字符串。發(fā)送完成后,斷開連接。顯示手機(jī)繼續(xù)向下一個測試手機(jī)發(fā)送連接請求。每次通訊之間有一定的延遲時間,具體延遲時間需要考慮到手機(jī)藍(lán)牙接口的好壞,通常需要4s到5s的延遲。</p><p> 4.4 顯示手機(jī)模塊</p><p> 在本系統(tǒng)中,顯示手機(jī)模塊起到控制作用。其主要分為離線采樣和在線測試階段。離線采樣階段,主要工作有:數(shù)據(jù)庫表單的處理、測試區(qū)域的設(shè)置、
75、均勻采樣點的采樣以及數(shù)據(jù)庫的構(gòu)建。在線測試階段,其主要完成當(dāng)前位置的特征數(shù)據(jù)(RSSI值)的采集,進(jìn)過處理后,與數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行比對,用最鄰近算法進(jìn)行估算定位。</p><p> 4.4.1 顯示手機(jī)軟件流程圖</p><p> 4.4.2 手機(jī)藍(lán)牙的初始化</p><p> 圖4-6 手機(jī)藍(lán)牙初始化</p><p> 在本系統(tǒng)中,測
76、試手機(jī)與顯示手機(jī)通過藍(lán)牙無線連接。在系統(tǒng)工作的初始化中,需先檢測手機(jī)是否支持藍(lán)牙功能以及藍(lán)牙是否打開。</p><p> 首先,通過mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();得到本地藍(lán)牙適配器,如果本地藍(lán)牙適配器不存在(mBluetoothAdapter == null),則說明該手機(jī)不支持藍(lán)牙功能,通過Toast在手機(jī)界面顯示“Bluet
77、ooth is not available”,同時結(jié)束程序。</p><p> 如果本地藍(lán)牙適配器存在,則檢測本地藍(lán)牙是否開啟。通過mBluetoothAdapter.isEnabled()函數(shù)來確認(rèn)藍(lán)牙是否開啟,如果返回值是true,則表示本地藍(lán)牙已打開,可以進(jìn)行數(shù)據(jù)通訊的初始化;如果返回值是false,則通過BluetoothAdapter.ACTION_REQUEST_ENABLE來請求打開藍(lán)牙,并調(diào)用s
78、tartActivityForResult()來執(zhí)行請求。同時,在onActivityResult()中得到藍(lán)牙打開請求的反饋信息,如果返回的是Activity.RESULT_OK,則表示藍(lán)牙已成功打開;如果返回其他代碼,則表示藍(lán)牙打開失敗,通過Toast在手機(jī)界面顯示“Bluetooth was not enabled. Leaving Bluetooth Chat.”,同時結(jié)束程序。</p><p> 4.
79、4.3 SQLite數(shù)據(jù)庫</p><p> SQLite數(shù)據(jù)庫是一種輕量級數(shù)據(jù)庫,占用資源非常少,具有輕量級、獨立性、隔離性、跨平臺、多語言接口、安全性等特點。其最主要的優(yōu)勢有:1、能存儲較多的數(shù)據(jù);2、能將數(shù)據(jù)庫文件放到SD卡中。</p><p> 在顯示手機(jī)編程中,新建一個MySQLiteOpenHelper類,使其繼承SQLiteOpenHelper類,并設(shè)置數(shù)據(jù)庫文件名為“R
80、SSI.db”,表單名為“rssi”,同時在數(shù)據(jù)庫表單中設(shè)置標(biāo)號(ID)、測試區(qū)域的大小(POSITION_X、POSITION_Y)、當(dāng)前位置坐標(biāo)(NOW_X、NOW_Y)以及RSSI值字符串(RSSI_WD)。</p><p> 本系統(tǒng)設(shè)計中,數(shù)據(jù)庫作為離線采樣與在線測試之間的聯(lián)系,其需要寫入SD卡中。創(chuàng)建數(shù)據(jù)庫的操作如下:</p><p> private MySQLiteOpe
81、nHelper myOpenHelper; </p><p> private SQLiteDatabase mysql ; </p><p> private File path = new File("/sdcard/RSSI");</p><p> private File f = new File("/sdcard/RSS
82、I/rssi.db");</p><p> 創(chuàng)建一個繼承SQLiteOpenHelper類實例myOpenHelper、一個SQLite數(shù)據(jù)庫mysql以及數(shù)據(jù)庫在SD卡中的文件夾和名字。同時在onCreate中通過path.exists()函數(shù)判斷目錄是否存在,如果不存在,則新建一個目錄;同時通過f.exists()函數(shù)判斷rssi.db文件是否存在,如果不存在則新建一個rssi.db文件。<
83、/p><p> 4.4.4 離線采樣</p><p> 當(dāng)顯示手機(jī)進(jìn)入離線采樣階段時,對均勻采樣點進(jìn)行采樣操作。離線采樣流程圖如下:</p><p> 圖4-7 離線采樣軟件流程圖</p><p> 藍(lán)牙初始化后,進(jìn)行的數(shù)據(jù)初始化的setupChat()函數(shù)中,對離線采樣按鈕進(jìn)行初始化,同時對按鈕設(shè)置監(jiān)聽函數(shù)。當(dāng)離線采樣按鈕被點擊時,顯
84、示手機(jī)與測試手機(jī)進(jìn)行數(shù)據(jù)通訊,采集RSSI值。同時設(shè)置mm=false,用來判斷接收到的數(shù)據(jù)是離線采樣的數(shù)據(jù)。</p><p> 在句柄的handleMessage()函數(shù)中,如果接收到的是MESSAGE_READ 命令,則將讀出來的字節(jié)流轉(zhuǎn)為String類型,并通過mm變量判斷是離線采樣數(shù)據(jù),還是在線測試數(shù)據(jù)。</p><p> 在Stringfen()函數(shù)中對離線采樣數(shù)據(jù)進(jìn)行處理
85、。調(diào)用EditText的getText().toString()函數(shù)獲取均勻采樣點的坐標(biāo),同時通過ContentValues cv = new ContentValues()、cv.put()和 mysql.insert()將采樣數(shù)據(jù)存為位置指紋數(shù)據(jù)庫。</p><p> 4.4.5 在線測試</p><p> 當(dāng)顯示手機(jī)進(jìn)入在線測試階段時,對當(dāng)前位置進(jìn)行數(shù)據(jù)采集,并對比數(shù)據(jù)庫信息,確
86、定當(dāng)前位置,其流程圖如下:</p><p> 圖4-8 在線測試軟件流程圖</p><p> 藍(lán)牙初始化后,對在線測試按鈕進(jìn)行初始化,同時對按鈕設(shè)置監(jiān)聽函數(shù)。當(dāng)在線測試按鈕被點擊時,顯示手機(jī)與測試手機(jī)進(jìn)行數(shù)據(jù)通訊,采集RSSI值。同時設(shè)置mm=true,用來判斷接收到的數(shù)據(jù)是在線測試的數(shù)據(jù)。</p><p> 在句柄的handleMessage()函數(shù)中,通
87、過mm變量判斷數(shù)據(jù)是否是在線測試數(shù)據(jù),并進(jìn)入zaixian()函數(shù)。</p><p> zaixian()函數(shù)中,獲取當(dāng)前測試數(shù)據(jù),并通過 Cursor獲取數(shù)據(jù)庫中rssi字符串以及區(qū)域位置大小等數(shù)據(jù)庫數(shù)據(jù)。通過調(diào)用STRINGtoINT(String readMessage,String temp)函數(shù),利用split語句將字符串劃分為一個個rssi字符串,并用Double.parseDouble(Strin
88、g)函數(shù)將字符串轉(zhuǎn)為雙精度型數(shù)字,進(jìn)行方差計算。利用方差,借用最鄰近算法求出當(dāng)前測試位置。</p><p><b> 4.5 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的軟件設(shè)計流程。主要內(nèi)容是測試手機(jī)與顯示手機(jī)的各自工作流程。測試手機(jī)的功能是循環(huán)采集RSSI值、等待顯示手機(jī)的通訊、返回RSSI值。顯示手機(jī)的功能包括離線采樣以及在線測試。</p&
89、gt;<p><b> 5 . 系統(tǒng)調(diào)試</b></p><p> 根據(jù)前面幾個章節(jié)的介紹,對于基于藍(lán)牙信號的設(shè)備無關(guān)室內(nèi)定位系統(tǒng)的設(shè)計已經(jīng)有了一定的了解。本設(shè)計采用模塊化的設(shè)計思路,因而將對測試手機(jī)對RSSI的采集和顯示手機(jī)與測試手機(jī)的通信等進(jìn)行模塊化調(diào)試。</p><p> 5.1 系統(tǒng)調(diào)試工具</p><p> 調(diào)試
90、所需儀器儀表和工具如下:</p><p> ?。?)8個藍(lán)牙模塊BC-05、8個串口線、8個充電寶</p><p> ?。?)4個測試手機(jī)、1個顯示手機(jī)</p><p><b> 筆記本一臺</b></p><p> 安卓開發(fā)軟件:eclipse</p><p> 數(shù)據(jù)庫軟件:SQLite
91、Expert Personal</p><p> 5.2 系統(tǒng)測試方案</p><p> 由于本系統(tǒng)設(shè)計研究的是設(shè)備無關(guān)的室內(nèi)定位,所以測試時需選取一個安靜的室內(nèi)環(huán)境,從而避免其他因素對藍(lán)牙無線信號網(wǎng)的影響。</p><p><b> 5.3 測試數(shù)據(jù)</b></p><p> 5.3.1 測試手機(jī)</p&
92、gt;<p> 圖5-1 測試手機(jī)數(shù)據(jù)</p><p> 從圖5-1的第一幅圖中,對于ZTE N919的測試可以看出,測試手機(jī)一直對周邊藍(lán)牙進(jìn)行掃描,并相隔12s進(jìn)行一次顯示。當(dāng)檢測到的藍(lán)牙是預(yù)先設(shè)定好的藍(lán)牙節(jié)點時,按照“m+ name + ":" + rssiStr”格式進(jìn)行顯示;當(dāng)檢測的藍(lán)牙為其他藍(lán)牙時,按照“name + ":" + rssiStr
93、”格式進(jìn)行顯示。</p><p> 圖5-1的第二幅圖,當(dāng)測試手機(jī)與顯示手機(jī)連接成功的時候,測試手機(jī)接收到顯示手機(jī)發(fā)送的字符命令“我”時,立刻向顯示手機(jī)返回事先處理好的RSSI字符串。</p><p> 當(dāng)測試手機(jī)與顯示手機(jī)之間的連接斷開時,測試手機(jī)繼續(xù)對周邊藍(lán)牙進(jìn)行掃描顯示。</p><p> 5.3.2 顯示手機(jī)</p><p>
94、 圖5-2 顯示手機(jī)初始化及顯示界面</p><p> 從圖5-2的左圖看出,打開軟件時需要對藍(lán)牙進(jìn)行初始化,打開藍(lán)牙后進(jìn)入主程序界面,如圖5-2的右圖。</p><p> 圖5-3 顯示手機(jī)離線采樣</p><p> 離線采樣之前,需要將之前的數(shù)據(jù)庫表單刪除,同時新建一個數(shù)據(jù)庫表單,并在安卓屏幕上提示“刪除表單成功”和“新建表單成功”。新建表單成功后
95、,需根據(jù)測試區(qū)域的大小,設(shè)置區(qū)域。在X值與Y值中輸入數(shù)值(x,y),單位為米,輸入后,點擊區(qū)域設(shè)置按鈕,屏幕顯示“測試區(qū)域的X軸的大小為x米”和“測試區(qū)域的Y軸大小為y米”。</p><p> 區(qū)域設(shè)置成功后,進(jìn)入離線采樣階段。由于考慮到室內(nèi)均勻采樣點可能被物體遮擋,所以均勻采樣點的坐標(biāo)采用手動輸入方式,在X軸與Y軸中輸入均勻采樣點的坐標(biāo)(p,q)。如果在點擊離線采樣按鈕之前沒有設(shè)置均勻采樣點的坐標(biāo),則提示“沒
96、有輸入”。設(shè)置好均勻采樣點的坐標(biāo)后,需要判斷該坐標(biāo)是否處于藍(lán)牙無線信號網(wǎng)的范圍內(nèi),如果超出測試區(qū)域范圍(即,則提示“輸入錯誤,請重新輸入”。若沒有超出測試區(qū)域范圍,點擊離線采樣按鈕,進(jìn)行RSSI采樣,并將RSSI值轉(zhuǎn)為字符串存入位置指紋數(shù)據(jù)庫。</p><p> 圖5-4 顯示手機(jī)在線測試</p><p> 離線采樣16次后,位置指紋數(shù)據(jù)庫建立成功,同時將X值、Y值輸入框和離線采樣
97、按鈕設(shè)置為不可見,并將在線測試按鈕設(shè)置為可見。此時,點擊在線測試按鈕,一次連接測試手機(jī),獲取藍(lán)牙節(jié)點的RSSI值,并在安卓屏幕中顯示處理后的RSSI值字符串。同時將當(dāng)前采集的RSSI值與位置指紋數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行對比,求出當(dāng)前位置,顯示在手機(jī)屏幕中,如圖5-3左圖。</p><p> 點擊手機(jī)屏幕菜單按鈕的定位按鈕,則進(jìn)入2D圖形顯示界面,如圖5-3右圖。圖形界面中,白色為設(shè)置的測試區(qū)域。根據(jù)測試區(qū)域的大小,對
98、白色區(qū)域進(jìn)行坐標(biāo)軸的劃分及刻度顯示,并在屏幕下方顯示“測試區(qū)域的大?。簒=3.0,y=6.0”。圖中藍(lán)色點即當(dāng)前位置,通過藍(lán)色點在白色區(qū)域的顯示直觀地看出當(dāng)前人的位置。</p><p> 5.3.3 數(shù)據(jù)庫數(shù)據(jù)</p><p> 圖5-5 數(shù)據(jù)庫數(shù)據(jù)</p><p> 離線采樣的過程中,將采集到的數(shù)據(jù)存入數(shù)據(jù)庫中。數(shù)據(jù)庫文件存儲在手機(jī)的內(nèi)置存儲卡的RSSI
99、文件夾下,文件名為rssi.db,同時生成的文件有rssi.db_journal。</p><p> 本系統(tǒng)中查看數(shù)據(jù)庫文件的數(shù)據(jù),采用的是SQLite Expert Personal軟件。將rssi.db文件放入SQLite Expert Personal中,出現(xiàn)兩張數(shù)據(jù)庫表單:android_metadata和rssi。其中,android_metadata里面放的是使用的語言。rssi表單中,有ID、區(qū)域
100、大?。≒OSITION_X,POSITION_Y)、當(dāng)前位置(NOW_X,NOW_Y)以及rssi字符串(RSSI_WD)。</p><p> 5.3.4 結(jié)果分析</p><p> 本實驗中以實際位置與測量結(jié)果的距離作為誤差,設(shè)實際位置為(,),測試結(jié)果為(,),則誤差d為:</p><p><b> ?。?-1)</b></p&g
101、t;<p> 下面表格是多次測量的結(jié)果:</p><p> 表1 多次定位誤差表</p><p> 從上表中可以看出,誤差范圍較小,定位較精準(zhǔn)。</p><p><b> 5.4 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的測試方案以及數(shù)據(jù)的相關(guān)處理。主要調(diào)試檢測測試手機(jī)以及顯示手機(jī)的
102、相關(guān)功能。同時對采集到的數(shù)據(jù)進(jìn)行記錄,包括數(shù)據(jù)庫數(shù)據(jù)的構(gòu)建是否正確以及多次定位的誤差分析。</p><p><b> 6 . 總結(jié)與展望</b></p><p><b> 6.1總結(jié)</b></p><p> 本設(shè)計主要研究基于藍(lán)牙的設(shè)備無關(guān)的室內(nèi)定位系統(tǒng)的實現(xiàn)。通過藍(lán)牙2.0模塊和Android測試手機(jī)建立藍(lán)牙無線
103、信號網(wǎng),用顯示手機(jī)與測試手機(jī)的通訊,采集藍(lán)牙節(jié)點的信號強(qiáng)度值(RSSI值),關(guān)聯(lián)均勻采樣點的位置信息,構(gòu)建位置指紋數(shù)據(jù)庫,運(yùn)用最鄰近算法估算測試目標(biāo)的位置。</p><p> 本文主要完成了以下工作:</p><p> ?。?)介紹藍(lán)牙2.0模塊以及Android手機(jī),講解了藍(lán)牙無線信號網(wǎng)的構(gòu)建以及離線采樣點的分布。</p><p> (2)詳細(xì)講解了測試手機(jī)與
104、藍(lán)牙節(jié)點之間的信號強(qiáng)度的檢測,以及測試手機(jī)與顯示手機(jī)之間的數(shù)據(jù)通訊。</p><p> ?。?)介紹了顯示手機(jī)離線采樣階段的數(shù)據(jù)采集與數(shù)據(jù)庫的存儲、在線測試階段的數(shù)據(jù)處理以及最鄰近算法的估算定位。</p><p><b> 6.2展望</b></p><p> 由于時間及個人能力方面的原因,本設(shè)計完成的基于藍(lán)牙信號的設(shè)備無關(guān)的室內(nèi)定位系統(tǒng)只
105、是一個基礎(chǔ)的模型。本設(shè)計還可以在以下方面進(jìn)行拓展性研究與提高:</p><p> (1) 在單人定位的基礎(chǔ)上研究多人定位。</p><p> (2) 在2D定位的基礎(chǔ)上研究三維影響因素(如人的身高),實現(xiàn)3D定位。</p><p> (3) 使用更多的藍(lán)牙節(jié)點與測試手機(jī),提高精確度。</p><p> (4) 研究測試手機(jī)循環(huán)檢測,定
106、時向顯示手機(jī)返回信號強(qiáng)度值,實現(xiàn)實時定 </p><p><b> 位,實現(xiàn)監(jiān)控功能。</b></p><p> (5) 研究多組環(huán)境模型,探索實現(xiàn)普遍性環(huán)境測試模型。</p><p><b> 7 . 致謝</b></p><p> 從3月份開題報告開始,一直很努力地去了解、去學(xué)習(xí)、去完成
107、我的畢業(yè)設(shè)計。在這畢業(yè)設(shè)計即將到達(dá)尾聲的時刻,回想起畢業(yè)設(shè)計過程的點點滴滴,感覺這是大學(xué)生涯中最充實的一段時光。</p><p> 在我的畢業(yè)設(shè)計完成的過程中,我要首先感謝我的指導(dǎo)老師李老師。我的畢業(yè)設(shè)計的題目比較新,所以在剛開始接觸的時候有很多不明白的。很感謝那段時間李老師對我的指導(dǎo),給我講解畢業(yè)設(shè)計的內(nèi)容,指導(dǎo)我完成畢業(yè)設(shè)計的總體設(shè)計。在畢業(yè)設(shè)計的每一個階段,李老師都給了我很好的指導(dǎo)。無論我是聯(lián)系見面指導(dǎo),
108、還是郵件詢問思路,李老師都很有耐心、也很及時地幫我解決問題。李老師治學(xué)嚴(yán)謹(jǐn)、愛好科研。他以自己的行動向我們表明了一個優(yōu)秀指導(dǎo)老師該有的風(fēng)范,在今后的學(xué)習(xí)與工作中,他將是我永遠(yuǎn)學(xué)習(xí)的榜樣。</p><p> 其次,我要感謝大學(xué)四年里教過我的老師,他們?yōu)槲覀兊膶I(yè)知識基礎(chǔ)付出了辛勤的汗水,讓我們可以在畢業(yè)設(shè)計中盡情地發(fā)揮。尤其是教授我們C語言的老師以及數(shù)據(jù)結(jié)構(gòu)的老師,感謝你們培養(yǎng)了我的邏輯思維,可以讓我在學(xué)習(xí)And
109、roid時得心應(yīng)手。同時,我還要感謝所有幫助過我的同學(xué),感謝你們在我迷茫時給我思路,感謝你們在我煩惱時聽我傾訴,正是因為你們的支持與鼓勵,此次畢業(yè)設(shè)計才能如此順利地完成。</p><p> 最后我要感謝我的好伙伴們,在我需要測試手機(jī)進(jìn)行畢業(yè)設(shè)計調(diào)試的時候,是你們貢獻(xiàn)出自己的手機(jī),讓我可以隨時進(jìn)行實物調(diào)試,感謝你們對我的支持。再次感謝李老師對我的辛勤指導(dǎo)、同學(xué)對我的幫助、伙伴們對我的支持。</p>
110、<p><b> 參考文獻(xiàn)</b></p><p> [1] Yao Guo, Kaide Huang, Nanyong Jiang, Xuemei Guo, Youfu Li, and Guoli Wang, “An Exponential-Rayleigh Model for RSS-based Device-Free Localization and Tracking”
111、IEEE Transactions on Mobile Computing.</p><p> [2] M. Youssef, M. Mah, and A. Agrawala, “Challenges: Device-free Passive Localization for Wireless Environment,” Proceedings of ACM MobiCom,2007.</p>&
112、lt;p> [3] X. Chen, A. Edelstein, Y. P. Li, M. Coates, M. Rabbat, Men Aidong, “Sequential Monte Carlo for simultaneous passive device-free tracking and sensor localization using received signal strength measurements,”
113、 International Conference on Information Processing in Sensor Networks, pp.342-353, Apr. 2011.</p><p> [4]余志龍等.AndroidSDK開發(fā)范例大全[M].北京:人民郵電出版社,2009.</p><p><b> 附 錄</b></p>&
114、lt;p><b> 測試手機(jī)核心代碼:</b></p><p> public class BluetoothChat extends Activity {</p><p> // Debugging</p><p> private static final String TAG = "BluetoothChat&qu
115、ot;;</p><p> private static final boolean D = true;</p><p> //用來測試用的數(shù)據(jù)</p><p> public static final String MESSAGE_TEST = "我";</p><p> BluetoothDevice mBl
116、uetoothDevice;</p><p> String [] mBluetoothAddress = {"20:13:07:19:15:33","20:13:11:11:46:21",</p><p> "20:13:11:11:44:25","20:13:11:11:49:06",</p>
117、;<p> "20:15:04:08:35:32","00:14:02:08:27:79",</p><p> "20:15:04:08:20:94","20:15:04:09:68:02"</p><p><b> };</b></p><p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于藍(lán)牙無線技術(shù)的室內(nèi)定位方法的研究.pdf
- 基于藍(lán)牙的可自適應(yīng)指紋室內(nèi)定位方法研究.pdf
- 【資料下載】基于藍(lán)牙無線技術(shù)的室內(nèi)定位方法的研究
- 基于藍(lán)牙信標(biāo)和指紋庫匹配的室內(nèi)定位算法研究.pdf
- 基于藍(lán)牙的室內(nèi)定位系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于位置指紋的RFID室內(nèi)定位方法研究.pdf
- 基于距離測量和位置指紋的室內(nèi)定位方法研究.pdf
- 基于位置指紋的WLAN室內(nèi)定位方法研究.pdf
- 基于藍(lán)牙和航位推算的室內(nèi)定位算法研究.pdf
- 基于藍(lán)牙輔助的PDR室內(nèi)定位算法研究.pdf
- 基于藍(lán)牙m(xù)esh的室內(nèi)定位技術(shù)研究.pdf
- 基于ZigBee的位置指紋法室內(nèi)定位技術(shù)研究.pdf
- 基于濾噪位置指紋的低功耗藍(lán)牙室內(nèi)定位技術(shù)研究.pdf
- 基于位置指紋室內(nèi)定位系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于藍(lán)牙的無線鼠標(biāo)設(shè)計【畢業(yè)設(shè)計】
- 基于藍(lán)牙的無線鼠標(biāo)設(shè)計【畢業(yè)設(shè)計】
- 基于位置指紋的室內(nèi)定位算法研究.pdf
- 基于指紋技術(shù)的藍(lán)牙室內(nèi)定位系統(tǒng)研究.pdf
- WLAN位置指紋室內(nèi)定位技術(shù).pdf
- 基于位置指紋的室內(nèi)定位技術(shù)研究.pdf
評論
0/150
提交評論