陳小杰,段中偉
(1.重慶川儀控制系統(tǒng)有限公司,重慶 401121;2.重慶甲蟲網(wǎng)絡(luò)科技有限公司,重慶 401121)
在科技技術(shù)迅速發(fā)展的今天,移動(dòng)互聯(lián)網(wǎng)已經(jīng)深入用戶的生活,基于物聯(lián)網(wǎng)的產(chǎn)品層出不窮,使人們的生活更加方便快捷。在室外環(huán)境,用戶依賴全球定位系統(tǒng)(global positioning system,GPS)解決出行問(wèn)題。GPS是基于衛(wèi)星時(shí)刻發(fā)布其位置和時(shí)間數(shù)據(jù)信號(hào),用戶接收機(jī)可以測(cè)量每顆衛(wèi)星接收到衛(wèi)星信號(hào)的時(shí)間延遲計(jì)算出位置[1]。在大型建筑或復(fù)雜室內(nèi)場(chǎng)景中,由于GPS衛(wèi)星定位技術(shù)精度技術(shù)不夠,仍不能滿足針對(duì)重要設(shè)備的位置跟蹤監(jiān)測(cè)和獲取人員位置的要求,有研究者利用慣性導(dǎo)航組合輔助進(jìn)行定位[2-3]。在大型工廠、醫(yī)院或者機(jī)場(chǎng)等物資多而繁雜的場(chǎng)景中,查找設(shè)備和獲取人員位置仍是難點(diǎn)和痛點(diǎn)。該定位終端主要用于在室內(nèi)復(fù)雜環(huán)境中,針對(duì)人員或重要物資的定位。利用該終端對(duì)周圍定位標(biāo)簽信息進(jìn)行定位,通過(guò)定位引擎計(jì)算自身位置,然后把自身位置發(fā)送到服務(wù)器,實(shí)時(shí)跟蹤物資或人員的位置信息。
利用手機(jī)應(yīng)用程序(application,APP)進(jìn)行定位終端設(shè)備的檢測(cè),通過(guò)手機(jī)藍(lán)牙和設(shè)備進(jìn)行連接,檢測(cè)設(shè)備狀態(tài)信息。
本系統(tǒng)是一個(gè)運(yùn)行在移動(dòng)端的APP,通過(guò)藍(lán)牙和定位終端設(shè)備連接。藍(lán)牙設(shè)備分為低功耗藍(lán)牙和經(jīng)典藍(lán)牙,低功耗藍(lán)牙(blue tooth,BLE),對(duì)應(yīng)藍(lán)牙4.0以上的版本[4-5]。利用手機(jī)藍(lán)牙和定位終點(diǎn)通信,通過(guò)發(fā)送自定義的數(shù)據(jù)協(xié)議,獲取定位終端的狀態(tài)信息,包括電池電量、組網(wǎng)信息等。然后把獲取的信息在界面上顯示,可直觀地對(duì)設(shè)備的狀態(tài)進(jìn)行監(jiān)控和檢測(cè)。通過(guò)發(fā)送自定義的參數(shù)數(shù)據(jù)格式,更改定位終端參數(shù),完成定位終端的更新或優(yōu)化。
定位終端狀態(tài)檢測(cè)系統(tǒng)主要以手機(jī)為核心,通過(guò)藍(lán)牙協(xié)議進(jìn)行數(shù)據(jù)傳輸,然后同步到服務(wù)器中,進(jìn)行定位終端的參數(shù)修改和狀態(tài)檢測(cè)。定位終端采用電池供電,功耗受限,所以BLE是最佳選擇[6-7]。系統(tǒng)架構(gòu)如圖1所示。硬件模塊為定位終端,中間部分為運(yùn)行狀態(tài)檢測(cè)APP的宿主機(jī)。服務(wù)器端是保存定位終端狀態(tài)的后臺(tái),主要是為了記錄定位終端設(shè)備的位置、保存定位終端設(shè)備的狀態(tài)信息。定位終端模塊和手機(jī)通過(guò)藍(lán)牙數(shù)據(jù)進(jìn)行傳輸,手機(jī)和服務(wù)器端進(jìn)行網(wǎng)絡(luò)傳輸。
圖1 系統(tǒng)架構(gòu)圖
手機(jī)與定位終端的數(shù)據(jù)通過(guò)藍(lán)牙協(xié)議進(jìn)行傳輸,數(shù)據(jù)格式為自定義格式。手機(jī)作為上位機(jī),通過(guò)發(fā)送命令的方式獲取設(shè)備狀態(tài)。定位終端作為下位機(jī),藍(lán)牙模塊選用CC2541芯片。該芯片優(yōu)化了2.4 GHz的應(yīng)用功率,集成了射頻收發(fā)器等功能[8-9],利用C語(yǔ)言開(kāi)發(fā),使用小型實(shí)時(shí)操作系統(tǒng)(real time operation system,RTOS)。在獲取上位機(jī)的命令后,通過(guò)數(shù)據(jù)解析,得到上位機(jī)的狀態(tài)請(qǐng)求,進(jìn)一步獲取自身的狀態(tài),并上報(bào)到上位機(jī)完成一次狀態(tài)檢測(cè)。
2.2.1 數(shù)據(jù)格式
上位機(jī)(手機(jī)端)和定位終端發(fā)送的通信數(shù)據(jù)格式主要由類型(type)、發(fā)送數(shù)據(jù)長(zhǎng)度(length)、數(shù)據(jù)內(nèi)容(data)和校驗(yàn)位組成。數(shù)據(jù)格式如表1所示。類型功能碼主要有0xF4和0xF5。0xF4是手機(jī)APP向定位終端發(fā)送請(qǐng)求數(shù)據(jù)的格式類型,0xF5是定位終端向手機(jī)端發(fā)送狀態(tài)信息的格式類型。數(shù)據(jù)長(zhǎng)度是data數(shù)據(jù)區(qū)的內(nèi)容長(zhǎng)度。Data數(shù)據(jù)區(qū)是發(fā)送數(shù)據(jù)的具體內(nèi)容,根據(jù)相應(yīng)的功能需求進(jìn)行設(shè)置。最后采用crc8的校驗(yàn)方式對(duì)整個(gè)數(shù)據(jù)進(jìn)行校驗(yàn)。
表1 數(shù)據(jù)格式
2.2.2 讀取和設(shè)置掃描窗口時(shí)間
掃描窗口時(shí)間的功能是為了控制定位終端設(shè)備上報(bào)掃描信息的頻率。定位終端在掃描時(shí)間窗口內(nèi)進(jìn)行掃描,時(shí)間窗口結(jié)束則上報(bào)掃描到的定位標(biāo)簽的數(shù)量,然后進(jìn)入下一個(gè)掃描窗口。掃描窗口時(shí)間越長(zhǎng),掃描到的標(biāo)鑒個(gè)數(shù)可能越多;反之越少。如果需要高精度定位,則設(shè)置掃描窗口時(shí)間較小,通過(guò)多次定位矯正定位信息,達(dá)到精度要求。此功能的通信數(shù)據(jù)類型(type)是0xF4,長(zhǎng)度(length)是發(fā)送數(shù)據(jù)內(nèi)容的長(zhǎng)度,發(fā)送的數(shù)據(jù)內(nèi)容主要包括掃描窗口時(shí)間和狀態(tài)值,采用crc8的方式進(jìn)行校驗(yàn)。掃描窗口數(shù)據(jù)見(jiàn)表2。
表2 掃描窗口數(shù)據(jù)表
2.2.3 讀取和設(shè)置最大掃描設(shè)備數(shù)
最大掃描設(shè)備個(gè)數(shù)是在規(guī)定掃描時(shí)間窗口內(nèi),定位終端掃描周圍定位標(biāo)簽的數(shù)量閾值。如果達(dá)到該閾值,則停止掃描。通過(guò)設(shè)置合理的閾值,可以提高掃描室內(nèi)環(huán)境中定位標(biāo)簽的質(zhì)量,節(jié)約定位終端本身的功耗。掃描長(zhǎng)度見(jiàn)表3。其中,數(shù)據(jù)區(qū)data的數(shù)據(jù)內(nèi)容就是掃描個(gè)數(shù)。
表3 掃描長(zhǎng)度表
該狀態(tài)檢測(cè)系統(tǒng)運(yùn)行在手機(jī)APP中,運(yùn)行結(jié)果如圖2所示。首先通過(guò)掃描查找到設(shè)備,運(yùn)行結(jié)果如圖2(a)所示。然后通過(guò)藍(lán)牙連接獲取到設(shè)備的基本信息。
圖2 系統(tǒng)運(yùn)行結(jié)果
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,用戶位置信息在生活中會(huì)顯的越來(lái)越重要。室外定位和室內(nèi)定位的結(jié)合達(dá)到無(wú)縫連接,是未來(lái)發(fā)展的趨勢(shì)。復(fù)雜室內(nèi)環(huán)境中,人員和重要物資的定位的需求會(huì)進(jìn)一步放大。所以,對(duì)于定位終端自身的檢測(cè)系統(tǒng)同樣會(huì)越來(lái)越重要,對(duì)定位終端的檢測(cè)工作會(huì)更多地落到巡檢人員的身上。該檢測(cè)系統(tǒng)運(yùn)行在巡檢人員的手機(jī)中,界面簡(jiǎn)單、直觀,功能易用,可以很好地滿足定位終端自身狀態(tài)的檢測(cè)功能。