陳麗珠
(福州大學 數(shù)學與計算機科學學院,福建 福州 350108)
隨著通信網絡的發(fā)展和手機的普及,人與人之間只是一個網絡的距離,隨著物聯(lián)網技術[1]的發(fā)展,人與物之間也將只是一個網絡的距離,物體的防丟防盜管理將有重要的意義。目前的防丟防盜設備多數(shù)基于無線通信原理[2]或紅外線與GSM通信原理[3-4],實現(xiàn)近距離防丟防盜警報或單純的紅外人體檢測警報。鑒于此,本文結合現(xiàn)有的北斗二代定位技術[5]、GSM網絡通信技術,在Android智能手機上實現(xiàn)防丟防盜遠程智能監(jiān)控系統(tǒng)[6]。系統(tǒng)實現(xiàn)物品或人員的監(jiān)控、搜索、定位等掌上智能化管理;系統(tǒng)實現(xiàn)移動軌跡追蹤功能,區(qū)別目前的地圖軟件,可在手機端存儲用戶移動的軌跡。
北斗設備監(jiān)控端定位模塊使用的是MXTOS2-200模塊,該模塊是由北京時代民芯公司開發(fā)的GPS、BD-2雙模兼容接收機,具有低功耗、小體積、高性能等特點。該模塊提供了串口、I2C和SPI 3種通信接口,本文使用串口0,速率為 115 200 b/s。發(fā)送來的字符串為:$GPGGA,〈UTC 時間〉,〈緯度〉,〈緯度標識符 N 或 S〉,〈經度〉,〈經度標識符 E或 W〉,〈定位狀態(tài)〉,〈正在使用的衛(wèi)星數(shù)量〉,〈HDOP 水平精度因子〉,〈海拔高度〉,〈地球橢球面相對大地水準面的高度〉,〈差分時間〉,〈差分站 ID號〉,〈校驗值〉。截取經緯度信息,根據經緯度距離公式(見4.2節(jié))計算距離,從而判斷其是否脫離監(jiān)控范圍。
Android平臺有著嚴格的安全機制,位置服務、手機地圖服務等操作需在AndroidManifest.xml文件中申明權限。GPS要獲取ACCESS_COARSE_LOCATION、ACCESS_FINE_LOCATION等權限,百度地圖需ACCESS_NETWORK_STATE、WRITE_EXTERNA-L_STORAGE等權限。
Android手機端采用兩種數(shù)據存儲方式,一種采用SharePreference存儲,將數(shù)據存儲到文件系統(tǒng)中;另一種采用SQLite數(shù)據庫存儲。對于小數(shù)據量且不經常改變的數(shù)據采用第一種方式,比如地圖級別、北斗設備報警音效提醒、GPS更新距離等;北斗設備信息、追蹤路徑等數(shù)據量較大且經常操作的數(shù)據就采用第二種方式。其中,北斗設備數(shù)據庫設計如表1所示。
表1 北斗設備信息表
本文的整體功能設計框圖如圖1所示。
防丟防盜遠程監(jiān)控功能是通過GSM無線網絡進行通信的,本文自行擬定的通信協(xié)議如下所示。
(1)手機端監(jiān)控上鎖/解鎖指令
#LOCK,〈手機端號碼〉,〈監(jiān)控距離〉,〈蜂鳴器警報〉,〈LED燈警報〉/#UNLOCK,〈手機端號碼〉
如#LOCK,13246830424,100,1,1表示監(jiān)控距離為100 m、開啟蜂鳴器和LED燈警報。
(2)北斗設備端經緯度位置請求指令
圖1 系統(tǒng)整體功能設計框圖
手機端發(fā)送 #REQLOC,〈手機端號碼〉請求北斗設備端經緯度,北斗設備端接收到請求后,發(fā)送#REQLOC,〈經度〉,〈緯度〉指令給手機端。
(3)手機端搜索北斗設備指令
#SEARCH,〈 手機端號碼〉,〈蜂鳴器〉,〈LED 燈〉
(4)北斗設備警報指令
北斗設備端超出監(jiān)控范圍后,將發(fā)送#ALARM,〈北斗端號碼〉,〈經度〉,〈緯度〉,〈超出范圍〉指令。
北斗設備端主要是由北斗定位模塊、GSM模塊、LPC2478處理器模塊、蜂鳴器LED及按鈕模塊組成。北斗定位模塊負責位置信息服務,GSM模塊負責通信,蜂鳴器和LED燈用于警報,按鈕模塊用于緊急聯(lián)系和位置推送。流程圖如圖2所示,主要部件原理圖設計如圖3所示。
圖2 北斗設備監(jiān)控端流程圖
圖3 北斗設備主要部件原理圖
獲取兩點經緯度信息,將其轉為球面坐標,計算兩點間的一段劣弧的長度,即為移動軌跡的長度?,F(xiàn)假設獲取到兩坐標點A、B,如圖4所示。點O為球心,球面半徑為 R,球面上的點 A(lon1,lat1)、B(lon2,lat2),lon1、lon2為經度,lat1、lat2為緯度。AC、BD垂直于赤道平面,垂足分別為 C、D。
圖4 地球上兩點間球面距率
北斗設備端使用μC/OS-II操作系統(tǒng)開啟了GSM模塊、北斗經緯度模塊和按鈕中斷3個任務。北斗監(jiān)控端命令結構體如下所示。
北斗經緯度任務中通過strstr函數(shù)判斷是否接收到"$GPGGA"開頭的字符串,再通過strtok命令截取經緯度。結構體中的monCmd命令等于LOCK,且監(jiān)控狀態(tài)mon-Status等于MONITING時,通過4.2節(jié)距離公式計算移動距離。如果距離超出監(jiān)控范圍,將monStatus狀態(tài)置為 ALERT,若isLed或 isBeep等于ON,則開啟LED燈和蜂鳴器。同時構造警報信息,調用Send_SMS函數(shù)給手機監(jiān)控端發(fā)送警報。
手機端進行北斗設備端和手機端通信時,按3.2節(jié)約定的協(xié)議構造信息。手機端主要包括北斗設備增刪查改功能,北斗設備加鎖、解鎖、位置請求、搜索等功能;手機用戶或北斗設備百度地圖位置顯示、手機用戶移動軌跡記錄和查詢、刪除等功能。點擊主界面設備列表記錄可進行加解鎖、位置請求和搜索操作;點擊底部的新建按鈕可建新的監(jiān)控設備;點擊底部的系統(tǒng)設置按鈕可設置地圖顯示級別、語言報警提示等設置;點擊位置服務按鈕可查看手機用戶當前位置和按地址查詢地圖位置;點擊路徑追蹤按鈕可記錄用戶移動軌跡以及管理用戶移動的軌跡。
Android手機端軟件可安裝在Android2.1及以上版本的系統(tǒng)上,本文軟件在酷派8150手機Android2.3版本上進行測試,下面將介紹軟件的功能實現(xiàn)和測試結果。
(1)北斗設備端防丟防盜功能
北斗設備記錄以圓角列表顯示,如圖5所示;點擊列表記錄后,創(chuàng)建GridView彈出窗體,可選擇設備加解鎖、搜索、修改等操作,選擇設備加鎖和設備搜索都要進行參數(shù)設置,設備操作如圖6所示;點擊新建對象按鈕可新建設備,勾選上鎖按鈕則調用SMS模塊通知北斗設備端,如圖7所示。
(2)位置服務和路徑追蹤功能
位置服務地圖上顯示手機用戶和北斗設備位置,系統(tǒng)實現(xiàn)中SMSreceiver類繼承了BroadcastReceiver類,在onReceive方法中截獲到"#REQLOC"位置請求指令后,將啟動Intent調用地圖類顯示當前位置。
圖5 列表界面
圖6 功能操作界面
圖7 新建設備界面
路徑追蹤功能用于管理用戶移動軌跡,距離采用4.2節(jié)推導的公式,代碼實現(xiàn)為R*Math.acos(Math.sin(Lat1r)*Math.sin(Lat2r)+Math.cos(Lat1r)*Math.cos(Lat2r)*Math.cos(Long2r-Long1r))。點擊左上角按鈕可在彈出窗體中查看追蹤軌跡,如圖8所示。
圖8 查看軌跡
(3)系統(tǒng)參數(shù)設置功能
系統(tǒng)參數(shù)設置地圖默認級別、北斗設備警報語音報警和振動警報等,Menu菜單的快捷按鈕可關閉和開啟語音警報。效果如圖9所示。
圖9 參數(shù)設置
SMSreceiver類的onReceive方法中截獲北斗設備警報截獲"#ALARM"指令后,獲取語音和振動警報參數(shù),開啟相應警報;通過PendingIntent設置警報通知內容和運行的 Intent;最后,調用 NotificationManager類中的notify發(fā)送警報通知欄消息。手機用戶點擊通知欄警報可查看警報信息,如圖10所示。
圖10 警報通知
隨著北斗定位技術和物聯(lián)網技術的發(fā)展,物體快速定位將非常方便,物品的遠程智能化防丟防盜管理有著重要意義。本系統(tǒng)還可以用來監(jiān)控小孩和老人,當小孩跑離監(jiān)控范圍后,系統(tǒng)馬上向家長發(fā)送警報,防止孩子走丟,可通過位置請求服務實時了解他們的位置動態(tài)。在將來人與物品都網絡化的社會中,掌上智能防丟、防盜管理只需一掌的距離便可掌握各方動態(tài)。
[1]顧征宇.廣電物聯(lián)網智能家居體系設計[J].物聯(lián)網技術,2012(11):60-62.
[2]王嘯東,尤鳳翔.基于單片機的智能防丟器系統(tǒng)設計[J].河 南 科 技,2011(11):61.
[3]任杰.基于彩信的無線紅外防盜報警系統(tǒng)的硬件設計[D].天津:河北工業(yè)大學,2007.
[4]張曄.基于紅外檢測與GPS坐標變化判據的電力設施防盜裝置[D].長春:吉林大學,2011.
[5]黃建華,吳升.面向北斗二代終端的導航地圖更新框架[J].福州大學學報(自然科學版),2012,40(3):347-351.
[6]ABUZALATA M,MOMANI M,FAYYAD S,et al.A practical design of anti-theft car protection system based on microcontroller[J].American Journal of Applied Sciences,2012,9(5):709-716.