基于Android平台的保险箱异动监控系统的设计
3 监控客户端的设计与实现
Android智能手机在硬件上有CPU等设备,在系统运行上有更高的数据处理能力。利用智能手机对数据处理能力,结合保险箱异动监控系统可以实现对保险箱定位,图片显示,远程拍照等应用,从而进一步提高整个监控系统的运行效率。
3.1 监控客户端的设计
作为保险箱监控系统的移动客户端,Android智能手机在功能上主要实现用户登录,保险箱定位,实时图片显示,主动拍照等功能,同时为了能满足客户端程序的可移植性,在客户端程序上还设计了用户配置的辅助功能。手机客户端与服务器采用C/S(Client/Server)客
户端服务器架构进行设计开发。为了程序的可移植性,手机客户端软件不直接跟监控设备连接。手机客户端采用HTTP(Hypertext Transport Protocol)超文本传送协议和SOAP(Simple Object Access Protocol)简单对象访问协议同Web服务器通信来进行数据交互。客户端功能设计如图3所示。本文引用地址://m.amcfsurvey.com/article/159334.htm
当保险箱受到外力非法破坏,倾斜后会自动启动GPS模块,在GPS能正常接收到卫星定位数据后把保险箱当前的位置信息不问断地发送到服务器。用户手机通过设定固定的数据请求频率请求服务器中保险箱的经度,纬度信息,同时调用高德Android地图API,达到对保险箱实时定位的功能,为用户了解保险箱去向和警察破案提供了一定的帮助。
当保险箱受到振动时保险箱自动启动摄像头拍照,将拍摄到的图片或视频存到SD卡以及通过GSM/GPRS上传到服务器,用户手机可以读取服务器上的最近图片,为用户远程的了解当前谁动过保险箱,也为报警提供了很有利的证据。
保险箱内安装湿度传感器,当保险箱内超过一定的湿度后会提醒用户。同时,用户也可以通过手机请求服务器中保险箱的湿度信息实时的查看保险箱内的潮湿度,方便用户更好地管理保险箱内贵重物品,使贵重物品不易被受潮损坏。
远程拍照是用户通过手机调用系统内短信发送功能,向摄像头发送启动拍照指令。摄像头收到指令后开始拍照,并同时向服务器发送拍照图片信息。这样用户可以通过手机随时地拍照保险箱前的环境,了解保险箱的状态。
用户登录后可以查看个人信息,可以选择保险箱号,了解自己某一个保险箱当前状态。同时,可以查看当前版本号和对系统的更新操作。
通过对服务器地址和数据元等信息的配置,从一定程度上提高了系统的移植性。
对于整个系统,对于保险箱位置信息的获取可以提供系统的其他模块进行利用,比如超出一定范围触发报警,启动蜂呜器。实时图片功能,箱内潮湿度功能和远程拍照功能增强了监控中心对保险箱的监控力度,提高了预警率,降低了误警率。随着手机功能的不断增强,利用手机可以实现的功能还有很多,资源还待利用,功能还待完善。
3.2 监控客户端的实现
从客户端主要功能上看,手机主要需要用到地图调用,图片操作,远程调用摄像头,手机与服务器之间数据的交互。
保险箱定位地图采用的是高德地图。在Android应用程序中使用高德地图API的步骤如下:
(1)创建工程,并在工程Build Path>ConfigureBuild Path...>Libraries中选择“Add External JARs…”,选定MapApi.iar,点击OK,这样就可以将高德地图Android API库文件引入。
(2)在工程Build Path>Configure Build Path…>Order and Export中将引入的库文件MapApi.iar选中,点击OK,这样可以在Android应用程序中使用高德地图API了。
地图图片的显示利用Android中View类来实现。地图的显示基于一个图层管理器上,每张图片的显示都是由多个图层组成,每个图层都由View构成。通过建立Canvas画布来显示高德地图,保险箱位置等信息,同时利用图片的放大缩小系数实现图片的放大缩小和地图坐标的改变实现图片移动等图片处理功能。
实时图片和远程拍照功能都是通过调用监控设备上的摄像机模块来实现的。远程拍照功能以短信指令向监控设备发送,监控设备接收到短信,解析短信内容后,启动摄像头拍照。之后获取拍照图片跟实时图片功能机制一样。当摄像头拍照后,监控设备将图片数据信息以字符输出流的形式保存到SD卡,同时以GSM/GPRS方式发送到服务器,服务器接收到相应的字符流后以规定的协议把图片数据转成相应的图片并存到指定的位置上,手机从服务器指定的位置获取相应的图片。这样,用户手机实现了实时图片的获取和远程拍照功能。手机终端与服务器间的通信的数据格式采用XML(Extensible Markup Language)可扩展标记语言格式,手机通过HTTP和SOAP方式与服务器进行数据交互。手机界面设计和界面间的转换主要是通过Activity类来实现,每个界面采用一个Activity类进行界面UI设计,同时通过利用Intent类中的setClass方法对页面间的转换进行设置,并通过startActivity来实现页面间的转换。
3.3 系统功能展示
保险箱异动监测系统很有实用意义,基于保险箱异动监测系统功能的实现还能衍生出更多的应用,比如公司保险柜安防,银行保险柜安防等等。目前,该系统已经在实验室进行了测试,客户端软件安装在Android手机上,通过WiFi接入到无线局域网中与服务器建立连接,可实现远程查看保险箱位置,获取实时图片,查看保险箱潮湿度,远程拍照等操作。监控客户端界面如图4所示,其中左边的是保险箱定位界面,右边的是实时图像拍照界面。保险箱定位界面中红圈表示保险箱当前的位置,同时通过对手机的操作可以对图片进行放大缩小功能,使用户更加清楚地知道保险箱所处的位置。实时图像拍照界面中的图像表示保险箱发生振动报警时记录下来的情景。
4 结语
通过对整个保险箱异动监控系统的介绍,对手机监控功能进行设计,开发了一套基于C/S模式的保险箱异动监控系统Android手机客户端程序。程序通过HTTP和SOAP与服务器进行数据交互,并对系统数据进行分析和展现。通过对系统的设计,一方面推广了Android智能手机等移动设备的应用领域,另一方面也增强了保险箱监测系统的监控力度。该保险箱异动监控系统能让用户全面及时地远程观察保险箱情况,并可在异常情况发生时自动发出报警,捕捉犯罪现场证据,及时地提醒用户,这体现了监控系统与物联网的融合。此监控系统具有良好的便携性,预警率高,误警率低,功能较为完善。
评论