APP下载

树莓派的多个视频矩阵控制系统设计

2017-11-09,,

单片机与嵌入式系统应用 2017年10期
关键词:树莓按键键盘

,,

(1.北京理工大学 化学与化工学院,北京 100081;2.北京世纪联信科技有限公司)

树莓派的多个视频矩阵控制系统设计

谢成1,蒋健1,陈炜2

(1.北京理工大学 化学与化工学院,北京 100081;2.北京世纪联信科技有限公司)

介绍了一种基于树莓派的视频矩阵控制系统的设计方法,描述了系统的硬件组成和软件架构,并着重讲述了多个视频矩阵的串并联组合以及基于确定有穷自动机的键盘控制程序。测试结果表明该系统稳定可靠,在兼容市场上现有视频矩阵控制系统的同时具有自己独特的功能。该系统已经成功的运用于视频监控领域。

树莓派;串口;Linux;DFA

引 言

随着高清摄像技术的发展和人们对于实时监控安防的需求越来越迫切,视频监控系统已经在工业现场、银行服务、交通干道、军事场所等社会生活的各个方面得到了广泛的应用。而作为视频监控的核心,视频矩阵切换系统也在发挥着越来越重要的作用[1]。

视频矩阵的主要功能是在不进行物理线缆切换的情况下,在设备的内部将任意端口的视频输入切换到任意端口的视频输出[2]。目前市场上的视频矩阵控制系统多将视频矩阵和控制系统部分设计为一个专用服务器,不仅价格昂贵、结构复杂,而且可扩展性弱。本系统专注于视频矩阵的控制,在兼容市场上现有的视频矩阵控制系统的情况下,实现视频矩阵所有控制功能。基于树莓派的硬件设计使得系统成本低廉、结构简单、稳定性高、可扩展性强。

1 系统概述

本系统的主要功能是通过串口将视频矩阵和控制设备连接起来,通过程序解析控制设备的命令并转发给视频矩阵来实现控制设备对视频矩阵的控制,并且能将多个视频矩阵拟合成一个抽象的视频矩阵进行控制,实现了对视频矩阵输入/输出的扩容。其中控制设备除了通用的控制键盘以外,还兼容市场上现有的其他控制设备。

2 硬件结构组成

本系统的硬件结构组成如图1所示,整个系统由树莓派、电源模块和USB/串口转换器三个部分组成。搭载Linux系统的树莓派作为控制器用来运行控制程序。

图1 硬件结构

2.1 树莓派

树莓派是一款搭载完整Linux系统的单板计算机,体积只有信用卡大小,且功耗只有5 W。其运行的操作系统以Python作为开发语言,并支持MySQL作为稳定的数据存储服务。树莓派本身拥有一个串口作为通讯接口,本系统在树莓派自带的两个USB接口上连接了高速USB转串口的模块用以增加系统的通信接口,扩展后的树莓派最多能够支持8个视频矩阵和输入设备连接到控制器[3]。

2.2 USB/串口转换器

USB/串口转换器实现了USB到串口的扩展,并且可以通过拨码设置RS 232/422/485不同的接口方式[4]。通过该模块能够稳定、实时、快捷地完成各种工业设备的串口信号传输与转换,广泛地应用于化工、电力、气体检测等行业。

3 软件设计

系统的软件部分分成Web服务模块、串口模块、命令模块、控制设备模块、矩阵模块5个模块。

Web服务模块作为控制系统的配置部分,能够设置每个串口所连接的设备类型和设备的详细参数信息。Web服务模块的存在不仅能保证控制系统的正确运行,而且通过配置的形式极大地提高了控制系统的可扩展性[5]。串口模块作为程序与外接设备的通信媒介,负责程序与控制设备和视频矩阵的数据通信。命令模块作为控制设备模块与矩阵模块之间通信的统一标准,包含了视频矩阵的控制信息。控制设备模块将串口模块采集到的输入信息解析成统一的命令并分派给自己控制的矩阵。矩阵模块将接收到的命令根据矩阵的类型解析成指定的数据通过串口模块下发给视频矩阵。

整个系统最复杂的部分是矩阵模块中多个矩阵的串并联组合和控制设备模块的控制键盘部分。

3.1 串并联矩阵

矩阵模块中包含视频矩阵、音频矩阵、串联矩阵和并联矩阵4种类型,其中视频矩阵和音频矩阵都是直接将命令通过串口模块下发到指定矩阵设备上,而串并联矩阵是在程序上将多个视频矩阵用串并联的方式拟合成一个视频矩阵,通过算法实现矩阵输入/输出的扩容,所以串联矩阵和并联矩阵是根据矩阵组合方式将命令分别解析拆分并派发到自己的子矩阵上去。

3.1.1 串联矩阵

