嵌入式收费车道远程控制的设计与实现
2017-06-19孙少瑾
孙少瑾
摘 要:该文对嵌入式收费车道系统的远程监控的实现方法进行了探讨和实现并经过实际测试表明,该系统能够满足并达到各项监控需求,已经可以投入到实际的工程应用中。希望该系统的应用在提高维护及监管技术的基础上,为监管的可视化及更深层的需求提供便利。
关键词:嵌入式 远程控制 开源Linux VNC
中图分类号:TP393 文献标识码:A 文章编号:1674-098X(2017)04(a)-0137-02
目前高速公路车道收费系统,大都采用的是P C核心+整体集成的硬件结构,由于其软件成本及故障率等问题,现逐渐被更节能、维护简单、可靠性高、效率佳的嵌入式系统所替换,嵌入式被称为“后PC时代”的擎天之柱,已经广泛渗透到人们的工作生活中,单纯由PC机带领电子产业蒸蒸日上的时代已经成为历史。嵌入式设备采用ARM架构,具有体积小、功耗小(台式计算机的1/5~1/20)、成本低、开源、低收费、运行速度高、防病毒能力强等特点,目前根据公路收费行业的自身特点,以嵌入式技术为核心,量身打造的专业化嵌入式收费机,已经在辽宁高速公路收费系统中得到广泛运用。由于嵌入式系统并不支持VNC for Linux版本,所以对于收费员的操作审核、系统的远程维护等带来了诸多不便之处,为了提高远程维护能力,方便解决系统问题,就需要在嵌入式系统下实现远程控制功能。
1 设计思路
VNC,全称为Virtual Network Computing,它是一个桌面共享系统。它的功能类似于Windows中的远程桌面功能。VNC使用了RFB(Remote Frame Buffer,远程帧缓冲)协议来实现远程控制另外一台计算机。它把键盘、鼠标动作发送到远程计算机,并把远程计算机的屏幕发回到本地。
VNC技术与平台无关,VNC Viewer可以和VNC Server在不同的操作系统上。VNC几乎支持所有的操作系统,也支持Java,甚至可以通过支持Java的浏览器来访问VNC Server。多个VNC客户端可以同时连接到一个VNC Server上。
1.1 实现方式
(1)嵌入式车道作为服务器端(VNCServer)。
(2)采用RFB协议(RFB为VNC的标准协议,采用此协议增强其兼容性及扩展性)。
(3)采用普通的VNCViewer为客户端。
服务器端可以分为设备层和网络传输层。
设备层在设计中被分为完全独立的模块:图像截取和键盘模拟。
图像截取模块负责从嵌入式设备里面读取当前屏幕的像素点信息。利用Framebuffer直接对内存数据进行操作。该模块在用户空间进行操作,直接读取各个像素点的RGB值。如果需要调色板的话,需要另外读取掉色板信息。根据RFB协议,仅刷新屏幕变化部分。RFB 1.0版本仅支持1个RECT的变化量,效率并不高。
对于采用标准键盘的车道应用,采用键盘模拟模块负责模拟给定的键盘消息。并发送给内核中input_device的缓冲区队列。该内核可加载模块模拟一个的物理设备实现对键盘消息的传递。
对于采用USB口或串口的专用键盘,需要编写专用的agent提供车道应用调用,实现键盘的模拟。
网络传输层:负责发送屏幕图像信息,接收远程键盘消息,并与设备层交互数据。
基于局域网内传输和对系统性能的考虑,传输层采用RFB协议。压缩算法采用VNCTight协议,固定分辨率800×600,颜色深度16bit。
1.2 实时图像的处理
一般车道应用,均有一个可以查看实时车道图像的窗口,对于此窗口要单独设计、单独处理并叠加到RFB流中,实现客户端的准实时图像浏览。
(1)单独设计:Framebuffer里可能截取不到摄像头的信息(直接显存操作),需要读取摄像头设备的设备流才能实现摄像头信息的采集。
(2)单独处理:视频流数据量较大,如果每帧都传输到客户端,需要的CPU及网络带宽很高,影响车道应用运行。建议每秒采集2帧或3帧即可达到监控目的。压缩方法先采用JPEG压缩,再叠加到Framebuffer中,采用RFB协议指定的方法进行压缩传输(图1)。
2 测试
实测结果:CPU占用率29.1%~31.2%;内存占用16M;客户端每秒大约12~14帧;视频2~3帧。完全满足实际应用(图2)。
3 结语
在嵌入式收费系统中使用嵌入式设备来替代现有的计算机,使用嵌入式Linux操作系统来代替Windows平台。其中,嵌入式设备采用ARM架构,具有体积小、功耗小(台式计算机的1/5~1/20)、成本低等特点;嵌入式操作系统大多具有开源、低收费、运行速度高、防病毒能力强等特点。该文所实现的嵌入式VNC系统,扩展了嵌入式设备的功能,有效地提高了维护及监管技术,提供了维护及监管的可视化。
总体测试表明,该扩展功能满足用户需求,达到对车道系统的远程监控及管理,后续可在此框架上实现远程更新,及集中管理等更深层次的需求。
参考文献
[1] 何柏涛.CAN总线技术在嵌入式收费车道机中的应用[J].北方交通,2009(7):99-102.
[2] 张斌,李凯.嵌入式车道收费机[J].航空计算技术,2005,35(4):32-34.
[3] 孫廷才,王杰,孙中健.工业控制计算机组成原理[M].北京:清华大学出版社,2001.
[4] 刘辉,冀然然,夏意军.PCI系统结构[M].北京:电子工业出版社,2001.
[5] 云舟工作室编.AGP系统体系[M].北京:中国电力出版社,2001.