歐陽元東
(東莞理工學校,廣東 東莞523000)
協(xié)警是協(xié)助警察維持地方治安的工作人員,他們工作主要是外出巡邏。警務區(qū)安排協(xié)警外出巡邏,協(xié)警必須在指定的時間巡邏到某個巡邏點,了解巡邏點的治安情況,及時把治安點的情況傳輸?shù)椒掌?,服務器能保存巡邏點的治安狀況和協(xié)警巡邏的簽到信息。
管轄區(qū)內(nèi)的每個治安巡邏點有二維碼。協(xié)警巡邏到一個巡邏點,利用智能手機設別巡邏點二維碼,添加巡邏點治安狀況,添加協(xié)警本人信息后傳輸給服務器。服務器接收到巡邏點的信息后,保存好。這樣協(xié)警就完成了巡邏點的簽到。
設Ai為某警務區(qū)的某個轄區(qū),Bi為轄區(qū)中的某個巡邏點,Ci為某個巡邏小組,Di為某個巡邏時間段。這樣AiBiCiDi就可以表示巡邏點的簽到信息。
本文描述的協(xié)警巡邏管理系統(tǒng)就是基于Android[1]平臺,通過智能手機端識別二維碼技術,達到協(xié)警巡邏電子簽到等功能的MIS系統(tǒng)。
本系統(tǒng)里采用客戶端/服務器(C/S)架構模式[2],服務器完成數(shù)據(jù)的管理和對遠程的服務請求做出響應,客戶端是請求獲得數(shù)據(jù)的終端,并把數(shù)據(jù)傳輸?shù)椒斩?。本系統(tǒng)中的客戶端主要是智能手機,系統(tǒng)客戶端選用Android操作系統(tǒng)。客戶端主要完成的功能有登錄、注冊、二維碼的設別和傳輸?shù)饶K;服務器端完成用戶管理,查詢管理,統(tǒng)計管理,二維碼生成和數(shù)據(jù)管理。
功能模塊設計:
系統(tǒng)的功能模塊有服務端和客戶端,在服務器端系統(tǒng)的功能模塊包括用戶管理,查詢,統(tǒng)計,數(shù)據(jù)導出,二維碼生成??蛻舳耍ㄖ悄苁謾C)功能包括信息存儲,信息傳輸,二維碼設別。
1)用戶管理模塊
用戶管理模塊包括用戶的增刪改,用戶信息查詢等功能。
2)查詢(統(tǒng)計)模塊
查詢模塊包括按用戶查詢,按巡邏時間查詢,按巡邏點查詢,按巡邏人員查詢,按轄區(qū)查詢。統(tǒng)計模塊包括按巡邏點統(tǒng)計,按巡邏人員統(tǒng)計,按巡邏時間段統(tǒng)計等。
3)二維碼生成模塊
二維碼生成包括二維碼生成前信息點采集,二維碼生成和二維碼輸出。
4)協(xié)警簽到模塊
協(xié)警簽到模塊包括二維碼設別,巡邏點治安狀況、巡邏時間和巡邏人員信息的添加。協(xié)警巡邏簽到信息=二維碼設別信息+巡邏點治安狀況信息+巡邏時間信息+巡邏人員信息。
數(shù)據(jù)庫的內(nèi)容和結構決定了系統(tǒng)的功能和質量,直接影響用戶對系統(tǒng)使用。本系統(tǒng)中數(shù)據(jù)庫對眾多的業(yè)務提供數(shù)據(jù)支撐,依據(jù)系統(tǒng)設計需求考慮到數(shù)據(jù)庫系統(tǒng)的穩(wěn)定、數(shù)據(jù)庫的性能、成本等因素,我們選擇了SQLServer2005[3]。
系統(tǒng)數(shù)據(jù)表有:二維碼表,協(xié)警人員表,巡邏簽到表,用戶表。各表的字段如下:
字段:PASSWORD,NAME,SEX,ROLE,PWD。
字段:SN,NODE,SORT,CAPACITY,USERCODE,ISPRINT。
字段:SN,NODE,MENO_OK,CREATETIME,X_NAME,MENO_TEXT。
字段:NO,NAME,SEX,AGE,EMAIL,NOTE。本文采用SQL Server 2005數(shù)據(jù)庫中的創(chuàng)建向導來創(chuàng)建數(shù)據(jù)庫,服務器中心的數(shù)據(jù)庫名稱為XJGL.MDF,日志文件為XJGL.LOG。
QR二維碼的生成過程,第一步:把Position Detection圖案畫在三個角上,第二步:把Alignment圖案畫上,第三步:安裝Timing Pattern的線,第四步:填好Formation Information,圖中的藍色部分,第五步:填寫Version Information(版本7以后需要這個編碼),下圖中的藍色部分,第六步:填充最終編碼,最終編碼的填充方式如下:從左下角開始沿著紅線填我們的各個bits,1是黑色,0是白色。如果遇到了上面的非數(shù)據(jù)區(qū),則繞開或跳過,第七步:掩碼圖案,圖填好后,有些點并不均衡,還要做Masking操作。Mask過后的二維碼就成最終的圖碼。
本系統(tǒng)二維碼的生成在服務端,用JAVA實現(xiàn),我們編寫了public static Bitmap createQRCode(String str,int widthAndHeight)的 方 法 實 現(xiàn)它。其中參數(shù)str是二維碼包好的文本信息,widthAndHeight表達的是二維碼的大小。
二維碼識別是系統(tǒng)的重要功能,在手機上實現(xiàn)圖像的采集是重要的一步。在Android平臺上,用Camera類來完成攝像頭的調(diào)用和圖像采集,獲得攝像頭的圖像數(shù)據(jù)。為了能夠較快地獲得清晰的圖像,提高識別速度,系統(tǒng)采用了自動對焦技術。后臺對攝像頭傳過來的圖像數(shù)據(jù)進行解碼處理,如果能夠解析出來,則對焦調(diào)用有效,攝像頭回傳圖像數(shù)據(jù)調(diào)用等將新停。如果解析不成功,則繼續(xù)輪回調(diào)用。
QR Code編碼的解碼過程:第一步:啟動相機,實現(xiàn)對焦,開始識別符號圖像信息,識別黑自相間的陣列。第二步:識別版本信息,確定二維碼的版本。第三步:判斷解碼是否正確,正確則通過處理掩模圖形陣列中的編碼區(qū)域來消除掩模。第四步:恢復數(shù)據(jù)和糾錯碼字,根據(jù)模塊排列規(guī)則,識別符號字符信息。第五步:通過和糾錯等級信息相應的糾錯碼字進行錯誤檢查,如果發(fā)現(xiàn)錯誤,則立即糾錯處理。第六步:按照使用的模式進行譯碼,并依據(jù)在數(shù)據(jù)碼字中得到模式指示符和字符計數(shù)指示符,最后得出數(shù)據(jù)字符并輸出結果。系統(tǒng)使用public void handleMessage(Message message)處理二維碼的識別。
手機客戶端與服務器端需通過網(wǎng)絡進行數(shù)據(jù)交換。進行數(shù)據(jù)交換需實現(xiàn)以下兩個要求,第一是Android客戶端對服務器端實現(xiàn)網(wǎng)絡訪問;第二是服務器端數(shù)據(jù)庫連接必須打開。實現(xiàn)了這兩個要求后,客戶端與服務器端就可以實現(xiàn)數(shù)據(jù)的交換,數(shù)據(jù)的交換包括客戶端向服務器端提出查詢請求,服務器端反饋查詢信息;客戶端向服務器端發(fā)送寫入請求,服務器端寫入數(shù)據(jù),并反饋寫入成功與否的信息等。
協(xié)警協(xié)助警察管理治安已經(jīng)成為社會治安工作的特色。如何高效地管理好這只龐大的輔警隊伍是每個基層警務區(qū)需要考慮的問題。本系統(tǒng)的開發(fā)費用不高,時效性好,通用性強,系統(tǒng)稍加修改,就可以應用到其他省市的基層警務區(qū)。
[1]李啟冬,等,編.工信部信息行業(yè)職業(yè)技能鑒定指導中心MIT“移動互聯(lián)網(wǎng)專業(yè)技能認證培訓”指定教材:移動互聯(lián)網(wǎng)技術與應用[M].
[2]靳巖,姚尚郎.Android開發(fā)入門與實踐[M].北京:人民郵電出版社,2009.
[3]袁永林,寧義,汪海波,等.SQL Server 2005中文版數(shù)據(jù)庫管理與開發(fā)從入門到精通[M].北京:清華大學出版社,2007.