串联矩阵的组合方式如图2所示。

图2 串联矩阵组合方式

假设矩阵1具有in1个输入,out1个输出;矩阵k具有ink个输入,outk个输出,则n个矩阵通过串联形成的新的矩阵时,其输入in如下所示:

输出out如下所示:

若向此矩阵发送切换指令,切换的显示器为mon,摄像头为cam,则矩阵k切换的显示器monk如下所示:

切换的摄像头camk如下所示:

3.1.2 并联矩阵

并联矩阵的组合方式如图3所示。

图3 并联矩阵的组合方式

当n个矩阵并联形成新的矩阵时,输入in如下所示:

in=in1=

输出out为:

若向此矩阵发送切换指令,切换的显示器为mon,摄像头为cam,则矩阵k切换的显示器monk如下所示:

切换的摄像头camk如下所示:

串并联矩阵除了可以将视频矩阵或者音频矩阵当作子矩阵以外,还可以将其他串并联矩阵作为子矩阵,这意味着可以将子矩阵通过不断的组合实现任意的扩充输入与输出,极大地提高了系统的可扩展性。

3.2 键盘控制设备

控制设备模块除了实现基本的键盘控制以外,还兼容市场已有的其他视频矩阵控制系统。其中控制键盘作为最基本的控制设备,需要实现以下6种功能:控制球机移动、切换球机、切换显示器、球机预置位设置、自动扫描功能、宏功能。

其中功能3~6,需要按照指定的顺序按下一系列按键才能发送相关指令,在这个过程中还要判定是否存在异常输入和对异常的处理,因此引入了确定有穷自动机(DFA)来实现键盘的功能。

图4 控制键盘的状态转换图

确定有穷自动机是用来描述对象在它生命周期内可能存在的状态以及对外界事件输入的响应,它包含了一个有限状态的集合和在不同事件输入的情况下状态转换的方向[6]。

首先需要根据按键的顺序来构建程序运行的状态转换图,确定每个按键输入后的程序状态,并给每个状态以单独的标识符。图4是控制键盘程序状态转换图。

在状态跳转图中定义了15个状态(其中状态0为起始状态),根据输入的按键将会在不同的状态中跳转,并且会在成功构建命令后回归到状态0。我们构建了一个状态跳转表,每次按键输入的时候根据当前按键和当前状态获取跳转函数,运行跳转函数则会执行相关命令并且跳转到下一个状态。表1为构建的状态跳转表,其中“-”表示忽略此次按键。

在程序中用代码实现跳转表,最后键盘输入的核心解析程序如下:

def parse(key):

#根据按键和当前状态从跳转表中取出跳转函数

action=stateTable[key][current_state]

#执行跳转函数,并将下一个状态赋值给当前状态

current_state=action(key)

表1 状态跳转表

结 语

本文结合了嵌入式技术、串口总线技术、矩阵串并联机制、确定有穷自动机原理,设计了基于树莓派的矩阵控制系统。在硬件上通过树莓派作为控制核心,USB/串口转换器作为串口扩展方式,保证了系统成本低廉、结构简单、稳定性强。软件方面通过在Linux系统上开发应用程序实现了控制设备对视频矩阵的控制,程序的各个模块耦合度低,可维护性强。通过串并联拟合矩阵的机制,实现了视频矩阵的扩容。基于确定有穷自动机的控制键盘程序实现了复杂的键盘控制功能,其中状态跳转表的构造保证了程序的可读性以及可维护性。本系统在实现视频矩阵控制的同时向下兼容市场上已有的视频矩阵控制系统。目前该系统已经在部分地区公安局的视频监控

VideoMulti-matrixControlSystemDesignBasedonRaspberryPi

XieCheng1,JiangJian1,ChenWei2

(1.Beijing Institute of Technology of Chemistry and Chemical Engineering, Beijing Institute of Technology, Beijing 100081,China;2.Beijing Century Lensys Technology Ltd)

In the paper,a kind of video matrix system design method which based on raspberry pi is proposed.The hardware and software constitution of system are described,and the series-parallel combination of multi-matrix and the keyboard control program based on DFA are introduced specially.The test results show that the system is stable and reliable with the unique features,and the system is compatible with the existing video matrix control system in the market.The system has been successfully applied in the field of video surveillance.

raspberry pi;serial;Linux;DFA

TP274.2

A

猜你喜欢

树莓按键键盘
你知道手机拨号键盘上为什么要有*和#吗?
键盘猫
基于有限状态机的按键检测程序设计
Cлово месяца
ikbc R300机械键盘
基于树莓派的骑行智能头盔设计
基于树莓派的远程家居控制系统的设计
一种多方向导光按键结构设计
响应面法优化红树莓酒发酵工艺
基于有限状态机的STM32系统按键识别方法