论地质灾害预警中移动终端的作用_第1页
论地质灾害预警中移动终端的作用_第2页
论地质灾害预警中移动终端的作用_第3页
论地质灾害预警中移动终端的作用_第4页
论地质灾害预警中移动终端的作用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑论地质灾害预警中移动终端的作用监测预警体系设计

如图1所示,监测预警体系主要由监测人员、移动终端和主管部门三部分组成。监测人员一般由具有一定地质灾害专业知识背景或经过专业培训后的人员组成,首先每位监测人员配备一部移动终端并负责一个或者多个监测点,每部移动终端安装一款应用软件。当监测人员到达现场后,观察相关地质现象然后使用移动终端中的应用软件录入相关信息(如描述地质现象的文字、图片和视频等),录入完毕后让移动终端连上GPRS无线网并接入Internet,再将信息发送出去。主管部门则负责接收移动终端发送来的信息并将信息整理并交给室内的预警专家,预警专家通过分析信息判断出地质情况,最后并做出相应的预警对策,以防止或者减少地质灾害带来的损失。

移动终端应用软件的实现

1概述

移动终端应用软件采用VisualStudio2022(简称VS2022)联合WindowsMobile6.0SDK开发包并采用C语言编程实现。利用VisualStudio2022和相关开发包可以搭建出WindowsMobile开发环境,利用此环境建立Win32智能设备应用程序,可开发基于WindowsMobile系统下的应用软件。其中WindowsMobile(简称WM)系统与电脑上的Windows类似,它的应用软件也是以MicrosoftWin32API为基础实现,其对应系统的移动设备很多都具备触屏、连接GPRS、拍照、录像等基本功能功能,满足地质灾害监测的实际应用要求。

2Win32应用程序框架分析

由于WM系统是一种基于消息的系统,并且每一种消息都对应一种事件,而Win32应用程序是又一种Windows系统下的应用程序,所以Win32应用程序的运行是靠外部事件来驱动的,即程序一直处于一个等待状态,当一个事件发生(如点击触摸屏上某个按钮),程序首先会捕获消息,再进行消息的传递和转换,并根据消息的类型判断出事件的性质,然后调用回调函数对各种事件做出相应处理[7-8]。事件判断过程由消息循环机制负责,事件处理过程由回调函数负责。Win32应用程序代码上主要由一个Win-Main函数和多个回调函数组成,WinMin函数是程序的入口点,它负责注册窗口类并创建窗口的同时也负责主窗口显示,消息循环机制也在此函数内。回调函数负责实现各种消息所对应事件的响应。如图2所示,监测人员对手机的一系列操作将产生多种消息从而形成消息队列,而消息循环机制则不断从消息队列中取出消息,将其放入WinMa-in函数中进行转换,最后根据消息的不同类型将消息传递到主窗口回调函数中或对话框回调函数中,而各种消息所对应的事件的响应则通过在两个回调函数中调用相关Win32API函数实现。其中主窗口消息响应函数负责主窗口中产生事件的响应,对话框回调函数负责对话框中产生事件的响应。

3软件结构实现

在分析了win32应用程序原理和框架的基础上,结合地质灾害监测时的实际情况,提出一种软件结构以实现软件的各种功能。软件主要有两个功能:①实现将地质灾害信息录入并保存到手机中;②实现将录入的信息传输到远程计算机中。其中信息包括文字、图片和视频等多媒体信息。此外软件还设计了一些附加功能(如查询话费、捕获软件路径),图3为应用软件的结构图。软件在结构上主要由界面显示模块、消息响应模块(包括主窗口消息响应和对话框消息响应)、向导模块和通信模块四部分组成,下面依次对软件的各个模块的实现过程做介绍。

界面显示模块包括主界面显示和对话框显示两个部分,主界面由编程实现,对话框由VS2022自带的资源编辑器绘制实现。操作人员通过触笔点击两种界面上的不同资源(如按钮、文本编辑框)就能进行不同的操作(如切换界面、查询话费、进入向导)。(1)主界面负责软件打开时的初始界面展示,主界面上资源由两个按钮、一个静态文本框、一副位图和一个菜单组成。在界面上显示该资源的代码在WinMain函数中实现。其中两个按钮的作用分别是开启信息录入向导和信息发送向导,静态文本框和位图是提示消息,菜单的作用是使用附加功能(如查询话费、获取路径)。以下是主界面中开启信息录入向导的按钮相关代码:CreateWindowEx(NULL,_T("button"),_T("录入信息"),WS_CHILD|WS_VISIBLE|BS_DEF-PUSHBUTTON,15,32,70,60,hWnd,(HMENU)ButtonID,g_hInstance,NULL);(2)对话框负责软件的功能在具体细节方面的界面显示(包括向导的构成),对话框上的资源主要有按钮、静态文本框、文本编辑框等。在对话框中不同按钮的功能是不同的,主要包括:参数选择、向导上/下一步界面切换、设置常用IP和端口等。静态文本框同样作为提示信息,文本编辑框的作用是接收并显示操作人员编辑或者选择的信息。

