基于树莓派的视频矩阵控制服务器设计

2018-01-23 12:35刘根水蒋健李振威陈炜
电子产品世界 2017年10期
关键词:看门狗云台树莓

刘根水+蒋健+李振威+陈炜

摘要:本文设计了一种基于MAX-lOOO视频矩阵系统和嵌入式Linux系统的视频矩阵控制服务器。采用树莓派作为控制器,通过RS-232串口接收键盘的切换和云台控制指令,解析该指令并转换成视频矩阵指令,再通过RS-232串口将指令下发给视频矩阵,实现对矩阵的切换和云台的控制。同时,设计了一个WEB服务器,可在WEB页面上配置视频矩阵控制服务器的参数,实现了视频矩阵的远程切换和云台PTZ控制。该控制服务器具有使用方便、功能强大、可扩展、易维护、可靠性高等特点,已成功应用到现场,能够满足大型监控现场的监控需求。

关键词:视频矩阵;控制服务器;嵌入式Linux;WEB服务器;RS-232

DOI: 10.3969/j.issn.1005-5517.2017.9.013

引言

视频矩阵是一种能够满足视频选择和切换的设备,其首要的功能是将视频图像从任意一个输入通道切换到任意一个输出通道,使图像能够按需显示。而视频矩阵切换控制服务器则是视频监控系统的核心[1]。

本文基于嵌入式Linux系统[2]开发的视频矩阵控制服务器与传统单片机控制的视频矩阵系统相比,具有更好的移植性和扩展性。同时,开发了基于HTTP协议的WEB控制系统,相比于传统的键盘按键控制具有更丰富的应用场景,实现了网络化。

1 系统总体结构设计

本文采用MAX-1000视频矩阵系统,该系统是一个集视频切换、报警处理、多媒体图像控制、视频和数据信息交换的多功能开放系统。

视频矩阵控制系统由控制终端(包括键盘控制和WEB控制)、视频矩阵控制服务器、MAX-1000矩阵、监控设备和显示设备构成,视频矩阵控制系统结构如图1所示。

控制终端在本地键盘控制的基础上,增加了WEB控制,实现了对视频矩阵的远程控制。键盘采用HEGS-5300控制键盘,提供6级调速和27级调速两种云台速度调整范围,通过单工的RS-232串行频道与MAX-1000系统控制服务器通信。键盘按键发送切换指令,键盘三维比例操纵杆发送云台转动和镜头变焦的指令。

矩阵控制服务器和MAX-1000矩阵之间通过RS-232协议通信,控制服务器将矩阵控制的指令发送给MAX-1000矩阵,MAX-1000矩阵的控制卡根据接收到的指令进行输入通道和输出通道的切换或者进行云台的控制。

2 控制服务器硬件设计

控制服务器包含较复杂的控制功能以及WEB服务功能,因此没有采用基于单片机的设计,而是采用了嵌入式的设计。主控制器选择树莓派,以开源的Uburitu[3]为操作系统,选择Python为主要编程语言。

树莓派是一款基于ARM[4]的微型电脑主板,具备PC的基本功能。目前共发行A、B和B+三个版本,综合来说,B+版本的功耗更低,接口也更丰富,并且对热插拔和过流保护做了改良,因此,本系统选择B+版本,其各接口示意图如图2所示,其性能参数如表1所示。

控制服务器通过RS-232[5]串口与其他设备通信,需要较多的RS-232串口,可在树莓派USB口上外接两个高速USB转4串口模块扩展出八个串口,并将该模块的串口模式设置为RS-232以满足需求。整个控制服务器采用9-36V供电,USB转4串口模块则由树莓派的USB口直接供电,实现低功耗设计。电源模块由EMC滤波器和DC-DC隔离电源模块组成,DC-DC电源选择URB2405YMD-6WR2隔离稳压电源模块,其输入为9-36V,输出为5V,作为树莓派的供电电源。

3 控制服务器软件设计

视频矩阵控制服务器主要的功能是视频矩阵的切换和云台的PTZ控制。

切换功能的主要流程是:根据串口参数初始化键盘串口和矩阵串口,开启串口线程读取键盘指令,开启矩阵下发串口指令线程,根据键盘协议解析键盘指令,根据矩阵协议生成矩阵控制指令,下发串口指令线程下发矩阵控制指令。

PTZ控制的主要流程和切换功能的流程类似,解析键盘指令稍有区别。

3.1 接收并解析键盘指令

视频矩阵控制服务器能够支持多个键盘同时工作,多个键盘连到不同串口上,同时对视频矩阵进行控制。单个串口读取键盘指令的程序流程如图3所示。

控制服务器读取键盘串口指令后,根据键盘协议解析每一条指令。键盘常用操作包括切换操作、设置(摄像头)预置位、到达预置位、云台PTZ控制、up到达上一摄像头,down到达下一摄像头。

切换指令解析流程如图4所示,其它指令解析的流程与切换指令类似。

3.2 生成并发送矩阵控制指令

矩阵控制服务器在接收并解析键盘指令后,会根据MAX-1000矩阵协议把键盘指令转化为矩阵指令,然后存入到相应的串口指令队列中,再由相应的串口线程轮询该串口的指令队列并给相应矩阵发送指令。

矩阵控制服务器与视频矩阵之间通过RS-232协议通信,采用的7位数据位、1位停止位、奇校验,波特率是19200或者9600。MAX-1000矩阵协议主要包括对云台PTZ控制协议和对输入输出切换控制协议。矩阵指令的格式很固定,只需要根据键盘指令的类型修改几个固定的参数即可生成矩阵控制指令。

