嵌入式Linux远程监控系统的设计与开发
2018-07-13岳立言欧阳昇翟宝蓉
岳立言,欧阳昇,翟宝蓉
(华北科技学院,北京 101601)
0 引言
传统的远程监控采用基于阻抗匹配功率放大的一种宽频波段进行网络远程监控信息采集及智能信息监控识别[1],该系统在实践中存在一定的缺陷与不足,无法有效满足嵌入式网络监控系统的实际需求。对此文章提出了一种基于嵌入式 Linux的远程监控系统设计方式并进行了论证分析。
1 硬件系统总体设计和指标性能描述
远程网络监控综合了数字视频监控及网络传输技术的优势,在实践中不受地理环境、位置等因素的影响,其拓展较为简单便捷,信息处理也更为容易,在实践中可以提升远程管理及维护的质量和效果,只要保障网络覆盖的面积就可以实现远程网络控制。另外嵌入式系统的网络发展已成为主流趋势,一些远程的 Linux网络监控信息编辑软件应用较为广泛,但是系统在运行过程中会出现信息篡改以及恶意压缩等问题,容易出现网络时延以及丢包等现象,直接降低了网络远程监控的质量,因此加强对嵌入式 Linux的远程监控系统的设计与开发显得迫在眉睫,在今后的发展中将网络技术与嵌入式技术进行融合是远程监控系统发展的趋势。
1.1 设计指标和基本原理
基于嵌入式 Linux的远程监控系统的设计,分为硬件系统及软件系统两个内容,其功能具体如下:
第一,持续、动态实时监测新数据 Linux的节点,可以为相关数据信息的采集子模块提供代表身份的唯一识别码;第二,为了真正实现嵌入式Linux网络远程监控系统,要通过自组织的方式使得不同监测模块节点的数据在发送过程中加入,并且将其传递到协调器中的模块存储单元,同时可以对不同监测节点的反馈数据进行等待分析[2]。第三,利用协调模块将集中采集和自动收集到的数据信息发送到控制中心,通过监测算法加强对系统的远程控制,并开展实时数据分析。
1.2 网络远程监控系统硬件设计
系统在采集网络远程监控数据以及信息传输处理的过程中,主要受A/D,D/A分辨率以及A/D转换器转换速率的影响。其具体的技术指标为:进行预处理和动态模拟处理过程时的范围为-40~+40 dB,同时其放大量的数值范围为80 dB,输出信号幅度范围为±10 V;在采样过程中利用8通道异步及同步输入的方式作为主采样通道,在该过程中需保障采样率不小于200 HZ,并保障其A/D分辨率、D/A分辨率至少为12位,D/A转换速率不小于200HZ。回放信号可采用LFM,CW,HFM等不同形式[3],具体应用模型如下图1:
图1 监控信号发生匹配电路等效模型Fig. 1 Occurrence matching circuit equivalent model of monitoring Signal
本文通过将嵌入式 Linux及 Web开发技术融合,使用USB摄像头作为监控系统终端进行图像信息采集,利用网络TCP协议进行图像信息的传输,将其远程发送到服务器终端,此种方式主要通过对等网络模型,在客户端以及服务端中发送与控制命令。
1.2.1USB摄像头
摄像头属于视频类设备,在 Linux中采用的视频标准为Video for Linux,该标准定义了接口、内核、驱动以及应用程序等,使用视频设备必须以此接口为标准进行控制,主要包括音视频采集及图像捕捉与处理等相关工作,其中USB摄像头也属于该标准范围之内。
在嵌入式 Linux操作系统中应用 USB摄像头时,必须在Linux内核配置信息中添加Video4Linux驱动并支持USB摄像头驱动模块,该过程需要通过静态加载的方式进行驱动[4]。整个操作过程需首先进入到 Linux源代码目录中,在 Linux终端键入“make menuconfig”命令,在弹出的图形界面上完成内核选项内容的系统配置,选择多媒体设备“Multimedia device->”,随后会进入到多媒体设备的配置界面中,再勾选“Video For Linux”,然后加载 Video4Linux模块,这样就初步实现了通过内核支持 Video4Linux驱动,并为视频采集设备提供了一个编程接口。同时,还需要在内核配置的主界面中,勾选USB支持选项“USB support->”,然后选择“USB Multimedia device”选项下拉菜单中的“USB OV511 Camera support”,这样就会在内核中加入USB数字摄像头,并为其提供驱动支持[5]。
1.2.2帧缓冲设备
在 Linux中,显示设备通过帧缓冲(Frame Buffer,FB)进行显存抽象,在运行中允许上层应用程序在基于图形模型下对显示缓冲区进行直接的读写操作与处理。由于帧缓冲设备在实践中是一种受限驱动,对此在使用时必须额外主动开启设备。在本设计中帧缓冲设备的启用步骤具体流程如下:
首先,进行v86d及hwinfo的安装,了解显卡的支持状况,设置本机支持模式,然后启动文件“//etc/default/grub”,修改“modules”文件//etc/initramfs-tools/modules,更新并重启系统后就会查看到帧缓冲设备[6]。
2 系统软件设计
2.1 网络远程监控系统软件设计
网络远程监控系统主要由摄像头驱动模块、网络传输模块、图像采集模块、网络服务器模块构成。摄像头驱动模块利用接口进行摄像头设备的信息设置以及获取、打开、关闭设备、进行信号通道的有效选择、初始化窗口等相关内容。服务器主要利用网络传输模块系统与远程电脑终端进行信息交流;图像采集模块的主要作用是将编程接口获得的各种图像信息进行暂时性的存储。
2.2 网络编程
系统使用 Socket(套接字)接口进行网络编程,应用Socket可以为系统提供更为稳定的,基于连接的通讯流。应用TCP协议可以从根本上提升数据信息传输的有序性以及精准性,在实践中基于TCP协议的服务器端以及客户端在设计过程中并没有固定的、单一的功能,客户端在运行过程中不会对服务器的命令产生依赖[7]。基于嵌入式 Linux的远程监控系统在服务器开启之后,服务器与客户端之间可以通过发送命令的方式实现各种网络信息与数据的传输,且数据的传输方向是任意的。
图2 图像信息采集流程图Fig. 2 Image Information Collection Flow Chart
2.3 工作组模型
在进行基于嵌入式Linux远程监控系统的设计过程中应用的是工作组模式,其中工作组也就是对等网络模型,使得处于网络中的相关设备功能一致,没有等级划分,这样不仅可以作为服务端进行共享资源网络的应用,也可以作为客户端应用。工作组是一种在小型局域网中常见的组网模式,在工作组中并没有专门的服务器以及客户端[8]。
2.4 基于嵌入式Linux的远程安全监控系统实现
本系统软件主要由摄像头驱动模块、网络传输模块以及网络服务器模块、图像采集模块共同构建组成。系统通过启动USB摄像头设备并开启帧缓冲设备,实现视频图像信息的采集及图片文件的形成、利用TCP/IP网络进行数据传输,以及在监控端使用帧缓冲设备进行图像显示等功能,被监控端口图像信息采集成功提示图如下图3:
图3 被监控端口图像信息采集成功提示图Fig. 3 Successful Collection Prompt Diagram of Monitored Port Image Information.
3 系统实现
为测试系统运行效果以及远程监控算法在系统中的性能,设计采用两台桌面计算机进行仿真实验,其中一台 PC进行 Linux远程监控信息的采集及发送,另一台PC作为Linux远程网络监控信息的接受以及显示终端,通过有线或无线的方式进行完善的构建,将智能网络信息监控系统植入到计算机中,构建局域网,通过对连续六十秒中的网络数据进行分流监控处理,对各大量数据进行了24781 s的训练,通过训练获得的结果对连续八十秒的数据信息进行分流监控处理,在143 s获得结果,生成232MB的TXT文本文件,对异常状态检测成功率高达95%,效果较为显著。通过远程网络监控数据的丢包率以及异常网络信息内容的检测,了解到此种算法监测性能较为良好[9-10]。
4 结语
基于嵌入式 Linux远程监控系统的设计在实践中真正的做到了嵌入式设备驱动模式的加载、网络数据的存储和传输、视频图像信息采集等相关功能,具备较为完善的远程控制作用,嵌入式 Linux远程监控系统是基于工作组网络模型进行设计并实现的,能够将端口应用程序作为服务器端或客户端,可以在实践中广泛应用。