消息响应是软件结构的核心部分,负责界面上各种资源所对应的各种功能的实现。由于显示分为主界面显示和对话框显示两个部分,因此消息响应也分为主界面消息响应和对话框消息响应两个部分。主界面消息响应实现开启向导的操作和附加功能的使用。对话框消息响应负责向导过程中具体操作的实现(如信息的录入和保存、IP地址和端口号的设置、界面切换等),下面对消息响应所对应的主要操作的实现过程依次做介绍。(1)向导的开启与关闭操作:在按钮的消息响应中调用DialogBox()方法传入构成向导的第一个对话框名称,可弹出此对话框从而开启向导。调用EndDialog()方法传入构成向导的最后一个对话框名称,即当点击相关按钮时,可关闭此对话框从而关闭向导。(2)参数选择操作:首先将按钮所代表的参数值保存在一个数组中,使得按钮名称与参数值形成一一对应关系,然后在按钮的消息响应中调用SetDlgItemText()方法传入指定的数组名和指定的文本编辑框名,当点击按钮时,即可将数组中的参数值显示在指定文本编辑框中从而起到参数选择作用。(3)界面切换操作:在按钮的消息响应中先调用End-Dialog()方法传入当前对话框的名称,再立即调用Dia-logBox()方法传入要打开的对话框名称,即可将当前对话框关闭并马上打开新的对话框从而起到界面切换作用。(4)信息编辑操作:文本编辑的响应消息会由Wind-wosMobile系统自动完成,因此当点击移动终端界面上的文本编辑框时,会自动调用手机的输入法,此时只需向文本框输入信息则可完成信息编辑的操作。(5)信息保存操作:先向操定义一个数组,然后在相应按钮的消息响应中调用GetDlgItemText()方法传入文本编辑框名称和组数名,即可将指定文本编辑框中的信息保存到指定的数组中从而实现信息的保存。(6)图片和视频录入操作:首先定义并设置SHCAM-ERACAPTURE结构体相关参数,然后在按钮的消息响应中调用SHCameraCapture()方法传入结构体名,当点击此按钮时,移动终端会根据消息响应自动调为拍照或者摄像模式从而实现图片或视频的录入。(7)信息发送操作:在按钮的消息响应中创建一个线程并在线程中调用相关Socket方法即可实现信息发送功能,关于通信过程,后面会详细说明。(8)查询话费操作:先定义PHONEMAKECALL-INFO结构体,然后对其成员变量赋值,比如对pszDestAd-dress成员赋值“1008611”字符串,最后调用PhoneMake-Call()方法传入结构体名即可直接拨打1008611从而起到查询话费的作用。(9)捕获软件路径操作:先定义一个数组用于存放路径,再调用GetModuleFileName方法传入数组名称,即可将路径存入数据中,最后只需用GetDC()方法获取设备上下文,然后使用ExtTextOut()方法显示在界面上即可。(10)连接GPRS操作:首先定义GUID类型数据,并赋初值,然后定义CONNMGR_CONNECTIONINFO结构体,并对其成员变量(如cbSize)赋值,最后调用Con-nMgrEstablishConnectionSync()方法即可连上GPRS。

向导是一种友好的操作界面,负责引导操作人员完成对地质灾害信息的录入和发送。对软件的信息录入功能和信息发送功能分别可设计出两个向导,即信息录入向导和信息发送向导。每个向导由一系列的对话框组成,通过在对话框上添加相关按钮的消息响应(即界面切换),可实现多个对话框按某种次序依次弹出或关闭从而形成向导,图4为向导实现的原理图。

通信的实现主要是利用了Socket通信原理,Socket即套接字,它是支持TCP/IP的网络通信的基本操作单元,也是不同主机之间进程进行双向通信的端面点[9-11]。Socket有两种:流式套接字(TCP)和数据报套接字(UDP),由于UDP方式是一种不可靠的通信方式,而监测预警对地质灾害信息要求比较高,不允许数据掉包(尤其是图片文件,少传输一点数据都会导致图片不可用),因此为了保证信息传输的可靠性,软件采用流式套接字(TCP方式)实现信息在网络中的传输。由于WindowsMobile6.0SDK开发包有支持GPRS连接以及Socket(套接字)等功能接口。因此软件在代码上,为了不阻塞界面显示模块,会首先开启一个线程,然后在线程中调用ConnMgrEstablishConnec-tionSync()方法连接上GPRS,再创建Socket套接字,调用Bind()方法然后设定IP地址和端口号,并用Connect()方法向远程计算机端软件发出连接请求,当请求被接收后会接通连接,此时可使用Send()方法实现信息的发送。所发送的信息主要有两种:字符信息和文件信息,字符信息可直接通过Send()方法实现。文件信息(图片、视频)比较大,所以不能一次性传输完成。其传输方法为:将文件分多次以二进制方式写入缓冲区,再多次使用Send()方法将缓冲区的二进制流发送出去。

测试条件、方法及结果

软件是按照WindowsMobile系统下的PocketPC手机且是以240*320分辨率设计的,因此满足此条件的手机均能够正常运行。实际测试中采用的是WindowsMobile系统下的多普达S700手机作为其运行的硬件平台并在主管部门计算机中设计了友好的接收软件。其测试方法为:①打开手机软件,点击信息录入按钮,此时软件会开启一个向导,操作人员按照向导一步一步进行信息的录入,最后点击完成按钮,即可完成信息的录入工作;②点击信息发送按钮,此时软件同样会开启一个向导,操作人员按照向导提示进行IP地址与端口号的设置等,最后点击完成按钮进行信息的发送。测试结果:经过反复测试,本软件能够很好的实现文字、图片和视频等信息的传输,传输的数据实时性好、准确,图6为计算机端接收到的信息(文字、图片和视频)的效果图。图7为手机软件效果图。

结束语

针对传统地质灾害监

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论