当前位置: 首页 > 专利查询>卢军专利>正文

基于脚本语言的远程控制方法及系统技术方案

技术编号:14694974 阅读:150 留言:0更新日期:2017-02-23 19:08
本发明专利技术提供一种基于脚本语言的远程控制方法及控制系统。该方法包括:S1、控制端生成解释性脚本语言代码,并将解释性脚本语言代码加入到控制报文中发送给被控制端;S2、被控制端接收到所述控制报文,解析出所述控制报文中的解释性脚本语言代码;S3、被控制端执行所述解释性脚本语言代码。该系统包括控制端和被控制端,控制端包括控制指令生成模块和第一收发模块,被控制端包括第二收发模块和脚本语言解析器。本发明专利技术用脚本语言的语句来替代控制报文的控制指令,无需进行复杂的字符串匹配,且代码量得到优化,方便修改和升级,可以灵活控制。

【技术实现步骤摘要】

本专利技术涉及远程控制
,具体涉及一种基于脚本语言的远程控制方法及系统
技术介绍
现有被控制端的远程控制一般是通过控制端向被控制端发送一个控制报文,控制报文的格式一般是一个带有起始标志位和结束标志位的字符串;被控制端接收到控制报文之后,开始对控制报文进行解析,剥离标志位,将得到的控制指令字符串进行匹配,匹配成功之后读入控制指令字符串附加的输入参数,然后依据控制指令及其附加控制参数对被控制端进行控制。现有远程控制方式的存在以下缺点:1、控制报文的正则匹配非常困难;因为被控制端的被控制端外接部件是不一样的,无法通过统一的字符串传递指令和指令附带的参数,只能进行字符串匹配;比如控制电机,控制端发送的参数应该是MOTOR(转速,正反,距离),控制舵机的参数则是Servo(度数);参数的个数、格式、种类都不一样,导致对控制报文中的控制指令的解析匹配非常困难;2、被控制端代码量非常大;针对被控制端的每一个外接部件,控制端都会有相应的控制报文,而被控制端则会有相应的解析和执行代码,有多少外接部件,就要写多少解析代码,代码量会非常大;3、修改和升级困难;在嵌入式系统中,由于被控制端ROM里的代码是烧写固定了的,如果要对外接部件的控制方式进行优化,或者新增加外接部件,就需要修改被控制端的整个ROM,并重新烧写,升级很不方便。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于脚本语言的远程控制方法及系统,可以很好地解决被控制端代码量大、修改和升级困难的问题。为达到上述要求,本专利技术采取的技术方案是:提供一种基于脚本语言的远程控制方法,包括以下步骤:S1、控制端生成解释性脚本语言代码,并将解释性脚本语言代码加入到控制报文中发送给被控制端;S2、被控制端接收到所述控制报文,解析出所述控制报文中的解释性脚本语言代码;S3、被控制端执行所述解释性脚本语言代码。提供一种基于脚本语言的远程控制系统,包括控制端和被控制端,控制端包括:控制指令生成模块,用于生成解释性脚本语言代码,并将解释性脚本语言代码加入到控制报文中;第一收发模块,用于将所述控制报文发送给被控制端,并接收被控制端发送的通信报文;被控制端包括:第二收发模块,用于接收控制报文,并将封装了解释性脚本语言代码执行结果的通信报文发送给控制端;脚本语言解析器,用于执行所述解释性脚本语言代码。该基于脚本语言的远程控制方法具有的优点如下:(1)无需进行复杂的字符串匹配,控制端不管给被控制端发送什么样格式的控制指令和控制参数只需要符合脚本语言的语法,最终都可以通过被控制端的脚本语言解析器解析执行,无需开发人员编写额外的字符串匹配代码。(2)代码量得到优化,使用脚本语言和脚本语言解析器,只需要在被控制端实现脚本语言解析器的代码与硬件API接口,无需对被控制端的每一个外接部件的控制指令单独写解析程序,极大的缩减了代码量。(3)修改方便,和传统的方式不同,如果新增或者优化代码,修改的是被控制端所发送的脚本语言代码,而不是被控制端的脚本解析语言环境,所以无需重新烧写被控制端上的ROM,修改方便。(4)控制灵活,由于在控制报文中可以传递任意的脚本语言的代码片段,因此可以使用一句代码,代码中含有丰富的参数,或者是使用多个语句的代码组合以实现复杂的功能;无论在控制报文中包含一句语句,还是多个语句,对于被控制端来言,都是使用同样的脚本语言解析器来执行,被控制端的代码无需任何修改,控制灵活度远远超过传统的控制字符串的方式。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请方法的流程示意图。图2为本申请方法的框架示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。脚本语言是指解释执行的语言,例如Python、PHP、JavaScript都是典型的脚本语言,C语言也有解释执行的版本。本申请用脚本语言的语句来替代控制报文的控制指令。由于脚本语言解析器自身带有词法、语法解析,因此只要符合脚本语言规范的语句,都可以放入控制报文中作为控制指令传递给被控制端,而被控制端也无需复杂的解析程序,只需要从控制报文中取出脚本语言的语句,然后直接递交给脚本语言解析器解析执行即可。根据以上思路,提供一种基于脚本语言的远程控制方法,如图1所示,包括以下步骤:S1、控制端的控制指令生成模块生成解释性脚本语言代码,并将解释性脚本语言代码加入到控制报文中,通过第一收发模块发送给被控制端;S2、被控制端接通过第二收发模块收到控制报文,解析出控制报文中的解释性脚本语言代码;S3、被控制端的脚本语言解析器执行所述解释性脚本语言代码。在执行过程中,如果需要控制被控制端的硬件,将调用硬件的API接口进行硬件控制。控制端与被控制端直接传递的控制报文中的解释性脚本语言代码可以加密,然后在被控制端先进行解密,再解析执行。根据本申请的一个实施例,由于控制报文中的控制指令仅仅需要符合脚本语言的规范即可,因此上述解释性脚本语言代码可以书写一个语句,也可以是一段语句,并且一段语句可以任意地组合,实现任何功能,灵活性非常高。根据本申请的一个实施例,步骤S3之后还包括:被控制端将解释性脚本语言代码的执行结果返回给控制端。根据本申请的一个实施例,提供一种基于脚本语言的远程控制系统,如图2所示,包括控制端和被控制端,控制端和被控制端具有一个通信接口,控制端包括:控制指令生成模块,用于生成解释性脚本语言代码,并将解释性脚本语言代码加入到控制报文中;第一收发模块,用于将所述控制报文发送给被控制端,并接收被控制端发送的通信报文;被控制端包括:第二收发模块,用于接收控制报文,并将封装了解释性脚本语言代码执行结果的通信报文中发送给控制端;脚本语言解析器,用于执行所述解释性脚本语言代码;API接口,具有与脚本语言解析器的解释语言一一对应的函数,用于实现被控制端的硬件控制。例如,本地API接口:intlocal_forward(intdistance);这个API接口是负责被控制端前进的本地函数,那么在脚本语言解析器的解释语言中,就有intforward(intdistance)这个解释语言中的函数。当控制指令中的脚本语言代码包含的intforward(intdistance)函数在被控制端的脚本语言解析器中执行的时候,脚本语言解析器将会调用对应的本地API接口函数:intlocal_forward(intdistance);来实现对硬件的控制。根据本申请的一个实施例,控制端至少设有1个脚本语言解析器和1个与之对应的API接口。本实施例设置了2个脚本语言解析器和2个API接口,从而实现多个控制端对一个被控制端的同时控制。根据本申请的一个实施例,控制端和被控制端采用无线网络通信、有线网络通信或串口通信,也可以是其它的通信方式。本申请中的控制端与被控制端是个抽象概念,可以是任何设备,例如控制端为电脑,被控制端为机器人。以上所述实施例仅表示本专利技术的几种实施方式,其描述较为具体和详细,但并不能理解为对本专利技术范围的限制。应当指出的是本文档来自技高网...
基于脚本语言的远程控制方法及系统

