首页 > 编程知识 正文

远程控制手机摄像头(手机远程控制系统)

时间:2023-05-04 21:58:45 阅读:79308 作者:4952

MHD高清、舒适发夹、全球

(西安电子科技大学机电工程学院,陕西西安710071 )

:嵌入式自动加载&; 设计了视频监控系统,通过网络实现了远程控制。 该系统采用S3C2410处理器,移植了Linux操作系统,在S3C2410上运行正常。 用于视频监视模块的摄像机采用USB接口格式,并移植相应的Linux驱动程序,以确保摄像机成功收集数据。 移植Libjpeg开源库,解压缩硬件压缩的图像,显示终端显示,实时监测现场。 自动装载模块的实现,首先设定期望的货物配置路线,然后采用帧缓冲器帧缓冲写入屏技术在显示终端上显示自动装载过程。 通过socket网络接口,上位机可以远程控制该系统。

: S3C2410; Linux; 视频监控; 自动加载; Libjpeg; 框架缓冲器; 插座

: TP13文献识别码: adoi:10.19358/j.ISSN.1674-7720.2017.01.001

引用格式: MHD高清,舒适发夹,遍布世界各地.自动加载与视频监控远程控制系统[J] .迷你电脑与应用,2017,36 (1):1-3 .

迄今,许多传统工业领域的货物装卸和配置都是人力完成的[1]。 例如运送水泥。 恶劣的工作环境和繁重的体力劳动给职工带来巨大的劳动负担,严重危害劳动者的健康。 随着物联网技术的发展,如何利用嵌入式技术,设计具有实时视频监控、可自动加载的系统已成为当前的重要问题。

S3C2410处理器体积小,节省主板空间; 功耗比大多数芯片低很多,适合在电源有特殊要求的环境下工作。主频可达203 MHz,具有良好的实时性能; 由于有内存管理单元,可以移植并运行操作系统来处理更复杂的任务[2]。 根据以上特征,选择S3C2410作为本系统的主控制器。 Linux操作系统支持创建多个用户和处理多个任务[3]。 因此,基于S3C2410 Linux的嵌入式系统是首选。 Linux系统内核中图像采集设备的接口为Video4Linux,以此接口为基础,根据自身的设计,开发了具有相应功能的程序。 基于Video4Linux开发的视频采集程序由于具有界面简单、实现方便、开发周期短等特点[4],受到广泛关注。 Libjpeg是一个用于压缩或解压缩JPEG格式图像的开源库[5]。 可以在设计的程序中调用该库提供的函数,完成解压缩过程,减少开发人员的工作量。 Framebuffer[6]是一个函数界面,用户可以在Linux内核中调用它,并使用图形设备作为缓冲区。 图形设备的操作与实际缓冲区的操作完全相同,用户不接触基本的麻烦操作,开发起来很简单。 利用套接字接口,通过网络实现远程控制。

综上所述,本文提出了一种基于S3C2410 Linux的嵌入式自动加载系统,同时具有对现场进行视频监控的功能。 用于监视和加载系统的软件是在Linux系统上开发的,内核版本为2.6.8.1,并移植了相应的开源库。 另外,根文件系统的类型有很多种,该系统采用了cramfs[7]。 此类型无法读取、写入,具有保护数据的功能。 程序的开发工作主要由移植驱动、开源库、实现具有特定功能的程序等组成。 视频监控模块由负责图像采集的zc301p USB接口摄像头、负责图像处理的主控制器和显示视频的显示终端三部分组成。 自动加载机模块主要由上述主控制器和液晶屏显示设备组成。 自动加载APP包括路径规划程序和仿真过程的显示屏程序,通过网络远程控制。

1视频监控模块设计

视频监控APP应用包括图像数据的采集流程设计、图像解压缩函数的调用、LCD图像显示等。 图像数据采集过程调用Video4Linux接口[4],将相机数据读取到内存中。

初始化设备后,进行视频图像的剪切。 一种视频剪辑方法是将read函数包含在自己的程序中,以便程序提取缓冲区数据。 第二种方式是通过内存映射的方法读取数据,设计的程序包括mmap函数,在程序中实现映射功能。 内存映射方案具有内存共享的巨大优点,大大提高了访问速度。 这样就不需要调用读取、写入等来访问文件,每个进程都可以及时看到共享内存中数据的更新,从而提高实时性。 因此,系统采用基于mmap内存映射的方法。

1.1用libjpeg解压缩JPEG数据

本系统使用的Libjpeg库为libjpegv6b,但libjpeg-v6b仅支持文件格式的输入。 由于该系统采用了zc301p照相机,因此由该照相机收集到的数据是通过硬件压缩后的jpeg数据流,收集到的数据直接存储在存储器中。 但是,Libjpeg库不支持这种输入。 要解决此问题,请修改Libjpeg库的源代码,以便可以解压缩内存中的jpeg数据流。

1.2视频显示模块

