于繼明,樊繼標(biāo),秦偉楠
(1.金陵科技學(xué)院信息技術(shù)學(xué)院,江蘇 南京 211169; 2.江蘇省信息分析工程實(shí)驗(yàn)室,江蘇 南京 211169)
隨著物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用,物聯(lián)網(wǎng)概念的提出引發(fā)了繼互聯(lián)網(wǎng)之后全球信息產(chǎn)業(yè)發(fā)展的又一次高潮,受到了世界各國(guó)的高度重視。其核心部分是機(jī)器之間的互聯(lián)互通,即M2M(Machine to Machine)。M2M是物聯(lián)網(wǎng)實(shí)現(xiàn)的底層平臺(tái),是處理物聯(lián)網(wǎng)設(shè)備之間的信息交互通道[1-2]。生活中,人們經(jīng)常會(huì)遺失貴重的物品,造成財(cái)產(chǎn)損失及不必要的麻煩。研究設(shè)計(jì)一種通用的便于攜帶的防遺失設(shè)備,在物品處于監(jiān)管范圍之外時(shí),能夠及時(shí)發(fā)出報(bào)警信息,讓物品主人及時(shí)注意到物品在安全監(jiān)管范圍外有遺失風(fēng)險(xiǎn),在很大程度上輔助人們挽回?fù)p失。本文圍繞這一問(wèn)題,采用Android藍(lán)牙串口通信協(xié)議,設(shè)計(jì)基于M2M的防遺失報(bào)警系統(tǒng),當(dāng)物品超出10 m的監(jiān)管范圍時(shí),防遺失報(bào)警系統(tǒng)自動(dòng)報(bào)警。
基于M2M的防遺失報(bào)警系統(tǒng),由兩個(gè)物理模塊組成:隨物品一起的防遺失模塊和手機(jī)監(jiān)測(cè)報(bào)警模塊(以下簡(jiǎn)稱(chēng)監(jiān)測(cè)報(bào)警模塊),兩個(gè)模塊之間可通過(guò)藍(lán)牙、WIFI等形式進(jìn)行M2M的信息交互。當(dāng)防遺失模塊與監(jiān)測(cè)模塊距離大于設(shè)定的監(jiān)管距離時(shí),兩個(gè)部分同時(shí)發(fā)出報(bào)警信息,提醒物品監(jiān)管者當(dāng)心物品遺失。
防遺失系統(tǒng)由防遺失模塊、監(jiān)測(cè)報(bào)警模塊組成,如圖1所示。系統(tǒng)的通信交互采用藍(lán)牙2.0,實(shí)現(xiàn)防遺失模塊與監(jiān)測(cè)報(bào)警模塊之間的M2M通信,藍(lán)牙2.0協(xié)議是目前手機(jī)生產(chǎn)中標(biāo)準(zhǔn)的配置。監(jiān)測(cè)報(bào)警模塊采用基于A(yíng)ndroid 2.2的版本,基本上所有Android手機(jī)均能支持,實(shí)現(xiàn)對(duì)防遺失模塊的監(jiān)測(cè)及一定條件下的報(bào)警功能。防遺失模塊硬件主要由3部分組成:藍(lán)牙通信模塊、信息處理模塊、聲音報(bào)警模塊。防遺失模塊與貴重物品綁定,系統(tǒng)啟用時(shí),監(jiān)測(cè)報(bào)警(手機(jī)端)模塊與防遺失模塊通過(guò)藍(lán)牙進(jìn)行握手連接,保持連通交互。當(dāng)物品(綁定防遺失模塊)與監(jiān)測(cè)報(bào)警模塊距離超過(guò)監(jiān)管范圍(本系統(tǒng)設(shè)置為10 m)時(shí),監(jiān)測(cè)報(bào)警模塊認(rèn)為物品處于監(jiān)管范圍之外,有遺失風(fēng)險(xiǎn),發(fā)出振動(dòng)或者聲音報(bào)警提示。防遺失模塊在與監(jiān)測(cè)報(bào)警模塊“失聯(lián)”時(shí),啟動(dòng)報(bào)警功能,發(fā)出鳴叫及閃爍信號(hào),引起物品監(jiān)管者注意,防遺失模塊的聲音報(bào)警功能可方便地向物品監(jiān)管者報(bào)告自身位置。
圖1 基于M2M技術(shù)的防遺失系統(tǒng)原理Fig.1 The anti-lost system based on M2M technology
防遺失報(bào)警系統(tǒng)由防遺失模塊、監(jiān)測(cè)報(bào)警模塊組成。監(jiān)測(cè)報(bào)警模塊運(yùn)行于支持Android 2.2及以上版本的手機(jī)或智能終端,通信協(xié)議支持藍(lán)牙2.0標(biāo)準(zhǔn),本系統(tǒng)的開(kāi)發(fā)與測(cè)試終端為htc328手機(jī)。防遺失模塊由藍(lán)牙發(fā)射模塊、主控模塊、報(bào)警器組成,系統(tǒng)的硬件電路原理如圖2所示。
圖2 防遺失模塊電路原理Fig.2 The circuit of anti-lost module
防遺失模塊的藍(lán)牙發(fā)射模塊用于與監(jiān)測(cè)報(bào)警模塊的終端藍(lán)牙信號(hào)連接及信息交互。本系統(tǒng)采用的藍(lán)牙發(fā)射模塊為HC06,支持無(wú)線(xiàn)收發(fā),功率可調(diào)輸出,可實(shí)現(xiàn)10 m以?xún)?nèi)的安全距離設(shè)定,體積較小,可以設(shè)計(jì)成鑰匙飾物等小掛件,易于攜帶[3]。系統(tǒng)啟動(dòng)后,藍(lán)牙開(kāi)始根據(jù)設(shè)定的ID、密碼等信息,進(jìn)行初始化工作,并等待監(jiān)測(cè)報(bào)警模塊的信號(hào)連接;在握手連接成功后,則進(jìn)入工作狀態(tài),根據(jù)設(shè)定的時(shí)間定時(shí)與手機(jī)端保持信息交互,以確定與監(jiān)測(cè)管理端保持在安全監(jiān)管范圍內(nèi);當(dāng)設(shè)定的時(shí)間段內(nèi)與監(jiān)測(cè)報(bào)警端“失聯(lián)”時(shí),則向信息處理模塊發(fā)送報(bào)警信息,同時(shí)繼續(xù)保持待連接狀態(tài)。
主控制子功能模塊采用高性能的89C51芯片,功耗小,處理能力強(qiáng)。用于連接藍(lán)牙模塊、聲音報(bào)警模塊及閃光燈模塊。通過(guò)運(yùn)行片內(nèi)程序[4-5],輸出設(shè)置信號(hào),對(duì)藍(lán)牙模塊進(jìn)行設(shè)置,并對(duì)接收的數(shù)據(jù)進(jìn)行分析處理,確定本模塊是否與監(jiān)測(cè)報(bào)警終端處于可監(jiān)管的安全距離。如果在工作狀態(tài),處于安全距離,則無(wú)響應(yīng),若處于“失聯(lián)”狀態(tài),則燈光閃爍,同時(shí)驅(qū)動(dòng)聲音模塊發(fā)出報(bào)警聲音。
報(bào)警功能模塊采用采用9012三極管驅(qū)動(dòng),安裝方便。內(nèi)部帶震蕩源,在“失聯(lián)”狀態(tài)下,處理模塊輸出一個(gè)高電平,改變狀態(tài)到報(bào)警狀態(tài)。若恢復(fù)“聯(lián)通”狀態(tài),則重輸出低電平,取消報(bào)警,恢復(fù)正常狀態(tài)。
防遺失模塊加電啟動(dòng),需要人工打開(kāi)系統(tǒng)工作按鍵,系統(tǒng)初始化并等待連接防遺失監(jiān)測(cè)報(bào)警模塊(手機(jī)),進(jìn)行等待狀態(tài),指示燈閃爍;打開(kāi)監(jiān)測(cè)報(bào)警模塊(Android手機(jī)端),點(diǎn)擊“連接”功能,搜索與驗(yàn)證防遺失模塊藍(lán)牙名稱(chēng)。選擇正確的藍(lán)牙名稱(chēng),建立連接。手機(jī)驗(yàn)證防遺失模塊,輸入正確防驗(yàn)證密碼,系統(tǒng)進(jìn)入連接狀態(tài),系統(tǒng)LED指示燈由閃爍變成常亮,如果密碼驗(yàn)證錯(cuò)誤,不能建立連接,系統(tǒng)LED指示燈保持閃爍狀態(tài)并發(fā)出同頻率的警報(bào)聲。
圖3 系統(tǒng)工作流程Fig.3 The working system
當(dāng)監(jiān)測(cè)報(bào)警模塊與防遺失模塊連接完成,建立實(shí)時(shí)通信之后,進(jìn)入正常工作狀態(tài);系統(tǒng)狀態(tài)由正常工作狀態(tài)轉(zhuǎn)化為非正常狀態(tài)時(shí),說(shuō)明監(jiān)測(cè)報(bào)警模塊(手機(jī)端)與防遺失模塊斷開(kāi)連接,防遺失模塊發(fā)送警報(bào)信號(hào),系統(tǒng)啟動(dòng)聲音警報(bào)模塊發(fā)出警報(bào)聲,向物品主人提醒并通過(guò)聲音報(bào)告本身位置;監(jiān)測(cè)報(bào)警模塊也同時(shí)發(fā)出振動(dòng)或者聲音報(bào)警,提示物品正在面臨遺失風(fēng)險(xiǎn)。如果要解除報(bào)警功能,手動(dòng)關(guān)閉防遺失模塊電源或者關(guān)閉手機(jī)藍(lán)牙功能即可。
基于M2M的防遺失報(bào)警系統(tǒng)關(guān)鍵技術(shù)是M2M通信與交互技術(shù)。在防遺失模塊與監(jiān)測(cè)報(bào)警模塊之間,根據(jù)應(yīng)用需求,自動(dòng)進(jìn)行握手連接和身份認(rèn)證,并根據(jù)實(shí)時(shí)的連接狀態(tài)進(jìn)行信息的交互,以及正常與非正常狀態(tài)的轉(zhuǎn)換。
防遺失模塊軟件部分功能主要是89C51編程,完成系統(tǒng)初始化,并根據(jù)當(dāng)前連通狀態(tài),判斷報(bào)警條件進(jìn)行狀態(tài)轉(zhuǎn)化,并判斷報(bào)警條件,實(shí)現(xiàn)報(bào)警功能或者恢復(fù)正常狀態(tài)。部分功能實(shí)現(xiàn)如下:
Anti_loss_init(Led,Buzzer,Buffer);//初始化防遺失報(bào)警模塊,//Led初始化燈的狀態(tài),Buzzer報(bào)警狀態(tài),Buffer 常駐數(shù)據(jù)區(qū),設(shè)置防遺失模塊藍(lán)牙開(kāi)啟狀態(tài)
Anti_loss_judge(Led,Buzzer,Buffer,State)
//判斷是否系統(tǒng)兩部分“失聯(lián)”,若“失聯(lián)”則驅(qū)動(dòng)LED閃爍,同時(shí)模塊報(bào)警;
while(1)
{
delayms(time);//系統(tǒng)采集數(shù)據(jù)間隔
Monitor_Buffer() //對(duì)數(shù)據(jù)區(qū)數(shù)據(jù)分析,確定其所處狀態(tài):等待連接、連接、失聯(lián)
Alert(Buzzer);//根據(jù)狀態(tài)報(bào)警;
SetState()//清除數(shù)據(jù)位,進(jìn)入下一輪數(shù)據(jù)采集。
}
防遺失監(jiān)測(cè)報(bào)警模塊(手機(jī)端)軟件主要功能:本地(主)藍(lán)牙端口檢測(cè)與管理操作;查詢(xún)從藍(lán)牙設(shè)備;與從藍(lán)牙設(shè)備建立連接,匹配藍(lán)牙密鑰并驗(yàn)證;鏈接完成之后,實(shí)現(xiàn)手機(jī)與防丟失系統(tǒng)實(shí)時(shí)數(shù)據(jù)交互。
Anti_loss_Android_init(Buffer);//初始化監(jiān)測(cè)報(bào)警模塊,綁定按鈕動(dòng)作,實(shí)現(xiàn)監(jiān)聽(tīng)服務(wù)端口,打開(kāi)通用唯一識(shí)別碼UUID(Universally Unique Identifier)服務(wù)
public void onCreate(buffer) //設(shè)置基本參數(shù)
super.onCreate(UUID);//創(chuàng)建UUID服務(wù)
setContentView(R.layout.main);//啟動(dòng)監(jiān)測(cè)報(bào)警界面,顯示菜單內(nèi)容
judgeblutooth(_bluetooth == null)//檢測(cè)并自動(dòng)打開(kāi)本地藍(lán)牙設(shè)備
{
openblutooth_device(_blutooth)
return;
}
public void anti_loss_find&connect( ) // 搜尋防遺失模塊,連接與證
{ //開(kāi)始搜索
_bluetooth.startDiscovery(); //搜尋防遺失模塊
Dispaly_result(info); //顯示搜尋結(jié)果
}
_bluetooth_Discovery(bluethoonstate) //根據(jù)當(dāng)前的搜索狀態(tài)確定是否連接
try{
_socket=_device.createRfcommSocketToServiceRecord 如果狀態(tài)正確,創(chuàng)建服務(wù)
(UUID.fromString(Uuidstring));//設(shè)置UUID串碼
//Open_local_bluetooth()//打開(kāi)本地藍(lán)牙設(shè)備
Display("打開(kāi)服務(wù)成功");
}
catch(IOException e){ //處理出錯(cuò)信息
dispay("打開(kāi)服務(wù)不成功"+errorcode);
return;
}
根據(jù)應(yīng)用需求,創(chuàng)建一個(gè)易用美觀(guān)的用戶(hù)界面,可以為用戶(hù)提供更舒適的操作體驗(yàn)。防遺失報(bào)警系統(tǒng)手機(jī)端用戶(hù)界面設(shè)計(jì)主頁(yè)面用的是線(xiàn)性布局控件(LinearLayout)布局方式。系統(tǒng)界面如圖4所示。列表視圖圖標(biāo)選項(xiàng)欄列舉了防丟失系統(tǒng)的查詢(xún)和取消兩項(xiàng)列表項(xiàng)。為每個(gè)按鈕都綁定相應(yīng)的監(jiān)測(cè)服務(wù)功能,可以通過(guò)用戶(hù)界面的形式來(lái)管理開(kāi)關(guān)藍(lán)牙等操作。
圖4 手機(jī)端監(jiān)測(cè)報(bào)警軟件界面Fig.4 The interface of mobile phone monitor-alarm software
監(jiān)測(cè)報(bào)警(手機(jī)端)界面中,“查找設(shè)備”可以查詢(xún)到其設(shè)定范圍內(nèi)的藍(lán)牙設(shè)備,并以列表的形式顯示;“選擇設(shè)備”需要選擇與本系統(tǒng)相關(guān)的設(shè)備,如果選擇搜索到的其它設(shè)備,則連接用戶(hù)識(shí)別碼時(shí)會(huì)失敗,選擇防遺失模塊,則可以進(jìn)行身份驗(yàn)證狀態(tài),進(jìn)入下一步“連接”操作?!斑B接”功能,需要輸入密碼驗(yàn)證,確認(rèn)后進(jìn)入工作狀態(tài)。系統(tǒng)實(shí)時(shí)監(jiān)測(cè)兩個(gè)物理模塊之間是否處于監(jiān)管范圍內(nèi),如果有遺失風(fēng)險(xiǎn)時(shí),則兩個(gè)模塊將同時(shí)做出響應(yīng)。
物聯(lián)網(wǎng)M2M技術(shù)應(yīng)用越來(lái)越廣泛[6],基于M2M的狀態(tài)檢測(cè)與信息交互,在無(wú)人值守的應(yīng)用中,給人們生活帶來(lái)極大的方便。本文根據(jù)實(shí)際應(yīng)用需求,設(shè)計(jì)出一種基于M2M的防遺失報(bào)警系統(tǒng),能有效的防止綁定物品的遺失。系統(tǒng)體積小巧,便于攜帶,操作簡(jiǎn)單,方便實(shí)用。本系統(tǒng)也可應(yīng)用在安防、停車(chē)場(chǎng)出入口管理等場(chǎng)景。
[1]郭利新,何思橋,樊自甫.基于物聯(lián)網(wǎng)M2M技術(shù)的電子藥瓶監(jiān)控系統(tǒng)的研究與設(shè)計(jì)[J].廣東通信技術(shù),2011,31(10):45-48
[2] 王預(yù).物聯(lián)網(wǎng)的發(fā)展及應(yīng)用研究[J].金陵科技學(xué)院學(xué)報(bào),2010,26(3):31-35
[3] 何國(guó)泉,李躍忠,黃志紅.基于HCI層的單片機(jī)對(duì)藍(lán)牙模塊的控制[J].科技廣場(chǎng),2005(1):43-46
[4] 吳敏,劉旭明.基于A(yíng)T89S52單片機(jī)的火災(zāi)自動(dòng)報(bào)警系統(tǒng)的仿真設(shè)計(jì)[J].金陵科技學(xué)院學(xué)報(bào),2013,29(3):29-33
[5] 田亮,何培祥,李慶東,等.新型智能紅外線(xiàn)防盜系統(tǒng)設(shè)計(jì)[J].激光與紅外,2006,36(7):580-581
[6] 喬玉潔,徐軍庫(kù).M2M的發(fā)展?fàn)顩r與未來(lái)[J].計(jì)算機(jī)科學(xué),2012,39(z1):80-82