基于Android智能手机远程视频监控系统的设计
2013-04-29张霄
张霄
摘 要 基于Android3.1操作系统,本文提出了一种基于智能手机远程视频监控系统的方案。本文首先分析了Android操作系统,然后阐述和分析了设计系统的总体结构,并详细的阐述了主要的技术,设计并实现了该系统。经过验证,所设计系统稳定可靠,携带方便,应用前景较好。
关键词 Android系统 智能手机 远程视频监控
中图分类号:TP311.52 文献标识码:A
3G移动网络的出现,使智能手机能够轻易实现视频的传输。这篇文章所提出的方案实现视频监测的功能是在Eclipse编程环境下的,运用Android语言进行编程。它能够实现只要存在无线网络,就可以通过Android智能手机手对目标现场进行实时监控,使人们的生活变得更加便利。
1 Android操作系统
Android是一种基于Linux平台的开源手机操作系统,它运用的架构是软件堆层(SoftwareStack,又叫做软件叠层),一般包括三个部分:中介软件、底层Linux内核和应用软件。
中介软件的作用是沟通操作系统和应用程序,包括虚拟机(VirtualMachine)和函数层(Library)。Android的中间层采用特殊的Dalvik虚拟机,多以Java实现。通过使用虚拟机技术,Android的Java应用效率更高,更接近于底层系统,也让Android的应用能够运行在被监控的情况下,提高了安全性。
底层Linux内核只用来提供基本功能,位于硬件和其他软件层之间,用来提供系统的底层服务。其特点是多了Android运行所需的特定驱动代码和一个叫做Goldfish的虚拟CPU,包括内存管理、安全机制、网络堆栈、进程管理和一系列的驱动模块。
Android的平台是开放的,不包含任何从前妨碍移动产业创新的专有权的障碍,因而任何的移动终端厂商都可以加入到Android联盟。Android是一个开放的平台,对第三方软件完全开源免费。
2 系统总体设计
要实现次系统,必须先要读取视频流,这就需要网络监控摄像头的帮助。这样就用户就可以通过网络浏览和播放对家居环境的监控。监控系统采用C/S架构:服务器端被部署在用户家中,是一台带有监控摄像头的PC,主要功能是连接、与用户的智能手机进行通信且控制监控设备;客户端是一部Android智能手机,能够连接互联网,并支持音频视频和3G业务。
3 系统软件设计
3.1 服务器端软件设计
设计服务器端的一般作用是用来将主机IP和摄像头设备和网络端口号初始化,并开启视频监控服务,实时等待客户端的连接请求并捕捉现场图像。在与远程请求的手机客户端成功建立连接后便开始向其发送视频图像信息。
PC服务器端是用来负责现场监控的,实现是运用VisualStudio编程环境下的C++/MFC语言来,原因是需要对监控设备进行初始化控制。为了实现图像稳定传输在进行网络通信传输,此系统选择可靠稳定的TCP套接字(Socket)传输协议,用作客户端和服务器端之间的通信的实现。
3.2 手机客户端软件设计
在这一基于Android操作系统智能手机开发的系统的手机客户端软件设计的过程中,利用Android所已有的各种组件API接口设计和实现应用层。
手机客户端的开发是利用Eclipse工具下的Android插件,主要基于Java语言进行程序的设计并进行实现,而且调用了Android中的部分API函数库。Java语言是通过构建各个类来实现编程,因此进行了系统的主要类构建,分别为主程序入口类Video Monitor Client,通信处理类Socket Vide,连接视频类Connect Server,线程类Monitor Thread,和图像捕获处理类Video Monitor View。Socket Vide的任务是套接字Socket服务,通过绑定端口号和服务器IP地址来和远程服务器之间通信连接。程序的实现过程:一开始先建立远程视频请求连接,程序开始执行并调用Connect Server,之后Connect Server中调用Monitor View,Video Monitor View新建一个mvideo对象,mvideo对象调用其方法Download Thread处理线程函数和Monitor Thread类创建的对象thread,对象thread调用Socket Vide类对象,这一类对象可以建立TCP连接,建立连接后对象thread调用中的视频处理捕捉图像的函数,结果是保存图像并不断显示出图像。
3.3 测试结果
对于整个系统在有wifi的条件下进行了测试,客户端为基于Android的智能手机,服务器端是可以进行现场监控的PC,实验显示,连接图像的速度快,整个系统的运行稳定,预期设想的效果达到。
4 结论
本系统利用Android环境编程和VS,对于当今的主流Android智能手机,对系统进行了设计和实现。完全利用开源代码实现了手机客户端,其二次开发设计和跨平台移植性很强,具有先进、经济、可靠、便利等特点。经过试验可以看出该系统具有较高的可靠性和性能。随着智能手机处理性能的大幅度提高和3G、4G移动网络的发展,该手机远程监控系统的发展前景十分广阔。