徐紅江++錢宇豪++朱晶晶++沈微微++劉杰
摘要:針對(duì)電話報(bào)警不及時(shí)、不可靠的問題,設(shè)計(jì)開發(fā)了一款基于Android的一鍵智能報(bào)警系統(tǒng)。移動(dòng)互聯(lián)網(wǎng)應(yīng)用廣泛,智能手機(jī)已普及,Android系統(tǒng)占比很大。在Android終端采用多模式融合的定位方法,實(shí)現(xiàn)了警民瞬時(shí)聯(lián)動(dòng)的安防體系。
關(guān)鍵詞:移動(dòng)互聯(lián)網(wǎng);智能定位;一鍵報(bào)警;Android
DOIDOI:10.11907/rjdk.161618
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2016)009007903
基金項(xiàng)目基金項(xiàng)目:2016年宿遷學(xué)院大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目(2016);宿遷市科技計(jì)劃項(xiàng)目(S201410,Z201445)
作者簡(jiǎn)介作者簡(jiǎn)介:徐紅江(1993-),男,江蘇鹽城人,宿遷學(xué)院信息工程學(xué)院學(xué)生,研究方向?yàn)锳ndroid應(yīng)用開發(fā);錢宇豪(1993-),男,江蘇蘇州人,宿遷學(xué)院信息工程學(xué)院學(xué)生,研究方向?yàn)锳ndroid應(yīng)用開發(fā);朱晶晶(1995-),女,江蘇泰州人,宿遷學(xué)院信息工程學(xué)院學(xué)生,研究方向?yàn)閁I設(shè)計(jì);沈微微(1983-),女,江蘇宿遷人,碩士,宿遷學(xué)院信息工程學(xué)院講師,研究方向?yàn)閳D像處理、模式識(shí)別、數(shù)據(jù)挖掘;劉杰(1981-),男,江蘇揚(yáng)州人,碩士,宿遷學(xué)院信息工程學(xué)院講師,研究方向?yàn)橛?jì)算機(jī)軟件及應(yīng)用、物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)絡(luò)。
0引言
安全事故是一個(gè)嚴(yán)重的社會(huì)問題。根據(jù)相關(guān)數(shù)據(jù)分析,這方面主要問題有:①報(bào)警不及時(shí),錯(cuò)過最佳救援時(shí)機(jī),受害人不能得到及時(shí)救助;②案發(fā)地點(diǎn)隨機(jī),無(wú)法及時(shí)有效獲取事發(fā)地的位置信息,救援不能及時(shí)響應(yīng)[13]。
本文設(shè)計(jì)開發(fā)了一款基于Android的一鍵智能報(bào)警系統(tǒng),不僅簡(jiǎn)化了報(bào)警流程,而且具有自動(dòng)定位功能,文字、圖片、視頻等信息可一鍵上傳,在一定程度上避免了報(bào)警不及時(shí)、不可靠的弊端。接警終端通過手機(jī)可以直觀顯示報(bào)警地點(diǎn),民警可通過手機(jī)路線導(dǎo)航出警,可達(dá)到快速出警要求。
1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)由Android報(bào)警客戶端、Android接警客戶端和接警后臺(tái)3部分組成。當(dāng)用戶遇到危險(xiǎn)時(shí),使用報(bào)警手機(jī)客戶端自動(dòng)定位,選擇報(bào)警類型與等級(jí),點(diǎn)擊短信、照片、錄音或視頻報(bào)警中的一種,系統(tǒng)自動(dòng)通過網(wǎng)絡(luò)發(fā)送信息給接警中心,服務(wù)器與接警客戶端同步監(jiān)聽并接收?qǐng)?bào)警信息。警務(wù)人員在接警客戶端可快捷查看報(bào)警信息、出事地點(diǎn)位置及導(dǎo)航路線。系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。
2報(bào)警系統(tǒng)關(guān)鍵技術(shù)分析
2.1系統(tǒng)實(shí)時(shí)性
報(bào)警系統(tǒng)對(duì)數(shù)據(jù)發(fā)送和接收的實(shí)時(shí)性、準(zhǔn)確性要求很高,本系統(tǒng)設(shè)計(jì)采用多線程機(jī)制,保證各子模塊及時(shí)并行完成任務(wù),采用Android自帶v4包里的SwipeRefreshLayout類實(shí)現(xiàn)下拉刷新。報(bào)警客戶端包括GPS定位線程、發(fā)送短信線程及數(shù)據(jù)上傳線程。本系統(tǒng)采用移動(dòng)網(wǎng)輔助GPS定位技術(shù),定位時(shí)間受網(wǎng)絡(luò)環(huán)境和信號(hào)強(qiáng)度的影響,在網(wǎng)絡(luò)和信號(hào)環(huán)境差的情況下,定位時(shí)間較長(zhǎng)[45]。為防止定位未成功前,系統(tǒng)發(fā)送短信或上傳信息到服務(wù)器造成定位信息錯(cuò)誤,需要對(duì)發(fā)送短信線程和數(shù)據(jù)上傳線程進(jìn)行延時(shí)操作。
2.2定位及導(dǎo)航技術(shù)
系統(tǒng)定位導(dǎo)航采用GPS、WiFi、基站等多種定位方式的百度地圖API,實(shí)現(xiàn)在報(bào)警端多模式融合定位,也可在接警端地圖定位、路徑規(guī)劃和導(dǎo)航,符合一鍵式智能報(bào)警系統(tǒng)需求。
使用百度地圖API,需要申請(qǐng)百度地圖API Key,否則無(wú)法獲取經(jīng)度、緯度、當(dāng)前所在位置的城區(qū)以及街道等信息[6]。此外,API中的駕車導(dǎo)航必須打開GPS才能正常使用。百度地圖Android定位SDK參數(shù)如表1所示。
2.3短信報(bào)警
本文調(diào)用系統(tǒng)短信接口發(fā)送短信,在程序內(nèi)部將短信內(nèi)容格式寫好,再根據(jù)報(bào)警時(shí)在APP中所選的信息發(fā)送給緊急聯(lián)系人和后臺(tái)服務(wù)器。在APP中調(diào)用系統(tǒng)短信接口發(fā)送短信,需要在AndroidManifest.xml文件中添加如下代碼:
2.4拍照上傳報(bào)警
調(diào)用系統(tǒng)相機(jī),使用Surface View自定義取景界面,使用Preview()方法預(yù)覽取景畫面進(jìn)行報(bào)警。拍照之前,先通過File類創(chuàng)建圖片保存路徑和保存文件夾,拍照完成后到指定路徑讀取圖片,運(yùn)用Http Client類相關(guān)方法上傳照片,服務(wù)器接收保存圖片到指定目錄并將圖片路徑存放到數(shù)據(jù)庫(kù)中。在APP中實(shí)現(xiàn)拍攝圖片并保存,需要在AndroidManifest.xml文件中添加如下代碼:
2.5錄音和視頻上傳報(bào)警
錄音是實(shí)例化MediaRecorder對(duì)象之后,調(diào)用其setAudioSource方法設(shè)置聲音來源、setOutputFormat方法設(shè)置輸出音頻格式、setAudioEncoder方法設(shè)置音頻文件的編碼等,用參數(shù)控制文件的大小、聲音的品質(zhì)。視頻錄制和音頻錄制步驟一致,不過視頻錄制要顯示采集的圖像,要在聲音來源設(shè)置后調(diào)用MediaRecorder的setPreviewDisplay方法使用SurfaceView預(yù)覽。在APP中實(shí)現(xiàn)錄音和拍視頻保存本地,需要在AndroidManifest.xml文件中添加如下代碼:
2.6獲取后臺(tái)報(bào)警數(shù)據(jù)
通過Android接警系統(tǒng)與后臺(tái)服務(wù)器的Http通信獲取后臺(tái)報(bào)警信息。Android接警系統(tǒng)發(fā)送Http請(qǐng)求給后臺(tái),在獲取到后臺(tái)返回的JSON數(shù)據(jù)后解析綁定到應(yīng)用的控件上顯示。本文使用了KJFrameForAndroid第三方框架中KJHttp的post請(qǐng)求和fastjon第三方框架中的json解析,代碼如下:
//獲取待處理報(bào)警信息數(shù)據(jù)
public void getPendingData() {
KJHttp kjh;
//在獲取數(shù)據(jù)之前,檢查網(wǎng)絡(luò)連接是否正常
if (CheckNet.isNetworkAv(getActivity())) {
mySetVisible(pending_listview);//網(wǎng)絡(luò)連接正常顯示待處理報(bào)警信息
mySetVisible(data_empty);//網(wǎng)絡(luò)連接正常,沒有數(shù)據(jù)則提示數(shù)據(jù)為空
mySetGone(network);//網(wǎng)絡(luò)連接失敗則顯示網(wǎng)絡(luò)有問題
String url = Constant.url + "/AlarmInfoAction";//訪問服務(wù)器項(xiàng)目Servlet的路徑
HttpParams params = new HttpParams();
params.put("pageNow", pageNow);//當(dāng)前頁(yè)碼
params.put("pageSize", pageSize);//獲取數(shù)據(jù)的條數(shù)
params.put("param0", "get_pending_alarm_info");//獲取的數(shù)據(jù)類型
kjh.post(url, params, false, new HttpCallBack() {
@Override
public void onSuccess(String t) {
super.onSuccess(t);
pending_datas = JSON.parseArray(t, AlarmInfo.class);//待處理報(bào)警信息,這里使用了FastJson解析 if (pending_datas.isEmpty()) {
data_empty.setVisibility(View.VISIBLE);
} else {
data_empty.setVisibility(View.GONE);
pendingAdapter = new MyAlarmInfoPendingAdp(
pending_listview, pending_datas,
R.layout.item_alarm_info);
pending_listview.setAdapter(pendingAdapter);
}
}
});
} else {
mySetGone(pending_listview);
mySetGone(data_empty);
mySetVisible(network);
}
}
在APP中訪問網(wǎng)絡(luò)并創(chuàng)建緩存,需要在AndroidManifest.xml文件中添加如下代碼:
3報(bào)警系統(tǒng)設(shè)計(jì)
3.1報(bào)警客戶端設(shè)計(jì)
報(bào)警客戶端設(shè)計(jì)了報(bào)警的一些常見描述,編輯完成后自動(dòng)保存到本地。當(dāng)用戶第一次使用APP將基本信息填寫后,登錄到報(bào)警界面,再次打開就不用二次登錄。打開系統(tǒng)(用戶允許的情況下)會(huì)自動(dòng)定位,用戶只需選擇報(bào)警類型(如車禍、火災(zāi)等)、報(bào)警等級(jí),即可通過短信、照片、錄音、視頻進(jìn)行一鍵報(bào)警。拍照?qǐng)?bào)警工作流程如圖2所示。
短信、錄音、視頻工作流程與拍照類似。另外報(bào)警用戶客戶端集成了警報(bào)模擬聲功能,當(dāng)用戶在遇到危險(xiǎn)需要求助時(shí)點(diǎn)按模擬警報(bào)聲,引起周圍人注意,在一定程度上震懾作案人。
3.2接警客戶端設(shè)計(jì)
民警登錄系統(tǒng)后,報(bào)警信息以列表形式展現(xiàn),第一時(shí)間看到當(dāng)前片區(qū)的最新報(bào)警情況,點(diǎn)擊列表子選項(xiàng)查看詳情。在詳情界面設(shè)計(jì)了接警和路徑規(guī)劃及導(dǎo)航功能。民警看到緊急警情時(shí),可自行接警以確保事故處理效率。接警流程如圖3所示。
3.3Web后臺(tái)管理設(shè)計(jì)
Web后臺(tái)由報(bào)警信息管理和警察信息管理組成,主要工作包括查看并匹配待處理信息、查看已處理信息、錄入警察信息、查看警察信息。Web后臺(tái)一直運(yùn)行在服務(wù)器上,管理員可實(shí)時(shí)監(jiān)聽報(bào)警信息。當(dāng)后端監(jiān)聽到報(bào)警信息時(shí),后臺(tái)會(huì)有報(bào)警提示音,管理員可以查看案情,匹配事發(fā)片區(qū)內(nèi)的警察,及時(shí)了解案件處理情況。
4系統(tǒng)實(shí)現(xiàn)
系統(tǒng)部分實(shí)現(xiàn)如圖4、圖5所示。測(cè)試結(jié)果表明,報(bào)警客戶端在網(wǎng)絡(luò)正常環(huán)境下室內(nèi)外定位速度均在1s以內(nèi),戶外打開GPS報(bào)警平均精度達(dá)到10m以內(nèi),室內(nèi)報(bào)警平均精度達(dá)到60m。接警客戶端可以接收處理多條報(bào)警信息,詳細(xì)信息顯示正常、報(bào)警人位置顯示準(zhǔn)確、多種路徑規(guī)劃線路顯示正常、駕車導(dǎo)航使用正常。
5結(jié)語(yǔ)
基于Android的一鍵智能報(bào)警系統(tǒng),結(jié)合百度地圖API實(shí)現(xiàn)多模式融合定位,運(yùn)用Android SDK實(shí)現(xiàn)短信息發(fā)送、拍照、音視頻錄制及存儲(chǔ),以及上傳文件到接警后臺(tái)服務(wù)器,將報(bào)警端、接警端、后臺(tái)服務(wù)器3者結(jié)合在一起,實(shí)現(xiàn)實(shí)時(shí)通信。系統(tǒng)結(jié)構(gòu)合理、操作簡(jiǎn)單、測(cè)試效果良好,有效解決了報(bào)警人無(wú)法提供準(zhǔn)確位置的問題,為出警提供了最優(yōu)路徑規(guī)劃,為快速高效處警提供了很好的解決方案。
參考文獻(xiàn)參考文獻(xiàn):
[1]楊恒,魏丫丫,李彬,等.定位技術(shù)[M].北京:電子工業(yè)出版社,2013.
[2]肖云濤,歐林林,俞立.基于線性時(shí)序邏輯的最優(yōu)巡回路徑規(guī)劃[J].自動(dòng)化學(xué)報(bào),2014(10):21262133.
[3]陳韶飛,張炯,李俊.一種新型反恐防暴機(jī)器人的概念化設(shè)計(jì)[J].廣西科技大學(xué)學(xué)報(bào),2015(9):6567.
[4]吳麗淳,樊爽.基于安卓平臺(tái)的手機(jī)定位軟件開發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2014(9):9598.
[5]劉洺辛,孫建利.基于能效的WLAN室內(nèi)定位系統(tǒng)模型設(shè)計(jì)與實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2014(5):11691178.
[6]丁一,金華,李允俊.基于Android與百度地圖的智能報(bào)警系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(3):3942.
責(zé)任編輯(責(zé)任編輯:杜能鋼)