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