曹 佳, 嚴培輝, 劉江華, 張澄宇, 李小明
(1.武漢大學 基礎醫(yī)學實驗教學示范中心,武漢 430071;2.武漢大學 衛(wèi)星導航定位技術研究中心,武漢 430079)
隨著高校對生物、醫(yī)學的研究和教學越來越重視,生物醫(yī)學實驗室平臺的建設也成為了重點。對實驗室中易燃易爆試劑、有毒試劑、易揮發(fā)性試劑以及重大儀器設備的追蹤成為了各高校亟需解決的問題?,F(xiàn)有的實驗室物品追蹤主要靠實驗室管理人員手工記錄物品大致的存放位置,無法對其進行室內(nèi)外精確定位。針對這一問題國內(nèi)外研究人員開發(fā)了相應的物品跟蹤定位系統(tǒng),如基于RFID追蹤識別技術的供應室消毒物品追溯管理系統(tǒng)[1],基于ZigBee技術的醫(yī)院跟蹤定位系統(tǒng)[2],基于WiFi指紋的室內(nèi)定位系統(tǒng)[3]等,但這些系統(tǒng)只解決了物品的室內(nèi)追蹤,一旦物品離開實驗室就不知其去向。
為此,本文設計了一種基于藍牙與GPS/北斗室內(nèi)外無縫定位追蹤管理系統(tǒng)[4-5],該系統(tǒng)具有定位精度高,低功耗,高穩(wěn)定性,低成本等優(yōu)勢,解決了生物醫(yī)學實驗室物品在室內(nèi)外高精度定位追蹤管理的問題[6-7]。
本文設計的物品追蹤管理系統(tǒng)原理框圖如圖1所示,該系統(tǒng)主要由實驗室危險試劑數(shù)據(jù)庫、重大儀器數(shù)據(jù)庫、物品追蹤管理中心、用戶APP以及定位追蹤器組成。定位追蹤器與易燃易爆試劑、有毒試劑、易揮發(fā)性試劑和重大儀器設備等相連接。在室內(nèi),定位追蹤器利用藍牙進行定位;在室外,追蹤器利用GPS/北斗組合定位,將得到的定位信息發(fā)送到物品追蹤管理中心,物品追蹤管理中心對該信息進行處理然后存儲到相應的數(shù)據(jù)庫中,當用戶需要查看物品位置信息時,通過手機APP[8]鏈接到物品追蹤管理中心調(diào)出相應的數(shù)據(jù)信息進行查看。
圖1 物品追蹤管理系統(tǒng)原理框圖
本系統(tǒng)對物品的室內(nèi)定位追蹤采用藍牙定位的方法,藍牙定位追蹤基本功能框圖如圖2所示,它由n個藍牙標簽和定位追蹤器組成,利用n個藍牙標簽構(gòu)建一個藍牙信號區(qū)域,當定位追蹤器進入該區(qū)域時,接收藍牙標簽發(fā)出的無線電信號,通過測量接收信號強度指標(RSSI)值[9-10]來計算定位追蹤器的位置。
圖2 藍牙定位追蹤基本功能框圖
藍牙室內(nèi)定位[11-12]過程由離線指紋庫的建立和在線定位兩個階段共同完成:離線階段,建立模糊指紋庫,該指紋庫較為全面地描述了定位區(qū)域內(nèi)RSSI值與空間位置的對應關系,并存儲于數(shù)據(jù)庫中;在線階段,定位追蹤器進入定位區(qū)域,搜尋附近的藍牙標簽信號,將測量到的RSSI值返回給物品追蹤管理中心,最后將數(shù)據(jù)上傳到數(shù)據(jù)庫,在數(shù)據(jù)庫中完成對定位追蹤器位置的確定。
室外定位追蹤采用GPS/北斗組合的方法,該方法在定位精度上可達到亞米級。GPS/北斗定位追蹤基本功能框圖如圖3所示,首先GPS/北斗定位導航模塊接收到衛(wèi)星定位信號,利用基帶模塊對其進行處理,得到當前的位置信息,將該信息發(fā)送至處理器上利用無線收發(fā)設備將其發(fā)送到數(shù)據(jù)庫作存儲。當管理人員需要查看物品在室外位置時,只需查看數(shù)據(jù)庫中數(shù)據(jù)即可。本系統(tǒng)采用的定位模塊是中科微電子的產(chǎn)品ATGM336H,該模塊具有定位精度高,體積小,功耗低,穩(wěn)定性高等特點,適用于室外惡劣環(huán)境下高精度定位。
圖3 GPS/北斗定位追蹤基本功能框圖
在室內(nèi)定位中,藍牙標簽被用來當作定位節(jié)點,根據(jù)實際情況布置在室內(nèi),其原理框圖見圖4,由電源模塊,數(shù)據(jù)處理模塊和天線及天線匹配模塊組成。藍牙標簽工作在低功耗模式,有效距離為40 m,每秒發(fā)送5到10次藍牙數(shù)據(jù)包,定位追蹤器讀取數(shù)據(jù)包信息,根據(jù)接收到的標簽能量判斷距離,實現(xiàn)室內(nèi)定位。
圖4 藍牙標簽原理框圖
藍牙數(shù)據(jù)包格式說明如圖5所示,BLEID(16個字節(jié))表示將所有的藍牙標簽與其他人的藍牙標簽設備區(qū)別開的ID;GroupID表示將同一個房間內(nèi)藍牙標簽標識為一組,通過這種方式定位追蹤器就知道物品在哪個房間;IndividualID表示房間內(nèi)每個藍牙標簽的特定編號,這樣定位追蹤器就知道物品在房間的哪個位置;TX power表示距離標簽1 m測得的值,追蹤器接收到數(shù)據(jù)包后通過比較就能得到物品的位置信息。
圖5 藍牙標簽數(shù)據(jù)包
定位追蹤器是本系統(tǒng)的核心,其原理框圖如圖6所示,主要由藍牙模塊、GPS/北斗模塊、MCU、加速度傳感器和GPRS模塊組成[13]。在該追蹤器中藍牙模塊用來實現(xiàn)室內(nèi)定位,GPS/北斗模塊用來實現(xiàn)室外定位,當物品從實驗室內(nèi)被拿到室外時由于藍牙信號只覆蓋了室內(nèi)范圍無法對室外進行定位,此時MCU控制器立馬啟動GPS/北斗模塊實現(xiàn)準確及時的室外定位[14]。加速度傳感器被用來檢測物體的運動狀態(tài)實現(xiàn)追蹤器的低功耗,當物品處于靜止狀態(tài)時,加速度傳感器未產(chǎn)生位移信號,表明定位追蹤器在距離上一次發(fā)出位置信號之前,物品位置一直未發(fā)生改變,此時MCU發(fā)出關閉藍牙定位模塊、GPS/北斗模塊和GPRS模塊的命令,讓追蹤器處于最低功耗的休眠狀態(tài);當物品發(fā)生移動時,加速度傳感器產(chǎn)生位移信號,MCU檢測到該信號后,立馬激活上次發(fā)出位置信號的模塊(藍牙或者GPS/北斗),另一個定位模塊則關閉,等待MCU接收到定位信息后再啟動GPRS模塊將該信息發(fā)送出去,這樣定位追蹤器就能最大限度的降低功耗。
圖6 定位追蹤器原理框圖
此類電路硬件控制系統(tǒng)采用單片機控制及管理,各部功能電路可采用模塊化電路實現(xiàn),易于實現(xiàn)且方便快捷,控制各模塊化電路工作的單片機應用軟件流程圖如圖7所示。
圖7 軟件控制流程圖
單片機部分子程序如下所示:
#include 〈stdint.h〉
#include 〈stdio.h〉
#include 〈string.h〉
#include "cpu.h"
#include "gpio_mment.h"
#include "GC65_iot.h"
#include "rtc.h"
#include "timer.h"
#include "Spi_Drv.h"
#include "Debug.h"
#include "gpio_mment.h"
#include "gps_module.h"
#include "com_command.h"
#include "cimcitech_frame.h"
#include "intelpower.h"
#include "User_App.h"
#include "History_Data.h"
#include "low_power.h"
#include "adxl345.h"
#include "Gsm_App.h"
#include "sht10.h"
#include "CIMC_iTECH.h"
int main(void)
{
IAP_SetVectorTable();
NVIC_Configuration();
SysTick_Init();
RTC_Configuration();
SPI_allPara_config();
Gpio_Mment_Init();
gps_server_Init();
Debug_Init();
User_App_Init();
GC65_moduleuart_Init();
BLU_module_Init();
History_Data_Init();
ADXL345_Init();
#ifdef ENABLE_SYS_IWDG
IWDG_Configuration();
#endif
while(1)
{
prco_comcmd_task();
ProcGpsModuleTask();
ProcBluModuleTask();
Proc_LowPower_Task();
proc_cimc_frame_task();
Proc_UserApp_Task();
Proc_GsmApp_Task();
#ifdef ENABLE_SYS_IWDG
IWDG_ReloadCounter();
#endif
}
}
通過大量實驗測試發(fā)現(xiàn)RSSI值并不穩(wěn)定,這使系統(tǒng)利用測量到的RSSI來實現(xiàn)高精度室內(nèi)定位變得更加困難。為了降低實時信號的隨機波動性,利用加權(quán)滑動窗口對接收到的信號做平滑處理。但仍然無法消除因為室內(nèi)環(huán)境的突然變化所導致的RSSI極端跳動,這種環(huán)境的變化主要是室內(nèi)溫度、人員的走動以及運行在相同頻率的其他設備,這些都會使某些地方的接收信號隨時間發(fā)生漂移。對于這種極端跳動采用了卡爾曼濾波算法進一步處理,在最后的定位階段再采用K近鄰算法[15]得到位置信息。
K-近鄰算法的基本步驟如下:① 訓練樣本的產(chǎn)生。在樣本空間內(nèi)產(chǎn)生一定數(shù)目的合乎要求的訓練樣本。每一個訓練樣本對應一個已知的目標函數(shù)值。②k個近鄰的選取。分別對每個預測樣本選取其近鄰,即選取相似度程度高的k個樣本。k值的大小對預測結(jié)果也有著關鍵影響。③ 根據(jù)這k個近鄰判斷預測樣本的值或分類。
基于上述理論分析,首先搭建相應的系統(tǒng)硬件平臺來進行實地的數(shù)據(jù)采集,建立離線階段的定位數(shù)據(jù)庫,然后對離線階段采集到的定位信號進行濾波處理并進行定位。
選取某實驗室作為實驗場地,實驗室長10 m,寬6 m,將4個藍牙標簽放置在室內(nèi)的4個角落,如圖8所示B1、B2、B3、B44個標簽,放置高度為1.5 m,然后對室內(nèi)不同位置的坐標點采樣,如圖中圓圈所示,其中每個坐標點的采樣間隔為1 s,采樣點數(shù)為500,對采樣到的數(shù)據(jù)作平滑處理建立離線位置指紋數(shù)據(jù)庫。
圖8 藍牙標簽室內(nèi)拓撲圖
在系統(tǒng)測試過程中選取了一瓶易揮發(fā)性試劑作為追蹤定位目標,在線實時采集其位置處的RSSI值,對數(shù)據(jù)進行卡爾曼濾波處理再采用3階近鄰法進行定位,得到測試結(jié)果如圖9所示,60 s內(nèi)對物品進行室內(nèi)外各20次定位測量得到的結(jié)果是室內(nèi)定位最大誤差為1.3 m,室外定位最大誤差為3.5 m,證明該系統(tǒng)滿足對實驗室物品進行室內(nèi)外高精度定位,圖10和圖11分別為藍牙標簽實物模塊和定位追蹤器實物模塊。
圖9 系統(tǒng)定位誤差
圖10 藍牙標簽實物模塊
本文設計了基于藍牙與GPS/北斗室內(nèi)外無縫定位追蹤管理系統(tǒng),該系統(tǒng)具有定位精度高,低功耗,高穩(wěn)定性,低成本等優(yōu)勢,可應用于生物醫(yī)學類實驗室中易燃易爆試劑、有毒試劑、易揮發(fā)性試劑以及重大儀器設備的追蹤和管理中,提高管理效率,保證生物醫(yī)學類實驗平臺物品的安全和教學科研工作順利進行。
圖11 定位追蹤器實物模塊