基于Android平台的协警巡逻管理系统设计和实现
2014-08-15欧阳元东
欧阳元东
(东莞理工学校,广东 东莞523000)
1 协警电子签到的流程
协警是协助警察维持地方治安的工作人员,他们工作主要是外出巡逻。警务区安排协警外出巡逻,协警必须在指定的时间巡逻到某个巡逻点,了解巡逻点的治安情况,及时把治安点的情况传输到服务器,服务器能保存巡逻点的治安状况和协警巡逻的签到信息。
管辖区内的每个治安巡逻点有二维码。协警巡逻到一个巡逻点,利用智能手机设别巡逻点二维码,添加巡逻点治安状况,添加协警本人信息后传输给服务器。服务器接收到巡逻点的信息后,保存好。这样协警就完成了巡逻点的签到。
设Ai为某警务区的某个辖区,Bi为辖区中的某个巡逻点,Ci为某个巡逻小组,Di为某个巡逻时间段。这样AiBiCiDi就可以表示巡逻点的签到信息。
本文描述的协警巡逻管理系统就是基于Android[1]平台,通过智能手机端识别二维码技术,达到协警巡逻电子签到等功能的MIS系统。
2 协警巡逻管理系统的功能框架
本系统里采用客户端/服务器(C/S)架构模式[2],服务器完成数据的管理和对远程的服务请求做出响应,客户端是请求获得数据的终端,并把数据传输到服务端。本系统中的客户端主要是智能手机,系统客户端选用Android操作系统。客户端主要完成的功能有登录、注册、二维码的设别和传输等模块;服务器端完成用户管理,查询管理,统计管理,二维码生成和数据管理。
功能模块设计:
系统的功能模块有服务端和客户端,在服务器端系统的功能模块包括用户管理,查询,统计,数据导出,二维码生成。客户端(智能手机)功能包括信息存储,信息传输,二维码设别。
1)用户管理模块
用户管理模块包括用户的增删改,用户信息查询等功能。
2)查询(统计)模块
查询模块包括按用户查询,按巡逻时间查询,按巡逻点查询,按巡逻人员查询,按辖区查询。统计模块包括按巡逻点统计,按巡逻人员统计,按巡逻时间段统计等。
3)二维码生成模块
二维码生成包括二维码生成前信息点采集,二维码生成和二维码输出。
4)协警签到模块
协警签到模块包括二维码设别,巡逻点治安状况、巡逻时间和巡逻人员信息的添加。协警巡逻签到信息=二维码设别信息+巡逻点治安状况信息+巡逻时间信息+巡逻人员信息。
3 数据库设计
数据库的内容和结构决定了系统的功能和质量,直接影响用户对系统使用。本系统中数据库对众多的业务提供数据支撑,依据系统设计需求考虑到数据库系统的稳定、数据库的性能、成本等因素,我们选择了SQLServer2005[3]。
系统数据表有:二维码表,协警人员表,巡逻签到表,用户表。各表的字段如下:
3.1 信息表(SA_USERS)
字段:PASSWORD,NAME,SEX,ROLE,PWD。
3.2 二维码表(TWO_CODE)
字段:SN,NODE,SORT,CAPACITY,USERCODE,ISPRINT。
3.3 签到信息表(INSPECTION)
字段:SN,NODE,MENO_OK,CREATETIME,X_NAME,MENO_TEXT。
3.4 协警信息表(P_ASS_MAN)
字段:NO,NAME,SEX,AGE,EMAIL,NOTE。本文采用SQL Server 2005数据库中的创建向导来创建数据库,服务器中心的数据库名称为XJGL.MDF,日志文件为XJGL.LOG。
4 二维码生成和识别技术
4.1 QR二维码的生成过程
QR二维码的生成过程,第一步:把Position Detection图案画在三个角上,第二步:把Alignment图案画上,第三步:安装Timing Pattern的线,第四步:填好Formation Information,图中的蓝色部分,第五步:填写Version Information(版本7以后需要这个编码),下图中的蓝色部分,第六步:填充最终编码,最终编码的填充方式如下:从左下角开始沿着红线填我们的各个bits,1是黑色,0是白色。如果遇到了上面的非数据区,则绕开或跳过,第七步:掩码图案,图填好后,有些点并不均衡,还要做Masking操作。Mask过后的二维码就成最终的图码。
本系统二维码的生成在服务端,用JAVA实现,我们编写了public static Bitmap createQRCode(String str,int widthAndHeight)的 方 法 实 现它。其中参数str是二维码包好的文本信息,widthAndHeight表达的是二维码的大小。
4.2 二维码识别过程
二维码识别是系统的重要功能,在手机上实现图像的采集是重要的一步。在Android平台上,用Camera类来完成摄像头的调用和图像采集,获得摄像头的图像数据。为了能够较快地获得清晰的图像,提高识别速度,系统采用了自动对焦技术。后台对摄像头传过来的图像数据进行解码处理,如果能够解析出来,则对焦调用有效,摄像头回传图像数据调用等将新停。如果解析不成功,则继续轮回调用。
QR Code编码的解码过程:第一步:启动相机,实现对焦,开始识别符号图像信息,识别黑自相间的阵列。第二步:识别版本信息,确定二维码的版本。第三步:判断解码是否正确,正确则通过处理掩模图形阵列中的编码区域来消除掩模。第四步:恢复数据和纠错码字,根据模块排列规则,识别符号字符信息。第五步:通过和纠错等级信息相应的纠错码字进行错误检查,如果发现错误,则立即纠错处理。第六步:按照使用的模式进行译码,并依据在数据码字中得到模式指示符和字符计数指示符,最后得出数据字符并输出结果。系统使用public void handleMessage(Message message)处理二维码的识别。
4.3 协警签到信息传输机制
手机客户端与服务器端需通过网络进行数据交换。进行数据交换需实现以下两个要求,第一是Android客户端对服务器端实现网络访问;第二是服务器端数据库连接必须打开。实现了这两个要求后,客户端与服务器端就可以实现数据的交换,数据的交换包括客户端向服务器端提出查询请求,服务器端反馈查询信息;客户端向服务器端发送写入请求,服务器端写入数据,并反馈写入成功与否的信息等。
5 结论
协警协助警察管理治安已经成为社会治安工作的特色。如何高效地管理好这只庞大的辅警队伍是每个基层警务区需要考虑的问题。本系统的开发费用不高,时效性好,通用性强,系统稍加修改,就可以应用到其他省市的基层警务区。
[1]李启冬,等,编.工信部信息行业职业技能鉴定指导中心MIT“移动互联网专业技能认证培训”指定教材:移动互联网技术与应用[M].
[2]靳岩,姚尚郎.Android开发入门与实践[M].北京:人民邮电出版社,2009.
[3]袁永林,宁义,汪海波,等.SQL Server 2005中文版数据库管理与开发从入门到精通[M].北京:清华大学出版社,2007.