APP下载

基于W iFi面向Android的视频监护系统

2015-10-20骑,诸

电视技术 2015年14期
关键词:固件路由器监护

周 骑,诸 强

(北京交通大学 计算机与信息技术学院,北京 100044)

据资料显示,我国是世界上人口最多的国家,同时婴幼儿总数也位居前列[1]。由于生活节奏的加快,工作环境的巨大压力,时时在家看守孩子给父母的正常工作和休息都带了极大的不便[2]。为此,本文以改造路由器为核心,结合目前流行的Android智能手机及广泛应用的WiFi网络,设计了一款供父母随时随地观察婴幼儿活动的视频监护系统。

1 系统的功能及设计

本系统主要包括两大部分:视频监控端和客户终端。视频监控端主要由中星微的ZC301摄像头和TP-LINK的迷你3G路由器(带usb接口)组成。其中,需要对迷你3G路由器进行固件升级、相关软件的安装以及相关网络环境的配置,最终完成OpenWrt系统路由器的改造。客户终端仅有Android智能手机接收并显示图像,图像显示采用Android组件WebView加载HTML+JavaScript来实现。系统原理框图如图1所示。

图1 系统的原理框图

2 系统功能单元设计

2.1 TP-LINK加载系统

OpenWrt是嵌入式设备上运行的Linux系统。其文件系统是可写的,开发者无须每一次修改后重新编译,令其更像一个小型的Linux计算机系统,并且附带软件包,用户可以方便地自定义功能来制作固件,也可以方便地移植各种功能到OpenWrt下,通过它可以很方便地使用WiFi网络。

1)从 OpenWrt的官方站点 https://openwrt.org/downloads下找到路由器的型号下载固件,固件可以分为squashfs和jiffs两种文件系统。本系统选择squashfs文件系统。squashfs将固件单独挂在/rom分区,系统出现问题时,可以非常便利地恢复[3]。

2)打开原有路由器的管理界面,对系统进行固件升级。

3)重启路由器,将升级的路由器接上网线与PC机连接。由于OpenWrt系统是无管理界面的,所以为了管理方便,可以在Windows上安装putty软件并配置自带的telnet。修改路由器网段设置为192.168.2.1,与PC机IP地址不冲突。telnet192.168.2.1,打开OpenWrt命令界面。命令界面如图2所示。

图2 OpenWrt命令界面(截图)

4)网络环境的配置

通过vim/etc/config/wireless命令,修改无线网络设置。将服务集标识ssid改为本文需要连接的无线网络,设定加密方式为psk2,且另起一行设置登录无线网络的密码;接下来设置IP地址的分配方式,使用vim/etc/config/network命令,添加一个wan口,将其IP协议改为动态分配IP地址协议(DHCP),并把lan口本身的IP地址改为之前设置的路由器IP地址。

5)检查网络功能、WiFi功能、并且查看接口设置,通过ping google来完成测试。

2.2 OpenW rt挂载摄像头

OpenWrt系统安装软件的方法有两种:一种是通过opkg install/update来联网下载安装;另一种则直接将下载好的软件传到路由器tmp目录安装opkg install XXX.IPk[4]。

1)USB转串口驱动

由于路由器与摄像头是通过USB接口连接的,在路由器中安装处理视频的相关软件需要将USB接口转换为串口。本系统选择kmod-usb-serial-ftdi驱动,在线安装。如果需要查看驱动是否安装好,可以通过下载minicom串口工具,进入到其界面,在设置列表中查看是否有类似ttyATH0的文件,若有则表明安装成功。成功界面如图3所示。

图3 串口安装成功界面(截图)

2)安装视频处理软件

(1)kmod-viedo-uvc协议:UVC是为usb视频捕获设备定义的协议标准。

(2)mjpg-streamer视频处理软件:mjpg-streame在很少的CPU和内存资源条件下就可以工作,可以通过文件或者HTTP方式访问Linux UVC兼容摄像头。

(3)安装摄像头驱动软件kmod-video-gscpa-core和kmod-video-gscpa-zc3xx,成功安装驱动后在设备列表中可以找到video0文件。

(4)通过cat命令查看视频配置文件,修改其图像大小、帧数、分辨率等参数,本系统参数设计如图4所示。

图4 视频参数设置界面(截图)

(5)初始化m jpg-streamer软件,让其随路由器开启时就工作。

3 客户端软件的设计

客户端主要是由Android智能手机组成。Android平台的最大优势就是开放性,显著的开放性可以使其拥有更多的开发者[5]。Android系统的底层是建立在Linux系统上的,其体系结构包括应用程序层、应用程序框架、函数库、Android运行时、Linux内核5个部分,5个部分独立完成各自的任务,上层任务的完成会利用到下层服务的支持[6-7]。

3.1 整体方案设计