显示模块采用LCD显示器,每个像素由16位颜色表示,格式为RGB565,而当用Libjpeg库函数解压缩数据时,得到的图像为GB888格式,即24位数据

由于本系统所采用的硬件设备照相机收集到的一张图像的最大分辨率为640480,所以在存储器映射时,所映射的两个尺寸参数应该是这两个最大值。 用Libjpeg解压缩的图像与输入图像的分辨率一样大。 显示器的分辨率是480272,因此,如果输入是640480,则超过显示器的尺寸,图像显示变得不完整,如图1所示。

ps://p3.toutiaoimg.com/origin/176e0007171b8564318e?from=pc">

Libjpeg支持缩放解压,可供选择的缩放比例有1/2、1/4、1/8三种。选择1/2的缩放比例,分辨率为320×240,有花屏和明显的扫描痕迹,显示效果如图2。

以上两种情况尽管显示出来的部分比较清楚,但总体效果不好。选择1/4的缩放比例,分辨率为160×120,画面比较清晰流畅,没有花屏,也无扫描痕迹,显示的效果比较理想,如图3所示。

选择1/8的缩放比例,画面清晰流畅,但画面太小,不利于实时监控,显示效果如图4。

综合三种缩放比例的分析和实验结果比较可知,1/4缩放比例是最佳选择。

2自动装载的设计与实现

自动装载的实现基于Framebuffer技术。Linux内核fb_ops定义了Framebuffer设备的操作[6]。

本系统使用的开发板型号是FS2410,处理器是S3C2410。

由于显示终端显示的是RGB565格式,因此可通过对每个像素点直接赋值使framebuffer显示颜色。

下面利用仿真函数对framebuffer的控制来模拟实际水泥的自动装载过程。将显示终端界面看作水泥摆放区域,用一块白色矩形代表单袋水泥。从传送带落下的水泥每次都落在同一位置,因此选取显示屏上一个固定区域作为水泥的落地点。在此选LCD左上角,周期性地使这块区域变成白色即可。将显示屏看成一个二维坐标系,落地点为(0,0),按照路径先沿行移动、后沿列移动的顺序摆放,考虑到现实中的速度问题,每移动一步,延迟1 s。此过程可建模成一个循环嵌套的过程,设定好每个具体位置应该移动的步数,实现有序执行。根据显示屏的分辨率480×272,设定每袋水泥占的区域大小为60×80,行间隔16,列间隔10,即每行为7袋,每列为3袋,一层共21袋。设置不同的背景颜色代表不同的层,而每层的摆放方法是相同的,以便查看。在本系统中,共设计3层。第一层用蓝色背景表示,装载效果如图5。

第二层用红色背景表示,装载效果如图6。

第三层用绿色背景表示,装载效果如图7。

另外,定义一个变量记录装载的数量,以供上位机调用。

3远程控制

利用socket在ARM开发板和上位机之间实现网络通信。将上位机和ARM开发板用交叉网线连接起来,利用socket编程,建立一个socket,采用服务器/客户机的访问模式,开发板作为服务器端,上位机作为客户机端。实现通信后,利用上位机通过网络来直接控制开发板的工作,实现远程控制。

在双方的通信过程中,约定好一套通信协议。由于本文只实现了模拟装载和实时监控两个功能,因此在远程控制时,只设定两个命令即可。约定好A命令表示模拟装载,B命令为观看监控录像。通过这两个命令,可以在上位机很好地远程控制下位机。

4结论

本文提出的嵌入式自动装载与视频监控系统,以S3C2410处理器作为主控制器,运行Linux系统,具有实现简单、可扩展性强等特点。通过嵌入式视频监控系统可以查看装载现场的状况,对于突发事件,能及时做出反应,保障装载工作安全进行。自动装载系统的设计为日后实际系统搭建打下了基础,对以后的工作具有重大意义。

参考文献

[1] wwddn, 苏国民. 特大型矿井全自动装卸系统的实现[J]. 工矿自动化, 2002(6):41 42.

[2] 顺利的万宝路, mhdlm, mldfn,等. 基于ARM的嵌入式视频监控系统设计[J]. 计算机工程与设计, 2010, 31(6):1191 1194.

[3] axdxq, 解争龙. 基于ARM的Linux系统移植研究与实现[J]. 物联网技术, 2013(1):37 38.

[4] wsddy, dddzfj. 基于V4L的视频采集系统的设计[J]. 铁路计算机应用, 2010, 19(7):30 34.

[5] HONG J, SODSONG W, CHUNG S, et al. Design, implementation and evaluation of a taskparallel JPEG decoder for the Libjpegturbo library[J]. Oral Diseases, 2012, 12(12):117 120.

[6] jkdxg, 有魅力的手套, 杨单. 基于Fram ebuffer的LCD驱动程序的实现[J]. 武汉理工大学学报:交通科学与工程版, 2006, 30(1):106 109.

[7] 健壮的天空, 甜美的帽子, zldwt,等. 基于s3c2410的CramFS根文件系统的移植[J]. 微计算机信息, 2006, 22(32):133 135.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。