矩阵控制服务器为每个串口上外设为矩阵的串口启动了独立的线程检测串口的指令队列中是否有指令,有指令就通过RS-232串口下发给视频矩阵。利用队列的先入先出特性,能够保证指令的正确顺序。

3.3 系统可靠性设计

由于控制服务器安装环境的电磁干扰和辐射干扰比较强,需要保证控制服务器能够稳定可靠地工作。

在硬件电路方面,设计了相应的保护装置,同时将控制服务器的硬件設备安装在密封的金属外壳里,以屏蔽电磁干扰。endprint

在软件方面,采用看门狗技术来实现控制服务器在断电等极端条件下自动恢复的功能,保证系统长时间不问断运行的稳定性。控制器树莓派的CPU带有硬件看门狗,由内核发送喂狗指令管理看门狗,只有在内核异常时看门狗才会起到重启系统的作用。而在实际的应用情况下,系统工作异常很少由内核异常导致,因此,本文在应用程序里实现对看门狗的管理。在Linux系统下,通过操作/dev/watchdog来管理内核自带的看门狗功能。在应用程序打开/dev/watchdog设备后,即通知内核看门狗开始工作,内核自动启动看门狗计时器,如果没有按时对/dev/watchdog设备进行写操作,即没有喂狗,内核就会重启系统。

4 WEB控制设计

目前主流的WEB服务技术主要有Java WEB、PHP、ASP.NET和基于Python的WEB服务。其中ASP.NET、Java WEB和PHP对服务器的硬件要求较高,而基于Python的WEB服务则更为小巧轻便,开发也更加方便,因此采用基于Python的WEB服务技术。

WEB服务器包括三个部分:前端WEB页面、通信协议和后端WEB服务器。WEB服务构架如图5所示。

浏览器访问网页时,网页上的脚本获取操作,并通过HTTP[6]协议将操作数据发送到服务器,服务器处理操作数据并控制视频矩阵,同时向浏览器返回处理结果,页面将展示处理结果。

4.1 前端页面设计

WEB页面的开发采用的是HTML超文本标记语言和JQuery脚本语言。HTML是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。JQuery是一个快速、简洁、优秀的JavaScript代码库。

WEB页面能够进行视频矩阵的相关参数配置和矩阵切换与云平台PTZ控制,其主要功能有:用户管理、系统IP配置、矩阵配置、控制设备配置、摄像头配置、轮询方案配置、切换方案配置、切换方案配置、实时切换与PTZ控制。

4.2 數据交瓦与数据响应格式设计

WEB服务器的前后台数据交互技术采用Ajax技术,以实现在不重新加载页面的情况下更新网页。Ajax的工作原理:首先创建XmIHttpRequest对象,该对象可以完成服务器端和后台数据库的数据交换,然后利用JQuery完成WEB页面的更新,即在客户端和服务器端增加一层后台数据交互,也就是Ajax引擎[7]。

目前,前端与后台服务器的数据响应主要是文本串和XML两种。XML格式比较冗余,会增加用户的访问流量,降低访问速度,所以采用文本串的形式。目前在WEB应用最为广泛文本形式的是JSON,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式[8]。JSON以严格的“键/值”的形式来传输数据对象,可在不同的编程语吉中应用。

4.3 服务器设计

后台服务器采用Tornad。框架开发,数据库选择MySQL数据库。Tornad。框架采用Epoll来实现处理大量并发的连接,具有响应速度快、并发连接处理能力强等特点,特别适用于实时的WEB服务[9]。

控制服务器收到前端请求,tornad。会拦截请求,并根据请求的url把请求转发到对应的处理类去处理用户请求并返回处理后的数据。

5 结论

本文设计的视频矩阵控制服务器是控制外设和视频矩阵的控制中心,硬件部分以树莓派为核心,采用高速USB转4串口模块与控制键盘和MAX-1000矩阵通信,实现了视频矩阵的传统键盘控制:软件部分采用嵌入式Linux系统,开发了基于HTTP协议的WEB控制系统,通过配置控制服务器相关信息,实现了WEB远程控制。目前已经应用在北京东城检察院,达到了预期的设计目标。

参考文献:

[1]奏迎春.实现嵌入式矩阵切换控制系统的设计[J]微计算机信息,2008.4(23):121-122.132

[2]郑灵翔.嵌入式Linux系统设计[M]北京:北京航空航天大学出版社,2008.67-83

[3]何晓龙,李明完美应用Ubuntu[M]北京电子工业出版社,2010:12-15

[4]M Doraipandian,P Neelamegam.Wireless Sensor Network Using ARM Processors:A Review in Hardware Perspective[J].lnternational JournaIl of Embedded and Real-TimeCommunication Systems.2013.4(4):48-59

[5]李雪红.USB/RS232接口转换器的设计[D]长安大学,2004

[6]A Rousskov.V Soloviev.A Performance Study of the Squid Proxy on HTTP/l.O[J].Worid WideWeb-internet& Web Information Systems.2000.2(1-2):47-67

[7]谭日森.Alax技术的特点及发展前景[J]黑龙江科技信息,2007(21):87-87

[8]Smith. Beginning JSON [EB/OL]. http://dx.doi.org/10.1007/978-1-4842-0202-94.2015

[9]Tornado. Tornado WEB Server[EB/OL]. http://www.tornadoWEB.org/en/stable/, 2009endprint

猜你喜欢
看门狗云台树莓
云上之家——万科·郡西云台
龙门山·卧云台
帮我买云台
把他叫醒
基于树莓派的骑行智能头盔设计
基于STM32的无线FPV云台设计
基于树莓派的远程家居控制系统的设计
响应面法优化红树莓酒发酵工艺
一种采用FPGA实现的通用看门狗电路
欧盟:速冻树莓比鲜食树莓市场更好