视频监护系统对采集到的视频图像信息进行播放时都需要经过3个处理阶段。首先,获取从视频监控端传输过来的视频数据;然后,由于视频数据是经过压缩处理后传输过来的,所以还必须对视频数据进行解码处理;最后,将解码后得到的视频信息通过某种播放形式在客户端显示[8]。本系统依照这3个处理阶段,将整个视频监护系统从整体上进行分层设计,不同之处在于本设计把对音视频媒体流获取和解码的过程放到了升级的路由器中运行,而客户端只需对传输过来的图像进行相关处理即可,也就是通过编写JavaScript脚本来进行视频的获取。JavaScript是由Netscape公司和Sun公司合作实现而成的一种直译式脚本语言。它的解释器JavaS-cript引擎为浏览器的一部分,所以广泛应用于客户端的脚本编写,用来给HTML网页增加动态功能。而Android提供了WebView组件,其本身就是一个浏览器实现,只要对其进行一些美化、包装,可以轻松地开发出自己的浏览器[9]。整体结构如图5所示。

图5 客户端整体框架图

3.2 用户界面设计

视频监护的用户界面设计主要通过Android的图形用户界面编程系统(GUI)实现,Android为界面设计提供了非常丰富的图形界面组件。对于用户来说,不管应用实际包含的逻辑多复杂,或者多么优秀,如果没有提供友好的图形用户界面,将很难吸引其目光。用户界面包括用户名和密码,只有产品用户通过申请注册后才拥有账号,方可登录。用户界面如图6所示。

3.3 视频获取实现

WebView为HTML页面提供了一个loadData(String data,String mimeType,String encoding)加载方法,该方法可以对HTML标签进行任何解析,达到页面显示的效果。大多数时候,WebView加载的页面上带JavaScript脚本的,所以需要让JavaScript脚本调用Android方法,WebView为这种情况提供了一个WebSetting工具类,可以使用这个工具类来管理Web-View的选项设置。本系统设计需要用到该工具类的主要代码如下:

图6 用户登录界面(截图)

myWeb.getSettings().setJavaScriptEnabled(true);//启用JavaScript的调用功能

myWeb.getSettings().setPluginState(PluginState.ON);

myWeb.getSettings().setPluginsEnabled(true);//可以使用插件

myWeb.getSettings().setDefaultTextEncodingName(“UTF-8”);//设置文本编码

WebView配置完后,就是将获取视频图像的HTML页面加载进来。由于人眼不能分辨超过30 f/s(帧/秒)的画面,利用这一特性,只要采集到的图像在短时间内能够刷新很多次,那么用户看到的图像就是连续的视频。高的帧率可以得到更流畅、逼真的视频效果。在视频页面中嵌入代码<div id="webcam"><noscrIPt><img src="/?action=snapshot"/></div>,即可将视频监控端采集到的图像数据显示到网页上。

4 客户端测试及分析

在视频监控端安装配置好后进行测试。首先,将设计好的客户端App在Android的开发环境Elipse下进行编译,并在Android模拟机上进行运行、模拟测试。然后,从Elipse的工程目录中找到/bin文件下.apk安装文件,安装到Android智能手机上,打开WiFi连接网络,输入登录用户名及密码,测试成功。测试结果验证了本视频监护系统满足基本功能要求。效果如图7所示。

从实验测试结果可以看出,基本视频监护功能已经满足,但同时也反馈了此系统的不足之处。由于OpenW rt中处理视频是使用自带的视频编码解码包,并且受路由器自身内存大小的限制及网络环境和摄像头分辨率的相关影响,所以导致测试得到的视频有稍微延时的情况,但是这并不影响日常生活中对婴幼儿的监护工作。

图6 用MCU智能监测CAF

4 结语

本文从CAF的实例表现入手,分析了这种失效的常见现象,总结了其失效的环境规律和电路特点,分析了盐雾在CAF形成中的作用,指出了电子产品预防CAF的简要措施并给出了预防监测电路,对于减少电子产品CAF问题的发生以及减少其造成的损失具有重要的意义。

[1]胡梦海,陈蓓.印制线路板 CAF失效研究[J].印制电路信息,2012(4):79-83.

[2]赵娟,刘细旭,刘龙华,等.盐雾条件下紫铜的腐蚀行为研究[J].广东化工,2013,40(1):17-18.

[3] AUGIS J A,DENURE D G ,LUVALLE M J,et al.A humidity threshold for conductive anodic filaments in epoxy glass printed wiringboard[C] //Proc.3rd International SAMPE Electronics Conference.[S.l.]:IEEE Press,1989:1023-1030.

[4]陈正清.Anti-CAF印制电路板的加工工艺研究[J].印制电路信息,2010(3):50-54.

猜你喜欢

固件路由器监护
买千兆路由器看接口参数
维持生命
护娃成长尽责监护 有法相伴安全为重
路由器每天都要关
路由器每天都要关
整建制接管改造COVID-19重症监护病房的实践与探讨
我国成年监护制度之探讨与展望
基于固件的远程身份认证
带养之实能否换来监护之名?
提取ROM固件中的APP