孙志勇
摘 要:研究了基于网络控制的无线投影系统的实现路径,阐述了无线投影网关软硬件的规划路径,根据TCP/IP 协议综合运用ARM 嵌入式系统及无线通信及监控等技术完成了一个多用户无线投影控制系统的设计。详细介绍了无线投影网关及管理软件的实现路径,该系统适用于PC端及手机Android平台,用户端采用WiFi通信技术同无线投影网关建立通信过程,使无线投影功能得以有效实现。多个用户和平台可共同使用无线投影功能,切换方式为一主多从。实验测试结果证明了该系统无线投影功能的可行性。
关键词:无线投影系统;网络控制;无线局域网;实现路径
中图分类号:TN 92
文献标志码:A
文章编号:1007-757X(2020)11-0048-03
Abstract:This paper mainly studies the implementation path of wireless projection system based on network control, and expounds the planning path of hardware and software of wireless projection gateway. It is based on TCP/IP protocol and integrated with ARM embedded system and wireless communication and monitoring technology. The design of a multi-user wireless projection control system, the implementation path of the wireless projection gateway and management software are introduced in detail. The system is suitable for the PC terminal and the mobile phone Android platform. The user terminal uses the WiFi communication technology to establish a communication process with the wireless projection gateway to enable wireless. The projection function is effectively implemented. Multiple users and platforms can use the wireless projection function together, and the switching mode is one master and multiple slaves. The experimental test results prove the feasibility of the wireless projection function of the system.
Key words:wireless projection system;network control;wireless local area network;implementation path
0 引言
快速發展的网络信息及移动终端技术为投影设备在日常工作生活中的普及应用提供了技术支撑,多媒体应用随着音视频和编码技术的日益发展成熟而得到了普及应用,采用多媒体的交互模式可在对交互双方意图进行直观表达的同时显著提升交流效率,作为一种多媒体主要实现方式投影仍然是交互领域内的研究热点,传统接线式投影方式受到布线和功能不足的限制已经难以满足现代多媒体交互需求。投影机投影功能的实现需连接其他相关设备(包括中控设备、计算机和音响等),设备数量越多连接复杂程度及成本越高,近年来传统投影控制模式逐渐被基于网络的控制模式取代,主要由PC端或手机移动终端通过无线连接实现对投影设备及功能的控制,显著减少了使用成本及后期设备维护工作,本文主要对使用网络控制的无线投影解决方案进行设计。
1 现状分析
普及应用的智能嵌入式设备为嵌入式操作系统功能的实现提供了支撑,目前作为一种优质的移动设备系统Android系统(基于 Linux内核)具备开源且包含移动操作系统所需功能的优势(提供丰富实用的函数库和工具),在各种功能的移动设备中应用广泛。Linux提供了软件栈核心系统服务(包括管理网络、文件、内存、进程以及设备驱动等),再结合嵌入式系统(基于ARM Cortex内核)即可实现相关应用程序的开发和使用。 WinCE及Linux 系统是较为常用的系统选择方案,无线投影系统设计的关键在于无线投影网关,目前相关研究已取得一定的进展,例如,结合运用CS535 南桥、AMD Geode处理器及USB控制器等设计的投影网关实现了无线投影功能。基于WHDI的高清视频通讯协议虽具备较高的传输速率但影响了传输质量。已有无线投影方式弥补了传统布线和功能存在的问题,但在多用户接入及资料共享等方面受到了一定的限制,基于移动终端实现多用户无线投影的研究较少[1]。为此本文主要阐述了无线投影系统的实现方法。
2 无线投影网关系统设计
本文所设计的无线投影系统除 PC 机外还支持手持移动设备,对网络投影机的控制及监控通过无线局域网实现,计算机和投影机间需通过无线投影网关设备实现画面传输功能,先通过wifi无线发射PC 或移动终端信息,然后向投影仪和液晶电视机传送(通过无线网关)并在投影系统展示内容,系统可在多个用户间切换,实现了画面的实时拍摄及显示功能(采用移动设备)。集成了网络无线接口的无线投影机网关在完成屏幕图像的截取及压缩编码后(通过 PC 或便携机,采用 802.11无线局域网标准),通过无线传输向投影机网关传送屏幕图像信息,再经过解码后传输至投影机上显示(通过集成VGA 接口完成)。无线投影网关的结构,如图1所示。
(1) 无线投影网关硬件设计
作为投影机的重要构成设备,设计无线投影网关硬件的基础和关键在于选择合适的处理器。目前许多主流处理器包括数据传输速率在内的应用性能都在不断提高,多核处理器在兼顾峰值性能及使用功耗方面发挥出了较大的优势,为满足系统对功能性及灵活性的需求,本文选择了具备扩展及低功耗优势的嵌入式ARMCortex-A9 微处理器,该处理器可有效满足无线投影系统对使用性能的较高需求,实现了ARMv7 体系的功能,其体系结构可同时执行多指令且长度可根据实际需要进行动态变化,并且采用了八阶段管道处理器,基本不受设备低功率和散热性差的影响,兼具单核处理器功能及多核处理器(可配置)功能,在提高无线投影系统性能的同时降低了系统功耗,并实现了多个设备间的共享。
(2) 无线投影网关软件设计
软件设计包括客户端终端软件(主要包括屏幕抓取、图片压缩、无线传输)和投影网关软件,投影网关设备可同PC机、手机、平板电脑相互连接,终端软件的主要功能在于抓取并压缩电脑或手机Android系统中的图像,再将处理后的图片借助无线局域网完成到投影机网关上的传输,投影网关软件完成数据及图像信息的接收和解码,最终投影显示。投影网关中内置一小型web服务器负责存储客户端相关软件,设备端操作系统也需安装嵌入式 web 服务器以确保登陆无线网关服务器后即可完成应用系统的下载和安装。使用终端软件需先建立起同无线网关设备间的聯系,将网关固定IP输入到客户端浏览器后在 web 服务器上下载储存并安装相关应用软件。基于嵌入式系统的无线投影端主要负责网络通信、图像解码及显示,具体通过 C 语言的使用实现数据图像的接收和解码[2]。随着无线通讯协议呈多样化发展趋势,在对操作系统的功能、性能、成本等因素进行充分考虑的基础上,本文选用了目前较为成熟的商业操作系统WinCE ,该系统具备支持 IE 浏览器、体积小、成本低、功能丰富等优势,广泛应用于多媒体终端产品中,支持常用办公文档工具(包括Word、PPT、Excel 、PDF 等),可有效满足本文投影网关设备的功能需求。
3 无线投影系统功能的设计与实现
3.1 系统整体结构设计
本文设计的系统主要由投影仪、移动设备和 PC 机在内的客户终端、投影网关服务端构成,系统工作流程框图,如图2所示。
无线投影网关同投影仪相连,投影仪负责显示接收的显存信息,显存数据在客户端的获取及发送使用投影管理软件完成,显存数据(在PC机或手持移动设备中)在完成编码后向无线投影网关传输(使用基于 TCP/IP的无线通信,所采用的无线局域网基于802.11协议组),网关对接收到的显存数据进行解码后,通过相关接口(如VGA或HDMI)向投影仪传送并显示。投影管理软件在客户端上开始运行后,显存数据由各从机间断获取后向主机发送,管理软件上的预览框同从机屏幕信息相对应,主机编码显存数据再向无线投影网关传送,由投影网关解码后在投影仪上显示,通过点击投影管理软件上的预览框选择相应的从机投影并将其显存数据编码后向投影网关传送解码,实现从机与投影网关间通信的自由切换,从而满足多用户无线投影需求[3]。多用户投影网关结构,如图3所示。
3.2 PC终端管理软件设计
客户端软件与无线投影网关进行无线通信并向其传送屏幕显存数据,系统终端管理软件工作流程,如图4所示。
通过对显存数据进行压缩编码处理,可有效避免网络传输阻塞问题的发生,以使无线传输速率得以有效提升,考虑到一旦压缩过大极易使传输图像出现失真的情况,因此本文通过JPEG图像编码算法(其图像的压缩率是30∶1)的使用实现图像清晰度和传输速率的有效平衡,在确保基本不损耗图像质量的同时实现图像适中比例的无线传输过程。在visual studio 上将客户端管理软件通过C++编程语言的使用完成具体设计过程。本地地址及相关应用端口由主机通过bind函数(位于socket类中)的调用实现绑定并开启监听功能,在同主机进行连接时从机需通过connect函数(位于socket类中)的调用完成具体连接请求的发送,主机对从机的连接请求通过accept 函数(位于socket类中)的调用实现自动响应及通讯过程,由从机发送的显存数据可根据实际需要新建线程完成接收。在线程中对所接收显存数据进行解码,通过此种方式完成桌面信息在主机监视窗口中的显示。主机根据投影从机桌面信息切换请求,先向所需投影的从机传送套接字(用于无线投影网关),接下来将与投影网关的通信断开,以确保接收到套接字的从机后即切断同主机间的连接,然后同投影网关建立通信并向其传送显存数据[4]。同样需断开投影网关与从机间的通信,和投影主机重新建立通信连接并向其发送切换信号,在此基础上实现主机同无线投影网关间通信关联的建立。
3.3 手持移动设备管理软件设计
作为一种跨平台开源集成开发环境,Eclipse以Java语言作为主要开发使用语言,其本质为一种框架平台,提供丰富的插件具备较佳的灵活性,支持Android插件极大的简化了 Android APP开发流程。针对手持移动设备,本文采用 Eclipse平台完成客户端无线投影管理软件的设计(具体通过Java编程语言完成),无线投影管理软件同包括IP和端口号在内的服务端通过 socket 类函数的调用完成相互绑定从而实现通信连接的建立,接下来服务端后台通过service类的调用读取数据(位于framebuffer中)完成具体显存数据的获取,主要函数表达如下[5]。
flie input streambuf=new file("/dev/graphics/fb0");
Data input stream d stream = new stream(buf);d stream.read fully(piex);
在无线投影设计时,基于手机相机功能开发并实现系统拍摄画面的功能,具体相机类通过使用surfaceview完成自定义,从而能够实时显示摄像的画面,移动设备客户端投影管理软件获取相机数据后进行解析编码,再将其发送到投影网关进行后续显示。
3.4 无线投影网关设计与实现
(1) 硬件设计
本文通过便携式无线投影网关的设计使多用户在客户端实时切换投影功能得以有效实现,最终使投影仪实现无线投影,投影网关的内核处理器采用了ARM Cortex,在完成客户端显存数据接收及解码显示后传送到投影仪进行显示。网关硬件结构示意图,如图5所示。
本文选用实用性较强的S5PV210(三星)作为无线投影网关的处理器,以使网关数据图像的接收和处理速度得以显著提升,适用于Android 操作系统的S5PV210处理器的运行主频可达1 GHz,可有效满足高端物联网终端等设备的使用需求;内部集成了高性能图形引擎的S5PV210支持 2D/3D图形运行,其所支持的硬件解码视频及硬件编码视频输入(Mpeg-2/VC1)最高可达1080p@30fps。兼容IEEE802.11g/b标准的Ralink 无线传输速率可达54Mbps;支持WPA/WPA-PSK、WPA2/WPA2-PSK安全机制及WEP数据加密(包含64、128、256位)。可满足不同工作环境的使用需求,且易于终端用户接入无线网络[6]。结合运用FPGA和SDRAM技术实现包含LCD连接线和 VGA 链接座的VGA 模块功能,时钟及行场的控制和扫描主要由FPGA完成从而显著提高了处理速度,该模块具有较高的分辨率(1 024×76@70 Hz),同Ralink通过USB完成连接及数据通信过程,通过TFTLCD控制器连接投影仪。
(2) 软件设计
手机Android系统的软件堆栈的主要构成为Java应用程序(位于Linux内核顶层)和系统组件(编写语言包括Java、C++ 、XML等),本文无线投影网关接收管理软件使用Java语言设计,具体工作流程,如图6所示。
网关为接收客户端显存数据发送请求需先建立server socket对象(对应一个套接字)及监听端口,网关在没有请求情况下的显存数据通过新建线程进行接收,在接收到主机切换指令且无客户端请求的情况下会与指定客户端重新建立连接通信(同其他客户端中断通信)。网关使用handle方法将接收到的显存数据(以帧为单位)向主线程传送,完成UI显示信息的更新[7]。
3.5 无线投影网关系统实验测试
为检测本文所设计的无线投影网关系统的实用性在100 m2实验室进行了实验测试,为对无路由器环境下通信效果进行测试由主机产生热点形成局域网,以便在办公教学场进行无线投影,三组测试组的桌面分辨率分别为1 024×768、1 280×768和1 360×768,无线投影网关的分辨率可达 1 360×768 ,可使PC 、移动设备无线显示需求得以有效满足。计时器测试结果表明投影过程PPT 演示和视频播放效果流畅、延时约为1s,具体测试结果为PC 机帧率为14、移动设备帧率为17。多用户无线投影测试过程中,各从机屏幕信息均显示在主机投影管理软件上,并能够对各台从机进行自由选择,双击预览图即可完成切换过程,各从机向主机发送显存数据的周期为5 s。
4 总结
物联网技术的发展促使智能移动设备的重要性逐渐凸显,随着PC机和包括手机在内的智能移动设备在众多领域的普遍应用,促进了生产生活信息化发展水平的不断提高,为解决数据连线类投影仪使用不便的问题,本文主要基于手机Android系统完成了ARM嵌入式无线投影服务端的构建,据此实现了无线投影系统终端数据的获取、无线传输及多用户机自由切换功能,可供多用户同时进行无线实时投影,使投影仪通讯功能得以有效扩展,显存数据的直接获取和传输投影有效解决了不同流媒体播放器兼容性问题,使系统终端(包括PC机和手机)软件开发及使用效率得以显著提升。
参考文献
[1] 马翀,程建新.手机视频投屏产品的用户体验设计与研究[J]. 设计,2018(21):60-61.
[2] 陈睿,王晶,黄华军, 等. 基于分块DCT变换的多聚焦图像融合[J]. 小型微型计算机系统, 2016(2):321-326.
[3] 李亚格,兰诚栋. 基于iOS的移动办公系统设计与性能优化[J]. 计算机工程, 2016(7):22-26.
[4] Bedeer E, Dobre O, Ahmed M, et al. A Multiobjective Optimization Approach for Optimal Link Adaptation of OFDM-Based Cognitive Radio Systems with Imperfect Spectrum Sensing[J]. IEEE Transactions on Wireless Communications, 2016(4):2339-2351.
[5] Sangheon Pack, Kihun Kim, Wonjung Kim, et al. A Cross-Layer Approach to Reduce Channel Access Delay Jitter in IEEE 802.11 WLANs[J]. Wireless Personal Communications, 2016 (4):1379-1390.
[6] 許炜,吴菁,童传旺.无线同屏分享投影需求的硬件解决方案——基于课堂教学移动信息化趋势[J].芜湖职业技术学院学报,2017(3):58-60.
[7] 李鹏,王建新.无线传感器网络中基于稀疏投影的数据收集方案[J].中南大学学报(自然科学版).2016(10):3445-3453.
(收稿日期:2019.10.30)