基于ARM的实验室远程监控管理系统的设计

时间:2022-09-11 12:24:02

基于ARM的实验室远程监控管理系统的设计

摘 要:为更进一步加强对高校开放性实验室的管理,提高仪器设备的利用率,设计开发了一种基于视频与校园一卡通实验室管理系统。其中,视频监控模块综合了嵌入式技术、图像处理技术、网络通信等技术,用于实现对实验室实时监控显示,对实验人员有无和一些特殊状况作出报警提示或控制相关设备工作,同时也可通过网络同步实现远程视频监控。该校园一卡通可用于实现学生身份的验证、实验室门禁和电源的管理。本系统还有助于提高实验室的管理效率,为学生的创新和实践能力提供良好的实验环境。

关键词:视频监控;开发实验室;校园一卡通;管理系统

中图分类号:TP277 文献标识码:A 文章编号:2095-1302(2016)03-00-03

0 引 言

随着教学改革的不断深入, 各高校逐步开展实验室的开放建设工程[1],实验室的开放不仅能为学生提供更多自主发展和实践锻炼的空间,还能极大地提高仪器设备的利用率,在时间和空间上弥补设备数量的不足。目前高校开放实验室一般采用人工管理或者“ID+密码”的管理模式[2],这种模式需要使用者记忆密码、 账号, 这不仅增加了记忆负担, 也容易被冒名顶替[3]。此外,也有高校采用控制机柜来控制实验设备供电, 这种方式不但增加了实验室布线的难度, 也不利于实验室的改建。

基于以上问题,本文提出了一种基于视频与校园一卡通的实验室管理系统。本系统以Cortex-A9核为核心,可同时从四个USB接口摄像头获取视频并对其作出三种处理:(1)将视频在高清电视上显示,方便学生们相互监督;(2)通过网络同时将视频传输到服务器,对实验室实现远程监控;(3)对采集到的视频进行处理,对开放实验室中人员有无和一些特殊状况作出报警提示或控制相关设备工作。以上措施有助于提高实验室的安全性和管理效率,为实验室高智能、高效率地全天候开放提供保障。

1 系统整体设计方案

系统包括硬件和软件两大部分,其整体结构框图如图1所示。

硬件系统包括ARM核心控制单元、视频模块、校园一卡通模块和报警提示模块。ARM核心控制单元是整个开放式实验室的中枢和主要处理管理系统;视频模块主要是指通过摄像头获取视频并将其在显示器上显示出来,同时通过网络将视频上传至服务器,实现对实验室的远程监控;校园一卡通模块主要是指通过蓝牙与控制核心Cortex-A9进行通信,用以实现学生身份的验证、实验室门禁和电源的管理[4];报警提示模块主要是指对开放实验室中人员有无和一些特殊状况作出报警提示或控制相关设备工作。

软件系统包括ARM核心控制单元的应用程序和视频模块的应用程序。主要完成对校园一卡通模块和报警提示模块的控制以及视频模块自身的设计。

2 系统硬件设计

设计的开放实验室管理系统硬件结构框图如图2所示,本系统主要由三大部分组成,包括视频的获取、显示、处理和传输模块,校园一卡通模块和报警提示模块。

以Cortex-A9作为内核的4核Exynos 4412处理器是本系统的核心,实现的功能包括:通过USB接口驱动四个摄像头同时工作,捕获视频流;通过高清晰度多媒体接口HDMI将四个摄像头捕获的视频经融合后在高清电视上显示;通过Exynos 4412自身强大的硬件编解码功能,可支持MPEG-1/2/4,H.263,H.264等格式视频的编解码[5],并对捕获的视频进行H.264编码,然后通过网口将视频传输到PC机,实现远程监控;对捕获的视频流中帧频的第1帧图像进行图像处理,获得当前实验室的信息,为报警提示模块提供依据;通过串口控制蓝牙模块和校园一卡通模块的通信,获取实验人员个人信息。

校园一卡通模块可通过RFID读卡器读取学生的一卡通数据,获取学生身份,然后通过蓝牙将数据上传到Exynos 4412核心控制单元对其进行身份验证,若通过验证,门禁系统打开;在试验台通过校园一卡通也可打开电源,反之亦然。

报警提示模块由GPRS、高亮LED灯和扬声器组成,GPRS用于特殊情况下紧急通知实验管理员,LED灯和扬声器用于提示和报警。

3 系统软件设计

3.1 ARM核心控制单元的软件设计

本单元软件设计的主要功能是实现对学生校园一卡通信息的采集、存储和对比,实现校园一卡通信息对比后能够显示该生的基本信息以及实验次数和实验总时长,最后显示自动分配好的试验台号码。通过建立以下五个任务来完成该单元的功能。其任务流程图如图3所示。

(1)系统启动任务。用于硬件初始化,建立其他工程任务和所需要的消息邮箱、信号量、事件标志组等,初始化所有用到的消息变量。

(2)键盘任务。用于读取查询当前按键值,调用相应的函数,执行相应操作,并更新显示。

(3)实时时钟任务。用于更新当前的时间显示。

(4)扬声器任务。用于对系统各种报警提示,任务一直循环等待邮箱消息,若有系统邮箱消息,则用扬声器播放相应的邮箱消息。

(5)校园一卡通识别任务。循环等待是否有新的校园一卡通数据输入对比。将比对结果作为索引来查询存储器中是否有该生相关信息,找到后根据当前实验台使用情况按空闲实验台号从小到大的顺序分配,并存储该学生的实验信息和出入时间。

3.2 视频模块的软件设计

视频模块的软件运行在Linux操作系统上,涉及到Linux底层驱动、上层应用库的移植等。

