一种一体机兼容集控指令的处理方法、系统、设备、存储介质
文献发布时间:2023-06-19 12:13:22
技术领域
本发明涉及数据处理技术领域,尤其涉及一种一体机兼容集控指令的处理方法、系统、设备、计算机可读存储介质。
背景技术
一般教育一体机均为通过中控设备远程控制,常见的控制方案是串口控制,定义一组一体机设备的指令,中控设备通过串口发送集控指令,一体机接收并执行该集控指令,在执行完成后一体机返回执行结果至中控设备。
集控指令协议一般由一体机的生产商定义,不同生产商所生产的集控指令协议均不相同,导致集控指令格式不相同。中控设备要兼容不同一体机的集控指令,需要针对每一种一体机的集控指令设置相应的指令解析及处理算法。每增设一种新的一体机或增加功能时,均需要增加一套新的集控指令协议,设置新的指令解析及处理算法,这都需要修改中控设备及一体机的主固件,给一体机及中控设备的使用增加难度,同时增加一体机主固件的维护成本。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种一体机兼容集控指令的处理方法,兼容不同指令格式的集控指令,统一处理集控指令,降低一体机及中控设备的使用难度。
本发明的目的之二在于提供一种处理系统,兼容不同指令格式的集控指令,统一处理集控指令,降低一体机及中控设备的使用难度。
本发明的目的之三在于提供一种电子设备,执行上述一种一体机兼容集控指令的处理方法,兼容不同指令格式的集控指令,统一处理集控指令,降低一体机及中控设备的使用难度。
本发明的目的之四在于提供一种计算机可读存储介质,执行上述一种一体机兼容集控指令的处理方法,兼容不同指令格式的集控指令,统一处理集控指令,降低一体机及中控设备的使用难度。
本发明的目的之一采用如下技术方案实现:
一种一体机兼容集控指令的处理方法,包括以下步骤:
步骤S1、对一体机设备的格式配置文件进行解析,根据所述格式配置文件生成包格式模型;
步骤S2、根据所述包格式模型生成命令字与功能ID之间的映射配置文件;
步骤S3、接收由一体机设备或中控设备发送的串口数据包,判断所述串口数据包是否为有效的集控指令包;若所述串口数据包为有效的集控指令包,则执行步骤S4;若所述串口数据包为无效包,重新接收所述串口数据包;
步骤S4、根据所述映射配置文件和所述有效的集控指令包对应的命令字确定目标功能ID,并执行所述目标功能ID对应的功能。
进一步地,步骤S3中判断所述串口数据包是否为有效的集控指令包的方法具体为,判断所述串口数据包中集控指令的预设位置的字符是否为格式配置文件的匹配字符。
进一步地,所述预设位置包括包头以及固定字段、检验字段和包尾三者中的至少一种。
进一步地,当所述预设位置包括包头、固定字段和包尾时,包尾偏移量=固定组成部分长度和+数据字段长度,所述数据字段长度=串口数据包总长度-固定组成部分长度和;所述固定组成部分长度和包括包头长度、包长字节长度与固定字段长度的长度和。
进一步地,所述格式配置文件包括包头内容、包长字节长度、包长字节偏移量、是否存在固定字段、固定字段偏移量、固定字段内容、固定字段长度、命令字偏移量、数据字节偏移量、数据字节长度计算公式、包尾偏移量计算公式、是否存在校验字段、校验字段长度、包尾内容和包尾字节长度。
进一步地,所述步骤S4包括以下步骤:
步骤S41、根据所述命令字与功能ID之间的映射配置文件生成命令字与功能映射表;
步骤S42、根据所述命令字与功能映射表和所述有效的集控指令包对应的命令字确定目标功能ID,映射并执行所述目标功能ID对应有效的集控指令包内命令字对应的功能。
进一步地,所述功能为一体机设备需要执行的集控指令所定义的操作,所述命令字为所述集控指令中需要一体机执行指令的标识。
本发明的目的之三采用如下技术方案实现:
解析模块,用于对一体机设备的格式配置文件进行解析,根据所述格式配置文件生成包格式模型,并根据所述包格式模型生成命令字与功能ID之间的映射配置文件;
判断模块,用于接收由一体机设备或中控设备发送的串口数据包,判断所述串口数据包是否为有效的集控指令包;若所述串口数据包为有效的集控指令包,则转至执行模块;若所述串口数据包为无效包,重新接收所述串口数据包;
执行模块,根据所述映射配置文件和所述有效的集控指令包对应的命令字确定目标功能ID,并执行所述功能ID对应的功能。
本发明的目的之三采用如下技术方案实现:
一种电子设备,包括有多个处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,多个处理器执行所述计算机程序时实现如上任意一项所述的一种一体机兼容集控指令的处理方法。
本发明的目的之四采用如下技术方案实现:
一种计算机可读计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现入上任意一项所述的一种一体机兼容集控指令的处理方法。
相比现有技术,本发明的有益效果在于:
本发明提供了一种一体机兼容集控指令的处理方法、电子设备、计算机可读计算机可读存储介质,通过一体机设备的格式配置文件,生成可以兼容不同格式指令的包格式模型,根据包格式模型生成匹配的命令字与功能ID之间的映射配置文件,从串口数据包映射并执行有效的集控指令包对应的命令字的功能。当有新的集控指令协议或者新的集控指令生成时,只需要修改命令字与功能ID之间映射配置文件,即可支持命令执行,无需修改中控设备或一体机设备的固件,降低使用难度。
附图说明
图1为本发明所提供实施例的流程示意图;
图2为本发明所提供实施例步骤S4的流程示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
如图1、2所示,本申请提供了一体机兼容集控指令的处理方法,针对16进制形式的集控指令,归纳、总结串口集控指令的一般组成结构,生成包格式模型,根据包格式模型生成配置文件,进而获取串口数据包的集控指令。可兼容不同格式的集控指令,当有新的集控指令协议或者新的集控指令生成时,只需要修改命令字与功能ID映射配置文件,即可支持命令执行。快速有效支持不同集控指令协议或某个集控指令协议新增的集控指令,无需修改中控设备或一体机设备的固件,降低使用难度。
具体的,一体机兼容集控指令的处理方法包括以下步骤:
步骤S1、对一体机设备的格式配置文件进行解析,根据所述格式配置文件生成包格式模型。格式配置文件中包含了集控指令可能存在的所有内容项,包括判断串口数据包是否有效的方法、包头内容、包长字节长度、包长字节偏移量、是否存在固定字段、固定字段偏移量、固定字段内容、固定字段长度、命令字偏移量、数据字节偏移量、数据字节长度计算公式、包尾偏移量计算公式、是否存在校验字段、校验字段长度、包尾内容和包尾字节长度。
在获取到格式配置文件后,根据格式配置文件生成包格式模型。通过包格式模型,可以完成有效的集控指令包的识别、解析工作。所述包格式模型包括包头内容及长度;固定字段的内容、起始位置及长度;数据字节起始位置及长度计公式;包的长度字节的超始位置、长度及它的值表示的开始字节及结束的计算公式;校验字节的起始位置、校验算法及校验码计算的字节范围;包尾的长度及内容。固定字段、数据字节、校验字节与固定包尾并不是每个集控指令均存在,因此,其在所述包格式模型中均为可选项。
如表1所示,为本实施例所提供的包格式模型:
表1
步骤S2、根据所述包格式模型生成命令字与功能ID之间的映射配置文件。一般,接收的串口数据包中均包含所述一体机设备所需要指令的集控命令。因此每个串口数据包的集控指令均会包括命令字,命令字为所述指集控指令中需要一体机执行指令的标识。每个命令字均有其对应的功能ID,因此生成命令字与功能ID之间的映射配置文件,便于后续解析串口数据包。
步骤S3、接收由一体机设备或中控设备发送的串口数据包,判断所述串口数据包是否为有效的集控指令包;若所述串口数据包为有效的集控指令包,则执行步骤S4;若所述串口数据包为无效包,重新接收所述串口数据包。
所述判断串口数据包是否为有效的集控指令包,具体为判断所述串口数据包中集控指令的预设位置的字符是否为格式配置文件的匹配字符。预设位置是根据串口数据包所包含的内容而设置的。一般的,所述集控指令包括包头、包长、固定字段、校验字节及包尾。其中固定字段与校验字段只存在于部分集控指令,包头、包长为固定存在,而包尾一般均存在,但也可能存在由于使用校验字段结尾而不存在包尾的情况。
因此,所述预设位包括包头以及固定字段、检验字段和包尾三者中的至少一种。具体的,包括包头、固定字段、校验字段和包尾;或,所述预设位置包括包头、固定字段和包尾;或,所述预设位置包括包头、校验字段和包尾;或,所述预设位置包括包头和包尾;或,所述预设位置包括包头和校验字段。由于在判断过程中需要包尾,且所述包尾位置不固定,因此需要计算包尾偏移量。所述包尾偏移量=固定组成部分长度和+数据字段长度,所述数据字段长度=串口数据包总长度-固定组成部分长度和;所述固定组成部分长度和至少包括包头长度、包长字节长度与固定字段长度的长度和。
下面结合实例对判断串口数据包是否为有效的集控指令包进行解释说明:
如表2所示,为本实施例所提供的串口数据包,其中包括包头、固定字段与包尾。
表2
其中包格式模型定义的配置文件中,包头为1F;包长字节长度为1;包长字节偏移量为1;包长长度为1;是否存在固定字段:是;固定字段偏移量为2;固定字段为11、22、33、44、55、66;固定字段长度为6;命令字偏移量为8;命令字长度为2;数据字节偏移量为10;数据字节长度为串口包总长度-包头长度-包长字节长度-固定字段长度,即为串口包总长度-1-1-6;所述包尾偏移量为1+1+包长;是否存在校验字段:否;校验字段长度为0;包尾为DF;包尾长度为1。
判断该串口数据包是否为有效的集控指令包则为判断包头、固定字段、包尾是否格式配置文件的匹配。包头为1F,固定字段为第2~7个字节,包尾为DF,包头、固定字段与包尾均匹配,该串口数据包为有效的集控指令包。
步骤S4、根据所述映射配置文件和所述有效的集控指令包对应的命令字确定目标功能ID,并执行所述目标功能ID对应的功能。
具体的,所述步骤S4包括:
步骤S41、根据所述命令字与功能ID之间的映射配置文件生成命令字与功能映射表。具体的,功能是一体机需要执行的集控指令所定义的操作。中控设备及一体机统一配置各项功能,分配该操作唯一对应的功能ID。在命令字和功能ID映射配置文件的格式为“命令字段:功能ID”,将所有命令字及其对应的功能ID按照一定顺序进行排列,得到命令字和功能映射表。
步骤S42、根据所述命令字与功能映射表和所述有效的集控指令包对应的命令字确定目标功能ID,执行所述目标功能ID对应的功能。
本发明通过一体机设备的格式配置文件,生成可以兼容不同格式指令的包格式模型,根据包格式模型生成匹配的命令字与功能ID之间的映射配置文件,从串口数据包映射并执行有效的集控指令包对应的的命令确定目标功能ID,从而执行目标功能ID对应的功能。当有新的集控指令协议或者新的集控指令生成时,只需要修改命令字与功能ID映射配置文件,即可支持命令执行,快速有效支持不同集控指令协议或某个集控指令协议新增的集控指令,实现集控指令的处理与一体机设备的分离,无需修改中控设备或一体机设备的固件,降低使用难度。
本实施例还提供一种处理系统,包括:
解析模块,用于对一体机设备的格式配置文件进行解析,根据所述格式配置文件生成包格式模型,并根据所述包格式模型生成命令字与功能ID之间的映射配置文件;
判断模块,用于接收由一体机设备或中控设备发送的串口数据包,判断所述串口数据包是否为有效的集控指令包;若所述串口数据包为有效的集控指令包,则转至执行模块;若所述串口数据包为无效包,重新接收所述串口数据包;
执行模块,根据所述映射配置文件和所述有效的集控指令包对应的命令字确定目标功能ID,并执行所述功能ID对应的功能。
本实施例还提供一种电子设备,设置有多个处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,多个处理器执行所述计算机程序时实现如上所述的一体机兼容集控指令的处理方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的一体机兼容集控指令的处理方法。其中,所述计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDisk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述计算机可读存储介质还可以包括上述种类的存储器的组合。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
本实施例中的设备与前述实施例中的方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
- 一种一体机兼容集控指令的处理方法、系统、设备、存储介质
- 一种一体机兼容集控指令的处理方法、系统、设备、存储介质