版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 自1998年,藍(lán)牙技術(shù)由愛(ài)立信、IBM等5家公司聯(lián)合推出起,其作為一種新型的無(wú)線網(wǎng)絡(luò)技術(shù),被廣大研究愛(ài)好者們應(yīng)用于各大領(lǐng)域,其中藍(lán)牙無(wú)線定位領(lǐng)域已取得相當(dāng)可觀的成就。目前已有的藍(lán)牙室內(nèi)定位大都是基于移動(dòng)設(shè)備的定位,本課題設(shè)計(jì)提出一種基于藍(lán)牙無(wú)線信號(hào)網(wǎng)和位置指紋法的無(wú)設(shè)備室內(nèi)定位方法。</p><p>
2、 設(shè)計(jì)分為離線采樣和在線測(cè)試兩階段。離線采樣階段采集藍(lán)牙節(jié)點(diǎn)的RSSI(接收信號(hào)強(qiáng)度)值,關(guān)聯(lián)采集時(shí)的位置信息,構(gòu)建一個(gè)位置指紋數(shù)據(jù)庫(kù);在線測(cè)試階段,采集此時(shí)藍(lán)牙節(jié)點(diǎn)的RSSI值,比對(duì)數(shù)據(jù)庫(kù)中的指紋信息,確定測(cè)試目標(biāo)位置。</p><p> 本設(shè)計(jì)基于eclipse平臺(tái),通過(guò)建立藍(lán)牙無(wú)線信號(hào)網(wǎng),編寫(xiě)測(cè)試手機(jī)采集藍(lán)牙節(jié)點(diǎn)的RSSI值、 顯示手機(jī)與測(cè)試手機(jī)之間的數(shù)據(jù)通訊以及顯示手機(jī)的數(shù)據(jù)處理等Android應(yīng)用程
3、序,構(gòu)建位置指紋數(shù)據(jù)庫(kù),通過(guò)最鄰近算法計(jì)算確定位置。</p><p> 關(guān)鍵詞:無(wú)設(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è)計(jì)7</p><p> 2.1 系統(tǒng)總設(shè)計(jì)框圖7</p><p> 2.2 系統(tǒng)理論基礎(chǔ)8</p><p> 2.2.1 系統(tǒng)設(shè)計(jì)
10、分析8</p><p> 2.2.2 藍(lán)牙信號(hào)傳播模型8</p><p> 2.2.3 位置指紋數(shù)據(jù)庫(kù)9</p><p> 2.2.4 最鄰近算法10</p><p> 2.3 本章小結(jié)10</p><p> 3 . 系統(tǒng)硬件設(shè)計(jì)11</p><p> 3.1 系統(tǒng)硬件設(shè)
11、計(jì)框圖11</p><p> 3.2 藍(lán)牙無(wú)線信號(hào)網(wǎng)12</p><p> 3.2.1 藍(lán)牙無(wú)線信號(hào)網(wǎng)的布局圖12</p><p> 3.2.2 采樣點(diǎn)的分布圖12</p><p> 3.3 BC-05藍(lán)牙模塊13</p><p> 3.3.1 BC-05的實(shí)物圖與電路圖13</p>
12、<p> 3.3.2 BC-05的特點(diǎn)14</p><p> 3.3.3 應(yīng)用領(lǐng)域15</p><p> 3.4 手機(jī)模塊15</p><p> 3.4.1 測(cè)試手機(jī)16</p><p> 3.4.2 顯示手機(jī)17</p><p> 3.5 本章小結(jié)17</p><
13、;p> 4 . 系統(tǒng)軟件設(shè)計(jì)18</p><p> 4.1.1 系統(tǒng)軟件總體設(shè)計(jì)框圖19</p><p> 4.1.2 系統(tǒng)軟件開(kāi)發(fā)環(huán)境19</p><p> 4.2 測(cè)試手機(jī)模塊20</p><p> 4.2.1 測(cè)試手機(jī)軟件流程圖20</p><p> 4.2.2 RSSI的采集處理2
14、0</p><p> 4.3 測(cè)試手機(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ù)庫(kù)27</p><p> 4.4.4 離線采樣27</p><p> 4.4.5 在線測(cè)試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)測(cè)試方案31</p><p> 5.3 測(cè)試數(shù)據(jù)31</p><p> 5.3.1 測(cè)試手機(jī)31</p><p> 5.3.2 顯示手機(jī)32</p><p> 5.3.3 數(shù)據(jù)庫(kù)數(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> 測(cè)試手機(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)用無(wú)線通信技術(shù),各種無(wú)線網(wǎng)絡(luò)以及一系列的感應(yīng)技術(shù)來(lái)確定或追蹤被測(cè)物體的位置或運(yùn)動(dòng)路徑的裝置。定位系統(tǒng)又分為室外定位系統(tǒng)和室內(nèi)定位系統(tǒng)。室外定位系統(tǒng)已得到成熟穩(wěn)定的發(fā)展,其最具典型的代表是GPS和AGPS室外定位系統(tǒng)。然而,作為L(zhǎng)BS最后一米服務(wù)的室內(nèi)定位依然沒(méi)有一個(gè)統(tǒng)一的技術(shù)規(guī)范標(biāo)準(zhǔn)。</p&g
20、t;<p> 在一個(gè)稍微復(fù)雜點(diǎn)的多層次的建筑中,傳統(tǒng)的室外定位方法就已不能很好的實(shí)現(xiàn)定位導(dǎo)航的功能,因而實(shí)現(xiàn)一個(gè)強(qiáng)而有力的室內(nèi)定位系統(tǒng)已是一個(gè)重中之重的事情。如今,已有很多技術(shù)應(yīng)用于室內(nèi)定位,例如WIFI、藍(lán)牙、RFID、磁場(chǎng)等等。其中,藍(lán)牙技術(shù)隨著智能手機(jī)的高速發(fā)展而漸漸廣為人知。相對(duì)于其他無(wú)線技術(shù),藍(lán)牙技術(shù)具有低功耗、低成本、高可用性和精度高的優(yōu)點(diǎn)。</p><p> 傳統(tǒng)的基于藍(lán)牙信號(hào)的室
21、內(nèi)定位方法中,定位目標(biāo)(例如行人)必須攜帶接收藍(lán)牙信號(hào)的設(shè)備(例如手機(jī))。在設(shè)備無(wú)關(guān)室內(nèi)定位方法中,定位目標(biāo)不需要攜帶接收設(shè)備。但是需要在室內(nèi)構(gòu)成藍(lán)牙信號(hào)發(fā)送和接收的網(wǎng)絡(luò),當(dāng)行人在信號(hào)網(wǎng)絡(luò)中行走時(shí)會(huì)影響接收到的信號(hào)強(qiáng)度,進(jìn)而確定行人的室內(nèi)位置。</p><p> 設(shè)備無(wú)關(guān)室內(nèi)定位系統(tǒng)是一種估算不攜帶任何設(shè)備或附加任何標(biāo)簽的目標(biāo)的位置的定位系統(tǒng),其可應(yīng)用于很多領(lǐng)域,例如:建筑安全和報(bào)警系統(tǒng)、軍事和警察行動(dòng)、災(zāi)難救
22、援和老人醫(yī)療保健等。</p><p> 1.2 研究目標(biāo)與內(nèi)容</p><p> 本文的主要研究?jī)?nèi)容包括:</p><p> (1)藍(lán)牙無(wú)線信號(hào)網(wǎng)的布局:通過(guò)對(duì)藍(lán)牙模塊2.0以及手機(jī)藍(lán)牙接口的認(rèn)識(shí)和了解,在測(cè)試區(qū)域設(shè)計(jì)藍(lán)牙無(wú)線信號(hào)網(wǎng)的布局,建立藍(lán)牙無(wú)線信號(hào)網(wǎng)。</p><p> (2)測(cè)試手機(jī)的編程:理解測(cè)試手機(jī)在設(shè)計(jì)中的作用,編程實(shí)
23、現(xiàn)測(cè)試手機(jī)對(duì)藍(lán)牙節(jié)點(diǎn)的循環(huán)檢測(cè)、RSSI值的相關(guān)數(shù)據(jù)處理以及和顯示手機(jī)之間的數(shù)據(jù)交換。</p><p> ?。?)顯示手機(jī)的編程:編程實(shí)現(xiàn)顯示手機(jī)與測(cè)試手機(jī)之間的數(shù)據(jù)交換、離線采樣及數(shù)據(jù)庫(kù)的建立、在線測(cè)試及圖形顯示。</p><p> 本文設(shè)計(jì)的基于藍(lán)牙信號(hào)的設(shè)備無(wú)關(guān)室內(nèi)定位,需要實(shí)現(xiàn)的目標(biāo)主要有三個(gè),第一個(gè)是實(shí)現(xiàn)測(cè)試手機(jī)對(duì)藍(lán)牙節(jié)點(diǎn)的RSSI值的檢測(cè)以及相關(guān)數(shù)據(jù)處理;第二個(gè)是實(shí)現(xiàn)離線采樣
24、以及數(shù)據(jù)庫(kù)的建立;第三個(gè)是實(shí)現(xiàn)在線測(cè)試及圖形顯示。</p><p><b> 1.3論文結(jié)構(gòu)</b></p><p> 本文以設(shè)備無(wú)關(guān)室內(nèi)定位的研究作為應(yīng)用背景,編程實(shí)現(xiàn)離線采樣與在線測(cè)試兩大功能。全文共分為六個(gè)章節(jié),主要內(nèi)容如下:</p><p> 第一章:緒論,介紹室內(nèi)定位的研究背景、研究設(shè)備無(wú)關(guān)室內(nèi)定位的意義以及應(yīng)用前景,然后闡述課
25、題的研究目標(biāo)及主要內(nèi)容。</p><p> 第二章:系統(tǒng)總設(shè)計(jì),介紹設(shè)計(jì)的整個(gè)框架、各個(gè)模塊的作用以及相互之間的聯(lián)系。</p><p> 第三章:系統(tǒng)硬件設(shè)計(jì),介紹藍(lán)牙無(wú)線信號(hào)網(wǎng)的布局、手機(jī)藍(lán)牙和藍(lán)牙2.0的硬件組成和接口。</p><p> 第四章:系統(tǒng)軟件設(shè)計(jì),介紹測(cè)試手機(jī)以及顯示手機(jī)的流程圖以及相關(guān)功能說(shuō)明。</p><p>
26、第五章:系統(tǒng)調(diào)試,介紹調(diào)試方案、測(cè)試界面以及相關(guān)數(shù)據(jù)分析。</p><p> 第六章:總結(jié)與展望,總結(jié)本設(shè)計(jì)各模塊,并對(duì)設(shè)備無(wú)關(guān)室內(nèi)定位的優(yōu)化方向進(jìn)行了簡(jiǎn)要闡述。</p><p><b> 2 . 系統(tǒng)總設(shè)計(jì)</b></p><p> 2.1 系統(tǒng)總設(shè)計(jì)框圖</p><p> 本系統(tǒng)總設(shè)計(jì)主要包括藍(lán)牙節(jié)點(diǎn)模塊、測(cè)
27、試手機(jī)模塊以及顯示手機(jī)模塊。系統(tǒng)總設(shè)計(jì)框圖如圖2-1所示:</p><p> 本系統(tǒng)設(shè)計(jì)中,藍(lán)牙節(jié)點(diǎn)與測(cè)試手機(jī)按照一定的布局格式去構(gòu)建藍(lán)牙無(wú)線信號(hào)網(wǎng)。測(cè)試手機(jī)與藍(lán)牙節(jié)點(diǎn)之間進(jìn)行相互通訊,測(cè)試手機(jī)不斷采集藍(lán)牙節(jié)點(diǎn)的信號(hào)信息:設(shè)備名、設(shè)備地址以及RSSI值。同時(shí),顯示手機(jī)與測(cè)試手機(jī)之間進(jìn)行數(shù)據(jù)交換,當(dāng)顯示手機(jī)向測(cè)試手機(jī)發(fā)送命令字符時(shí),測(cè)試手機(jī)將處理好的RSSI值返回給顯示手機(jī)。</p><p&g
28、t; 2.2 系統(tǒng)理論基礎(chǔ)</p><p> 2.2.1 系統(tǒng)設(shè)計(jì)分析</p><p> 在室內(nèi),環(huán)境比較復(fù)雜,藍(lán)牙信號(hào)在傳播的過(guò)程中易受到地形、桌椅、墻壁以及人體的影響,從而引起藍(lán)牙信號(hào)的折射、衍射等多徑傳播,使得采集到的RSSI值出現(xiàn)偏大的誤差,從而影響到定位的精確性。因此本課題設(shè)計(jì)提出一種基于藍(lán)牙無(wú)線信號(hào)網(wǎng)和位置指紋法的無(wú)設(shè)備室內(nèi)定位方法。</p><p&g
29、t; 首先,以藍(lán)牙模塊作為發(fā)送藍(lán)牙信號(hào)的藍(lán)牙節(jié)點(diǎn)、以測(cè)試手機(jī)作為接收藍(lán)牙信號(hào)的藍(lán)牙節(jié)點(diǎn),在室內(nèi)按照一定的方式布局,構(gòu)建藍(lán)牙無(wú)線信號(hào)網(wǎng)。利用測(cè)試目標(biāo)(行人)對(duì)藍(lán)牙信號(hào)的影響,采集RSSI值。</p><p> 在離線采樣階段,采集測(cè)試目標(biāo)(行人)在室內(nèi)均勻采樣點(diǎn)上的指紋數(shù)據(jù)(藍(lán)牙節(jié)點(diǎn)的信號(hào)強(qiáng)度),同時(shí)將指紋數(shù)據(jù)進(jìn)行一系列處理,存儲(chǔ)到顯示手機(jī)的內(nèi)部存儲(chǔ)器的數(shù)據(jù)庫(kù)中。</p><p> 在
30、在線測(cè)試階段,采集測(cè)試目標(biāo)在測(cè)試區(qū)域的指紋數(shù)據(jù),進(jìn)行數(shù)據(jù)處理后,比對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù),通過(guò)最鄰近算法計(jì)算確定位置。</p><p> 2.2.2 藍(lán)牙信號(hào)傳播模型</p><p> 藍(lán)牙信號(hào)的強(qiáng)度r和距離d之間有多種傳播模型,本設(shè)計(jì)采用經(jīng)典的無(wú)線信號(hào)傳播模型(WSPM)作為藍(lán)牙信號(hào)傳播模型,該模型滿足式:</p><p> ?。?-1) </
31、p><p><b> 注:</b></p><p> ?。篟SSI(接收信號(hào)強(qiáng)度指標(biāo));</p><p> 藍(lán)牙接收設(shè)備的電功率等級(jí),等于;</p><p> 藍(lán)牙發(fā)射設(shè)備的電功率等級(jí) ;</p><p> :藍(lán)牙接收設(shè)備的天線增益;</p><p> :藍(lán)牙發(fā)射設(shè)備
32、的天線增益;</p><p><b> :藍(lán)牙信號(hào)的波長(zhǎng);</b></p><p> :衰減因子,表示墻壁和其他障礙的影響;</p><p> :發(fā)送方到接收方之間的傳播距離;</p><p> :藍(lán)牙信號(hào)傳播模型的參數(shù),和 有關(guān)。</p><p> 2.2.3 位置指紋數(shù)據(jù)庫(kù)</
33、p><p> 位置指紋法是在離線采樣階段,根據(jù)測(cè)試目標(biāo)在不同的均勻采樣點(diǎn)處采集到的藍(lán)牙節(jié)點(diǎn)的信號(hào)強(qiáng)度,關(guān)聯(lián)均勻采樣點(diǎn)的位置,建立相應(yīng)的位置指紋數(shù)據(jù)庫(kù)。在在線測(cè)試階段,實(shí)時(shí)采集當(dāng)前藍(lán)牙節(jié)點(diǎn)的信號(hào)強(qiáng)度,對(duì)比位置指紋數(shù)據(jù)庫(kù)中存儲(chǔ)的信號(hào)強(qiáng)度值,通過(guò)最鄰近算法進(jìn)行匹配實(shí)現(xiàn)定位。</p><p> 位置指紋法分為兩個(gè)階段:離線采樣和在線測(cè)試。而位置指紋數(shù)據(jù)庫(kù)的構(gòu)建是在離線采樣階段完成。位置指紋數(shù)據(jù)庫(kù)由
34、眾多數(shù)據(jù)庫(kù)元素組成,數(shù)據(jù)庫(kù)元素由物理位置L和該物理位置上采集到的指紋R組成,其表述如下:</p><p><b> ?。?-2)</b></p><p> 本設(shè)計(jì)中位置指紋數(shù)據(jù)庫(kù)采用RSSI測(cè)量法構(gòu)建,指紋信息R由測(cè)試手機(jī)對(duì)藍(lán)牙節(jié)點(diǎn)的信號(hào)強(qiáng)度的RSSI值組成,表述如下:</p><p><b> ?。?-3)</b>&l
35、t;/p><p> 其中,i代表藍(lán)牙節(jié)點(diǎn)的個(gè)數(shù),j代表測(cè)試手機(jī)的個(gè)數(shù),r[j][i]代表第j個(gè)手機(jī)采集的第i個(gè)藍(lán)牙節(jié)點(diǎn)的信號(hào)強(qiáng)度值。</p><p> 2.2.4 最鄰近算法</p><p> 本設(shè)計(jì)在線測(cè)試階段的定位數(shù)據(jù)處理采用的是最鄰近算法。在線測(cè)試階段,測(cè)試手機(jī)采集當(dāng)前藍(lán)牙節(jié)點(diǎn)的RSSI值,并以字符串方式傳給顯示手機(jī),顯示手機(jī)進(jìn)行數(shù)據(jù)處理,將字符串轉(zhuǎn)為雙精度
36、型數(shù)字,然后與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行方差計(jì)算。</p><p><b> ?。?-4)</b></p><p><b> 注:</b></p><p> m:數(shù)據(jù)庫(kù)數(shù)據(jù)的當(dāng)前ID;</p><p> S[m]:當(dāng)前測(cè)試數(shù)據(jù)與數(shù)據(jù)庫(kù)中數(shù)據(jù)的方差;</p><p> n:數(shù)據(jù)
37、處理后代表的RSSI的序號(hào);</p><p> a[n]:當(dāng)前測(cè)試數(shù)據(jù)處理后第n個(gè)RSSI值;</p><p> b[m][n]:數(shù)據(jù)庫(kù)中第m行數(shù)據(jù)處理后第n個(gè)RSSI值;</p><p> N:測(cè)試手機(jī)(j個(gè))測(cè)到的藍(lán)牙節(jié)點(diǎn)(i個(gè))的RSSI值的總數(shù)i*j;</p><p> 從上述方差S[m]中選出方差值最小的k個(gè)點(diǎn),參照公式2-
38、5求出當(dāng)前位置。設(shè)k個(gè)點(diǎn)的坐標(biāo)為(,)、(,)…(,),則當(dāng)前坐標(biāo)(x,y)為:</p><p><b> (2-5)</b></p><p><b> 2.3 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的總體框圖,并對(duì)整個(gè)系統(tǒng)進(jìn)行理論分析。在整個(gè)系統(tǒng)的理論分析的基礎(chǔ)上,從藍(lán)牙信號(hào)傳播模型、位置指紋數(shù)據(jù)庫(kù)
39、以及最鄰近算法三個(gè)方面對(duì)系統(tǒng)進(jìn)行深層次分析。</p><p> 3 . 系統(tǒng)硬件設(shè)計(jì)</p><p> 3.1 系統(tǒng)硬件設(shè)計(jì)框圖</p><p> 本系統(tǒng)硬件設(shè)計(jì)主要包括藍(lán)牙模塊、5V電源(充電寶)、測(cè)試手機(jī)以及顯示手機(jī)。系統(tǒng)總設(shè)計(jì)框圖如圖3-1所示:</p><p> 3.2 藍(lán)牙無(wú)線信號(hào)網(wǎng)</p><p>
40、 3.2.1 藍(lán)牙無(wú)線信號(hào)網(wǎng)的布局圖</p><p> 藍(lán)牙無(wú)線信號(hào)網(wǎng)的由若干個(gè)發(fā)送的藍(lán)牙節(jié)點(diǎn)和若干個(gè)接收的測(cè)試手機(jī)組成,藍(lán)牙節(jié)點(diǎn)和測(cè)試手機(jī)的個(gè)數(shù)決定藍(lán)牙無(wú)線信號(hào)網(wǎng)的靈敏度,個(gè)數(shù)越多,靈敏度越高。本設(shè)計(jì)主要依據(jù)測(cè)試區(qū)域的大小選擇藍(lán)牙節(jié)點(diǎn)與測(cè)試手機(jī)的個(gè)數(shù)。本設(shè)計(jì)預(yù)計(jì)測(cè)試區(qū)域?yàn)?m*9m,選用8個(gè)藍(lán)牙模塊和4個(gè)測(cè)試手機(jī)去構(gòu)建藍(lán)牙無(wú)線信號(hào)網(wǎng),同時(shí)用一個(gè)顯示手機(jī)去控制藍(lán)牙無(wú)線信號(hào)網(wǎng)的數(shù)據(jù)采集。</p>
41、<p> 3.2.2 采樣點(diǎn)的分布圖</p><p> 采樣點(diǎn)在測(cè)試區(qū)域中的分布需要均勻化,以便提高系統(tǒng)精確度,同時(shí)均勻采樣點(diǎn)的個(gè)數(shù)越多,系統(tǒng)精確度越高,定位誤差越小。本系統(tǒng)預(yù)計(jì)測(cè)試區(qū)域?yàn)?m*9m,選擇采樣點(diǎn)的個(gè)數(shù)為16個(gè),即(0,0)到(9,9)的16個(gè)點(diǎn),采樣間隔是3m。</p><p> 3.3 BC-05藍(lán)牙模塊</p><p> 3.3
42、.1 BC-05的實(shí)物圖與電路圖</p><p> 圖3-5 BC-05的電路圖</p><p> 3.3.2 BC-05的特點(diǎn)</p><p><b> 無(wú)線收發(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天線,用戶無(wú)需自己調(diào)試天線</p><p> 外置8Mbit FLASH</p><p> 低電壓3.3V工作(3.1V~4.2V)配對(duì)時(shí)30~40MA波動(dòng),配對(duì)完畢通信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無(wú)線收發(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> 簡(jiǎn)單的外圍設(shè)計(jì)電路</b></p><p> 藍(lán)牙Class 2 功率級(jí)別</p><p> 存儲(chǔ)溫度:-40至+85度,工作溫度:-25至+75度</p><p> 諧波干擾:2.4MHz,發(fā)射功率 3dBm</p><p> 誤碼率:0,但會(huì)在傳輸鏈路中產(chǎn)生信號(hào)衰變,才有誤碼,如RS232和TTL線路
47、處理線路中</p><p><b> 低功耗</b></p><p><b> 高效能無(wú)線收發(fā)系統(tǒng)</b></p><p><b> 低成本</b></p><p> 3.3.3 應(yīng)用領(lǐng)域</p><p><b> 藍(lán)牙車(chē)載免提;&l
48、t;/b></p><p><b> 藍(lán)牙無(wú)線數(shù)據(jù)傳輸;</b></p><p> 自動(dòng)化數(shù)據(jù)采集系統(tǒng);</p><p> 智能家居、工業(yè)控制;</p><p> 該模塊主要用于短距離的數(shù)據(jù)無(wú)線傳輸領(lǐng)域??梢苑奖愕暮蚉C機(jī)的藍(lán)牙設(shè)備相連,也可以兩個(gè)模塊之間的數(shù)據(jù)互通。避免繁瑣的線纜連接,能直接替代串口線。&
49、lt;/p><p><b> 3.4 手機(jī)模塊</b></p><p> 本課題設(shè)計(jì)安卓編程支持的Android版本號(hào):高于Android3.0,測(cè)試手機(jī)與顯示手機(jī)的Android版本號(hào)都在Android4.0以上。</p><p> 3.4.1 測(cè)試手機(jī)</p><p> 本課題測(cè)試手機(jī)的型號(hào)分別為華為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型號(hào):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> 多點(diǎn)觸摸:支持</b></p><p> TCL P
52、500M:</p><p> 攜帶藍(lán)牙4.1以上功能</p><p> 系統(tǒng):Android4.4</p><p> CPU型號(hào):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型號(hào):MT6582M&
54、lt;/p><p><b> CPU核心數(shù):四核</b></p><p> 運(yùn)行內(nèi)存總量:512MB</p><p> 屏幕分辨率:480*854</p><p><b> 多點(diǎn)觸摸:支持</b></p><p> HTC T329t:</p><p
55、> 攜帶藍(lán)牙2.0以上功能</p><p> 系統(tǒng):Android 4.0</p><p> CPU型號(hào):HTC H6S</p><p><b> CPU核心數(shù):雙核</b></p><p><b> 運(yùn)行內(nèi)存總量:1G</b></p><p> 屏幕分辨率
56、:480*800</p><p> 觸摸屏:電容屏、支持多點(diǎn)觸摸</p><p> 3.4.2 顯示手機(jī)</p><p> 本課題測(cè)試手機(jī)的型號(hào)為中興N919。</p><p><b> 中興 N919:</b></p><p> 攜帶藍(lán)牙2.0以上功能</p><p
57、> 系統(tǒng):Android4.1</p><p> CPU型號(hào):高通 驍龍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> 多點(diǎn)觸摸:支持</b></p><p><b> 3.5 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的硬件設(shè)計(jì)框圖、藍(lán)牙無(wú)線信號(hào)網(wǎng)的構(gòu)建以及相關(guān)器件的介紹說(shuō)明。其中,藍(lán)牙無(wú)線信號(hào)網(wǎng)的構(gòu)建主要包括布局設(shè)置以及均勻采樣點(diǎn)的設(shè)置分布。
59、</p><p> 4 . 系統(tǒng)軟件設(shè)計(jì)</p><p> 4.1 軟件系統(tǒng)總體設(shè)計(jì)</p><p> 4.1.1 系統(tǒng)軟件總體設(shè)計(jì)框圖</p><p> 根據(jù)系統(tǒng)要求,需要完成的總體軟件設(shè)計(jì)包括:</p><p><b> ?。?)系統(tǒng)初始化</b></p><p&g
60、t; ?。?)測(cè)試手機(jī)的數(shù)據(jù)采集</p><p> (3)顯示手機(jī)的控制命令</p><p> ?。?)顯示手機(jī)與測(cè)試手機(jī)的數(shù)據(jù)交換</p><p> ?。?)顯示手機(jī)的數(shù)據(jù)處理</p><p> 系統(tǒng)軟件總體框圖如圖4-1所示:</p><p> 4.1.2 系統(tǒng)軟件開(kāi)發(fā)環(huán)境</p><p&
61、gt; 本系統(tǒng)設(shè)計(jì)的任務(wù)主要是測(cè)試手機(jī)與顯示手機(jī)的Android編程。眾所周知,安卓的應(yīng)用層是基于java的應(yīng)用層。本系統(tǒng)Android編程是基于Eclipse平臺(tái)開(kāi)發(fā)的。Eclipse是一個(gè)開(kāi)放源代碼的、基于java的可擴(kuò)展的開(kāi)發(fā)平臺(tái)。Android的開(kāi)發(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,使其版本號(hào)相同;</p><p> (4)測(cè)試項(xiàng)目,檢測(cè)開(kāi)發(fā)環(huán)境是否安裝成功。</p><p> 4.2 測(cè)試手機(jī)模塊</p><p> 在本系統(tǒng)中,測(cè)試手機(jī)模塊作為藍(lán)牙信號(hào)接收節(jié)點(diǎn),與藍(lán)牙模塊構(gòu)建了藍(lán)牙無(wú)線信號(hào)網(wǎng)
63、。其主要功能有:采集藍(lán)牙模塊的RSSI值、對(duì)RSSI值進(jìn)行類型轉(zhuǎn)換、與顯示手機(jī)進(jìn)行數(shù)據(jù)通訊。</p><p> 4.2.1 測(cè)試手機(jī)軟件流程圖</p><p> 4.2.2 RSSI的采集處理</p><p> 在測(cè)試手機(jī)編程中,RSSI的采集及處理是由 updataThread線程單獨(dú)控制,線程每隔12s掃描一次藍(lán)牙設(shè)備。其主要流程圖如圖4-3所示:<
64、/p><p> 圖 4-3 RSSI的采樣流程圖</p><p> 在線程的run()函數(shù)中,設(shè)置一個(gè)廣播以及廣播接收器:</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()開(kāi)始掃描,利用廣播對(duì)周?chē)乃{(lán)牙設(shè)備進(jìn)行掃描。在廣播接收器函數(shù)BroadcastReceiver()中通
66、過(guò)BluetoothDevice.ACTION_FOUND.equals()函數(shù)判斷是否有藍(lán)牙設(shè)備被發(fā)現(xiàn)。通過(guò)intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)獲取發(fā)現(xiàn)的藍(lán)牙設(shè)備,用getAddress() 獲取藍(lán)牙設(shè)備的地址,并用address.equals() 函數(shù)判斷當(dāng)前檢測(cè)到的設(shè)備是否是設(shè)定的藍(lán)牙節(jié)點(diǎn)。如果是,則記錄rssi值,并判斷是否達(dá)到指定次數(shù),達(dá)到指定次數(shù),對(duì)r
67、ssi值取平均值,按照“m+ name + ":" + rssi”格式進(jìn)行顯示,并存儲(chǔ)當(dāng)前平均值。</p><p> 4.3 測(cè)試手機(jī)與顯示手機(jī)的數(shù)據(jù)通訊</p><p> 要實(shí)現(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ī)與測(cè)試手機(jī)之間的通信采用的是自動(dòng)通信的方式。事先設(shè)定測(cè)試手機(jī)的MAC地址,利用一個(gè)for循環(huán),自動(dòng)依次與4個(gè)測(cè)試手機(jī)進(jìn)行數(shù)據(jù)通訊,其流程圖如下:</p><p> 圖4-4 數(shù)據(jù)通訊流程圖</p><p> BluetoothChatService類中主要包括三個(gè)部分:請(qǐng)求鏈接的監(jiān)聽(tīng)進(jìn)程(
69、AcceptThread)、連接一個(gè)設(shè)備的進(jìn)程(ConnectThread)以及連接之后的管理進(jìn)程(ConnectedThread)。</p><p> 藍(lán)牙通訊前需進(jìn)行初始化工作,即在BluetoothChatService類的構(gòu)造函數(shù)中獲取本地藍(lán)牙適配器、設(shè)置初始狀態(tài)為未連接狀態(tài),同時(shí)初始化消息傳遞的句柄。初始化完成后,在主程序的onResume()函數(shù)中調(diào)用start()函數(shù),取消ConnectThrea
70、d和ConnectedThread,新建一個(gè)AcceptThread進(jìn)程,并設(shè)置狀態(tài)為監(jiān)聽(tīng)狀態(tài),等待連接。</p><p> AcceptThread進(jìn)程中,通過(guò)創(chuàng)建socket服務(wù)來(lái)監(jiān)聽(tīng)設(shè)備的連接。當(dāng)accept接收到一個(gè)連接請(qǐng)求時(shí),需判斷連接是否有效,無(wú)效則調(diào)用close()函數(shù)關(guān)閉;如果有效,則進(jìn)入連接進(jìn)程,同時(shí)調(diào)用mmServerSocket.close() 取消當(dāng)前監(jiān)聽(tīng)進(jìn)程。</p>&
71、lt;p> ConnectThread進(jìn)程中,通過(guò)createRfcommSocketToServiceRecord構(gòu)建一個(gè)藍(lán)牙設(shè)備的BluetoothSocket對(duì)象,調(diào)用connect()函數(shù)進(jìn)行連接,如果出現(xiàn)異常,則關(guān)閉BluetoothSocket并通過(guò)start()函數(shù)重新啟動(dòng)一個(gè)監(jiān)聽(tīng)服務(wù)AcceptThread。如果連接成功,則調(diào)用connected()函數(shù)進(jìn)入連接管理進(jìn)程。</p><p>
72、 進(jìn)入ConnectedThread進(jìn)程后的主要操作就是數(shù)據(jù)交換,包括:顯示手機(jī)向測(cè)試手機(jī)發(fā)送命令字符和測(cè)試手機(jī)向顯示手機(jī)返回RSSI測(cè)試值。在ConnectedThread進(jìn)程中,進(jìn)程會(huì)一種從輸入流中讀取消息,并通過(guò)句柄的obtainMessage()函數(shù)將讀取的消息以BluetoothChat.MESSAGE_READ命令發(fā)送到UI進(jìn)程進(jìn)行數(shù)據(jù)處理。對(duì)于發(fā)送消息,調(diào)用write()函數(shù)將要寫(xiě)的消息寫(xiě)入輸出流中,以Bluetooth
73、Chat.MESSAGE_WRITE命令方式發(fā)送到UI進(jìn)程中。如果操作失敗,則顯示連接丟失,調(diào)用connectionLost函數(shù)來(lái)處理連接丟失。</p><p> 數(shù)據(jù)通訊分為兩部分,作為客戶端的顯示手機(jī),以及作為服務(wù)端的測(cè)試手機(jī)。作為客戶端,顯示手機(jī)向測(cè)試手機(jī)發(fā)送連接請(qǐng)求,當(dāng)測(cè)試手機(jī)接收到連接請(qǐng)求的時(shí)候,兩端開(kāi)始連接,連接成功后,顯示手機(jī)向測(cè)試手機(jī)發(fā)送命令字符“我”,測(cè)試手機(jī)判斷接收到的字符是命令字符后向顯示
74、手機(jī)返回已處理好的RSSI字符串。發(fā)送完成后,斷開(kāi)連接。顯示手機(jī)繼續(xù)向下一個(gè)測(cè)試手機(jī)發(fā)送連接請(qǐng)求。每次通訊之間有一定的延遲時(shí)間,具體延遲時(shí)間需要考慮到手機(jī)藍(lán)牙接口的好壞,通常需要4s到5s的延遲。</p><p> 4.4 顯示手機(jī)模塊</p><p> 在本系統(tǒng)中,顯示手機(jī)模塊起到控制作用。其主要分為離線采樣和在線測(cè)試階段。離線采樣階段,主要工作有:數(shù)據(jù)庫(kù)表單的處理、測(cè)試區(qū)域的設(shè)置、
75、均勻采樣點(diǎn)的采樣以及數(shù)據(jù)庫(kù)的構(gòu)建。在線測(cè)試階段,其主要完成當(dāng)前位置的特征數(shù)據(jù)(RSSI值)的采集,進(jìn)過(guò)處理后,與數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行比對(duì),用最鄰近算法進(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)中,測(cè)
76、試手機(jī)與顯示手機(jī)通過(guò)藍(lán)牙無(wú)線連接。在系統(tǒng)工作的初始化中,需先檢測(cè)手機(jī)是否支持藍(lán)牙功能以及藍(lán)牙是否打開(kāi)。</p><p> 首先,通過(guò)mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();得到本地藍(lán)牙適配器,如果本地藍(lán)牙適配器不存在(mBluetoothAdapter == null),則說(shuō)明該手機(jī)不支持藍(lán)牙功能,通過(guò)Toast在手機(jī)界面顯示“Bluet
77、ooth is not available”,同時(shí)結(jié)束程序。</p><p> 如果本地藍(lán)牙適配器存在,則檢測(cè)本地藍(lán)牙是否開(kāi)啟。通過(guò)mBluetoothAdapter.isEnabled()函數(shù)來(lái)確認(rèn)藍(lán)牙是否開(kāi)啟,如果返回值是true,則表示本地藍(lán)牙已打開(kāi),可以進(jìn)行數(shù)據(jù)通訊的初始化;如果返回值是false,則通過(guò)BluetoothAdapter.ACTION_REQUEST_ENABLE來(lái)請(qǐng)求打開(kāi)藍(lán)牙,并調(diào)用s
78、tartActivityForResult()來(lái)執(zhí)行請(qǐng)求。同時(shí),在onActivityResult()中得到藍(lán)牙打開(kāi)請(qǐng)求的反饋信息,如果返回的是Activity.RESULT_OK,則表示藍(lán)牙已成功打開(kāi);如果返回其他代碼,則表示藍(lán)牙打開(kāi)失敗,通過(guò)Toast在手機(jī)界面顯示“Bluetooth was not enabled. Leaving Bluetooth Chat.”,同時(shí)結(jié)束程序。</p><p> 4.
79、4.3 SQLite數(shù)據(jù)庫(kù)</p><p> SQLite數(shù)據(jù)庫(kù)是一種輕量級(jí)數(shù)據(jù)庫(kù),占用資源非常少,具有輕量級(jí)、獨(dú)立性、隔離性、跨平臺(tái)、多語(yǔ)言接口、安全性等特點(diǎn)。其最主要的優(yōu)勢(shì)有:1、能存儲(chǔ)較多的數(shù)據(jù);2、能將數(shù)據(jù)庫(kù)文件放到SD卡中。</p><p> 在顯示手機(jī)編程中,新建一個(gè)MySQLiteOpenHelper類,使其繼承SQLiteOpenHelper類,并設(shè)置數(shù)據(jù)庫(kù)文件名為“R
80、SSI.db”,表單名為“rssi”,同時(shí)在數(shù)據(jù)庫(kù)表單中設(shè)置標(biāo)號(hào)(ID)、測(cè)試區(qū)域的大?。≒OSITION_X、POSITION_Y)、當(dāng)前位置坐標(biāo)(NOW_X、NOW_Y)以及RSSI值字符串(RSSI_WD)。</p><p> 本系統(tǒng)設(shè)計(jì)中,數(shù)據(jù)庫(kù)作為離線采樣與在線測(cè)試之間的聯(lián)系,其需要寫(xiě)入SD卡中。創(chuàng)建數(shù)據(jù)庫(kù)的操作如下:</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)建一個(gè)繼承SQLiteOpenHelper類實(shí)例myOpenHelper、一個(gè)SQLite數(shù)據(jù)庫(kù)mysql以及數(shù)據(jù)庫(kù)在SD卡中的文件夾和名字。同時(shí)在onCreate中通過(guò)path.exists()函數(shù)判斷目錄是否存在,如果不存在,則新建一個(gè)目錄;同時(shí)通過(guò)f.exists()函數(shù)判斷rssi.db文件是否存在,如果不存在則新建一個(gè)rssi.db文件。<
83、/p><p> 4.4.4 離線采樣</p><p> 當(dāng)顯示手機(jī)進(jìn)入離線采樣階段時(shí),對(duì)均勻采樣點(diǎn)進(jìn)行采樣操作。離線采樣流程圖如下:</p><p> 圖4-7 離線采樣軟件流程圖</p><p> 藍(lán)牙初始化后,進(jìn)行的數(shù)據(jù)初始化的setupChat()函數(shù)中,對(duì)離線采樣按鈕進(jìn)行初始化,同時(shí)對(duì)按鈕設(shè)置監(jiān)聽(tīng)函數(shù)。當(dāng)離線采樣按鈕被點(diǎn)擊時(shí),顯
84、示手機(jī)與測(cè)試手機(jī)進(jìn)行數(shù)據(jù)通訊,采集RSSI值。同時(shí)設(shè)置mm=false,用來(lái)判斷接收到的數(shù)據(jù)是離線采樣的數(shù)據(jù)。</p><p> 在句柄的handleMessage()函數(shù)中,如果接收到的是MESSAGE_READ 命令,則將讀出來(lái)的字節(jié)流轉(zhuǎn)為String類型,并通過(guò)mm變量判斷是離線采樣數(shù)據(jù),還是在線測(cè)試數(shù)據(jù)。</p><p> 在Stringfen()函數(shù)中對(duì)離線采樣數(shù)據(jù)進(jìn)行處理
85、。調(diào)用EditText的getText().toString()函數(shù)獲取均勻采樣點(diǎn)的坐標(biāo),同時(shí)通過(guò)ContentValues cv = new ContentValues()、cv.put()和 mysql.insert()將采樣數(shù)據(jù)存為位置指紋數(shù)據(jù)庫(kù)。</p><p> 4.4.5 在線測(cè)試</p><p> 當(dāng)顯示手機(jī)進(jìn)入在線測(cè)試階段時(shí),對(duì)當(dāng)前位置進(jìn)行數(shù)據(jù)采集,并對(duì)比數(shù)據(jù)庫(kù)信息,確
86、定當(dāng)前位置,其流程圖如下:</p><p> 圖4-8 在線測(cè)試軟件流程圖</p><p> 藍(lán)牙初始化后,對(duì)在線測(cè)試按鈕進(jìn)行初始化,同時(shí)對(duì)按鈕設(shè)置監(jiān)聽(tīng)函數(shù)。當(dāng)在線測(cè)試按鈕被點(diǎn)擊時(shí),顯示手機(jī)與測(cè)試手機(jī)進(jìn)行數(shù)據(jù)通訊,采集RSSI值。同時(shí)設(shè)置mm=true,用來(lái)判斷接收到的數(shù)據(jù)是在線測(cè)試的數(shù)據(jù)。</p><p> 在句柄的handleMessage()函數(shù)中,通
87、過(guò)mm變量判斷數(shù)據(jù)是否是在線測(cè)試數(shù)據(jù),并進(jìn)入zaixian()函數(shù)。</p><p> zaixian()函數(shù)中,獲取當(dāng)前測(cè)試數(shù)據(jù),并通過(guò) Cursor獲取數(shù)據(jù)庫(kù)中rssi字符串以及區(qū)域位置大小等數(shù)據(jù)庫(kù)數(shù)據(jù)。通過(guò)調(diào)用STRINGtoINT(String readMessage,String temp)函數(shù),利用split語(yǔ)句將字符串劃分為一個(gè)個(gè)rssi字符串,并用Double.parseDouble(Strin
88、g)函數(shù)將字符串轉(zhuǎn)為雙精度型數(shù)字,進(jìn)行方差計(jì)算。利用方差,借用最鄰近算法求出當(dāng)前測(cè)試位置。</p><p><b> 4.5 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的軟件設(shè)計(jì)流程。主要內(nèi)容是測(cè)試手機(jī)與顯示手機(jī)的各自工作流程。測(cè)試手機(jī)的功能是循環(huán)采集RSSI值、等待顯示手機(jī)的通訊、返回RSSI值。顯示手機(jī)的功能包括離線采樣以及在線測(cè)試。</p&
89、gt;<p><b> 5 . 系統(tǒng)調(diào)試</b></p><p> 根據(jù)前面幾個(gè)章節(jié)的介紹,對(duì)于基于藍(lán)牙信號(hào)的設(shè)備無(wú)關(guān)室內(nèi)定位系統(tǒng)的設(shè)計(jì)已經(jīng)有了一定的了解。本設(shè)計(jì)采用模塊化的設(shè)計(jì)思路,因而將對(duì)測(cè)試手機(jī)對(duì)RSSI的采集和顯示手機(jī)與測(cè)試手機(jī)的通信等進(jìn)行模塊化調(diào)試。</p><p> 5.1 系統(tǒng)調(diào)試工具</p><p> 調(diào)試
90、所需儀器儀表和工具如下:</p><p> ?。?)8個(gè)藍(lán)牙模塊BC-05、8個(gè)串口線、8個(gè)充電寶</p><p> ?。?)4個(gè)測(cè)試手機(jī)、1個(gè)顯示手機(jī)</p><p><b> 筆記本一臺(tái)</b></p><p> 安卓開(kāi)發(fā)軟件:eclipse</p><p> 數(shù)據(jù)庫(kù)軟件:SQLite
91、Expert Personal</p><p> 5.2 系統(tǒng)測(cè)試方案</p><p> 由于本系統(tǒng)設(shè)計(jì)研究的是設(shè)備無(wú)關(guān)的室內(nèi)定位,所以測(cè)試時(shí)需選取一個(gè)安靜的室內(nèi)環(huán)境,從而避免其他因素對(duì)藍(lán)牙無(wú)線信號(hào)網(wǎng)的影響。</p><p><b> 5.3 測(cè)試數(shù)據(jù)</b></p><p> 5.3.1 測(cè)試手機(jī)</p&
92、gt;<p> 圖5-1 測(cè)試手機(jī)數(shù)據(jù)</p><p> 從圖5-1的第一幅圖中,對(duì)于ZTE N919的測(cè)試可以看出,測(cè)試手機(jī)一直對(duì)周邊藍(lán)牙進(jìn)行掃描,并相隔12s進(jìn)行一次顯示。當(dāng)檢測(cè)到的藍(lán)牙是預(yù)先設(shè)定好的藍(lán)牙節(jié)點(diǎn)時(shí),按照“m+ name + ":" + rssiStr”格式進(jìn)行顯示;當(dāng)檢測(cè)的藍(lán)牙為其他藍(lán)牙時(shí),按照“name + ":" + rssiStr
93、”格式進(jìn)行顯示。</p><p> 圖5-1的第二幅圖,當(dāng)測(cè)試手機(jī)與顯示手機(jī)連接成功的時(shí)候,測(cè)試手機(jī)接收到顯示手機(jī)發(fā)送的字符命令“我”時(shí),立刻向顯示手機(jī)返回事先處理好的RSSI字符串。</p><p> 當(dāng)測(cè)試手機(jī)與顯示手機(jī)之間的連接斷開(kāi)時(shí),測(cè)試手機(jī)繼續(xù)對(duì)周邊藍(lán)牙進(jìn)行掃描顯示。</p><p> 5.3.2 顯示手機(jī)</p><p>
94、 圖5-2 顯示手機(jī)初始化及顯示界面</p><p> 從圖5-2的左圖看出,打開(kāi)軟件時(shí)需要對(duì)藍(lán)牙進(jìn)行初始化,打開(kāi)藍(lán)牙后進(jìn)入主程序界面,如圖5-2的右圖。</p><p> 圖5-3 顯示手機(jī)離線采樣</p><p> 離線采樣之前,需要將之前的數(shù)據(jù)庫(kù)表單刪除,同時(shí)新建一個(gè)數(shù)據(jù)庫(kù)表單,并在安卓屏幕上提示“刪除表單成功”和“新建表單成功”。新建表單成功后
95、,需根據(jù)測(cè)試區(qū)域的大小,設(shè)置區(qū)域。在X值與Y值中輸入數(shù)值(x,y),單位為米,輸入后,點(diǎn)擊區(qū)域設(shè)置按鈕,屏幕顯示“測(cè)試區(qū)域的X軸的大小為x米”和“測(cè)試區(qū)域的Y軸大小為y米”。</p><p> 區(qū)域設(shè)置成功后,進(jìn)入離線采樣階段。由于考慮到室內(nèi)均勻采樣點(diǎn)可能被物體遮擋,所以均勻采樣點(diǎn)的坐標(biāo)采用手動(dòng)輸入方式,在X軸與Y軸中輸入均勻采樣點(diǎn)的坐標(biāo)(p,q)。如果在點(diǎn)擊離線采樣按鈕之前沒(méi)有設(shè)置均勻采樣點(diǎn)的坐標(biāo),則提示“沒(méi)
96、有輸入”。設(shè)置好均勻采樣點(diǎn)的坐標(biāo)后,需要判斷該坐標(biāo)是否處于藍(lán)牙無(wú)線信號(hào)網(wǎng)的范圍內(nèi),如果超出測(cè)試區(qū)域范圍(即,則提示“輸入錯(cuò)誤,請(qǐng)重新輸入”。若沒(méi)有超出測(cè)試區(qū)域范圍,點(diǎn)擊離線采樣按鈕,進(jìn)行RSSI采樣,并將RSSI值轉(zhuǎn)為字符串存入位置指紋數(shù)據(jù)庫(kù)。</p><p> 圖5-4 顯示手機(jī)在線測(cè)試</p><p> 離線采樣16次后,位置指紋數(shù)據(jù)庫(kù)建立成功,同時(shí)將X值、Y值輸入框和離線采樣
97、按鈕設(shè)置為不可見(jiàn),并將在線測(cè)試按鈕設(shè)置為可見(jiàn)。此時(shí),點(diǎn)擊在線測(cè)試按鈕,一次連接測(cè)試手機(jī),獲取藍(lán)牙節(jié)點(diǎn)的RSSI值,并在安卓屏幕中顯示處理后的RSSI值字符串。同時(shí)將當(dāng)前采集的RSSI值與位置指紋數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行對(duì)比,求出當(dāng)前位置,顯示在手機(jī)屏幕中,如圖5-3左圖。</p><p> 點(diǎn)擊手機(jī)屏幕菜單按鈕的定位按鈕,則進(jìn)入2D圖形顯示界面,如圖5-3右圖。圖形界面中,白色為設(shè)置的測(cè)試區(qū)域。根據(jù)測(cè)試區(qū)域的大小,對(duì)
98、白色區(qū)域進(jìn)行坐標(biāo)軸的劃分及刻度顯示,并在屏幕下方顯示“測(cè)試區(qū)域的大?。簒=3.0,y=6.0”。圖中藍(lán)色點(diǎn)即當(dāng)前位置,通過(guò)藍(lán)色點(diǎn)在白色區(qū)域的顯示直觀地看出當(dāng)前人的位置。</p><p> 5.3.3 數(shù)據(jù)庫(kù)數(shù)據(jù)</p><p> 圖5-5 數(shù)據(jù)庫(kù)數(shù)據(jù)</p><p> 離線采樣的過(guò)程中,將采集到的數(shù)據(jù)存入數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)文件存儲(chǔ)在手機(jī)的內(nèi)置存儲(chǔ)卡的RSSI
99、文件夾下,文件名為rssi.db,同時(shí)生成的文件有rssi.db_journal。</p><p> 本系統(tǒng)中查看數(shù)據(jù)庫(kù)文件的數(shù)據(jù),采用的是SQLite Expert Personal軟件。將rssi.db文件放入SQLite Expert Personal中,出現(xiàn)兩張數(shù)據(jù)庫(kù)表單:android_metadata和rssi。其中,android_metadata里面放的是使用的語(yǔ)言。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> 本實(shí)驗(yàn)中以實(shí)際位置與測(cè)量結(jié)果的距離作為誤差,設(shè)實(shí)際位置為(,),測(cè)試結(jié)果為(,),則誤差d為:</p><p><b> ?。?-1)</b></p&g
101、t;<p> 下面表格是多次測(cè)量的結(jié)果:</p><p> 表1 多次定位誤差表</p><p> 從上表中可以看出,誤差范圍較小,定位較精準(zhǔn)。</p><p><b> 5.4 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的測(cè)試方案以及數(shù)據(jù)的相關(guān)處理。主要調(diào)試檢測(cè)測(cè)試手機(jī)以及顯示手機(jī)的
102、相關(guān)功能。同時(shí)對(duì)采集到的數(shù)據(jù)進(jìn)行記錄,包括數(shù)據(jù)庫(kù)數(shù)據(jù)的構(gòu)建是否正確以及多次定位的誤差分析。</p><p><b> 6 . 總結(jié)與展望</b></p><p><b> 6.1總結(jié)</b></p><p> 本設(shè)計(jì)主要研究基于藍(lán)牙的設(shè)備無(wú)關(guān)的室內(nèi)定位系統(tǒng)的實(shí)現(xiàn)。通過(guò)藍(lán)牙2.0模塊和Android測(cè)試手機(jī)建立藍(lán)牙無(wú)線
103、信號(hào)網(wǎng),用顯示手機(jī)與測(cè)試手機(jī)的通訊,采集藍(lán)牙節(jié)點(diǎn)的信號(hào)強(qiáng)度值(RSSI值),關(guān)聯(lián)均勻采樣點(diǎn)的位置信息,構(gòu)建位置指紋數(shù)據(jù)庫(kù),運(yùn)用最鄰近算法估算測(cè)試目標(biāo)的位置。</p><p> 本文主要完成了以下工作:</p><p> ?。?)介紹藍(lán)牙2.0模塊以及Android手機(jī),講解了藍(lán)牙無(wú)線信號(hào)網(wǎng)的構(gòu)建以及離線采樣點(diǎn)的分布。</p><p> ?。?)詳細(xì)講解了測(cè)試手機(jī)與
104、藍(lán)牙節(jié)點(diǎn)之間的信號(hào)強(qiáng)度的檢測(cè),以及測(cè)試手機(jī)與顯示手機(jī)之間的數(shù)據(jù)通訊。</p><p> ?。?)介紹了顯示手機(jī)離線采樣階段的數(shù)據(jù)采集與數(shù)據(jù)庫(kù)的存儲(chǔ)、在線測(cè)試階段的數(shù)據(jù)處理以及最鄰近算法的估算定位。</p><p><b> 6.2展望</b></p><p> 由于時(shí)間及個(gè)人能力方面的原因,本設(shè)計(jì)完成的基于藍(lán)牙信號(hào)的設(shè)備無(wú)關(guān)的室內(nèi)定位系統(tǒng)只
105、是一個(gè)基礎(chǔ)的模型。本設(shè)計(jì)還可以在以下方面進(jìn)行拓展性研究與提高:</p><p> (1) 在單人定位的基礎(chǔ)上研究多人定位。</p><p> (2) 在2D定位的基礎(chǔ)上研究三維影響因素(如人的身高),實(shí)現(xiàn)3D定位。</p><p> (3) 使用更多的藍(lán)牙節(jié)點(diǎn)與測(cè)試手機(jī),提高精確度。</p><p> (4) 研究測(cè)試手機(jī)循環(huán)檢測(cè),定
106、時(shí)向顯示手機(jī)返回信號(hào)強(qiáng)度值,實(shí)現(xiàn)實(shí)時(shí)定 </p><p><b> 位,實(shí)現(xiàn)監(jiān)控功能。</b></p><p> (5) 研究多組環(huán)境模型,探索實(shí)現(xiàn)普遍性環(huán)境測(cè)試模型。</p><p><b> 7 . 致謝</b></p><p> 從3月份開(kāi)題報(bào)告開(kāi)始,一直很努力地去了解、去學(xué)習(xí)、去完成
107、我的畢業(yè)設(shè)計(jì)。在這畢業(yè)設(shè)計(jì)即將到達(dá)尾聲的時(shí)刻,回想起畢業(yè)設(shè)計(jì)過(guò)程的點(diǎn)點(diǎn)滴滴,感覺(jué)這是大學(xué)生涯中最充實(shí)的一段時(shí)光。</p><p> 在我的畢業(yè)設(shè)計(jì)完成的過(guò)程中,我要首先感謝我的指導(dǎo)老師李老師。我的畢業(yè)設(shè)計(jì)的題目比較新,所以在剛開(kāi)始接觸的時(shí)候有很多不明白的。很感謝那段時(shí)間李老師對(duì)我的指導(dǎo),給我講解畢業(yè)設(shè)計(jì)的內(nèi)容,指導(dǎo)我完成畢業(yè)設(shè)計(jì)的總體設(shè)計(jì)。在畢業(yè)設(shè)計(jì)的每一個(gè)階段,李老師都給了我很好的指導(dǎo)。無(wú)論我是聯(lián)系見(jiàn)面指導(dǎo),
108、還是郵件詢問(wèn)思路,李老師都很有耐心、也很及時(shí)地幫我解決問(wèn)題。李老師治學(xué)嚴(yán)謹(jǐn)、愛(ài)好科研。他以自己的行動(dòng)向我們表明了一個(gè)優(yōu)秀指導(dǎo)老師該有的風(fēng)范,在今后的學(xué)習(xí)與工作中,他將是我永遠(yuǎn)學(xué)習(xí)的榜樣。</p><p> 其次,我要感謝大學(xué)四年里教過(guò)我的老師,他們?yōu)槲覀兊膶I(yè)知識(shí)基礎(chǔ)付出了辛勤的汗水,讓我們可以在畢業(yè)設(shè)計(jì)中盡情地發(fā)揮。尤其是教授我們C語(yǔ)言的老師以及數(shù)據(jù)結(jié)構(gòu)的老師,感謝你們培養(yǎng)了我的邏輯思維,可以讓我在學(xué)習(xí)And
109、roid時(shí)得心應(yīng)手。同時(shí),我還要感謝所有幫助過(guò)我的同學(xué),感謝你們?cè)谖颐悦r(shí)給我思路,感謝你們?cè)谖覠罆r(shí)聽(tīng)我傾訴,正是因?yàn)槟銈兊闹С峙c鼓勵(lì),此次畢業(yè)設(shè)計(jì)才能如此順利地完成。</p><p> 最后我要感謝我的好伙伴們,在我需要測(cè)試手機(jī)進(jìn)行畢業(yè)設(shè)計(jì)調(diào)試的時(shí)候,是你們貢獻(xiàn)出自己的手機(jī),讓我可以隨時(shí)進(jìn)行實(shí)物調(diào)試,感謝你們對(duì)我的支持。再次感謝李老師對(duì)我的辛勤指導(dǎo)、同學(xué)對(duì)我的幫助、伙伴們對(duì)我的支持。</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開(kāi)發(fā)范例大全[M].北京:人民郵電出版社,2009.</p><p><b> 附 錄</b></p>&
114、lt;p><b> 測(cè)試手機(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> //用來(lái)測(cè)試用的數(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于藍(lán)牙無(wú)線技術(shù)的室內(nèi)定位方法的研究.pdf
- 基于藍(lán)牙的可自適應(yīng)指紋室內(nèi)定位方法研究.pdf
- 【資料下載】基于藍(lán)牙無(wú)線技術(shù)的室內(nèi)定位方法的研究
- 基于藍(lán)牙信標(biāo)和指紋庫(kù)匹配的室內(nèi)定位算法研究.pdf
- 基于藍(lán)牙的室內(nèi)定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于位置指紋的RFID室內(nèi)定位方法研究.pdf
- 基于距離測(cè)量和位置指紋的室內(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è)計(jì)與實(shí)現(xiàn).pdf
- 基于藍(lán)牙的無(wú)線鼠標(biāo)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于藍(lán)牙的無(wú)線鼠標(biāo)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于位置指紋的室內(nèi)定位算法研究.pdf
- 基于指紋技術(shù)的藍(lán)牙室內(nèi)定位系統(tǒng)研究.pdf
- WLAN位置指紋室內(nèi)定位技術(shù).pdf
- 基于位置指紋的室內(nèi)定位技術(shù)研究.pdf
評(píng)論
0/150
提交評(píng)論