本发明涉及计算机领域,尤其涉及一种通过模拟键盘实现远程执行的方法。
背景技术:
远程执行是进行自动化测试与远程控制的重要手段,目前实现远程执行的方法都是基于操作系统之上进行的,这些方法利用操作系统中的网络通信功能,实现远程协议或者远程键盘接管,从而达到远程执行的目的。然而,现实中在很多情况下,被测机器的操作系统还没有运行起来,这个时候现有的技术方案就无能为力。
技术实现要素:
本发明目的是针对上述问题,提供一种可以在任一状态进行远程控制的过模拟键盘实现远程执行的方法。
为了实现上述目的,本发明的技术方案是:
一种通过模拟键盘实现远程执行的方法,包括以下步骤:
s1、设置一台主控制器和一个可以接收射频信号的usb键盘模拟器,主控制器与usb键盘模拟器无线连接,对主控制器与usb键盘模拟器之间的通信协议进行设定;
s2、主控制器与摄像头连接且摄像头朝向本地电脑屏幕;
s3、主控制器通过互联网与远程操作系统连接,远程操作系统通过摄像头拍到的图像对主控制发出指令;
s4、主控制器接收到远程操作系统发来的指令后通过主控制器的应用程序接口编辑键盘指令;
s5、主控制器通过射频信号将键盘指令发送给usb键盘模拟器;
s6、usb键盘模拟器接收到键盘指令后传输给与usb键盘模拟器通过usb接口连接的本地电脑,完成远程执行操作。
进一步的,所述usb键盘模拟器包括主控芯片、rf通信模块、地址设置模块、usb接口;主控芯片、rf通信模块、地址设置模块、usb接口之间线路连接。
进一步的,所述主控芯片包括读取通信数据并发送给usb接口的主控部分和对安装协议进行解析的协议解析部分;所述rf通信模块包括依据ip地址接收信道上数据的rf通信部分;所述地址设置模块包括形成本机地址的地址设置部分;所述usb接口包括将解析后的键盘指令发送到本地电脑系统中的usb接口部分。
进一步的,所述主控制器的应用程序接口包括将远程操作系统发来的指令转换为标准格式数据的键盘指令解释器、将标准格式数据转换为字节串的串口代码生成模块、将生成的字节串发送到串口的串口发送模块。
与现有技术相比,本发明具有的优点和积极效果是:
本发明只需通过本地电脑的usb口与usb键盘模拟器连接,然后将主控制器通过互联网与远程操作系统连接即可完成远程操作系统对本地电脑的远程执行操作,步骤简单、容易操作,并且本发明在本地电脑处于任何状态时都可以进行远程执行操作,其增大了现有技术中远程执行操作的广泛性,为计算机远程操作方面作出了极大的贡献。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的连接框架图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
如图1所示,一种通过模拟键盘实现远程执行的方法,包括以下步骤:
s1、设置一台主控制器和一个可以接收射频信号的usb键盘模拟器,主控制器与usb键盘模拟器无线连接,对主控制器与usb键盘模拟器之间的通信协议进行设定;
s2、主控制器与摄像头连接且摄像头朝向本地电脑屏幕;
s3、主控制器通过互联网与远程操作系统连接,远程操作系统通过摄像头拍到的图像对主控制发出指令;
s4、主控制器接收到远程操作系统发来的指令后通过主控制器的应用程序接口编辑键盘指令;
s5、主控制器通过射频信号将键盘指令发送给usb键盘模拟器;
s6、usb键盘模拟器接收到键盘指令后传输给与usb键盘模拟器通过usb接口连接的本地电脑,完成远程执行操作。
在主控机器端,使用通用的摄像头收集被测机器的画面,由被测机器的程序进行分析或传播,同时使用rf信号发射器向专用设备发射信号。在主控机器之上,提供专门的键盘鼠标编程接口,由上层程序调用,实现灵活的远程执行或自动化测试方案。主控机器上安装有常规的计算机系统,可以利用互联网让远程系统访问,因此可以实现,无论在任何地方,都可以操控被测机器。
所述usb键盘模拟器包括主控芯片、rf通信模块、地址设置模块、usb接口;主控芯片、rf通信模块、地址设置模块、usb接口之间线路连接。
所述主控芯片包括读取通信数据并发送给usb接口的主控部分和对安装协议进行解析的协议解析部分;所述rf通信模块包括依据ip地址接收信道上数据的rf通信部分;所述地址设置模块包括形成本机地址的地址设置部分;所述usb接口包括将解析后的键盘指令发送到本地电脑系统中的usb接口部分。
所述主控制器的应用程序接口包括将远程操作系统发来的指令转换为标准格式数据的键盘指令解释器、将标准格式数据转换为字节串的串口代码生成模块、将生成的字节串发送到串口的串口发送模块。
本方案实施由四部分组成:
1、无线usb键盘的硬件制作
该硬件包含由主控芯片、rf通信模块、地址设置模块、usb接口组成。
2、无线usb键盘的软件部分
本软件部分使用c语言开发,为嵌入式代码,编译后“烧制”到芯片中。
代码包含如下部分:
主控部分:读取通信数据,获得解析后发送到usb口;
协议解析部分:安装定义的协议进行解析;
usb接口部分:与系统交互通信,将解析好的键盘鼠标数据发送到系统中;
地址设置:按照开关的设定形成本机地址;
rf通信部分:依据地址的设置接收信道上的数据。
3、主控机器无线发射装置与接收设备的通信协议
该协议定义了设备之间的通信格式,由12个字节组成,如下表所示;
开始位与类型位的定义如下:
4、主控机器的编程接口(api)
本部分提供一套键盘鼠标的动作定义(类似于微软的sendkeys中定义的规范),便于上层软件调用。
本部分使用c#开发,提供dll形式的接口,分为如下部分:
串口发送模块:将“翻译”好的字节串发送到串口;
键盘鼠标指令解释器:将指令转换称中间结构(标准格式);
串口代码生成模块:将标准格式的数据转换称字节串。
利用使用本发明方案,可以实现如下应用:
被测机器的远程诊断:目前硬件系统的问题往往并不在开发者设备,发现问题的时候需要开发人员进行诊断,利用本方案,可以实现被测机器的远程诊断。在测试现场设置好本发明方案的环境,然后开发人员通过互联网接入到主控机器中,主控机器将录像画面传递到开发人员的机器上,从而实现远程操控。
自动进行系统的初始化设置:通过模拟键盘操作,自动化程序可以像“人”一样输入所有的键盘信息,实现系统的初始化设置,如进入winre获取安装源,重新安装系统等等。
bios系统的自动化测试:bios系统的自动化测试是计算机系统测试的不可或缺的部分,但进入bios系统的时候,系统无法跟外界通信,因此无法用常规的办法进行自动化测试,使用本发明方案,则可以非常容易地编写自动化测试程序。
特殊系统的自动化测试。有些特殊的系统,能够接收usb键盘,可以使用本发明方案实现自动化测试。
总之通过本发明方案,扩展了自动化测试与远程操控的使用范围。