乔 实,胡梦滢,刘 岩,王 晶
(中国矿业大学(北京)机电与信息工程学院,北京 100083)
中国是世界上仅次于美国的第二大能源消费国,其中煤炭在能源结构中占有不可替代的地位。2013年,中国的煤炭产量达到37亿吨,超过世界煤炭产量的50%。长期以来中国煤炭百万吨死亡率一直高于美国、南非和印度等主要产煤国[1-2]。其中信息化程度低是造成事故率的主要原因之一[3]。近年来,随着信息化、数字化的迅猛发展,尤其是煤矿安全监控系统信息化在煤炭产业中的广泛应用[4-7],煤矿事故率将随之下降。
煤矿安全监控系统是煤矿井下安全避险“六大系统”之一,井下安监巡查是杜绝安全隐患的重要工作之一,然而在实际工作中存在很多困难。例如:安监人员对周边情况了解不全面,无法得知井下实时环境状况,不能与地面进行实时交流等。井下信息化建设就可以很好地解决这些问题,可以定时定期对煤矿安全生产状况进行巡查,对降低生产事故发生率,保障煤矿生产具有极其重要的意义。
1999年,MIT Auto ID Center最早提出了“物联网”的概念。发展物联网技术已经被包括美国在内的多个国家纳入国家重大信息发展战略[7]。随着通信技术的发展,Wi-Fi技术已趋成熟,其最大优点是速度快,可靠性高,方便与有线以太网整合,组网成本低。由于Wi-Fi协议本身限制其设备功率,使得无线设备可以设计成符合煤矿安全要求的本质安全型设备,Wi-Fi技术的应用改变了井下无线通信长久以来一直徘徊在窄频范围的现状,使得井下通信更加方便快捷[9]。
本文所述的基于Android的井下智能系统包括数据层,服务层和客户层。依靠井下物联网服务层得到井下传感设备返回的数据,依靠Wi-Fi网络通信实现服务层和客户层的互动。客户层则是Android平板客户端实现人员可视化操作。本系统主要包括人员登录、信息、可视电话、通信录、即拍即传、视频监测、产量日报、井下环境和设置等9个模块。
基于Android的井下智能系统从结构上分为数据层,服务层和客户层3层。整体结构如图1所示。
图1 系统整体架构
数据层的主要功能是为服务层和客户层提供数据。数据层的数据主要来源于传感器、摄像头和硬盘。数据内容包括煤矿日产报表、井下环境数据和视频监控画面。井下环境数据和视频监控画面分为实时数据和历史数据。
服务层主要用来处理来自客户层的请求,是整个系统的大脑中枢环节,当服务层接收到来自客户层的请求后,调取数据层的相关数据,并将相关数据反馈给客户层。
客户层是整个系统的主要组成部分,是人与系统实现信息交互的直接环节。客户层主要包括客户端,通过客户端,操作人员可以向系统发出各种请求,系统给予的反馈信息也会通过客户端直观地呈现给操作人员。
智能客户端的整体结构如图2所示。整个客户端分为 UI界面,控制层,XML和 UDP 4层。
(1)UI界面。UI界面是整个系统与操作人员最直接的交互层,它主要是使得操作人员可以方便地向系统发出指令,系统最后通过UI界面直观地将信息反馈给操作人员。
(2)控制层。控制层在整个系统中就像人体的神经系统,它是将系统的UI和XML连接起来,起到中间桥梁的作用。
(3)XML层。XML层起着解析和封装XML的作用。一方面它将从控制层得到的数据封装成XML数据送到UDP层;另一方面它从UDP层获得XML数据并解析,并将它反馈给控制层。
(4)UDP层。UDP层是客户层和服务层的桥梁,它是客户层和服务层之间双向传输数据的通道。
图2 客户端整体结构
(1)登录模块:实现操作人员的认证。操作人员在这个模块输入用户名和登录密码,客户端将输入的信息和服务层的信息进行比对,如果一致则操作人员成功登录系统,并提示登录成功,否则提示用户名或密码错误。这个模块还可以输入要连接的服务器IP,实现登录设置。
(2)信息模块:实现在线人员之间的文字通信。操作人员可以编辑文字信息并相互传送。
(3)安监员通信录:实现在线人员信息列表。操作人员可以看到所有实时在线的人员的姓名、所在的IP、在岗时长及所处位置信息。
(4)可视电话:实现在线人员之间的视频通话。移动客户端之间的视频对话,移动客户端与地面PC之间的视频对话。视频对话通过调用客户端自带前置/后置摄像头实现画面的捕捉,通过调用客户端自带麦克实现语音捕捉。提高了实时调度指挥的能力,提高数据中心对井下监控死角的监控。
(5)即拍即传:实现拍照涂鸦上传功能。客户端调用自带前置/后置摄像头对现场情况进行拍照,并存储在本地Media Store中。调用涂鸦功能前,先选择画笔属性,包括颜色和粗细,系统记录所选属性,然后选择照片,从系统相册中选取图片并展示所选照片,操作人员可以在展示照片上进行涂鸦标注,最后保存图片至系统相册。点击图片上传选择图片,通过UDP协议,上传至服务器。方便监察执法工作。
(6)视频监测:实现对视频监控图像的调取。视频监控图像包括实时图像和历史记录图像两类。客户端向服务器发起调取图像的请求,服务器调取相应图像,反馈给客户端展示。
(7)产量日报:实现每日产量日报的显示。在煤矿生产中,每天都会对产量进行统计汇报,产量日报也是煤矿安全生产的重要指标。在这个模块中,用户可以选择要查询的日期,客户端会将请求发送给服务层,服务层把相应的数据反馈给客户端显示。
(8)井下环境:实现对井下环境参数的显示。由于煤矿井下环境复杂,如水文、瓦斯、顶板等在井下已有系统规范的传感器系统,数据层将传感器传回数据进行处理,客户端选择要查看的日期和相应传感器,并发送给服务层,服务层调取相应数据反馈给客户端。
(9)设置:实现对网络连接模式、视频模式、音频回应消除(AEC)和视频质量等参数进行相关设置。
(1)UDP 协议
实现IP网络数据传输的方法主要有TCP传输控制协议、SCTP简单流传输协议及UDP用户数据报表协议,这些协议各有特点。TCP和SCTP协议都是面向连接的,保证了数据的可靠传输,但是处理复杂,效率不高,占用资源较多,无法支持海量并发连接。UDP协议采用面向非连接的传输策略,速度快、效率高,可支持海量并发连接[10]。本系统采用UDP协议传输数据,在Android系统下建立基于UDP的传输连接。
(2)P2P 技术
P2P技术通过系统间的直接交换达成计算机资源与信息的共享[11]。P2P网络有很好的自组性和开放性。它充分利用分布在终端电脑上的边缘性网络资源,包括计算资源、带宽资源、内容资源等,该技术的核心在于防火墙的穿越。使用P2P通信技术,可以大大地减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞。本系统的核心服务器可以协助P2P穿透,当P2P不通时,核心服务可以完成流媒体数据的转发工作。服务器转发模式和P2P转发模式对比如图3所示。
图3 服务器转发模式与P2P直连模式对比
(3)UI设计
UI即User Interface(用户界面)的简称。Android应用中,用户界面是由view和ViewGroup对象构建的。在Android中最常用来展现视图层次的方法是XML布局文件。XML文件布局分为线性布局(LinearLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)、标签布局(TabLayout)和层布局(FrameLayout)等。Android 还提供了一套完整的控件,包括按钮、复选框和文本输入框等。
(4)XML 解析
XML经常用作Internet上的一种通用的数据交换格式,它的平台无关性、语言无关性和系统无关性给数据集成于交互带来了极大的方便。Android解析XML主要有 DOM(Document Object Model)、SAX(Simple API for XML)和XML pull 3种技术。DOM在处理XML文件时,将XML文件解析成树状结构并放入内存中进行处理。当XML文件较小时,可以选 DOM,因为它简单、直观。SAX则是以事件作为解析XML文件模式,它不需要将所有的XML文件加载到内存中,这对于有限的Android内存更有效。本系统使用SAX解析。SAX的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数作相应动作,然后继续同样的扫描,直至文档结束。其具体实现方式如下。
①创建SAXParserFactory对象。
②根据 SAXParserFactory.new SAX Parser()方法返回一个SAXParser解析器。
③根据SAXParser解析器获取事件源对象XMLReader。
④实例化一个自定义的DefaultHandler对象。
⑤连接事件源对象XMLReader到事件处理类DefaultHandler中。
⑥调用XMLReader的parse方法对输入源中获取到的XML数据进行解析。
UDP连接检测测试主要证明了客户端与服务器之间建立UDP通信连接,UDP通信连接建立包括连接的建立,数据的上传和数据的下载3部分。为了测试这部分功能,应用Wireshark网络封包分析软件。通过客户端向服务器发送一张图片,同时利用Wireshark软件抓包。
通过Wireshark可以看出,客户端与服务器之间很好地建立了UDP通信连接,数据包发送接收正常,没有出现丢包现象。
客户端主要测试音视频通话、图片涂鸦和环境变量监测等功能。进入视频通话功能,在登录到房间以后,客户端相互呼叫点击对方名字进入聊天室,平板电脑的屏幕将分左右两部分,分别显示本地摄像头实时捕捉画面和对方摄像头实时捕捉画面,同时启动音频设备,实现视频通话。进入图片涂鸦功能,点击画笔功能键,选择画笔的颜色和粗细属性,点击选择图片功能键,页面跳转到本地相册,点击选择图片,图片会展示在屏幕展示,这时可以在展示图片上进行涂鸦,涂鸦结束后点击保存图片功能键,涂鸦好的图片会被保存在本地。进入产量日报功能,选择要查看产量的时间,点击确定,对应的产量报表将显示,如图4所示。通过客户端的功能测试,该系统能较好地实现井下可视化通信及海量数据的传输。
图4 系统客户端展示
本系统是以Android平台为基础,应用P2P连接、UDP通信及XML解析等技术设计而成。终端自动接入煤矿井下现有的802.11N等网络,实现与矿山已经建立的感知网络和现存的矿山6大系统进行实时数据交换,使安监员不需要地面监控中心通知的情况下,全面了解矿山的整体安全情况,避免在发生生产事故的时候产生人员信息孤岛,让矿山工作人员时刻动态地了解矿山安全生产过程,不仅保障了人员的安全,也能更加高效、安全地开采煤炭资源,保证矿山生产环境的安全与稳定。该终端以矿井感知层网络为通信平台,便于地面地下随时了解井下生产作业、矿山整体安全情况。让井下安全管理、调度人员通过该技术结合GIS直观、快捷地了解状况,进行决策指挥,有效提高矿井的应急处置和快速反应能力,为矿井的安全生产提供了技术保障。
[1]李运强,黄海辉.世界主要产煤国家煤矿安全生产现状及发展趋势[J].中国安全科学学报,2010,20(6):165-158.
[2]张太发,母丽华,张鸿艳.煤矿事故的分析和预防对策的研究[J].中国矿业,2012,21(3):28-31.
[3]梅同栋,刘璐,王云海.影响我国煤矿安全生产的主要因素分析[J].中国安全生产科学技术,2008,4(3):84-87.
[4]梁少晶,穆平安,戴曙光,等.CAN—bus在煤矿安全远程监控系统中的应用[J].仪器仪表学报,2006,27(6):589-610.
[5]孙彦景,左海维,钱建生,等.面向煤矿安全生产的物联网应用模式及关键技术[J].煤炭科学技术,2013,41(1):84-88.
[6]孙继平.煤矿安全生产监控与通信技术[J].煤炭学报,2010(11):1925-1929.
[7]张毅,张志国.基于 GoogleAndroid平台平板电脑应用程序开发[J].科技信息,2011(10):632-633.
[8]宁焕生,徐群玉.全球物联网发展及中国物联网建设若干思考[J].电子学报,2010(11):2590-2599.
[9]康德明.基于 Wi-Fi技术在井下无线通讯的应用[J].无线互联科技,2013(5):58-64.
[10]王继刚,顾国昌.可靠UDP数据传输协议的研究与设计[J].计算机工程与应用,2006(15):113-116.
[11]周文莉,吴晓非.P2P技术综述[J].计算机工程与设计,2006(1):76-79.