3.2.1 HDMI驱动分析

HDMI是首个支持在单线缆上传输, 不经过压缩的全数字高清晰度多声道音频和智能格式与控制命令数据的数字接口,采用最小化传输差分信号TMDS(Transition Minimized Differential Signaling)技术传输信号[6]。此外,在Exynos 4412处理器上的HDMI模块是1.4版,在Linux 3.0.8内核中的HDMI作为TV_OUT的一部分,驱动框架如图4所示。

由HDMI驱动框架图可知,HDMI作为TV_OUT的一部分,当TV_OUT驱动在内核注册时,HDMI作为TV_OUT的一个子系统被初始化。当TV_OUT的探针函数:static int __devinit s5p_tv_probe(struct platform_device *pdev)在内核被执行时,会调用HDMI相关初始化函数s5p_hdmi_probe(pdev,3, 4),并且同时注册一个符合V4L2标准的设备。因此用户空间对HDMI设备(VideoL4)的基本操作,如设置分辨、显示频率等操作符合V4L2标准操作。而CEC HDCP DDC HPD作为HDMI的组件,他们的驱动实现为HDMI驱动的实现提供函数接口(HDCP、DDC、HPD这三个组件的驱动会互相暴露函数调用),也为用户空间提供了操作这个组件的方法(HPD、CEC这两个组件的驱动向用户空间提供了操作方法)。此外,Linux内核将帧缓冲内存直接映射到HDMI显示缓冲区中,实现HDMI显示数据的不断更新,因此在应用程序中,只需要向帧缓冲区Framebuffer中写入图像数据就会通过HDMI输出到显示设备上。

3.2.2 OpenCV的移植

OpenCV是由Intel公司发起并参与开发且在近年来迅速普及的计算机视觉研究工具,是个跨平台的计算机视觉库[7]。它采用源代码开发,轻量且高效,并提供了非常丰富的帧提取函数和视觉处理算法,使开发者可以在其视频开发或图像处理项目中直接调用进行算法移植并添加自己编写的程序,达到事半功倍的效果[8]。移植过程为:首先从官网下载源码包,然后根据嵌入式ARM系统安装步骤安装交叉编译器、参数配置和编译,最后测试。在实际使用时,发现较高的版本如OpenCV2.3.1等在本平台上存在不稳定现象,所以最终使用的版本为OpenCV2.2。

3.2.3 视频的获取显示传输

本设计中视频流是从四个USB摄像头获取,融合后要在同一个高清显示器上分块显示,还要分别对四个通道的视频进行H.264编码传输和处理等,因此为了满足实时性,本设计的应用程序采用了多线程方案,具体框架图如图5所示。

应用程序首先通过int open(const char *pathname, int oflag, ... )函数打开摄像头和HDMI设备,再通过int ioctl(int fd, ind cmd, …)对设备参数(如分辨率、数据模式等)进行设置,完成视频系统中各个模块的初始化。摄像头采集线程通过命令“VIDIOC_DQBUF” 把数据从缓存中读取出来存入v4l2_buffer结构体,同时对采集到的数据按时间顺序编号,然后将数据复制,分别传输到图像融合线程、H.264线程和图像处理线程[9]。图像融合线程首先将每一帧图像的像素缩放到480×270,然后将得到的数据重新融合为一个新的数据,并将数据传输到视频显示线程,视频显示线程则把得到的新图像写入Framebuffer中,实现一帧数据的显示。H.264压缩线程分别对4个视频流压缩,然后将数据传输到网络传输线程,网络传输线程对数据打包并通过socket()等函数将数据发送到PC机。考虑到图像处理涉及到大量的矩阵操作和Exynos 4412的性能,图像处理线程只对帧频中的第一帧处理[10],为报警提示线程提供依据。

4 结 语

针对高校开放性实验室难以管理,仪器设备利用率低等现状,设计开发了一种基于视频与校园一卡通的实验室管理系统。该系统不仅可以实现同学间的相互监督,还可以实现实验室远程监控,并对开放实验室中人员有无和一些特殊状况作出报警提示或控制相关设备工作。有助于提高实验室的安全性和管理效率,减轻工作人员的工作负担,实现实验室高智能、高效率地全天候开放。

参考文献

[1]林卉,胡召玲,赵长胜,等.高校开放实验室的建设与管理[J].实验技术与管理,2010, 27(3):152-155.

[2]王甫想.高校开放实验室管理模式探讨[J].科技管理研究,2008,28(9):152-153.

[3]丁晓玲,徐伟平,胡敏.网络化分布式国家重点实验室管理信息系统[J].实验技术与管理,2001,18(2):114-118.

[4]梁凤山,杨雯夫,王大为,等.基于蓝牙技术的智能门禁系统[J].数字技术与应用, 2010(8):13-15.

[5] Exynos4412数据手册[Z].

[6]廖梦云,赵利.HDMI接口在嵌入式视频监控系统中的应用[J].嵌入式系统应用,2009(23):45-47.

[7]梁艳.基于OpenCV的ARM嵌入式网络视频监控系统[J].微型机与应用,2013,32(9):29-31.

[8]刘瑞帧,于士琪.OpenCV教程基础篇[M].北京:北京航空航天大学出版社,2007.

[9]王海涛,裴照君,段哲民.基于多线程和网络传输的数据采集系统的实现[J].电子测量技术,2007,30(11):108-110.

[10]朱之芹,杨林安,郭宇.多线程在数字图像实时接收处理中的应用[J].电视技术, 2001(7):20-21.

上一篇:浅谈海洋要素计算及预报课程的实验教学 下一篇:培养学生创新性思维能力的探索