基于Android智能手机的多媒体远程监控系统设计
摘要:多媒体远程监控是指通过网络实现对远程场景的音视频监控。本文主要介绍一种以Android智能手机为控制端,以个人电脑为服务器端,以摄像头与话筒为主的多媒体设备为被控端的三点一线的远程监控系统;控制端和服务器端的网络传输采用TCP协议,控制端和服务器端分别采用Android,Java实现。
关键字:Android智能手机,多媒体远程监控,Socket管理器,Java多媒体框架
中图分类号:
远程监控是指本地计算机通过远程监控软件发送指令给远程计算机,从而控制远程的监控设备采集当地信息,并不断将信息返回给本地计算机的过程。
远程监控必须通过网络才能实现,位于本地的计算机是操纵指令的发出端,一般称为控制端或客户端,而非本地的计算机则通常叫做被控端或服务器端。因而现在的远程监控软件一般分为两部分:一部分是客户端程序(Client),另一部分是服务器端程序(Server),通常在使用前需要将客户端程序安装到控制端载体上,将服务器端程序安装在被控端载体上,通过客户端程序向服务器端程序发出访问信号,建立远程连接,然后通过这个远程连接双方传递信息,实现远程控制。
现今使用的远程控制软件大都基于以上原理。而本文将介绍一种以Android智能手机为控制端,以个人电脑为服务器端,同时将多媒体设备控制程序从服务器端程序分离出来形成独立程序的C/S+M(Media)架构的多媒体远程监控系统。
系统结构与实现
上文介绍了本文的背景,现在将从系统总体结构设计,服务器端设计,手机端设计,多媒体设备控制程序设计四个方面介绍一下本系统的结构与实现。下面先介绍一下系统总体结构设计。
本系统采用的是一种在传统的C/S架构的基础上改进的C/S+M架构。Android智能手机为客户端(Client)即控制端,个人电脑为服务器端(Server);本系统的改进是将音视频设备程序从传统的服务器端程序分离出来独立为多媒体设备控制程序(Media)。这样改进的好处是增强了系统各模块的独立性,便于系统的移植和维护,同时也大大增加了代码的可重用性。下面先看一下本系统的总体架构图:
图2-1 系统总体架构图
如上图2-1所示,本系统分三个大模块,现在从总体上看个模块的运作,服务器端程序启动后,初始化服务器端程序,等待手机端访问。手机端程序启动后,向服务器端发出访问信号,服务器端收到信号核实信号后,双方建立连接。手机端向服务器端发出操作指令;服务器端收到指令后解析处理指令,然后将处理后的指令传给多媒体设备控制程序;多媒体设备控制程序根据收到的指令,初始化相关设备,执行相关操作指令,采集信息,然后将信息传给服务器端;服务器端将采集到的信息压缩处理发送给手机端;手机端将信息读取。从上面叙述中可大致看出本系统的结构。下面从每个模块分别介绍其结构与设计。
服务器端设计
服务器端程序将运行在个人电脑上,用Java实现。下面从服务器端程序的架构分析,各模块的功能描述,接口定义三方面具体介绍服务器端程序设计。然后重点介绍一下指令处理模块及其自定义的编解码协议。
现在先看一下服务器端程序框架:
图2-2 服务器端功能模块图
结合上图,在这逐项描述各个模块的功能:
(1)初始化模块:启动应用程序后第一个运行的模块。它负责初始化应用程序的运行状态,获取网络IP地址/端口,用户登入密码等。
(2)连接监听模块:程序初始化后,开始在指定端口进行TCP监听,等待远程连接。
(3)远程连接模块:负责进行实际的TCP连接和数据收发。当手机端发出访问信号,一旦服务器端核实接受,就分配新的Socket套接字完成TCP连接进行数据通信。
(4)指令处理模块:将接收到的操作指令,进行解析处理,分析出要操作的对象及对其相关操作。
(5)数据处理模块:负责将要传输的信息进行压缩并根据自定义的编解码协议封装处理,然后交给远程连接模块进行传输。
为了近一步理解各模块间的协作关系,下面描述一下服务器端程序主要功能模块问的接口定义:
模块名称
输入
输出
指令处理模块
数据流
操作的对象及对其相关操作
远程连接模块
数据流
数据流
数据处理模块
要传输的信息
经处理后可传输的数据流
表2-l 电脑端应用程序模块接口定义
介绍完各个模块的设计后,下面重点介绍一下指令处理模块及其自定义的编解码协议。
指令处理模块的主要功能是将接收到的操作指令,进行解析处理,分析出要操作的对象及对其相关操作。它是先将数据流转化成字符串,然后用indexOf()和substring()方法根据自定义的编解码协议,将字符串分割,提取字符串中的信息。现在先介绍一下自定义的编解码协议的主要内
基于Android智能手机的多媒体远程监控系统设计 来自淘豆网m.daumloan.com转载请标明出处.