CN108600050A - 命令传输方法、装置、计算机设备及可读存储介质 - Google Patents
命令传输方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN108600050A CN108600050A CN201810387570.9A CN201810387570A CN108600050A CN 108600050 A CN108600050 A CN 108600050A CN 201810387570 A CN201810387570 A CN 201810387570A CN 108600050 A CN108600050 A CN 108600050A
- Authority
- CN
- China
- Prior art keywords
- operational order
- microcontroller
- data
- order
- control panel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Environmental & Geological Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Selective Calling Equipment (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明是关于一种命令传输方法、装置、计算机设备及可读存储介质,属于互联网技术领域。所述方法包括:接收控制板发送的操作命令;基于数据头和校验值,对操作命令的多个第一数据组进行校验;如果对操作命令的多个第一数据组校验成功,则执行操作命令;当完成操作命令的执行时,生成应答命令,将应答命令传输至控制板。本发明接收操作命令,对操作命令进行校验,如果校验成功,则执行操作命令,并当完成执行时,生成应答命令,将应答命令传输至控制板,使得控制板可以获知单片机的工作状态,单片机和控制板所搭载的设备的运行状况更加透明,控制板和单片机均可以实现对设备的关闭电源操作,避免控制板温度过高而损坏,设备的安全性较高。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种命令传输方法、装置、计算机设备及可读存储介质。
背景技术
随着互联网技术的发展,现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机,电话、计算机、家用电器、电子玩具、鼠标等电脑配件中均配有1-2部单片机。单片机又称微控制器,是把中央处理器、存储器、定时/计数器、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。在各种类型的单片机中,PIC(ProgrammableInterrupt Controller,可编程中断控制器)单片机以其不搞单纯的功能堆积、从实际出发的特点被广泛应用。PIC单片机在工作时,由PIC单片机所搭载的设备的控制板基于操作命令对PIC单片机进行控制,从而使PIC单片机完成各种操作。
相关技术中,控制板在基于操作命令对PIC单片机进行控制时,通常向PIC单片机下发操作命令,PIC单片机在接收到该操作命令后,根据操作命令的指示进行相应操作。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
控制板在向PIC单片机发送操作命令后,并不知道PIC单片机是否接收到该操作命令,进一步地,控制板也无法获知PIC单片机的工作状态,使得PIC单片机和控制板所搭载的设备的运行状况并不透明,在设备发生故障时,控制板可能仍然进行工作,进而导致控制板温度过高而损坏,设备的安全性较低。
发明内容
为克服相关技术中存在的单片机和控制板所搭载的设备的运行状况并不透明,在设备发生故障时,控制板可能仍然进行工作,进而导致控制板温度过高而损坏,设备的安全性较低的问题,本发明提供一种命令传输方法、装置、计算机设备及可读存储介质。
根据本发明实施例的第一方面,提供一种命令传输方法,所述方法应用于单片机中,所述方法包括:
接收控制板发送的操作命令,所述操作命令至少包括数据头、多个第一数据组和校验值;
基于所述数据头和所述校验值,对所述操作命令的多个第一数据组进行校验;
如果对所述操作命令的多个第一数据组校验成功,则执行所述操作命令;
当完成所述操作命令的执行时,生成应答命令,将所述应答命令传输至所述控制板,所述应答命令至少包括所述数据头和所述校验值。
在另一个实施例中,所述基于所述数据头和所述校验值,对所述操作命令的多个第一数据组进行校验包括:
当接收到所述数据头时,继续接收携带所述数据头的第一数据组,并对接收到的所述第一数据组进行统计,判断在预设时长内接收到的所述第一数据组的个数是否满足第一预设数目;
基于预设算法对所述接收到的第一数据组进行计算,生成待校验值,将所述待校验值和所述校验值进行比对,完成对所述操作命令的校验;
相应地,所述如果对所述操作命令的校验成功,则执行所述操作命令包括:
如果在预设时长内接收到的所述第一数据组的个数满足所述第一预设数目且所述待校验值与所述校验值一致,则确定对所述操作命令的校验成功,执行所述操作命令。
在另一个实施例中,所述基于所述数据头和所述校验值,对所述操作命令的多个第一数据组进行校验之后,所述方法还包括:
如果在预设时长内接收到的第一数据组的个数未满足第一预设数目和/或基于接收到的第一数据组生成的待校验值与所述校验值不一致,确定对所述操作命令的校验失败;
将在所述预设时长内接收到的全部第一数据组删除;
生成失败命令,将所述失败命令传输至所述控制板,所述失败命令至少包括所述数据头。
在另一个实施例中,所述方法还包括:
根据预设时间周期,确定当前所处待检测周期;
获取在所述待检测周期内接收到的至少一个心跳命令,检测所述至少一个心跳命令中是否存在完整的心跳命令,所述心跳命令用于确定所述单片机和所述控制板的工作状态,所述完整的心跳命令包含第二预设数目个第二数据组;
如果所述至少一个心跳命令中存在所述完整的心跳命令,则生成收取应答,将所述收取应答传输至所述控制板;
如果所述至少一个心跳命令中不存在所述完整的心跳命令,则在所述待检测周期结束时关闭电源。
根据本发明实施例的第二方面,提供一种命令传输方法,所述方法应用于控制板中,所述方法包括:
向单片机发送操作命令,所述操作命令至少包括数据头、多个第一数据组和校验值;
当接收到所述单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于所述多个第三数据组生成新校验值;
基于所述多个第三数据组、所述新校验值和所述新数据头,生成下一操作命令;
将所述下一操作命令发送至所述单片机。
在另一个实施例中,所述获取下一待执行操作的多个第三数据组,基于所述多个第三数据组生成新校验值包括:
获取下一执行操作的多个第三数据组和预设算法;
基于所述预设算法对所述多个第三数据组进行计算,生成所述新校验值。
在另一个实施例中,所述方法还包括:
当接收到所述单片机传输的失败命令时,在所述失败命令中提取重发数据头,所述失败命令为所述单片机对接收到的操作命令进行校验失败后生成并发送的;
确定所述重发数据头对应的重发操作命令,再次向所述单片机发送所述重发操作命令。
在另一个实施例中,所述方法还包括:
每隔预设时间周期向所述单片机发送多个心跳命令,所述心跳命令用于确定所述单片机和所述控制板的工作状态;
如果在时间阈值内接收到所述单片机返回的收取应答,则保持当前的工作状态,所述收取应答为所述单片机在接收到完整的心跳命令后生成并发送的,所述完整的心跳命令包含第二预设数目个第二数据组;
如果在所述时间阈值内未接收到所述单片机返回的所述收取应答,则关闭电源。
根据本发明实施例的第三方面,提供一种命令传输装置,所述装置应用于单片机中,所述装置包括:
接收模块,用于接收控制板发送的操作命令,所述操作命令至少包括数据头、多个第一数据组和校验值;
校验模块,用于基于所述数据头和所述校验值,对所述操作命令的多个第一数据组进行校验;
执行模块,用于如果对所述操作命令的多个第一数据组校验成功,则执行所述操作命令;
第一传输模块,用于当完成所述操作命令的执行时,生成应答命令,将所述应答命令传输至所述控制板,所述应答命令至少包括所述数据头和所述校验值。
在另一个实施例中,所述校验模块包括:
统计子模块,用于当接收到所述数据头时,继续接收携带所述数据头的第一数据组,并对接收到的所述第一数据组进行统计,判断在预设时长内接收到的所述第一数据组的个数是否满足第一预设数目;
比对子模块,用于基于预设算法对所述接收到的第一数据组进行计算,生成待校验值,将所述待校验值和所述校验值进行比对,完成对所述操作命令的校验;
相应地,所述执行模块,用于如果在预设时长内接收到的所述第一数据组的个数满足所述第一预设数目且所述待校验值与所述校验值一致,则确定对所述操作命令的校验成功,执行所述操作命令。
在另一个实施例中,所述装置还包括:
第一确定模块,用于如果在预设时长内接收到的第一数据组的个数未满足第一预设数目和/或基于接收到的第一数据组生成的待校验值与所述校验值不一致,确定对所述操作命令的校验失败;
删除模块,用于将在所述预设时长内接收到的全部第一数据组删除;
第二传输模块,用于生成失败命令,将所述失败命令传输至所述控制板,所述失败命令至少包括所述数据头。
在另一个实施例中,所述装置还包括:
第二确定模块,用于根据预设时间周期,确定当前所处待检测周期;
检测模块,用于获取在所述待检测周期内接收到的至少一个心跳命令,检测所述至少一个心跳命令中是否存在完整的心跳命令,所述心跳命令用于确定所述单片机和所述控制板的工作状态,所述完整的心跳命令包含第二预设数目个第二数据组;
第三传输模块,用于如果所述至少一个心跳命令中存在所述完整的心跳命令,则生成收取应答,将所述收取应答传输至所述控制板;
关闭模块,用于如果所述至少一个心跳命令中不存在所述完整的心跳命令,则在所述待检测周期结束时关闭电源。
根据本发明实施例的第四方面,提供一种命令传输装置,所述装置应用于控制板中,所述装置包括:
第一发送模块,用于向单片机发送操作命令,所述操作命令至少包括数据头、多个第一数据组和校验值;
获取模块,用于当接收到所述单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于所述多个第三数据组生成新校验值;
生成模块,用于基于所述多个第三数据组、所述新校验值和所述新数据头,生成下一操作命令;
所述第一发送模块,还用于将所述下一操作命令发送至所述单片机。
在另一个实施例中,所述获取模块包括:
获取子模块,用于获取下一执行操作的多个第三数据组和预设算法;
生成子模块,用于基于所述预设算法对所述多个第三数据组进行计算,生成所述新校验值。
在另一个实施例中,所述装置还包括:
提取模块,用于当接收到所述单片机传输的失败命令时,在所述失败命令中提取重发数据头,所述失败命令为所述单片机对接收到的操作命令进行校验失败后生成并发送的;
所述第一发送模块,还用于确定所述重发数据头对应的重发操作命令,再次向所述单片机发送所述重发操作命令。
在另一个实施例中,所述装置还包括:
第二发送模块,用于每隔预设时间周期向所述单片机发送多个心跳命令,所述心跳命令用于确定所述单片机和所述控制板的工作状态;
保持模块,用于如果在时间阈值内接收到所述单片机返回的收取应答,则保持当前的工作状态,所述收取应答为所述单片机在接收到完整的心跳命令后生成并发送的,所述完整的心跳命令包含第二预设数目个第二数据组;
关闭模块,用于如果在所述时间阈值内未接收到所述单片机返回的所述收取应答,则关闭电源。
根据本发明实施例的第五方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可执行指令,所述处理器执行所述计算机可执行指令时实现上述第一方面所述的命令传输方法。
根据本发明实施例的第六方面,提供一种可读存储介质,所述可读存储介质上存储有指令,所述指令被处理器执行以完成上述第一方面所述的命令传输方法。
根据本发明实施例的第七方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可执行指令,所述处理器执行所述计算机可执行指令时实现上述第二方面所述的命令传输方法。
根据本发明实施例的第八方面,提供一种可读存储介质,所述可读存储介质上存储有指令,所述指令被处理器执行以完成上述第二方面所述的命令传输方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
通过接收控制板发送的操作命令,基于数据头和校验值,对操作命令的多个第一数据组进行校验,如果对操作命令的多个第一数据组校验成功,则执行操作命令,并当完成操作命令的执行时,生成应答命令,将应答命令传输至控制板,使得控制板在工作的过程中可以获知单片机的工作状态及工作进度,单片机和控制板所搭载的设备的运行状况更加透明,在设备发生故障时,控制板和单片机均可以实现对设备的关闭电源操作,避免控制板温度过高而损坏,设备的安全性较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1A是根据一示例性实施例示出的一种命令传输方法的流程图;
图1B是根据一示例性实施例示出的一种命令传输方法的流程图;
图2A是根据一示例性实施例示出的一种命令传输方法的流程图;
图2B是根据一示例性实施例示出的一种命令传输方法的流程图;
图3A是根据一示例性实施例示出的一种命令传输装置的框图;
图3B是根据一示例性实施例示出的一种命令传输装置的框图;
图3C是根据一示例性实施例示出的一种命令传输装置的框图;
图3D是根据一示例性实施例示出的一种命令传输装置的框图;
图4A是根据一示例性实施例示出的一种命令传输装置的框图;
图4B是根据一示例性实施例示出的一种命令传输装置的框图;
图4C是根据一示例性实施例示出的一种命令传输装置的框图;
图4D是根据一示例性实施例示出的一种命令传输装置的框图;
图5是根据一示例性实施例示出的一种命令传输装置500的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1A是根据一示例性实施例示出的一种命令传输方法的流程图,如图1A所示,该方法用于单片机中,该方法包括以下步骤。
在步骤101中,接收控制板发送的操作命令,操作命令至少包括数据头、多个第一数据组和校验值。
在步骤102中,基于数据头和校验值,对操作命令的多个第一数据组进行校验。
在步骤103中,如果对操作命令的多个第一数据组校验成功,则执行操作命令。
在步骤104中,当完成操作命令的执行时,生成应答命令,将应答命令传输至控制板,应答命令至少包括数据头和校验值。
本发明实施例提供的方法,通过接收控制板发送的操作命令,基于数据头和校验值,对操作命令的多个第一数据组进行校验,如果对操作命令的多个第一数据组校验成功,则执行操作命令,并当完成操作命令的执行时,生成应答命令,将应答命令传输至控制板,使得控制板在工作的过程中可以获知单片机的工作状态及工作进度,单片机和控制板所搭载的设备的运行状况更加透明,在设备发生故障时,控制板和单片机均可以实现对设备的关闭电源操作,避免控制板温度过高而损坏,设备的安全性较高。
在另一个实施例中,基于数据头和校验值,对操作命令的多个第一数据组进行校验包括:
当接收到数据头时,继续接收携带数据头的第一数据组,并对接收到的第一数据组进行统计,判断在预设时长内接收到的第一数据组的个数是否满足第一预设数目;
基于预设算法对接收到的第一数据组进行计算,生成待校验值,将待校验值和校验值进行比对,完成对操作命令的校验;
相应地,如果对操作命令的校验成功,则执行操作命令包括:
如果在预设时长内接收到的第一数据组的个数满足第一预设数目且待校验值与校验值一致,则确定对操作命令的校验成功,执行操作命令。
在另一个实施例中,基于数据头和校验值,对操作命令的多个第一数据组进行校验之后,方法还包括:
如果在预设时长内接收到的第一数据组的个数未满足第一预设数目和/或基于接收到的第一数据组生成的待校验值与校验值不一致,确定对操作命令的校验失败;
将在预设时长内接收到的全部第一数据组删除;
生成失败命令,将失败命令传输至控制板,失败命令至少包括数据头。
在另一个实施例中,方法还包括:
根据预设时间周期,确定当前所处待检测周期;
获取在待检测周期内接收到的至少一个心跳命令,检测至少一个心跳命令中是否存在完整的心跳命令,心跳命令用于确定单片机和控制板的工作状态,完整的心跳命令包含第二预设数目个第二数据组;
如果至少一个心跳命令中存在完整的心跳命令,则生成收取应答,将收取应答传输至控制板;
如果至少一个心跳命令中不存在完整的心跳命令,则在待检测周期结束时关闭电源。
图1B是根据一示例性实施例示出的一种命令传输方法的流程图,如图1B所示,该方法用于控制板中,该方法包括以下步骤。
在步骤105中,向单片机发送操作命令,操作命令至少包括数据头、多个第一数据组和校验值。
在步骤106中,当接收到单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于多个第三数据组生成新校验值。
在步骤107中,基于多个第三数据组、新校验值和新数据头,生成下一操作命令。
在步骤108中,将下一操作命令发送至单片机。
本发明实施例提供的方法,通过向单片机发送操作命令,当接收到单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于多个第三数据组生成新校验值,并基于多个第三数据组、新校验值和新数据头,生成下一操作命令,将下一操作命令发送至单片机,使得控制板在工作的过程中可以获知单片机的工作状态及工作进度,单片机和控制板所搭载的设备的运行状况更加透明,在设备发生故障时,控制板和单片机均可以实现对设备的关闭电源操作,避免控制板温度过高而损坏,设备的安全性较高。
在另一个实施例中,获取下一待执行操作的多个第三数据组,基于多个第三数据组生成新校验值包括:
获取下一执行操作的多个第三数据组和预设算法;
基于预设算法对多个第三数据组进行计算,生成新校验值。
在另一个实施例中,方法还包括:
当接收到单片机传输的失败命令时,在失败命令中提取重发数据头,失败命令为单片机对接收到的操作命令进行校验失败后生成并发送的;
确定重发数据头对应的重发操作命令,再次向单片机发送重发操作命令。
在另一个实施例中,方法还包括:
每隔预设时间周期向单片机发送多个心跳命令,心跳命令用于确定单片机和控制板的工作状态;
如果在时间阈值内接收到单片机返回的收取应答,则保持当前的工作状态,收取应答为单片机在接收到完整的心跳命令后生成并发送的,完整的心跳命令包含第二预设数目个第二数据组;
如果在时间阈值内未接收到单片机返回的收取应答,则关闭电源。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2A是根据一示例性实施例示出的一种命令传输方法的流程图,如图2A所示,该方法包括以下步骤。
在步骤201中,控制板向单片机发送操作命令,操作命令至少包括数据头、多个第一数据组和校验值。
在本发明实施例中,控制板和单片机共同搭载在同一设备上,该设备可为用于赚取比特币等虚拟货币的矿机节点,单片机可为PIC单片机,本发明实施例对设备和单片机的类型及功能不进行具体限定。在控制板和单片机所搭载的设备进行工作时,控制板与单片机之间进行交互,由控制板向单片机发送各种操作命令,进而引导单片机完成各项操作。
其中,操作命令由不同长度的第一数据组组成,第一数据组可为二进制数组。发明人认识到,在控制板将操作命令传输至单片机的过程中可能发生丢失数据的情况,使得单片机接收到的操作命令是不完整的,导致单片机执行的操作命令发生错误,因此,可以在操作命令中加入用于描述操作命令长度的数据头,以及根据操作命令包括的全部第一数据组生成的校验值,以便单片机在接收到操作命令时,可以基于数据头和校验值判断接收到的操作命令是否完整以及是否正确。在实际应用的过程中,操作命令中添加的数据头可为Ox55或OxAA,校验值可为基于全部的第一数据组计算得到的MD5(Message-DigestAlgorithm 5,信息摘要算法5)值,本发明实施例对操作命令中的数据头和校验值的类型不进行具体限定。
当生成了操作命令后,控制板将操作命令传输至单片机,以便单片机对接收到的操作命令进行校验,并根据校验结果对操作命令进行不同的处理。
在步骤202中,单片机接收控制板发送的操作命令,基于数据头和校验值,对操作命令的多个第一数据组进行校验,如果对操作命令的多个第一数据组校验成功,则执行下述步骤203至步骤206;如果对操作命令的多个第一数据组校验失败,则执行下述步骤207至步骤208。
在本发明实施例中,当单片机接收到控制板发送的操作命令时,考虑到操作命令在传输的过程中可能发生数据丢失的情况,或者发生被人篡改数据的情况,因此,单片机需要对接收到的操作命令进行校验,并根据对操作命令的校验结果对操作命令进行不同的操作。其中,在对操作命令进行校验时,可以通过下述步骤一和步骤二实现。
步骤一、当接收到数据头时,单片机继续接收携带数据头的第一数据组,并对接收到的第一数据组进行统计,判断在预设时长内接收到的第一数据组的个数是否满足第一预设数目。
发明人认识到,对于每个操作命令来说,组成该操作命令的第一数据组均是固定的,且该操作命令中添加的数据头可以描述该操作命令具体包括多少个第一数据组,因此,单片机中可以设置第一预设数目,该第一预设数目也即为组成该操作命令的第一数据组的个数,这样,当单片机首次接收到某一数据头时,便会统计在后续的时间中会持续接收到多少个携带该数据头的第一数据组,进而判断接收到的操作命令是否发生数据丢失的现象。需要说明的是,考虑到控制板与单片机之间的数据传输存在数据延迟,单片机接收到操作命令的多个第一数据组的时间并不是相同的,因此,可以在单片机中设置预设时长,仅统计单片机在预设时长内接收到的第一数据组的个数是否满足第一预设数目,超过预设时长后接收到的第一数据组自动视为无效,避免单片机长期处于等待接收第一数据组的状态,进而导致单片机的工作效率。
步骤二、基于预设算法对接收到的第一数据组进行计算,生成待校验值,将待校验值和校验值进行比对,完成对操作命令的校验。
发明人认识到,如果单片机接收到的操作命令是完整的,且组成操作命令的第一数据组没有被更改过,则单片机通过预设算法对全部第一数组进行计算得到的校验值应该与操作命令中携带的校验值是一致的;如果单片机接收到的命令不完整,或者接收到的第一数据组中存在被篡改的第一数据组,则单片机通过预设算法对全部第一数据组进行计算得到的校验值与操作命令中携带的校验值一定是不一致的,因此,可以基于预设算法对接收到的第一数组进行计算,生成待校验值,并通过待校验值与校验值之间对比确定单片机接收到的操作命令是否是正确的,进而完成对操作命令的校验。其中,单片机生成待校验值的方式与上述步骤201中所示的生成校验值的方式一致,此处不再进行赘述。
通过上述步骤一和步骤二便可以确定单片机接收到的操作命令是否是正确定,如果通过上述步骤一和步骤二确定单片机在预设时长内接收到的第一数据组的个数满足第一预设数目,且根据接收到的第一数据组生成的待校验值与操作命令携带的校验值一致,则确定单片机接收到的操作命令是正确且完整的,因此,对操作命令的校验成功,可以执行该操作命令,也即执行下述步骤203至步骤206;如果在预设时长内接收到的第一数据组的个数未满足第一预设数目,或者基于接收到的第一数据组生成的待校验值与校验值不一致,则确定单片机接收到的操作命令发生了错误,表示对操作命令的校验失败,这时便需要执行下述步骤207至步骤208。
需要说明的是,如果在预设时长内接收到的第一数据组的个数未满足第一预设数目,以及基于接收到的第一数据组生成的待校验值与校验值不一致这两种情况中任一种情况发生,则表示操作命令是错误的,便不可以执行该操作命令。在实际应用的过程中,如果操作命令中仅携带了数据头,则仅执行步骤一对操作命令进行校验即可;如果操作命令中仅携带了校验值,则仅执行步骤二对操作命令进行校验即可,本发明实施例对校验操作命令的方式不进行具体限定。
在步骤203中,如果对操作命令的多个第一数据组校验成功,则单片机执行操作命令。
在本发明实施例中,如果在预设时长内接收到的第一数据组的个数满足第一预设数目,且根据接收到的第一数据组生成的待校验值与操作命令携带的校验值一致,则表示接收到的操作命令是完整且正确的,这时便可以由该单片机执行该操作命令。
在步骤204中,当单片机完成操作命令的执行时,生成应答命令,将应答命令传输至控制板,应答命令至少包括数据头和校验值。
在本发明实施例中,发明人认识到,单片机在执行操作命令时可能会发生延迟,导致操作命令的执行时间过长;或者单片机在首次执行操作命令时发生错误,需要再次进行执行,为了避免在单片机执行当前接收到的操作命令时,控制板由于并不知道单片机是否完成操作命令的执行而继续向单片机下一操作命令,导致单片机发生负载过高的情况,因此,当单片机完成操作命令的执行时,会向控制板发送用于指示当前操作命令已经完成的应答命令,并将该应答命令传输至控制板,以使控制板在接收到该应答命令时,即可知晓当前单片机已经完成了操作命令的执行。
其中,单片机在向控制板发送应答命令时,为了使控制板获知单片机完成执行的操作命令是哪一个操作命令,使得控制板可以确定下一需要传输的操作命令是哪一个,避免发生错误,单片机可以在应答命令中携带数据头和校验值,使得控制板在接收到应答命令时,根据应答命令中携带的数据头和校验值确定单片机当前已经完成的操作命令为哪一个。本发明实施例对应答命令中包括的内容不进行具体限定。
在步骤205中,当控制板接收到单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于多个第三数据组生成新校验值。
在本发明实施例中,当控制板接收到单片机返回的应答命令时,则表示单片机已经完成了当前操作命令的执行,控制板可以向单片机发送下一个操作命令了,因此,控制板会获取下一待执行操作的多个第三数据组,并根据多个第三数据组生成新数据头,基于多个第三数据组生成新校验值,以便后续生成下一操作命令,并将下一操作命令发送给单片机,以便单片机执行该下一操作命令。
其中,在生成新数据头和新校验值时,可以采取步骤201中所述的生成数据头和校验值的方式,基于预设算法对多个第三数据组进行计算,生成新校验值,本发明实施例此处不再进行赘述。
在步骤206中,控制板基于多个第三数据组、新校验值和新数据头,生成下一操作命令,并将下一操作命令发送至单片机。
在本发明实施例中,当确定多个第三数据组、新校验值和新数据头后,便可以生成携带多个第三数据组、新校验值和新数据头的下一操作命令,并将该下一操作命令发送至单片机,以便单片机重新执行上述步骤201至步骤205,完成对下一操作命令的校验以及执行。
在步骤207中,如果对操作命令的多个第一数据组校验失败,则单片机将在预设时长内接收到的全部第一数据组删除,并生成失败命令,将失败命令传输至控制板,失败命令至少包括数据头。
在本发明实施例中,如果在预设时长内接收到的第一数据组的个数未满足第一预设数目,或者基于接收到的第一数据组生成的待校验值与校验值不一致,则表示接收到的操作命令不完整,或者接收到的操作命令是错误的,需要控制板重新发送该操作命令,此时,单片机已经接收到的多个第一数据组便无需存储,单片机可以将已经接收到的第一数据组删除,并生成失败命令,以便告知控制板当前接收到的操作命令发生错误,需要重新发送。
单片机在生成失败命令时,为了使控制板在接收到失败命令时明确哪一个操作命令执行失败,进而使控制板确定需要重新发送的操作命令,可以在失败命令中添加数据头,使得控制板在接收到失败命令时,可以在失败命令中提取需要重发的数据头,进而根据该数据头确定需要重发的操作命令。
在步骤208中,当控制板接收到单片机传输的失败命令时,在失败命令中提取重发数据头,确定重发数据头对应的重发操作命令,再次向单片机发送重发操作命令。
在本发明实施例中,当控制板接收到单片机传输的失败命令时,则表示单片机接收到的操作命令发生了错误,需要控制板重新发送操作命令,因此,控制板在接收到单片机传输的失败命令时,在失败命令中提取重发数据头,进而根据重发数据头确定对应的重发操作命令,并再次向单片机发送重发操作命令,使得单片机重新执行上述步骤201至步骤207中的过程,实现对操作命令的校验及执行,此处不再进行赘述。
需要说明的是,只要控制板接收到单片机发送的失败命令,便会重新向单片机发送操作命令,仅当控制板接收到单片机发送的应答命令时,控制板才会向单片机发送下一操作命令,否则控制板是不会向单片机发送下一操作命令的。
在实际应用的过程中,为了确定控制板与单片机的工作状态,避免发生控制板或者单片机发生故障无法进行工作时,控制板和单片机所搭载的设备仍在供电,导致设备损坏的情况,控制板会周期性的向单片机发送心跳命令,基于心跳命令控制设备是否继续供电,如图2B所示,该方法包括以下步骤。
在步骤209中,控制板每隔预设时间周期向单片机发送多个心跳命令。
在本发明实施例中,心跳命令用于确定单片机和控制板的工作状态,心跳命令由多个第二数据组组成。发明人认识到,控制板在工作的过程中除了向单片机下发操作命令外,与单片机之间并不存在其他的联系,使得控制板并不知晓单片机是否还在正常工作,也不会知晓单片机是否发生了故障,因此,在本发明中,控制板中设置由预设时间周期,控制板每隔预设时间周期便会向单片机发送多个心跳命令,使得后续如果单片机接收到任一心跳命令便会向控制板返回收取应答,进而使得控制板可以根据心跳命令确定单片机的工作状态。
其中,考虑到控制板在向单片机发送心跳命令时会发生数据丢失或者数据延迟的状况,在一个预设时间周期内,控制板会向单片机发送多个心跳命令,只要单片机接收到控制板在预设时间周期内发送的1个完整的心跳,并给控制板回复收取应答,控制板便可以确定单片机当前的工作状态是正常的,继续保持当前的工作状态即可。一般来说,预设时间周期通常可为1分钟,控制板在1分钟内每隔10秒向单片机发送一个心跳命令,也即控制板在一分钟内向单片机发送6个心跳命令。这样,以预设时间周期为1分钟,控制板在1分钟内每隔10秒向单片机发送一个心跳命令为例,如果控制板发送的6个心跳命令在传输的过程中发生了干扰,即使有5个心跳命令均传输错误也没关系,只要单片机在后续接收到1次完整的心跳命令即可。本发明实施例对预设时间周期的具体数值及控制板向单片机发送心跳命令的个数不进行具体限定。
在步骤210中,单片机根据预设时间周期,确定当前所处待检测周期,并获取在待检测周期内接收到的至少一个心跳命令,检测至少一个心跳命令中是否存在完整的心跳命令,如果至少一个心跳命令中存在完整的心跳命令,则执行下述步骤211至步骤213;如果至少一个心跳命令中不存在完整的心跳命令,则执行下述步骤214。
在本发明实施例中,单片机根据预设时间周期,确定当前所处待检测周期,并获取在待检测周期内接收到的至少一个心跳命令,检测至少一个心跳命令中是否存在完整的心跳命令。其中,在检测至少一个心跳命令中是否存在完整的心跳命令时,单片机中可以设置第二预设数目,统计接收到的至少一个心跳命令中每一个心跳命令中包括的第二数据组的个数,并将包括的第二数据组的个数满足第二预设数目的心跳命令作为完整的心跳命令。例如,设第二预设数目为5,如果单片机接收到3个心跳命令分别为A、B和C,其中,A包括3个第二数据组,B包括5个第二数据组,C包括1个第二数据组,则B即为单片机接收到的完整的心跳命令。其中,第二预设数目可以根据控制板发送的心跳命令中包括的第二数据组的个数进行设置。
当对接收到的至少一个心跳命令进行检测后,如果检测到至少一个心跳命令中的某一心跳命令中包括第二预设数目个第二数据组,则表示至少一个心跳命令中存在完整的心跳命令,也即确定当前单片机与控制板之间的联系是正常的,且控制板的工作状态也是正常的,可以保持当前的工作状态继续工作,也即执行下述步骤211至步骤213;如果检测到至少一个心跳命令中并不存在任一心跳命令中包括第二预设数目个第二数据组,则表示至少一个心跳命令中不存在完整的心跳命令,也即确定当前单片机与控制板之间的联系异常,控制板的工作状态可能发生了异常,需要中断设备当前的工作,也即执行下述步骤214。
在步骤211中,如果至少一个心跳命令中存在完整的心跳命令,则单片机生成收取应答,将收取应答传输至控制板。
在本发明实施例中,如果检测到至少一个心跳命令中的某一心跳命令中包括第二预设数目个第二数据组,则表示至少一个心跳命令中存在完整的心跳命令,也即确定当前单片机与控制板之间的联系是正常的,且控制板的工作状态也是正常的,可以保持当前的工作状态继续工作。
为了告知控制板当前已经接收到心跳命令,单片机在检测到至少一个心跳命令中存在完整的心跳命令时,会生成收取应答,并将收取应答传输至控制板,以使控制板获知当前单片机的工作状态是正常的,可以继续保持当前的工作状态。
在步骤212中,如果控制板在时间阈值内接收到单片机返回的收取应答,则保持当前的工作状态。
在本发明实施例中,对于控制板来说,其每隔预设时间周期向单片机发送多个心跳命令后,便会等待接收单片机返回的收取应答。考虑到在心跳命令和收取应答的传输过程中可能发生数据延迟,控制板中可以设置有时间阈值,控制板如果在时间阈值内接收到单片机返回的收取应答,则表示单片机的工作正常,可以继续保持工作。
在步骤213中,如果控制板在时间阈值内未接收到单片机返回的收取应答,则关闭电源。
在本发明实施例中,由于控制板还会存在其他的工作,无法持续保持等待接收单片机收取应答的状态,因此,如果控制板在时间阈值内未接收到单片机返回的收取应答,则可以确定单片机可能发生了异常,需要中断当前的工作,也即关闭电源。
在实际应用的过程中,如果控制板确定了单片机发生了异常,控制板还可以将其所搭载的设备重新复位,使该设备可以重新进行工作,本发明实施例对控制板在确定设备故障时执行的操作不进行具体限定。
在步骤214中,如果至少一个心跳命令中不存在完整的心跳命令,则单片机在待检测周期结束时关闭电源。
在本发明实施例中,如果检测到至少一个心跳命令中不存在任一心跳命令中包括第二预设数目个第二数据组,则表示至少一个心跳命令中不存在完整的心跳命令,也即确定当前单片机与控制板之间的联系是异常的,且控制板的工作状态可能已经发生异常的,需要中断当前的工作状态,这样,单片机在待检测周期结束时便会关闭电源,进而实现对其所搭载的设备的保护,并且能够兼容、处理控制板与单片机之间的命令传输的操作,使控制板与单片机组成的系统有一定的鲁棒性。
需要说明的是,上述图2B中所示的命令传输的过程可以在控制板和单片机所搭载的设备启动后便执行,并在该设备工作的过程中保持执行的状态,进而保证对设备工作状态的实时监控,提高设备的安全性。
本发明实施例提供的方法,通过接收控制板发送的操作命令,基于数据头和校验值,对操作命令的多个第一数据组进行校验,如果对操作命令的多个第一数据组校验成功,则执行操作命令,并当完成操作命令的执行时,生成应答命令,将应答命令传输至控制板,使得控制板在工作的过程中可以获知单片机的工作状态及工作进度,单片机和控制板所搭载的设备的运行状况更加透明,在设备发生故障时,控制板和单片机均可以实现对设备的关闭电源操作,避免控制板温度过高而损坏,设备的安全性较高。
图3A是根据一示例性实施例示出的一种命令传输装置的框图。参照图3A,该装置包括接收模块301,校验模块302,执行模块303和第一传输模块304。
该接收模块301,用于接收控制板发送的操作命令,操作命令至少包括数据头、多个第一数据组和校验值;
该校验模块302,用于基于数据头和校验值,对操作命令的多个第一数据组进行校验;
该执行模块303,用于如果对操作命令的多个第一数据组校验成功,则执行操作命令;
该第一传输模块304,用于当完成操作命令的执行时,生成应答命令,将应答命令传输至控制板,应答命令至少包括数据头和校验值。
本发明实施例提供的装置,通过接收控制板发送的操作命令,基于数据头和校验值,对操作命令的多个第一数据组进行校验,如果对操作命令的多个第一数据组校验成功,则执行操作命令,并当完成操作命令的执行时,生成应答命令,将应答命令传输至控制板,使得控制板在工作的过程中可以获知单片机的工作状态及工作进度,单片机和控制板所搭载的设备的运行状况更加透明,在设备发生故障时,控制板和单片机均可以实现对设备的关闭电源操作,避免控制板温度过高而损坏,设备的安全性较高。
在另一个实施例中,参见图3B,该校验模块302,包括统计子模块3021和比对子模块3022。
该统计子模块3021,用于当接收到数据头时,继续接收携带数据头的第一数据组,并对接收到的第一数据组进行统计,判断在预设时长内接收到的第一数据组的个数是否满足第一预设数目;
该比对子模块3022,用于基于预设算法对接收到的第一数据组进行计算,生成待校验值,将待校验值和校验值进行比对,完成对操作命令的校验;
相应地,该执行模块303,用于如果在预设时长内接收到的第一数据组的个数满足第一预设数目且待校验值与校验值一致,则确定对操作命令的校验成功,执行操作命令。
在另一个实施例中,参见图3C,该装置还包括第一确定模块305,删除模块306和第二传输模块307。
该第一确定模块305,用于如果在预设时长内接收到的第一数据组的个数未满足第一预设数目和/或基于接收到的第一数据组生成的待校验值与校验值不一致,确定对操作命令的校验失败;
该删除模块306,用于将在预设时长内接收到的全部第一数据组删除;
该第二传输模块307,用于生成失败命令,将失败命令传输至控制板,失败命令至少包括数据头。
在另一个实施例中,参见图3D,该装置还包括第二确定模块308,检测模块309,第三传输模块310和关闭模块311。
该第二确定模块308,用于根据预设时间周期,确定当前所处待检测周期;
该检测模块309,用于获取在待检测周期内接收到的至少一个心跳命令,检测至少一个心跳命令中是否存在完整的心跳命令,心跳命令用于确定单片机和控制板的工作状态,完整的心跳命令包含第二预设数目个第二数据组;
该第三传输模块310,用于如果至少一个心跳命令中存在完整的心跳命令,则生成收取应答,将收取应答传输至控制板;
该关闭模块311,用于如果至少一个心跳命令中不存在完整的心跳命令,则在待检测周期结束时关闭电源。
图4A是根据一示例性实施例示出的一种命令传输装置的框图。参照图4A,该装置包括第一发送模块401,获取模块402和生成模块403。
该第一发送模块401,用于向单片机发送操作命令,操作命令至少包括数据头、多个第一数据组和校验值;
该获取模块402,用于当接收到单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于多个第三数据组生成新校验值;
该生成模块403,用于基于多个第三数据组、新校验值和新数据头,生成下一操作命令;
该第一发送模块401,还用于将下一操作命令发送至单片机。
本发明实施例提供的装置,通过向单片机发送操作命令,当接收到单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于多个第三数据组生成新校验值,并基于多个第三数据组、新校验值和新数据头,生成下一操作命令,将下一操作命令发送至单片机,使得控制板在工作的过程中可以获知单片机的工作状态及工作进度,单片机和控制板所搭载的设备的运行状况更加透明,在设备发生故障时,控制板和单片机均可以实现对设备的关闭电源操作,避免控制板温度过高而损坏,设备的安全性较高。
在另一个实施例中,参见图4B,该获取模块402,包括获取子模块4021和生成子模块4022。
该获取子模块4021,用于获取下一执行操作的多个第三数据组和预设算法;
该生成子模块4022,用于基于预设算法对多个第三数据组进行计算,生成新校验值。
在另一个实施例中,参见图4C,该装置还包括提取模块404。
该提取模块404,用于当接收到单片机传输的失败命令时,在失败命令中提取重发数据头,失败命令为单片机对接收到的操作命令进行校验失败后生成并发送的;
该第一发送模块401,还用于确定重发数据头对应的重发操作命令,再次向单片机发送重发操作命令。
在另一个实施例中,参见图4D,该装置还包括第二发送模块405,保持模块406和关闭模块407。
该第二发送模块405,用于每隔预设时间周期向单片机发送多个心跳命令,心跳命令用于确定单片机和控制板的工作状态;
该保持模块406,用于如果在时间阈值内接收到单片机返回的收取应答,则保持当前的工作状态,收取应答为单片机在接收到完整的心跳命令后生成并发送的,完整的心跳命令包含第二预设数目个第二数据组;
该关闭模块407,用于如果在时间阈值内未接收到单片机返回的收取应答,则关闭电源。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种命令传输装置500的框图。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,I/O(Input/Output,输入/输出)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如SRAM(Static Random Access Memory,静态随机存取存储器),EEPROM(Electrically-Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括LCD(Liquid Crystal Display,液晶显示器)和TP(TouchPanel,触摸面板)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个MIC(Microphone,麦克风),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS(Complementary Metal OxideSemiconductor,互补金属氧化物)或CCD(Charge-coupled Device,电荷耦合元件)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括NFC(Near Field Communication,近场通信)模块,以促进短程通信。例如,在NFC模块可基于RFID(Radio FrequencyIdentification,射频识别)技术,IrDA(Infra-red Data Association,红外数据协会)技术,UWB(Ultra Wideband,超宽带)技术,BT(Bluetooth,蓝牙)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)、DSP(Digital signal Processor,数字信号处理器)、DSPD(Digital signal Processor Device,数字信号处理设备)、PLD(ProgrammableLogic Device,可编程逻辑器件)、FPGA)(Field Programmable Gate Array,现场可编程门阵列)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器)、磁带、软盘和光数据存储设备等。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可执行指令,所述处理器执行所述计算机可执行指令时实现上述的命令传输方法。
一种可读存储介质,当所述存储介质中的指令由命令传输装置的处理器执行时,使得命令传输装置能够执行上述命令传输方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (20)
1.一种命令传输方法,其特征在于,所述方法应用于单片机中,所述方法包括:
接收控制板发送的操作命令,所述操作命令至少包括数据头、多个第一数据组和校验值;
基于所述数据头和所述校验值,对所述操作命令的多个第一数据组进行校验;
如果对所述操作命令的多个第一数据组校验成功,则执行所述操作命令;
当完成所述操作命令的执行时,生成应答命令,将所述应答命令传输至所述控制板,所述应答命令至少包括所述数据头和所述校验值。
2.根据权利要求1所述的方法,其特征在于,所述基于所述数据头和所述校验值,对所述操作命令的多个第一数据组进行校验包括:
当接收到所述数据头时,继续接收携带所述数据头的第一数据组,并对接收到的所述第一数据组进行统计,判断在预设时长内接收到的所述第一数据组的个数是否满足第一预设数目;
基于预设算法对所述接收到的第一数据组进行计算,生成待校验值,将所述待校验值和所述校验值进行比对,完成对所述操作命令的校验;
相应地,所述如果对所述操作命令的校验成功,则执行所述操作命令包括:
如果在预设时长内接收到的所述第一数据组的个数满足所述第一预设数目且所述待校验值与所述校验值一致,则确定对所述操作命令的校验成功,执行所述操作命令。
3.根据权利要求1所述的方法,其特征在于,所述基于所述数据头和所述校验值,对所述操作命令的多个第一数据组进行校验之后,所述方法还包括:
如果在预设时长内接收到的第一数据组的个数未满足第一预设数目和/或基于接收到的第一数据组生成的待校验值与所述校验值不一致,确定对所述操作命令的校验失败;
将在所述预设时长内接收到的全部第一数据组删除;
生成失败命令,将所述失败命令传输至所述控制板,所述失败命令至少包括所述数据头。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设时间周期,确定当前所处待检测周期;
获取在所述待检测周期内接收到的至少一个心跳命令,检测所述至少一个心跳命令中是否存在完整的心跳命令,所述心跳命令用于确定所述单片机和所述控制板的工作状态,所述完整的心跳命令包含第二预设数目个第二数据组;
如果所述至少一个心跳命令中存在所述完整的心跳命令,则生成收取应答,将所述收取应答传输至所述控制板;
如果所述至少一个心跳命令中不存在所述完整的心跳命令,则在所述待检测周期结束时关闭电源。
5.一种命令传输方法,其特征在于,所述方法应用于控制板中,所述方法包括:
向单片机发送操作命令,所述操作命令至少包括数据头、多个第一数据组和校验值;
当接收到所述单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于所述多个第三数据组生成新校验值;
基于所述多个第三数据组、所述新校验值和所述新数据头,生成下一操作命令;
将所述下一操作命令发送至所述单片机。
6.根据权利要求5所述的方法,其特征在于,所述获取下一待执行操作的多个第三数据组,基于所述多个第三数据组生成新校验值包括:
获取下一执行操作的多个第三数据组和预设算法;
基于所述预设算法对所述多个第三数据组进行计算,生成所述新校验值。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当接收到所述单片机传输的失败命令时,在所述失败命令中提取重发数据头,所述失败命令为所述单片机对接收到的操作命令进行校验失败后生成并发送的;
确定所述重发数据头对应的重发操作命令,再次向所述单片机发送所述重发操作命令。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
每隔预设时间周期向所述单片机发送多个心跳命令,所述心跳命令用于确定所述单片机和所述控制板的工作状态;
如果在时间阈值内接收到所述单片机返回的收取应答,则保持当前的工作状态,所述收取应答为所述单片机在接收到完整的心跳命令后生成并发送的,所述完整的心跳命令包含第二预设数目个第二数据组;
如果在所述时间阈值内未接收到所述单片机返回的所述收取应答,则关闭电源。
9.一种命令传输装置,其特征在于,所述装置应用于单片机中,所述装置包括:
接收模块,用于接收控制板发送的操作命令,所述操作命令至少包括数据头、多个第一数据组和校验值;
校验模块,用于基于所述数据头和所述校验值,对所述操作命令的多个第一数据组进行校验;
执行模块,用于如果对所述操作命令的多个第一数据组校验成功,则执行所述操作命令;
第一传输模块,用于当完成所述操作命令的执行时,生成应答命令,将所述应答命令传输至所述控制板,所述应答命令至少包括所述数据头和所述校验值。
10.根据权利要求9所述的装置,其特征在于,所述校验模块包括:
统计子模块,用于当接收到所述数据头时,继续接收携带所述数据头的第一数据组,并对接收到的所述第一数据组进行统计,判断在预设时长内接收到的所述第一数据组的个数是否满足第一预设数目;
比对子模块,用于基于预设算法对所述接收到的第一数据组进行计算,生成待校验值,将所述待校验值和所述校验值进行比对,完成对所述操作命令的校验;
相应地,所述执行模块,用于如果在预设时长内接收到的所述第一数据组的个数满足所述第一预设数目且所述待校验值与所述校验值一致,则确定对所述操作命令的校验成功,执行所述操作命令。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于如果在预设时长内接收到的第一数据组的个数未满足第一预设数目和/或基于接收到的第一数据组生成的待校验值与所述校验值不一致,确定对所述操作命令的校验失败;
删除模块,用于将在所述预设时长内接收到的全部第一数据组删除;
第二传输模块,用于生成失败命令,将所述失败命令传输至所述控制板,所述失败命令至少包括所述数据头。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于根据预设时间周期,确定当前所处待检测周期;
检测模块,用于获取在所述待检测周期内接收到的至少一个心跳命令,检测所述至少一个心跳命令中是否存在完整的心跳命令,所述心跳命令用于确定所述单片机和所述控制板的工作状态,所述完整的心跳命令包含第二预设数目个第二数据组;
第三传输模块,用于如果所述至少一个心跳命令中存在所述完整的心跳命令,则生成收取应答,将所述收取应答传输至所述控制板;
关闭模块,用于如果所述至少一个心跳命令中不存在所述完整的心跳命令,则在所述待检测周期结束时关闭电源。
13.一种命令传输装置,其特征在于,所述装置应用于控制板中,所述装置包括:
第一发送模块,用于向单片机发送操作命令,所述操作命令至少包括数据头、多个第一数据组和校验值;
获取模块,用于当接收到所述单片机返回的应答命令时,获取下一待执行操作的多个第三数据组和新数据头,基于所述多个第三数据组生成新校验值;
生成模块,用于基于所述多个第三数据组、所述新校验值和所述新数据头,生成下一操作命令;
所述第一发送模块,还用于将所述下一操作命令发送至所述单片机。
14.根据权利要求13所述的装置,其特征在于,所述获取模块包括:
获取子模块,用于获取下一执行操作的多个第三数据组和预设算法;
生成子模块,用于基于所述预设算法对所述多个第三数据组进行计算,生成所述新校验值。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
提取模块,用于当接收到所述单片机传输的失败命令时,在所述失败命令中提取重发数据头,所述失败命令为所述单片机对接收到的操作命令进行校验失败后生成并发送的;
所述第一发送模块,还用于确定所述重发数据头对应的重发操作命令,再次向所述单片机发送所述重发操作命令。
16.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于每隔预设时间周期向所述单片机发送多个心跳命令,所述心跳命令用于确定所述单片机和所述控制板的工作状态;
保持模块,用于如果在时间阈值内接收到所述单片机返回的收取应答,则保持当前的工作状态,所述收取应答为所述单片机在接收到完整的心跳命令后生成并发送的,所述完整的心跳命令包含第二预设数目个第二数据组;
关闭模块,用于如果在所述时间阈值内未接收到所述单片机返回的所述收取应答,则关闭电源。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可执行指令,其特征在于,所述处理器执行所述计算机可执行指令时实现权利要求1-4任一项所述的命令传输方法。
18.一种可读存储介质,其特征在于,所述可读存储介质上存储有指令,所述指令被处理器执行以完成权利要求1-4任一项所述的命令传输方法。
19.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可执行指令,其特征在于,所述处理器执行所述计算机可执行指令时实现权利要求5-8任一项所述的命令传输方法。
20.一种可读存储介质,其特征在于,所述可读存储介质上存储有指令,所述指令被处理器执行以完成权利要求5-8任一项所述的命令传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810387570.9A CN108600050B (zh) | 2018-04-26 | 2018-04-26 | 命令传输方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810387570.9A CN108600050B (zh) | 2018-04-26 | 2018-04-26 | 命令传输方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108600050A true CN108600050A (zh) | 2018-09-28 |
CN108600050B CN108600050B (zh) | 2020-10-23 |
Family
ID=63610425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810387570.9A Active CN108600050B (zh) | 2018-04-26 | 2018-04-26 | 命令传输方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108600050B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660429A (zh) * | 2018-12-26 | 2019-04-19 | 芯翼信息科技(上海)有限公司 | 信息校验方法及信息校验系统 |
CN115484357A (zh) * | 2021-05-31 | 2022-12-16 | 北京小米移动软件有限公司 | 图像处理方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538632A (zh) * | 2003-04-15 | 2004-10-20 | 栗宏刚 | 基于蓝牙技术的智能移动认证方法及其应用 |
US20150019682A1 (en) * | 2013-07-09 | 2015-01-15 | Lg Electronics Inc. | Mobile terminal and control method thereof |
CN107451038A (zh) * | 2016-05-30 | 2017-12-08 | 龙芯中科技术有限公司 | 硬件事件采集方法、处理器和计算系统 |
-
2018
- 2018-04-26 CN CN201810387570.9A patent/CN108600050B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538632A (zh) * | 2003-04-15 | 2004-10-20 | 栗宏刚 | 基于蓝牙技术的智能移动认证方法及其应用 |
US20150019682A1 (en) * | 2013-07-09 | 2015-01-15 | Lg Electronics Inc. | Mobile terminal and control method thereof |
CN107451038A (zh) * | 2016-05-30 | 2017-12-08 | 龙芯中科技术有限公司 | 硬件事件采集方法、处理器和计算系统 |
Non-Patent Citations (1)
Title |
---|
王念桥: "PC机与单片机双向通信的设计应用", 《工业控制计算机》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660429A (zh) * | 2018-12-26 | 2019-04-19 | 芯翼信息科技(上海)有限公司 | 信息校验方法及信息校验系统 |
CN115484357A (zh) * | 2021-05-31 | 2022-12-16 | 北京小米移动软件有限公司 | 图像处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108600050B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104917632B (zh) | 联网通道状态的检测方法及装置、电子设备 | |
CN106488335A (zh) | 直播控制方法及装置 | |
CN106498665A (zh) | 确定洗衣机的洗涤剂提示阈值的方法、装置及终端 | |
JP6893243B2 (ja) | Harqフィードバックを入手するための方法および装置、ならびにharqフィードバックを伝送するための方法および装置 | |
CN103986833A (zh) | 异常状态监控方法及装置 | |
CN104156186A (zh) | 健康数据显示方法及装置 | |
CN108803980A (zh) | 设备的操作识别方法、装置、设备及可读存储介质 | |
CN109067626A (zh) | 上报信息的方法、装置及存储介质 | |
CN105068632A (zh) | 终端的充电方法、装置及终端 | |
CN108600050A (zh) | 命令传输方法、装置、计算机设备及可读存储介质 | |
CN106787264A (zh) | 无线充电控制方法及装置 | |
CN105162193A (zh) | 终端的充电方法、装置及终端 | |
CN109714415A (zh) | 数据处理方法及装置 | |
CN103124327A (zh) | 用于摄像机自拍拍摄的方法和装置 | |
CN108143353A (zh) | 信息提醒方法、装置、设备及存储介质 | |
CN109450912A (zh) | 数据传输方法、装置和设备 | |
CN110874131A (zh) | 楼宇对讲室内机及其控制方法、存储介质 | |
CN109076618A (zh) | 定时器控制方法和定时器控制装置 | |
CN110232763B (zh) | 一种取件的方法、装置、快递柜及存储介质 | |
CN106209471A (zh) | 故障反馈方法及装置 | |
CN106919489B (zh) | 应用程序的应用界面异常退出的监测方法及装置 | |
CN107485335A (zh) | 识别方法、装置、电子设备及存储介质 | |
CN109076595A (zh) | 随机接入控制方法和随机接入控制装置 | |
CN109076619A (zh) | 随机接入控制方法和随机接入控制装置 | |
CN106026232A (zh) | Usb端口类型的检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |