您的位置首页>硬件>

基于Android开发技术实现安全检查系统的设计

导读大家好,我是极客范的本期栏目编辑小友,现在为大家讲解基于Android开发技术实现安全检查系统的设计问题。随着电子通信技术的不断发展,尤

大家好,我是极客范的本期栏目编辑小友,现在为大家讲解基于Android开发技术实现安全检查系统的设计问题。

随着电子通信技术的不断发展,尤其是安卓开发技术的快速发展,移动终端不再仅仅是通信网络终端,而是朝着多功能、智能化的方向发展。越来越多的移动终端拥有智能操作系统,终端与互联网的无缝连接有了更广阔的发展空间。面对当前工作量大、成本高、检测复杂、耗时长的现状,提出了一种基于智能移动终端的安全巡检系统,有效解决了上述问题,提高了矿井安全巡检的信息化水平。

目前,随着国家对矿业安全生产的重视,矿业把加强企业安全生产和安全管理作为日常管理的重点。安全检查是矿山安全管理中极其重要的一部分。常用的方法是发现和查找各种危险和隐患,监督各种安全规章制度的执行,及时发现和制止违法行为。由于该检查表可以提前准备和实施,自20世纪30年代应用以来,已发展成为预测和预防事故的重要手段。根据多年的经验,矿业公司设计了200多份能够充分反映矿山安全状况的检查表,这些检查表分为以下四类:H1-岗位日常安全检查表;H2-特种作业安全检查表;H3-设备和设施的特殊安全检查表;H4-特殊过程安全检查表。通过对检查表的定期检查和结果分析,可以对矿井安全进行定性和综合评价,以确定其安全状态。

安全检查表有很多优点,如提前准备,系统科学,不遗漏任何可能导致事故的因素,准备绘制和分析故障树;安全检查表还可以与安全生产责任制相结合,针对不同的检查对象使用不同的安全检查表,便于区分责任,提出改进措施并进行检验。它建立在原有的安全检查基础和安全系统工程的基础上,易学易掌握,符合我国目前的实际情况,为安全预测和决策提供了坚实的基础。然而,由于安全检查表数量庞大,给定性分析带来了诸多不便。目前,使用安全检查表的方式是将纸质版带到现场检查,然后将结果输入计算机进行统计分析。这样,一方面会大大增加检查人员的负担,使得安全检查表的电子化管理难以深化;另一方面,它将不能及时对有问题的检查项目发出警报。

因此,本项目设计了基于智能移动终端的安全巡检系统,利用手持终端设备进行现场巡检,并将巡检结果及时上传至服务器数据库。通过分析检查信息,安全管理人员可以对矿井安全进行综合评价,确定其安全状态。

1安卓平台及系统设计思路。

1.1安卓平台架构介绍。

安卓是谷歌开发的基于Linux的开源手机开发平台,包括操作系统、用户界面和应用程序,不存在过去阻碍移动行业创新的专有权壁垒。安卓平台自下而上由以下四层组成:Linux内核层、运行时库和其他库层、应用框架层和应用程序层[1-2]。图1展示了Android平台的架构图。

1.2系统设计思路。

该系统运行在安卓智能移动系统上,采用B/S架构,实现与“安全信息管理与险情预警系统”(为某矿业公司开发的集安全管理与预警于一体的信息系统)无缝连接;

(1)数据存储:在移动终端设备上,选择嵌入式数据库系统SQLite保存一份移动数据的拷贝,保证系统在移动终端上的正常离线运行。其结构设计与“安全信息管理与危险预警”的“安全检查”模块中的数据库设计基本相同

(2)在数据传输方面,采用了Http Socket,实现了本系统与服务器端“安全信息管理与危险预警系统”中心数据库的交互和同步。同时,由于JSON是一种操作简单、性能可靠的轻量级XML数据交换方式,因此采用JSON技术组织数据,实现与服务器数据库的传输,在服务器端完成相关数据的实时更新。

(3)当多个移动终端同时提交数据时,服务器使用线程池来监控每个数据传输端口。只要有移动终端进行数据传输,服务器就可以从线程池中激活一个空闲线程来接收数据,从而实现多个智能移动终端的并行数据传输。

(4)在权限管理方面,采用不同矿区智能感知WiFi的方式,显示对应矿区的安全检查表,有效保证了检查人员到达现场时只能有权限进行安全检查,避免了检查人员在办公室直接查看检查表内容。

(5)如果安全检查人员在现场检查时遇到不合格项,可以对不合格项进行拍照并上传到服务器中心的数据库,让地面安全管理人员更准确、更真实地了解地下矿山。

井情况并及时作出反应。

2 系统总体设计

2.1 系统网络架构设计

本系统运行于无线网络基础之上,其网络拓扑结构如图2所示。其中,为了方便,本系统的Web服务器与“安全信息管理与危险预警系统”服务器运行于同一台机器上。

2.2 系统功能设计

“基于智能移动终端的安全检查系统”主要用于完成“安全信息管理与危险预警系统”中安全检查信息的采集,其功能结构图如图3所示,主要实现检查人员登录、安全检查表录入、安全检查表保存、安全检查表提交、安全检查表批量提交、安全检查表删除、安全检查表查询、异常情况摄像处理、WiFi感知处理等功能。

当用户进行安全检查时,运行本系统进入登录界面,输入相应的员工编号与密码。如果登录,则系统自动感应安全信息检查人员所在区间WiFi信号,以便显示对应的安全检查表,这使得安全检查人员必须在相应的检查矿区才能填写安全检查表,同时,检查过程中,如果有异常情况,可以直接摄像,并与检查信息一起保存并提交中心数据库。检查表填写好后,安全检查人员根据所在网络是否正常决定是否提交检查表。如果网络不正常,安全信息采集人员可以将检查表信息保存在移动终端本地,待网络正常后提交;如果网络正常,则可以直接提交中心数据库,并自动保存一个副本在移动终端本地,另外,只有具备一定权限的管理人员才可以删除检查表。运行流程如图4所示。

3、 关键技术实现

3.1 Socket数据通信的实现

本系统基于Android操作系统开发。系统采用SQLite数据库保存安全检查信息,SQLiteDatabase和SQLilteOpenHelper对象封装了操作SQLite数据的各种方法,系统通过调用其方法来操作数据库以实现数据的保存、显示等功能。

当用户采集完安全检查信息进行数据提交时,系统创建一个Socket对象来建立与服务器的通信连接,通过Socket对象获取输入、输出流与服务器端进行数据交互。为了很好地组织传输数据格式,系统采用JSON技术,JSON是一种轻量级的数据交换格式,按照“名称/值对”的形式组织数据。系统通过创建一个JSON数组对象来组织要传输的数据,最后通过Socket对象将JSON数据传输到服务器端。客户端Socket创建核心代码如下所示:

Socket socket = new Socket(InetAddress,int post);

//创建Socket对象

//获取输入输出流对象

DataInputStream in = new DataInputStream

(socket.getInputStream());

DataOutputStream out = new DataOutputStream

(socket.getOutputStream ());

//创建JSON数组对象来封装传输数据

JSONArray json = new JSONArray();

//创建ContentValues对象存储“名称/值对”

ContentValues values = new ContentValues();

服务器端通过开启一个主线程来监听数据传输端口,当服务器端主线程监听到端口有客户端连接请求时,服务器端就会创建一个线程池对象,并从中提取一个闲置的线程来管理用户连接请求并与客户端数据传输交互之间的管理,这很好地实现了服务器端支持多用户并行传输数据的功能。服务器端核心代码如下:

//创建主线程监听8070数据传输端口

new Thread(new Runnable(){

public void run(){

try{/创建一个数据接收处理对象

new Server(8070);

}catch(ExcepTIon e){……}

}

}).start();

//数据接收处理类内部核心代码:

Public Server(int port){

//创建ServerSocket对象监听数据端口

server = new ServerSocket(port);

//通过ServerSocket对象得到Socket对象

socket = server.accept();

//创建线程池,池中具有(cpu个数*50)条线程

excutorService=Executors.newFixedThreadPool

(RunTIme.getRunTIme().availableProcessors()*50);

//为了支持多用户并发访问,采用线程池管理每个用户的

连接请求

excutorService.execute(new SocketTask())

} //数据处理类构造函数

3.2 WiFi感应技术的实现

系统为了保证安全检查人员进行现场采集安全检查信息,采用WiFi感应技术来感应不同矿区的WiFi,并通过不同矿区的WiFi绑定数据中对应矿区的安全检查表来显示对应检查表。这实现了WiFi自动感应检查表功能,从而保证了安全检查信息采集的真实性、可靠性,为后期定性分析矿山综合状况提供重要保障。WiFi感应技术核心代码:

//通过WifiAdmin类创建一个WiFi操作对象

public WifiAdmin(Context context){

//通过调用系统服务获取一个WiFi管理对象wifiManager

wifiManager = (WifiManager)context.getSystemService

(Context.WIFI_SERVICE);

//通过wifiManager对象获取一个WiFi信息对象

wifiInfo = wifiManger.getConnecTIonInfo();

}

程序通过wifiManger和wifiInfo两对象的相关方法来操作终端设备WiFi,实现感应连接矿区附近WiFi。

4、 系统运行与特点

安全检查是安全管理的重要内容,是识别和发现不安全因素、揭示和消除事故隐患、加强防护措施、预防事故和职业危害的重要手段。而安全检查系统是运行在智能移动终端的智能安全信息采集系统,图5是运行在智能移动终端的安全检查系统图,其中,每条检查项后面的小图标表示进行摄像处理。

本文介绍了Android智能操作系统和系统总体设计,着重分析了HttpSocket通信技术的实现。在HttpSocket通信采用JSON技术进行组织通信数据,为了支持多用户并行传输数据,服务器端采用线程池来监听数据传输端口,实现对每个用户连接的请求管理,同时讲解了WiFi感应技术的实现。使系统成为一个智能的矿山信息采集系统。随着通信技术的迅猛发展,我国将会更加重视安全检查的信息化、智能化,基于智能移动终端的安全检查系统将会为采矿行业带来巨大的经济效益和社会效益。

责任编辑:gt

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。