【技术保护点】
一种基于脚本语言的远程控制方法,其特征在于,包括以下步骤:S1、控制端生成解释性脚本语言代码,并将解释性脚本语言代码加入到控制报文中发送给被控制端;S2、被控制端接收到所述控制报文,解析出所述控制报文中的解释性脚本语言代码;S3、被控制端执行所述解释性脚本语言代码。

【技术特征摘要】
1.一种基于脚本语言的远程控制方法,其特征在于,包括以下步骤:S1、控制端生成解释性脚本语言代码,并将解释性脚本语言代码加入到控制报文中发送给被控制端;S2、被控制端接收到所述控制报文,解析出所述控制报文中的解释性脚本语言代码;S3、被控制端执行所述解释性脚本语言代码。2.根据权利要求1所述的基于脚本语言的远程控制方法,其特征在于:所述解释性脚本语言代码为解释性脚本语言的语句或语句的组合。3.根据权利要求1所述的基于脚本语言的远程控制方法,其特征在于:所述步骤S3之后还包括:被控制端将解释性脚本语言代码的执行结果返回给控制端。4.一种基于脚本语言的远程控制系统,其特征在于,包括控制端和被控制端,所述控制端包括:控制指令生成模块,用于生成解释性脚本语言代码,并将解释性脚本语言代码...

【专利技术属性】
技术研发人员:卢军
申请(专利权)人:卢军
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1