嵌入式手持直播设备系统设计.docx
本科毕业设计(论文)题目:嵌入式手持直播设备系统设计摘要嵌入式视频监控系统是一种基于嵌入式技术的安全监控系统,该系统采用摄像头和嵌入式处理平台,能够实时获取监控区域内的图像信息,并对图像进行处理和分析,从而达到监控和预警的目的。嵌入式视频监控系统具有架构设计和硬件选型,包括嵌入式处理器的选择、图像采集模块、网络通信模块等。该研究则主要通过COrteXA9处理器和嵌入式1.inUX操作系统为核心的嵌入式视频监控系统,基于V41.2架构实现视频采集并通过TCP实现视频传输,最终在客户端上展现视频内容。关键词:Cortex-A9;嵌入式;视频传输;1.inux;TCPAbstractEmbeddedvideosurveillancesystemisakindofsecuritymonitoringsystembasedonembeddedtechnology.Thesystemadoptscameraandembeddedprocessingplatform,whichcanobtainreal-timeimageinformationinthemonitoringarea,andprocessandanalyzetheimage,soastoachievethepurposeofmonitoringandearlywarning.Embeddedvideomonitoringsystemhasthearchitecturedesignandhardwareselection,includingthechoiceofembeddedprocessor,imageacquisitionmodule,networkcommunicationmoduleandsoon.Inthisstudy,theembeddedvideosurveillancesystemwithCortex-A9processorandembedded1.inuxoperatingsystemasthecoreisusedtorealizevideoacquisitionbasedonV41.2architectureandvideotransmissionthroughTCP,andfinallydisplayvideocontentontheclient.keywords:Cortex-A9;embedded;Videotransmission;1.inux;TCP第1章绪论11. 1研究背景和意义11.2 历史发展及研究现状11.2.1 视频监控的历史和发展11.2.2 嵌入式系统的发展和历史21.3 主要研究内容2第2章系统方案设计42. 1开发平台服务器端设计42. 2目口"i*5第3章硬件选型及设计63. 1电源模块63.2USB摄像头模块73. 3Corte-983.4USB转接串口8第4章软件设计94. 1SoCket通信机制94. 2TCP协议94. 31.inux系统的服务器104.1. 3.1月艮务器搭建104.2. 3.2虚拟机网络配置1144f象"而vf*124.4. 1V41.2驱动框架124.5. 2基于V41.2的USB摄像头图像采集流程134.6. QT对接服务器144.7. QT页面154. 6.1QT页面界面显示155. 6.2QT页面跳转16第5章系统功能运行176. 1QT的网络交互请求175.2虚拟机网络配置175.3实验平台移植服务器程序175.4185.5彳丁月艮195.6QT客户端显示20第6章总结与展望22参考文献23致谢24附录25第1章绪论1.1 研究背景和意义嵌入式视频监控课题研究的重要目标之一是提高视频监控系统的性能和稳定性。为此,可以通过系统设计和算法优化来提高其处理速度、图像质量和实时性等关键指标。这不仅可以满足各种应用场景下的需求,还可以为整个视频监控行业的发展提供更加可靠和高效的技术支持。通过优化处理器架构、图像采集与展示等技术,可以提升视频监控系统的分辨率、帧率、清晰度和实时性等重要指标“21。降低视频监控系统的成本:嵌入式视频监控课题研究可以提升系统的集成度、功能性和可靠性,同时还能够优化系统结构和算法,降低系统的成本,使其更加适合大规模应用。推动视频监控技术的创新:嵌入式视频监控课题研究可以为视频监控技术的创新提供基础和支撑,促进视频监控技术的发展和进步。例如,通过研究新型传感器、深度学习算法等技术,可以实现更加高效、精准的视频监控系统。总之,嵌入式视频监控课题研究对于视频监控发展有着非常重要的意义,可以提升视频监控系统的性能、降低成本、改善用户体验以及推动技术创新,为整个视频监控行业的长远发展提供了重要支持和助力。嵌入式视频监控课题研究对于嵌入式发展有重要的意义,推动嵌入式技术应用广泛:随着科技的发展和物联网的普及,嵌入式视频监控系统在各个领域得到了广泛应用,包括工业、交通、医疗等。通过嵌入式视频监控课题研究,可以推动嵌入式技术的应用广泛,进一步提高系统性能和稳定性。促进嵌入式视频监控行业创新发展:嵌入式视频监控课题研究可以为行业内相关企业提供技术支持和创新思路,帮助企业优化产品设计和开发流程,提高产品质量和用户体验。1.2 历史发展及研究现状1.2.1 视频监控的历史和发展视频监控的历史可以追溯到20世纪初期,当时一些早期的电视技术开始出现。随着广播技术的发展,一些声音和图像传输技术也得到了改进。这些技术为视频监控提供了可能性,但由于技术限制,监控设备的使用仍然十分有限网。在20世纪60年代和70年代,一些国家开始使用闭路电视(CCTV)技术进行城市和工业区的监控,以及公共场所的安保。CCTV技术在接下来的几十年里得到了迅速的发展和改进,例如数字化技术、高清晰度摄像头和云计算等技术的应用,使得视频监控设备不断地向更加高效、智能化的方向发展1助。今天,视频监控已经成为了各个领域中重要的安全手段之一,例如交通管理、金融、教育、医疗等领域都广泛应用了视频监控技术。同时,随着人工智能、大数据等技术的发展,视频监控设备的功能也不断地得到扩展和升级,例如面部识别、行为分析、智能告警等功能的应用也越来越广泛。1.2 .2嵌入式系统的发展和历史嵌入式工作装置是一种专用的计算机系统,通常被嵌入到其他设备或系统中,以执行特定的控制、监测或数据处理任务。它们通常使用微处理器或微控制器作为中央处理单元(CPU),并且具有少量的内存和存储器,以及输入输出接口。由于其小型化和低功耗的特点,嵌入式工作装置被广泛应用于各种领域,如消费电子、医疗保健、工业自动化、交通运输、通信等。在设计嵌入式工作装置时,需要考虑到其所处的环境和使用场景,选择适合的硬件组件和操作系统,并且采用合适的程序设计方法,以确保其稳定性和可靠性。在过去几十年中,许多公司、组织和个人都致力于对1.inUX进行研究和开发。其中,1.inux的安全性、性能和可靠性等方面的研究受到了广泛关注。当前,1.inux操作系统已经成为云计算、容器化等领域的主流操作系统之一,也被广泛应用于嵌入式系统、移动设备和超级计算机等领域。同时,越来越多的开源项目和软件也在1.inux平台上得到了支持和发展。1.3 主要研究内容本课题研究的是网络视频监控系统,采用ARM开发板搭载的嵌入式Iinux系统设计视频监控系统。主要包括开发平台硬件电路结构、1.inUX操作系统的编程、QT用户客户端页面的搭建、SoCket通信系统的搭建、系统调试及运行。该设计需要解决的问题:怎样采集摄像头图像,需要熟悉1.inUX的V41.2架构;ARM开发平台与Pe端的通信需要采用TCP连接,ARM开发平台的1.inUX系统为服务器,PC的QT为客户端;通信协议、视频传输协议,需要设计一套可靠的通信协议来支持双方的通信,实现视频传输;Pe端界面设计,利用QT进行界面Ul设计,设计方便用户的模式,使得交互平台更人性化,更好用。保证系统的稳定性,即使在网络情况较差的情况下也能及时进行交互,同时实现一个管理平台与多个开发平台服务器进行交互。以上所述都是系统的重要组成部分,需要着重考虑。完成本项目设计后,所要达成的预期成果:ARM开发平台能正常的进行视频采集,与不同的摄像块模组相匹配;服务器端与客户端通信成功,也就是ARM端与PC端能够通过TCP连接;Pe客户端的QT能正常显示页面,用户进行交互,功能无误无明显延迟。(1)硬件平台的结构系统以Cortex-A9为开发平台,Cortex-A9是一款32位处理器,外接USB摄像头,无线Wifi模块或者有线网络,PC端笔记本电脑。(2)系统软件的实现1.inux系统的服务器搭建进行多进程管理,QT对接虚拟机1.inux系统搭建的服务器与QT界面的显示与跳转。第2章系统方案设计2.1 开发平台服务器端设计本系统采用PC+ARM的组合方式实现视频监控系统,PC端为管理平台,ARM端为摄像头端,管理平台支持一对多的方式,即一个管理平台能同时连接多个摄像头;系统主要采用QT库来实现GUI界面的设计及布局,采用Iinux的V41.2架构来驱动摄像头并获取图像数据,管理平台与摄像头端通过SOCket通信,采用TCP连接方式,通信协议为自定义的通信协议格式。在此系统中,双方通信时,摄像头端作为服务器,管理平台作为客户端,摄像头端启动网络监听,等待客户端(管理平台)的连接;而在管理平台中,视频区域是一个客户端,会与服务器连接通信U1.摄像头端ARM端:(1)采用Fs4412开发板,运行其搭载的IinUX系统;(2)图像采集:调用USB摄像头,通过IinUX操作系统自带的V41.2架构进行驱动;(3) QT界面显示:采用QT进行界面的设计布局和显示摄像头集收集的图像;(4) SOCket通信:采用IinUX系统的SOCket通信,TCP连接方式,具体通信内容格式为自定义协议;(5) ARM端作为TCP服务器SerVer,监听来自管理平台的连接请求并作出处理。2.2 管理平台端主要有两大模块:QT设计Ul界面模块、SoCket网络通信模块。Ul界面主要采用QT库来设计布局Ul界面,在视频显示区域,划分为上一个U1.该Ul为登录连接开发平台的ip地址然后跳转到视频监控页面,网络通信采用TCP连接方式,通信内容为自定义的协议格式,在网络通信时,管理平台端作为客户端口叫其会创建多个客户端,每个客户端均会主动连接服务器(摄像头端),连接成功后便能正常收发数据通信。管理平台PC机上UbUntU系统:(1) PC系统平台:虚拟机VMWare运行UbUntu;(2) QT界面显示:采用QT库进行Ul的设计布局和显示摄像头采集的图像;(3) SoCket通信:同样采用IinUX的SOCket通信机制,TCP连接方式,自定义协议;(4)管理平台端作为TCP客户端,会主动去连接摄像头端。2. 3系统架构图在网络通信时,管理平台端作为客户端均会主动连接服务器(摄像头端),连接成功后便能正常收发数据通信。摄像头端与客户端通过服务器进行信息交互:图21系统架构图第3章硬件选型及设计3.1电源模块硬件开发平台通过电源模块向其它硬件提供电能,开发平台中有5V,3V,1.8V的工U17805作电压需求。VNQH000二IZFlC1C210uF-IoU=C3WuFR1U5vR210K图3-15V供电实现5V转3V:+5VU2C447uFINQOUTN0I+3.3VHT783:-1.C547uF图3-23.3V供电实现3.3V转1.8V:图3-31.8V供电3. 2USB摄像头模块USB摄像头是一种通过USB接口连接到计算机的设备,用于捕获视频和音频信号。它们通常用于视频会议、网络直播、视频录制等应用场景。USB摄像头具有广泛的适用性,因为它们可以在几乎任何计算机上使用,只需要插入USB端口即可。此外,它们也相对便宜,易于安装和使用“1.USB摄像头通常包括一个镜头、一个传感器、一个处理器和一个USB接口。镜头用于聚焦光线,传感器负责将光线转换成电信号,处理器则对这些信号进行处理,最终生成数字视频信号并通过USB接口发送到计算机。USB摄像头可以分为内置型和外置型两种。内置型USB摄像头通常集成在笔记本电脑或平板电脑中,而外置型USB摄像头则可以独立使用,并且可以根据需要进行移动和调整。VBUSD-D+GNDPADPAD+5VR41I9R6-I11l315KUSBHOSTPort图3-4USB接口模块电路3.3Corte-A9COaeX-A9是一款32位处理器,采用ARMV7-A指令集架构。它可以运行在单核或双核配置下,并且支持多种虚拟化技术。Cortex-A9具有高度的可扩展性和灵活性,可以选择不同的缓存大小、内存接口和外设配置来满足不同的应用需求。它还支持动态电压调节和频率调节技术,以实现更好的能效比。COrteX-A9的乱序执行单元和多级流水线结构使其能够实现高吞吐量和低延迟。此外,它还能够通过Neonsimd指令集加速图像、音频、视频处理等计算密集型任务的执行。Cortex-A9具有高度可配置性和可扩展性,可应用于广泛的嵌入式应用场景,包括智能手机、平板电脑、数字电视和家庭娱乐系统、网络存储设备、工业自动化等。此外,Cortex-A9还可以作为高性能计算机的处理器核,在云计算、人工智能等领域得到广泛应用。总体而言,Cortex-A9是一款功能强大的处理器,适用于各种嵌入式和移动应用。它的高性能、低功耗和可扩展性使其成为许多移动设备和嵌入式系统的首选处理器之一。3.4USB转接串口串口在开发中发挥着重要功能,ARM开发板Fs4412使用的串口为USB转接串口,使用串口线将PC机和ARM开发板相连接,进行开发调试。第4章软件设计4.1socket通信机制本设计中的通信,采用Socket套接字实现的TCP连接方法,摄像头端为TCP服务器,管理平台端为客户端,服务器只需监听着,由客户端主动发起连接,连接成功后便开始真正的数据收发通信。Socket通信是一种基于TCP/IP协议的网络通信机制,它允许应用程序通过网络进行数据传输和通信。叫在SoCket通信中,客户端和服务器之间建立一个双向的、可靠的数据流通道,可以通过这个通道进行双向的数据传输。在SoCket通信中,有两个基本的概念:IP地址和端口号。IP地址指的是计算机在网络上的唯一标识符,而端口号则是一个数字,用于将不同的应用程序区分开来。当一个计算机通过网络与另一个计算机进行通信时,需要知道目标计算机的IP地址和端口号。SOCket通信可以使用不同的协议,如TCP,其中TCP协议提供了可靠的、面向连接的数据传输服务,保证数据包的有序性和完整性。4.2TCP协议TCP是传输层协议。它提供了端到端的数据传输和错误恢复功能,保证了在网络上的传输中数据不会丢失、重复、损坏或失序。TCP连接时需要进行三次握手来进行建立连接,然后进行数据传输,最后通过四次挥手来进行释放连接。在数据传输过程中,TCP协议将数据分成小的数据段,并为每个数据段编号,以确保数据的有序传输和完整性。如果某个数据段没有正确接收,TCP会自动重新发送该数据段。由于TCP协议提供了可靠的数据传输和错误恢复功能,因此在网络应用中被广泛使用,如网页浏览、文件传输、电子邮件等。它也是互联网通信中最常用的协议之一,保障了全球范围内。它的使用流程通常包括以下步骤:(1)建立连接在客户端和服务器之间建立TCP连接时,需要进行三次握手;经过这个过程,客户端和服务器才成功建立了TCP连接。(2)数据传输在连接建立后,客户端和服务器就可以开始进行数据传输。数据传输的过程中,TCP协议会保证数据的可靠性和传输顺序。具体来说,当客户端发送数据时,TCP协议将数据拆分成若干个数据段,并逐个发送给服务器。每个数据段都包含一个序列号,用于标识该数据段在整个数据流中的位置。服务器收到数据段后,会发送一个确认消息以确认数据段的接收,并告诉客户端下一个期望接收的数据段的序号。如果客户端没有收到确认消息,则会重新发送数据段,直到得到确认消息为止。(3)断开连接当数据传输完成后,客户端和服务器需耍结束TCP连接。这个过程也需要进行三次握手。这样客户端与服务器断开连接,成功保证了的数据传输质量和网络安全网。三次握手的目的是为了确保客户端和服务器之间的连接能够正常建立同时也可以防止因为网络延迟,断开等原因导致的连接不稳定或者失败图4-1Socket通信的TCP协议4.31.inUX系统的服务器4.3.1服务器搭建套接字编程创建监听套接字SoCke3绑定IP及其端口号bind,开启监听IiSten,等待处理客户端的连接请accept,数据交互read和Write。服务器搭建:(1)创建监听套接字SOCket(2)绑定IP及其端口号bind函数使用需要添加的头文件(3)开启监听IiSten(4)等待处理客户端的连接请求accept(5)数据交互read&write图42服务器搭建流程图4.3.2虚拟机网络配置(1)检测虚拟机是否有网络终端命令:ifconfig:查询网络适配器信息(能够查询ip地址信息)ipconfig:用于WindOWS主机查询(2)配置网络1)打开VMWare左上角编辑选项中的“虚拟网络编辑器”2)点击虚拟网络编辑器中更改设置将VmnetO更改为桥接模式,桥接到相应的网络适配器上(也可选择自动)3)打开VMWare左上角虚拟机选项选择设置找到设置中网络适配器选项,将连接模式改为自定义虚拟网络选择vmnet4)点击虚拟机中连接的图标,点击editconnection选项点击add添加配置,修改连接名,选择macaddress中eth选项,点击save5)点击虚拟机中连接的图标,点击自己创建的连接名等待连接(3)利用Ping指令测试网络是否联通4.4摄像头端设计摄像头端可运行各种硬件平台,包括PC端、ARM开发板、树莓派等硬件平台上,主要功能为摄像头视频流获取与socket网络通信,采用1.inux系统的V41.2视频子系统对USB摄像头驱动并实时获取其画面,同时通过SOCket套接字建立与服务平台间的TCP连接,进行数据的交互通信。简言之,摄像头头负责驱动USB摄像头并获取图像数据,再将图像数据通过TCP连接发送给管理平台网。在socket套接字网络通信时,采用TCP连接方式,摄像头端为TCP服务器,开启监听模式,等待客户端(管理平台)的连接,客户端一旦连接上建立TCP连接链路后,双方即可开始通信。而通信时,摄像头端主要任务职责为通过V41.2获取摄像头视频流并将其发送给管理平台让其显示出画面叫摄像头端包括以下模块:QT界面;USB摄像头图像采集模块;SOCket通信图4-3客户端功能模块图4.4.1V41.2驱动框架通常处理器Controler和subdev子设备的代码是分开的,比如摄像头驱动,cpu端cameraControler部分的代码是芯片原厂实现,摄像头控制部分的代码是摄像头原厂提供,以子设备的形式注册到内核。cameraControler部分的代码其功能一般包括图像数据的采集、图像buffer管理以及子设备的管理和media数据通路管理等;子设备部分负责该子设备的设置,以及提供函数接口给cameraControler端使用UUocameraControler端主要抽象的结构体:v412_device:用于整个v412驱动的统筹管理的,包括子设备(可以由多个)、mediaframwork等等;video_device:用于生成设备节点(devVideoX)。v412_async_notifier:用于子设备的异步注册,subdev子设备的注册通常和COntroler部分设备的注册时分开的,Controler部分需要通过v412_async_notifier查找匹配子设备并将其注册到v412_device进行统一管理;其匹配规则可以通过设备名称、自定义函数、i2c设备等。media_device:该结构体主要用于数据通道的控制,复杂的v412设备驱动可能有很多功能各异的子设备,数据流的流向控制可以通过mediaframwork进行控制"°1.图4-4V41.2驱动框架图4.4.2基于V41.2的USB摄像头图像采集本设计中,我们采用USB摄像头来采集外界图像,相关驱动已在IinUX内核中已支持(通用的USB摄像头驱动)。应用上只需调用V41.2框架下的相关函数接口,依照V41.2的调用流程来即可获取摄像头图像。V41.2相关的API,有如打开设备open。、关闭设备close()s设置控制参数ioctl(),获取图像等等。基于V41.2的USB摄像头的图像采集流程如下:(1)打开USB摄像头设备,OPen()接口,摄像头设备为devvideo*;(2)初始化摄像头设备相关参数:根据摄像头所支持的图像格式,将其设置设置为相应的格式、图像像素大小为640X480;(3)初始化视频帧缓冲区:申请若干个帧缓冲区如5个,并映射到用户空间,以使应用可以读取数据;(4)将申请到的若干个视频帧缓冲区放入到采集队列中,并启动设备开始采集;(5)摄像头开始采集图像,V41.2内部会将采集到的图像数据填充到一个个的缓冲中,程序从队列取出帧缓冲数据,取出后,再将帧缓冲区重新放入到采集队列中让其继续采集,如此循环即可采集到连续的图像数据。图4-5V41.2图像采集流程4.5QT对接服务器在嵌入式视频监控系统中,QT可以作为一种图形化界面开发工具来进行开发,用于实现客户端的Ul界面。而1.inUX服务器作为后端处理服务器,主要负责存储、处理和管理监控设备上传的数据以及向客户端提供服务。因此,QT与1.inUX服务器的对接可以实现以下功能:(1)实时显示视频流:QT可以通过与1.inUX服务器通信,从服务器获取相应的视频流数据,然后将其解析并显示在客户端的界面中。(2)控制视频设备:QT可以通过向1.inUX服务器发送相应指令,控制视频设备的运行状态,例如启动录像,停止录像等。(3)数据管理:QT可以与1.inUX服务器建立连接,将所需的数据上传到服务器,也可以从服务器获取数据,例如历史录像数据、报警信息等。(4)用户权限管理:QT可以通过与1.inUX服务器通信实现用户权限管理功能,包括用户登录、身份验证、用户角色管理等。综上所述即为1.inUX操作系统下的多线程,多进程编程。客户端搭建:(1)创建套接字(2)创建专用地址结构体,用于存储需要连接的服务器的信息(3)发起连接请求图4-6对接流程图4.6QT页面4.6.1QT页面界面显示要使用QT设计客户端,需要遵循以下步骤:(1)下载并安装QTCreator:首先,您需要从QT官方网站下载和安装QTCreator。QTCreatOr是一个集成开发环境(IDE),可以帮助您轻松地创建和管理QT应用程序。(2)创建新的QT项目:在QTCreatOr中,选择“File”>uNewFileorProject",然后选择“QTWidgetsAPPliCation”模板。输入项目名称和路径,并确保将语言设置为C÷+o(3)设计用户界面:通过使用QTDeSigner工具创建客户端的用户界面。快速设计和布置界面元素。(4)编写代码:在QTCreatOr中,单击“Edit”以打开代码编辑器。在这里,您可以编写与用户界面交互的逻辑代码。(5)构建和运行:完成代码编辑后,您需要构建并运行客户端应用程序。单击“Build”按钮可以构建应用程序,单击“Run”按钮可以启动应用程序。(6)测试和调试:测试和调试是软件开发过程中非常重要的步骤。在QTCreaIor中,使用调试器来检查代码中的错误和问题,并确保应用程序的稳定性和可靠性。显示QT在widget.cpp和widget.hoQT界面的布局,主要在widget.cpp和next.cpp各个控件的定义均在里面可找到,包括控件的位置坐标、大小、文字等。例如用于显示图像的控件Q1.abe1.设置位置坐标的函数:SetGeometry()定时刷新显示,刷新显示函数:在该函数中,主要会获取新最的一帧图像,将其格式转换至QT格式并显示。4.6.2QT页面跳转建立一个客户端跳转机制,从登录页面客户端跳转到视频监控客户端。利用QT的信号与槽机制,具体步骤如下:QT界面跳转:(1)在工程中添加下一个界面的界面文件在PageI页面中,当用户点击按钮时,会获取用户输入的数据并创建一个新的Page2页面,将数据传给他,在Page页面中,展示了传递过来的数据。(2)在需要创建下一个界面的类的头文件中中添加头文件(3)在私有成员变量中创建下一个界面的对象指针(4)实例化下一个界面对象(5)下一个界面显示,当前界面隐藏第5章系统功能运行5.1 QT的网络交互请求在Qt中进行网络交互请求通常是通过Qt的网络模块实现的。Qt的网络模块提供了多个类和函数,可以轻松地实现HTTP、TCP、UDP等协议的网络通信。在Qt中还提供了其他的网络类和函数,例如QTCPSOCket、QUdpSocketQHttP等,可以根据具体的需求选择不同的类和方法来实现网络交互请求。其中QT的http请求:(1)添加网络请求相关头文件(2)创建网络管理工具对象指针(3)实例化网络管理工具(4)关联信号与槽(5)完成处理网络回传数据函数5.2虚拟机网络配置(1)检测虚拟机是否有网络终端命令:ifconfig:查询网络适配器信息(能够查询ip地址信息)ipconfig:用于windows主机查询(2)配置网络1)打开VMWare左上角编辑选项中的“虚拟网络编辑器”2)点击虚拟网络编辑器中更改设置将VmnetO更改为桥接模式,桥接到相应的网络适配器上(也可选择自动)3)打开VMWare左上角虚拟机选项选择设置找到设置中网络适配器选项,将连接模式改为自定义虚拟网络选择vmnetO4)点击虚拟机中连接的图标,点击editconnection选项点击add添加配置,修改连接名,选择macaddress中eth选项,点击SaVe5)点击虚拟机中连接的图标,点击自己创建的连接名等待连接(3)利用Ping指令测试网络是否联通5.3实验平台移植服务器程序服务器在ARM开发平台Cortex-A9上运行。在虚拟机中可以通过远程登录的方式访问实验箱:远程登录指令:sudossh+实验箱ip地址注意:实验箱和虚拟机需要处于同一网络频段下将虚拟机程序拷贝到实验箱:远程拷贝指令:sudoscp-r+拷贝目录文件路径+实验箱ip地址:实验箱程序存储路径(一般可以放在根目录)例如:sudoscp-rproject192.168.10.66:/拷贝完成后程序将在实验箱中完成编译过程,再运行可执行程5.4检查连接在虚拟机检查摄像头是否连接正常,在虚拟机中可以选择连接或者断开摄像头来控制摄像头的断开与连接。VMwareWorkstationO(V)»M)选魅(T)三(三)Il纯GBH®00顿(P)>可勘SS(D)>暂停(U)Ctrl+Shift+PlSCtrl+Alt+Del(E)抓瞬入内容(I)CtrkGSSH(三)三p三,ff¾翩褊(C)Ctrl+Alt+PrtScn酬M)SrVMwareTooIs(T).三R9"i£I(三).Qrl+DCD/DVD(SATA)网箔适函器11a机声卡QinHengUSB2.0-Ser!Realtek1.enovoEasyCameraVIAV1.IProductStringader."ke."jntu:*>Wff与并lfi三)(C)>ESiBS(I)n.I在状耗中航(三)图5-1摄像头连接5.5运行服务器server图5-2服务器虚拟机1.inux系统搭建服务器初步运行查询虚拟机的ip地址程序代码$ifconfig虚拟机ubuntu连接ARM开发板上的USb摄像头摄像头端,主要为:摄像头采集模块、SoCket网络通信模块。摄像头采集,主要采用了IinUX操作系统的V41.2视频驱动架构来获取摄像头一帧一帧的图像数据;网络通信采用TCP连接方式,摄像头端在通信时作为服务器,其会通过服务器,并开始监听客户端的连接,当有客户端与其连接时便可开始通信,通信内容采用自定义的协议格式。farsight©UbUntu:farsightubuntu:$ifconfigeth1.inkencap:EthernetHWaddr00:0c:29:9d:b5:89inetaddr:192,168.43.35Beast:192.168.43.255Mask:255,255.255.0inet6addr:249:8962:f8:b27:418e:5f7c:1277:5447/64ScopezGlobalinet6addr:2409:8962:f08:b27:2c:29ff:fe9d:b58964ScopeiGlobalinet6addr:fe8:20c:29ff:fe9d:b58964Scopei1.inkUPBROADCASTRUNNINGMU1.TICASTMTU:1500Metric:1RXpackets:53errorsdropped:©overruns:©frame:0TXpackets:105errors:0dropped:0overruns:©carrier:0collisions:0txqueuelen:1000RXbytes:10968(10.9KB)TXbytes:15590(15.5KB)Interrupt:19Baseaddresszx20Io1.inkencap:1.ocal1.oopbackinetaddrl27.,lMaSk:255.6.0.6inet6addr:1/128ScopeiHostUP1.OOPBACKRUNNINGMTU:16436Metric:1RXpackets:100errors:0dropped:0overruns:0frame:0TXpackets:100errors0dropped:0overruns:©carrier:©collisions:0txqueuelenzRXbytes:5865(5.8KB)TXbytes:5865(5.8KB)farsightubuntu:-$图5-3查看ip地址进入服务器文件$cdsever./server服务器运行成功farsightubuntu:*$./serverbash:./server:Isadirectoryfarsight(aubuntu:-$cdseverbash:cd:sever:Nosuchfileordirectoryfarsight(9ubuntu:-$cdserverfarsightubuntu:/server$./serveropen:Nosuchfileordirectorycamera->start:Badfiledescriptorserverinit->successi图5-4服务器运行成功5.6QT客户端显示输入虚拟机ip地址,实现客户端与服务器采用socket套接字实现的TCP连接,摄像头端为TCP服务器,管理平台端为客户端,服务器只需监听着,由客户端主动发起连接,连接成功后便开始真正的数据收发通信。11Widget-QXIP连接登录图5-5登录界面Form连接成功!连接登录图5-6客户端连接服务器成功点击登录后跳转到监控页面开始停止连接192.168.43.35Sl。瞬4Sr1.向丽17图5-7摄像第6章总结与展望本系统采用PC+ARM的组合方式实现视频监控系统,PC端为管理平台,ARM端为摄像头端,管理平台支持视频监控查看的方式,系统主要采用QT库来实现Ul界面的设计及布局,采用IinUX的V41.2架构来驱动摄像头并获取图像数据,管理平台与摄像头端通过SOCket通信,采用TCP连接方式,通信协议为自定义的通信协议格式。在此系统中,双方通信时,摄像头端作为服务器,管理平台作为客户端,摄像头端启动网络监听,等待客户端(管理平台)的连接;而在管理平台中,视频区域就是一个客户端,均会与服务器连接通信,彼此间是相互独立的,可以看作视频区域与连接的摄像头都维持一条独立的通信链路,彼此间不影响,各自完成图像传输并显示。最后成功在PC端的QT搭建的Ul中显示出摄像头画面,并且ARM开发板上也能完美运行虚拟机ubuntu搭建的IinUX服务器系统。本设计制作难度可根据要求而调整,从硬件设计的角度出发,可以研究如何针对嵌入式视频监控场景,设计更加高效、稳定、低功耗的嵌入式系统。加速图像处理和分析的速度,并且通过优化电路设计,降低功耗,延长系统寿命。从应用拓展的角度出发,可以探讨如何将视频监控技术与其他技术结合起来,实现更加智能化的应用。例如,将人脸识别技术和视频监控技术相结合,实现智能门禁系统;将物联网技术和视频监控技术相结合,实现智能家居监控系统等。参考文献1刘京.基于ARM的嵌入式视频监控系统的设计与实现D.中国科学院大学(中国科学院工程管理与信息技术学院),2017.周斌.基于ARM的嵌入式视频监控系统D.安徽理工大学,2017.3杨建国,蔡立志,郑红.基于ARM的嵌入式视频监控系统的设计与实现J.计算机应用与软件,2018,35(10):223-225+285.4姜先刚,刘洪涛,嵌入式1.inux驱动开发教程D.电子工业出版社,2017年6月.郝淑凤,刘建辉.基于ARM的C1.inux启动引导实现的分析J,微计算机信息,2005年13期.6潘宁,邓燕妮.基于S3C44B0X的嵌入式机器视觉系统设计J,机械与电子,2