一种串口数据处理方法、电子设备及可读存储介质转让专利

申请号 : CN202110921906.7

文献号 : CN113382022B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭庆林强张润霖叶建胜

申请人 : 江西嘉捷鑫源科技有限公司

摘要 :

本发明提供一种串口数据处理方法、电子设备及可读存储介质,该方法应用于发送端,方法包括获取交流电到达预设电压时的信息;在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位,目标时刻为根据交流电到达预设电压时的时刻确定的时刻;根据对应的正在发送的串口数据中的字节或字节位进行数据处理。本发明通过获取交流电到达预设电压时的信息,并在根据交流电到达预设电压时确定的时刻对正在发送的串口数据中字节或字节位进行数据处理实现加密,由于串口数据发送的时刻相对交流电到达预设电压时来说是随机的,所以对数据加密的位置也是随机的,使得不易破解。无需复杂的加密算法,收发双方都无需密钥,因此对硬件的要求不高。

权利要求 :

1.一种串口数据处理方法,其特征在于,应用于发送端,所述方法包括:获取交流电到达预设电压时的信息;

在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位,所述目标时刻为根据所述交流电到达预设电压时的时刻确定的时刻;

根据所述对应的正在发送的串口数据中的字节或字节位进行数据处理。

2.根据权利要求1所述的串口数据处理方法,其特征在于,所述获取交流电到达预设电压时的信息包括:

获取交流电电压过零点时的信息;

所述在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位,包括:在至少部分零点时刻启动计时器,延长预定时间后确定至少部分所述目标时刻,所述零点时刻为交流电电压过零点的时刻;

在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位;

所述根据所述对应的正在发送的串口数据中的字节或字节位进行数据处理,包括:在对应的正在发送的字节发送完成后插入新字节;或对对应的正在发送的字节位延长预设发送时间。

3.根据权利要求2所述的串口数据处理方法,其特征在于,所述在对应的正在发送的字节发送完成后插入新字节的步骤包括:根据首个插入的新字节中所携带的预设数据处理规则,从首个插入的所述新字节后的所述目标时刻中提取出至少部分的所述目标时刻;或者根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;

在提取出的至少部分的所述目标时刻,确定对应的正在发送的串口数据中的字节;

在对应的正在发送的字节发送完成后插入新字节。

4.根据权利要求2所述的串口数据处理方法,其特征在于,所述对对应的正在发送的字节位延长预设发送时间的步骤包括:根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;

在提取出的至少部分的所述目标时刻,确定对应的正在发送的串口数据中的字节位;

对对应的正在发送的字节位延长预设发送时间。

5.一种串口数据处理方法,其特征在于,应用于接收端,所述方法包括:获取交流电到达预设电压时的信息;

在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位,所述目标时刻为根据所述交流电到达预设电压时的时刻确定的时刻;

根据所述对应的正在接收的串口数据中的字节或字节位进行数据处理。

6.根据权利要求5所述的串口数据处理方法,其特征在于,所述获取交流电到达预设电压时的信息包括:

获取交流电电压过零点时的信息;

所述在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位,包括:在至少部分零点时刻启动计时器,延长预定时间后确定至少部分所述目标时刻,所述零点时刻为交流电电压过零点的时刻;

在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位;

所述根据所述对应的正在接收的串口数据中的字节或字节位进行数据处理,包括:在对应的正在接收的字节接收完成后丢弃下一个字节;或对对应的正在接收的字节位延长预设接收时间。

7.根据权利要求6所述的串口数据处理方法,其特征在于,所述在对应的正在接收的字节接收完成后丢弃下一个字节的步骤包括:根据首个丢弃的字节中所携带的预设数据处理规则,从首个丢弃的所述字节后的所述目标时刻中提取出至少部分的所述目标时刻;或者根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;

根据提取出的至少部分的所述目标时刻,确定对应的正在接收的串口数据中的字节;

在对应的正在接收的字节接收完成后丢弃该对应的字节的下一个字节。

8.根据权利要求6所述的串口数据处理方法,其特征在于,所述对对应的正在接收的字节位延长预设接收时间的步骤包括:根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;

在提取出的至少部分的所述目标时刻,确定对应的正在接收的串口数据中的字节位;

对对应的正在接收的字节位延长预设接收时间。

9.一种电子设备,其特征在于,应用于发送端或接收端,所述电子设备包括:检测电路,用于检测交流电到达预设电压时的信息;及分别与所述检测电路和通讯串口连接的控制器,用于根据检测电路检测的信息相应的对所述通讯串口收发的串口数据进行数据处理;

其中,控制器进行数据处理的方法采用如权利要求1‑4任意一项所述的串口数据处理方法和/或如权利要求5‑8任意一项所述的串口数据处理方法。

10.根据权利要求9所述的电子设备,其特征在于,所述电子设备为调光器,所述检测电路为过零检测电路。

11.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑4任意一项所述的串口数据处理方法和/或实现如权利要求5‑8任意一项所述的串口数据处理方法。

说明书 :

一种串口数据处理方法、电子设备及可读存储介质

技术领域

[0001] 本发明涉及电子电路技术领域,特别涉及一种串口数据处理方法、电子设备及可读存储介质。

背景技术

[0002] 串口在日常生活中应用非常广泛,小到电子玩具,大到电脑、汽车、楼宇控制等。在串口数据传输过程中,特别是一些较长距离数据传输,如楼宇控制、水电燃气抄表等,往往
会对数据进行加密处理。常用的加密算法如AES算法、RSA算法、MD5算法等等,通过密钥进行
加密和解密。复杂的加密,保密程度高,难以破解,但软件代码也相对复杂,同时会占用较大
的内存,数据也会变得冗长,而且对硬件的要求也高,一般功能较低的MCU都无法运行复杂
的加密算法。而简单的加密,虽然代码相对简单,也不会占用太多的内存,对MCU的要求也不
高,但保密程度较低,比较容易破解。

发明内容

[0003] 基于此,本发明的目的是提供一种串口数据处理方法、电子设备及可读存储介质,以从根本上解决现有数据加解密过程中无法同时满足对硬件要求低及保密程度高的问题。
[0004] 根据本发明实施例的一种串口数据处理方法,应用于发送端,所述方法包括:
[0005] 获取交流电到达预设电压时的信息;
[0006] 在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位,所述目标时刻为根据所述交流电到达预设电压时的时刻确定的时刻;
[0007] 根据所述对应的正在发送的串口数据中的字节或字节位进行数据处理。
[0008] 另外,根据本发明上述实施例的一种串口数据处理方法,还可以具有如下附加的技术特征:
[0009] 进一步地,所述获取交流电到达预设电压时的信息包括:
[0010] 获取交流电电压过零点时的信息;
[0011] 所述在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位,包括:
[0012] 在至少部分零点时刻启动计时器,延长预定时间后确定至少部分所述目标时刻,所述零点时刻为交流电电压过零点的时刻;
[0013] 在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位;
[0014] 所述根据所述对应的正在发送的串口数据中的字节或字节位进行数据处理,包括:
[0015] 在对应的正在发送的字节发送完成后插入新字节;或
[0016] 对对应的正在发送的字节位延长预设发送时间。
[0017] 进一步地,所述在对应的正在发送的字节发送完成后插入新字节的步骤包括:
[0018] 根据首个插入的新字节中所携带的预设数据处理规则,从首个插入的所述新字节后的所述目标时刻中提取出至少部分的所述目标时刻;或者根据串口通讯协议中所携带的
预设数据处理规则,提取出至少部分的所述目标时刻;
[0019] 在提取出的至少部分的所述目标时刻,确定对应的正在发送的串口数据中的字节;
[0020] 在对应的正在发送的字节发送完成后插入新字节。
[0021] 进一步地,所述对对应的正在发送的字节位延长预设发送时间的步骤包括:
[0022] 根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;
[0023] 在提取出的至少部分的所述目标时刻,确定对应的正在发送的串口数据中的字节位;
[0024] 对对应的正在发送的字节位延长预设发送时间。
[0025] 根据本发明实施例的一种串口数据处理方法,应用于接收端,所述方法包括:
[0026] 获取交流电到达预设电压时的信息;
[0027] 在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位,所述目标时刻为根据所述交流电到达预设电压时的时刻确定的时刻;
[0028] 根据所述对应的正在接收的串口数据中的字节或字节位进行数据处理。
[0029] 另外,根据本发明上述实施例的一种串口数据处理方法,还可以具有如下附加的技术特征:
[0030] 进一步地,所述获取交流电到达预设电压时的信息包括:
[0031] 获取交流电电压过零点时的信息;
[0032] 所述在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位,包括:
[0033] 在至少部分零点时刻启动计时器,延长预定时间后确定至少部分所述目标时刻,所述零点时刻为交流电电压过零点的时刻;
[0034] 在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位;
[0035] 所述根据所述对应的正在接收的串口数据中的字节或字节位进行数据处理,包括:
[0036] 在对应的正在接收的字节接收完成后丢弃下一个字节;或
[0037] 对对应的正在接收的字节位延长预设接收时间。
[0038] 进一步地,所述在对应的正在接收的字节接收完成后丢弃下一个字节的步骤包括:
[0039] 根据首个丢弃的字节中所携带的预设数据处理规则,从首个丢弃的所述字节后的所述目标时刻中提取出至少部分的所述目标时刻;或者根据串口通讯协议中所携带的预设
数据处理规则,提取出至少部分的所述目标时刻;
[0040] 根据提取出的至少部分的所述目标时刻,确定对应的正在接收的串口数据中的字节;
[0041] 在对应的正在接收的字节接收完成后丢弃该对应的字节的下一个字节。
[0042] 进一步地,所述对对应的正在接收的字节位延长预设接收时间的步骤包括:
[0043] 根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;
[0044] 在提取出的至少部分的所述目标时刻,确定对应的正在接收的串口数据中的字节位;
[0045] 对对应的正在接收的字节位延长预设接收时间。
[0046] 根据本发明实施例的一种电子设备,应用于发送端或接收端,所述电子设备包括:
[0047] 检测电路,用于检测交流电到达预设电压时的信息;及
[0048] 分别与所述检测电路和通讯串口连接的控制器,用于根据检测电路检测的信息相应的对所述通讯串口收发的串口数据进行数据处理;
[0049] 其中,控制器进行数据处理的方法采用如上述应用于发送端当中所述的串口数据处理方法和/或如上述应用于接收端当中所述的串口数据处理方法。
[0050] 另外,根据本发明上述实施例的电子设备,还可以具有如下附加的技术特征:
[0051] 进一步地,所述电子设备为调光器,所述检测电路为过零检测电路。
[0052] 本发明还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述应用于发送端当中所述的串口数据处理方法和/或实现如上述应用于接收端
当中所述的串口数据处理方法。
[0053] 与现有技术相比:通过获取交流电到达预设电压时的信息,并根据交流电到达预设电压时的时刻确定出目标时刻,并在至少部分目标时刻确定出对应的正在发送的串口数
据中的字节或字节位,并对其正在发送的字节或字节位进行数据处理实现加密,由于数据
发送的时刻相对交流电到达预设电压时刻来说是随机的,所以对数据处理的位置也是随机
的,从而起到数据加密的作用,因此串口数据不易破解。本发明在接收串口数据时,每次交
流电到达预设电压时到来都会对接收的字节或字节位进行数据处理实现解密,从而可接收
并解析得到有效的串口数据。同时其无需复杂的加密算法,发送端及接收端双方都无需使
用密钥,因此对硬件的要求不高,一般的控制器就能运行,解决了现有数据加解密过程中无
法同时满足对硬件要求低及保密程度高的问题。

附图说明

[0054] 图1为本发明一实施例中的串口数据处理方法的流程图;
[0055] 图2为本发明另一实施例中的串口数据处理方法的流程图;
[0056] 图3为本发明实施例中所指出的串口数据的数据格式图;
[0057] 图4为本发明实施例中所指出的其中一种串口数据处理过程图;
[0058] 图5为本发明实施例中所指出的其中另一种串口数据处理过程图;
[0059] 图6为本发明实施例中所指出的其中另一种串口数据的又一处理过程图;
[0060] 图7为本发明又一实施例中的电子设备的模块示意图。
[0061] 以下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

[0062] 为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所
描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
[0063] 需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接
到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、
“右”以及类似的表述只是为了说明的目的。
[0064] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具
体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相
关的所列项目的任意的和所有的组合。
[0065] 实施例一
[0066] 请参阅图1,所示为本发明第一实施例中的串口数据处理方法的流程示意图,为了便于说明,仅示出了与本发明实施例相关的部分,该方法应用于发送端当中,该方法具体包
括步骤S01‑步骤S03。
[0067] 步骤S01,获取交流电到达预设电压时的信息。
[0068] 其中,在本发明的一个实施例中,该串口数据处理方法应用于一电子设备当中,其中该电子设备包括检测电路及与检测电路连接的控制器,其参照图7所示,其检测电路与外
部的市电连接,用于检测交流电到达预设电压时的信息;其中该预设电压可以为交流电的
零点电压、波峰电压、波谷电压、或交流电中的任意一点电压值,其根据实际使用需要对预
设电压进行设置,在此不做具体限定。在本发明的优选实施例中,其预设电压优选为交流电
的零点电压,因此其检测电路可检测当前交流电的零点信息。可以理解的,在本发明的其他
实施例中,其预设电压还可以为交流电的波峰电压等,使得其检测电路可检测该交流电的
波峰信息,其根据实际使用需要相应的选定其预设电压及用于检测其预设电压的检测电
路。
[0069] 进一步的,其控制器分别与检测电路及通讯串口连接,其用于获取与其连接的检测电路所检测的信息,以及用于驱动与其连接的通讯串口中的数据发送及接收。需要指出
的是,如图7所示,其通讯串口包括发送端口TXD及接收端口RXD,其通过串口数据线(例如
RS232数据线)与另一电子设备中所对应的接收端口RXD及发送端口TXD连接,使得控制器可
驱动通讯串口中的发送端口TXD发送串口数据至另一电子设备的接收端口RXD中、以及由通
讯串口中的接收端口RXD接收另一电子设备的发送端口TXD所发送的串口数据,从而实现两
个电子设备之间的数据通讯。
[0070] 因此,若该电子设备通过发送端口TXD发送串口数据时,则其作为发送端,而通过串口数据线所连接的另一电子设备则作为接收端接收其所发送的串口数据;若该电子设备
通过接收端口RXD接收串口数据时,则其作为接收端接收发送端所发送的串口数据,而通过
串口数据线所连接的另一电子设备则作为发送端发送串口数据,此时电子设备既可以作为
发送端也可以作为接收端,其根据当前处于发送串口数据还是接收串口数据进行确定。具
体本发明实施例中,其从发送端一侧对其串口数据处理方法进行描述,且该串口数据处理
方法用于当前正在发送的串口数据中;而当其电子设备当前未发送串口数据时,则其不实
施本发明实施例中所述的串口数据处理方法。此时本发明实施例提供的串口数据处理方法
具体应用于上述所述的控制器中,其中该控制器首先获取检测电路所检测的交流电到达预
设电压时的信息,也即是检测电路实时检测当前的交流电的电压值,当在检测到交流电到
达预设电压时,检测电路将该交流电到达预设电压时的信息发送给控制器,此时控制器同
步获取到检测电路所检测的交流电到达预设电压时的信息。
[0071] 其中,在本发明的一个优选实施例中,上述获取交流电到达预设电压时的信息具体包括:获取交流电电压过零点时的信息。也即是其检测电路实时检测当前交流市电的过
零点,从而得到一个跟随市电过零点的方波,其参照图4及图5所示,因此控制器在控制当前
发送串口数据的同时还会不断的获取检测电路所检测的该零点信号ZCD。具体的,本发明实
施例中的下述步骤均以交流电的过零点作为预设电压为例进行具体描述,相应的当其预设
电压为其他电压时的步骤可相应参照其下述的零点电压中的描述所述,后续不予赘述。
[0072] 进一步的,其控制器驱动发送端口TXD发送串口数据的过程中,其所发送的串口数据包括待发送的若干个字节(Byte),其中所发送的字节数据格式参照图3所示,其每个字节
都包括一个起始位,一个结束位,以及设于起始位及结束位之间的数据位,具体而言,其起
始位及结束位均为一个字节位,而数据位包括有8个二进制的字节位(bit),其一个字节位
的传输时间长度与通讯串口的波特率(bps)有关,具体的一个字节位的传输时间T=1/bps。
其中,如图3所示的具体字节当中,其起始位设定为0,结束位设定为1,其具体的数据位为
‘10011010’。
[0073] 步骤S02,在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位,目标时刻为根据交流电到达预设电压时的时刻确定的时刻。
[0074] 其中,在本发明的一个实施例中,其目标时刻为根据交流电到达预设电压时的时刻确定的时刻,其中如上述优选实施例所述的预设电压为零点电压时,其目标时刻可以为
该交流电到达零点电压时的零点时刻(即零点时刻为交流电电压过零点的时刻),或者根据
该交流电到达零点电压时所延长预定时间后所得到的时刻,如延长一预定时间后到达交流
电的波峰、波谷或其他位置,因此根据获取的零点电压可相应的确定出其目标时刻(如零点
时刻、波峰时刻、或波谷时刻等时刻)。相应的,当其预设电压为波峰电压等其他电压时,其
目标时刻也可为该交流电到达预设电压时的时刻,或根据该预设电压所延长预定时间后所
得到的时刻,如其延长一预定时间后到达交流电的零点或其他电压位置。也即,其控制器可
根据获取的零点电压确定出零点时刻,也可根据获取的波峰电压延时预定时间后确定出零
点时刻,此时零点时刻并不仅局限于交流电过零点的检测。相应的,其控制器可根据获取的
波峰电压确定出波峰时刻,也可根据获取的零点电压延时预定时间后确定出波峰时刻。
[0075] 进一步的,在本发明的一个实施例中,上述在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位,包括:
[0076] 在至少部分零点时刻启动计时器,延长预定时间后确定至少部分所述目标时刻,零点时刻为交流电电压过零点的时刻;
[0077] 在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位。
[0078] 其中,在具体实施时,其检测电路检测到交流电到达零点电压时相应的同步发送至控制器,其控制器在同步获取到该零点时刻时开始启动计时器进行计时,在计时一预定
时间后确定出目标时刻,并在该目标时刻确定当前驱动的通讯串口所正在发送的串口数据
中的字节或字节位。其中其部分目标时刻根据下述中的步骤进行确定。
[0079] 其中,上述的预定时间大于等于0,其优选设定为小于该市电正弦波的半波周期,例如市电频率为50HZ,则其市电正弦波周期为0.02s,此时其半波周期为0.01s,也即是其预
定时间优选小于0.01s。进一步的,本发明的优选实施例中,其预定时间优选设定为0s,此时
目标时刻也即为其零点时刻。当然,其预定时间也可以为其他,其根据实际使用需要进行设
置,在此不做具体限定。具体的,本发明实施例中的下述步骤均以交流电的零点时刻作为目
标时刻为例进行具体描述,相应的,当其目标时刻为其他时刻时的步骤也可相应参照其零
点时刻中的描述所述,后续不予赘述。
[0080] 此时本实施例中,当控制器获取到交流电到达零点时,其相应的在该零点时刻确定对应的正在发送的串口数据中的字节或字节位。
[0081] 步骤S03,根据对应的正在发送的串口数据中的字节或字节位进行数据处理。
[0082] 其中,当控制器在至少部分目标时刻确定出对应的正在发送的串口数据中的字节或字节位时,其控制器根据对应的正在发送的串口数据中的字节或字节位进行相应的数据
处理,从而实现对串口数据进行加密。其中数据处理包括以当前字节为基准对串口数据中
的字节进行数据处理,也包括对当前字节本身的处理(也即对当前字节中的字节位进行数
据处理),其中本实施例中,该当前字节为当前正在发送的串口数据中的字节。
[0083] 其中,在本发明的一个实施例中,上述根据对应的正在发送的串口数据中的字节或字节位进行数据处理,包括:
[0084] 在对应的正在发送的字节发送完成后插入新字节;或
[0085] 对对应的正在发送的字节位延长预设发送时间。
[0086] 具体的,在本发明的一个实施例中,上述在对应的正在发送的字节发送完成后插入新字节的步骤包括:
[0087] 根据首个插入的新字节中所携带的预设数据处理规则,从首个插入的新字节后的所述目标时刻中提取出至少部分的目标时刻;或者根据串口通讯协议中所携带的预设数据
处理规则,提取出至少部分的目标时刻;
[0088] 在提取出的至少部分的所述目标时刻,确定对应的正在发送的串口数据中的字节;
[0089] 在对应的正在发送的字节发送完成后插入新字节。
[0090] 其中,在其中一个具体实施方式中,其控制器在驱动发送端口TXD初始发送串口数据过程中,当其控制器首次获取到检测电路所检测的交流电到达零点时,其控制器在该零
点时刻确定出对应的正在发送的字节,并在对应的正在发送的字节发送完成后插入新字
节,此时所插入的新字节即为首个插入的新字节,其中该首个插入的新字节中携带有预设
数据处理规则,其预设数据处理规则用于设定对后续待发的串口数据插入新字节方式的选
择,例如,是否对后续串口数据插入新字节、对串口数据插入新字节时的目标时刻的选择、
以及对指定字节后面插入新字节等等。
[0091] 作为本发明的一个示例,根据首个插入的新字节中的字节位或者字节位的组合确定后续待发的串口数据插入新字节的方式,即首个插入的新字节中所携带的预设处理规则
为其字节或者字节位的组合定义的规则;其例如首个插入的新字节中的数据位包括有八个
字节位,其中第一个字节位b0用于设定后续串口数据中是否插入新字节,例如其b0为1时,
表示为后续串口数据中插入新字节;其b0为0时,表示为后续串口数据中不插入新字节。其
中第二个字节位b1及第三个字节位b2用于设定对串口数据插入新字节时的目标时刻的选
择,例如其b1b2为11时,表示为每个目标时刻;b1b2为10时,表示为每间隔的目标时刻,如每
隔一个目标时刻、每隔两个目标时刻…每隔N个目标时刻,其中每间隔的位数又根据后续的
字节位进行设定;b1b2为01时,表示为指定设定的目标时刻,如设定第二目标时刻、第五目
标时刻、第八目标时刻等指定设定的目标时刻,其中指定设定的时刻又根据后续的字节位
进行设定;b1b2为00时,表示为指定设定的字节,如设定第三个字节、第七个字节等指定设
定的字节,其中指定设定的字节又根据后续的字节位进行设定。可以理解的,在本发明的其
他实施例中,首个插入的新字节中携带的预设数据处理规则还可以通过其他方式进行表
示,其根据实际使用需要对首个插入的新字节中的数据位进行设置得到其预设数据处理规
则,在此不做具体限定。
[0092] 具体实施时,若预设数据处理规则中确定不对后续串口数据插入新字节时,此时控制器驱动发送端口TXD发送的串口数据中仅仅插入有上述所述的首个插入的新字节。而
在串口数据发送过程中,在第一个交流零点时刻插入一个新字节,加密后的数据比原数据
多一个字节。其中串口数据经过其加密处理后,用正常的串口解析工具解析会出现在随机
位置上多出一个字节,因此无法获取真实的串口数据,从而起到数据加密的作用。其中由于
在零点时刻对正在发送的串口数据插入一个新字节实现进行加密,其数据发送的时刻相对
交流零点来说是随机的,所以对数据加密的位置也是随机的,因此串口数据不易破解。同时
其无需复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求不高,一
般的控制器就能运行。同时由于仅插入一个新字节,使得其控制器的处理比较简单,使得对
硬件要求更简单。因此本发明实施例中的数据处理方法可以同时满足对硬件要求低及保密
程度高的条件。
[0093] 更进一步的,若预设数据处理规则中确定对后续串口数据插入新字节时,控制器驱动发送端口TXD发送的串口数据中除插入有上述所述的首个插入的新字节外,其在后续
的至少部分零点时刻所确定的对应的正在发送的串口数据中的字节发送完成后还插入新
字节。如图4所示,是一个发送3个字节的串口数据处理示例,通讯串口在发送第二字节时刚
好遇到交流零点的到来,所以在第二字节发完后插入一个新字节,并在新字节发送完成后
再继续发送剩余的第三字节,从而得到一个4个字节的数据。其中串口数据经过其数据加密
处理后,用正常的串口解析工具解析会出现在随机位置上多出若干个字节,因此无法获取
真实的串口数据,从而起到数据加密的作用。
[0094] 更进一步的,若预设数据处理规则中确定对后续串口数据中的所有目标时刻均插入新字节时,则控制器驱动发送端口TXD发送串口数据的同时还不断的获取检测电路所检
测的该零点信号ZCD,并在每当获取到零点信号时,其在零点时刻发完正在发送的字节后,
并在该字节后面插入一个新字节,然后再发其他字节。其中,因为串口数据发送的时刻相对
零点时刻来说是随机的,所以对数据加密的位置也是随机的,而由于在每个零点信号中均
进行加密处理(也即插入新字节),因此使得保密程度高,难以破解。
[0095] 相应的,若预设数据处理规则中确定对后续串口数据中每隔一个目标时刻插入新字节时,则控制器驱动发送端口TXD发送串口数据的同时还不断的获取检测电路所检测的
该零点信号ZCD,并在每间隔获取到零点信号时,其在零点时刻发完正在发送的字节后,并
在该字节后面插入一个新字节,然后再发其他字节,也即是说,其在串口数据发送的过程
中,当在首个零点时刻发完正在发送的字节后插入第一个新字节后,其在第三个零点时刻、
第五个零点时刻…第2N+1个零点时刻发完正在发送的字节后插入一个新字节。其中在每隔
设定零点时刻进行加密处理,其可相对上述两种方式中,既实现较高程度的保密性,又实现
降低控制器的硬件要求。
[0096] 相应的,若预设数据处理规则中确定对后续串口数据中指定设定的目标时刻插入新字节时,则控制器驱动发送端口TXD发送串口数据的同时还不断的获取检测电路所检测
的该零点信号ZCD,并在获取到指定设定的零点信号时,其在零点时刻发完正在发送的字节
后,并在该字节后面插入一个新字节,其中指定设定的零点时刻根据首个插入的新字节中
所携带的预设数据处理规则进行确定,也即首个插入的新字节中可以设定如第二目标时
刻、第五目标时刻、第八目标时刻等为指定设定的目标时刻。其中,在指定设定的零点时刻
进行加密处理,使得可有效进行自定义加密,其相对上述所述的规律性的进行加密可实现
更高程度的保密性,同时又实现降低控制器的硬件要求。
[0097] 相应的,若预设数据处理规则中确定对后续串口数据中指定设定的字节插入新字节时,则控制器驱动发送端口TXD发送串口数据后在所指定的字节发送完成后再插入一个
新字节,其中指定设定的字节根据首个插入的新字节中所携带的预设数据处理规则进行确
定,也即首个插入的新字节中可以设定如第三个字节、第七个字节等为指定设定的字节。其
中,在指定设定的字节进行加密处理,使得也可有效进行自定义加密,其相对上述所述的规
律性的进行加密也可实现更高程度的保密性,同时又实现降低控制器的硬件要求。
[0098] 因此其控制器根据首个插入的新字节中所携带的预设数据处理规则,从首个插入的新字节后的目标时刻中提取出至少部分的目标时刻,并在提取出的至少部分的目标时刻
中确定出对应的正在发送的串口数据中的字节,然后在对应的正在发送的字节发送完成后
插入新字节。
[0099] 其中,在其中另一个具体实施方式中,其串口通讯协议中也可携带有预设数据处理规则,其中两个电子设备在进行数据通讯的过程中,其需要串口通讯协议设定相互之间
如何进行数据通讯,此时需要指出的是,其串口通讯协议中所携带的预设数据处理规则必
定包括对后续串口数据插入新字节的设定,具体参照上述所述,在此不予赘述。因此其控制
器根据串口通讯协议中所携带的预设数据处理规则也可提取出至少部分的目标时刻,并在
提取出的至少部分的目标时刻中确定出对应的正在发送的串口数据中的字节,然后在对应
的正在发送的字节发送完成后插入新字节。
[0100] 其中,需要指出的是,串口通讯协议中携带有预设数据处理规则以及首个插入的新字节中携带有预设数据处理规则为两个并行的实施方式,当其串口通讯协议中携带有预
设数据处理规则时,则其可以控制不在第一个零点时刻插入新字节或首个插入的新字节仅
为普通字节,此时控制器并不需要读取该首个插入的新字节。相应的,当其串口通讯协议中
未携带有预设数据处理规则,而首个插入的新字节中携带有预设数据处理规则时,此时控
制器一定需要读取首个插入的新字节中的预设数据处理规则,并根据首个插入的新字节中
携带有预设数据处理规则相应的对后续的部分目标时刻插入新字节。
[0101] 如此,在串口数据发送过程中,在至少部分交流零点时刻会插入一个字节实现进行加密,其加密后的数据比原数据长一个或多个字节,因此串口数据经过其加密处理后,此
时用正常的串口解析工具解析会出现在随机位置上多一个字节或多个字节,使得无法获取
真实的串口数据。此时需要指出的是,其接收端也应采用与本发明实施例相对应的串口数
据处理方法对对应的接收的串口数据进行解密处理,使得实现对串口数据的正常解密。
[0102] 同时由于在零点时刻对正在发送的串口数据插入一个新字节实现进行加密,其串口数据发送的时刻相对零点时刻来说是随机的,所以插入新字节的位置也是随机的,从而
起到数据加密的作用,因此串口数据不易破解。同时其无需复杂的加密算法,发送端及接收
端双方都无需使用密钥,因此对硬件的要求不高,一般的控制器就能运行。
[0103] 进一步的,其所插入的新字节可以是任何内容,当然,其也可以做为加密密钥使用,比如可以把插入的新字节作为校验码,例如其根据预设数据处理规则确定将新字节中
的数据位设定为‘11111111’,当接收端对所接收的新字节校验不对(例如所获取的新字节
为‘11111110’)时即可认为对应接收的串口数据是非法的,此时相应的保密程度更高。
[0104] 其中,在本发明的另一个实施例中,上述对对应的正在发送的字节位延长预设发送时间的步骤包括:
[0105] 根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的目标时刻;
[0106] 在提取出的至少部分的目标时刻,确定对应的正在发送的串口数据中的字节位;
[0107] 对对应的正在发送的字节位延长预设发送时间。
[0108] 具体实施时,参照上述所述,其串口通讯协议中携带包含有预设数据处理规则,此时该预设数据处理规则用于设定对串口数据进行数据加密(也即对串口数据中的字节位进
行延长预设发送时间)方式的选择,例如,对串口数据进行数据加密的目标时刻的选择、及
对所延长预设发送时间等等。
[0109] 参照上述所述,其预设数据处理规则可以设定每个零点时刻均对正在发送的字节位延长预设发送时间、或设定为每隔若干个零点时刻对正在发送的字节位延长预设发送时
间、或设定为指定设定的零点时刻对正在发送的字节位延长预设发送时间。
[0110] 当然其也可直接设定所延长的预设发送时间,此时通过预设发送时间的长度来定义对串口数据进行数据加密的方式。例如,当预设发送时间为30us,此时定义为每个零点时
刻均对正在发送的字节位延长预设发送时间;当预设发送时间为40us,此时定义为只在首
次获取的零点时刻对正在发送的字节位延长预设发送时间,其后续发送的所有字节位都不
再延长预设发送时间;当预设发送时间为50us,此时定义为每隔一个零点时刻对正在发送
的字节位延长预设发送时间。此时通过预设发送时间的长度来定义对串口数据进行数据加
密的方式不限于上述几种,可根据实际需求进行灵活运用,在此不做具体限定。
[0111] 其中,具体实施时,其控制器在驱动发送端口TXD发送串口数据过程中,其控制器根据串口通讯协议中所携带的预设数据处理规则,提取出部分的目标时刻,例如上述所述
的每个零点时刻、或每隔若干个零点时刻、或指定设定的零点时刻,此时在提取出的部分的
目标时刻中确定对应的正在发送的串口数据中的字节位,并对对应的正在发送的字节位延
长预设发送时间t,使得当其正在发送的字节位的传输时间由原来的T延长为T+t,之后的字
节位的传输时间保持不变,其依旧为T。如图5所示,是一个发送各个字节位的串口数据处理
示例,通讯串口在发送一个字节时,该字节中所需发送的数据位为‘11010000’,此时在数据
位中的第三字节位(‘0’)时刚好遇到交流零点的到来,此时对该第三字节位(‘0’)的传输时
间T延长为T+t,在该第三字节位的传输时间延长完成后,之后的其他字节位的传输时间保
持不变。而在本发明的其他实施例中,如图6所示,是一个发送各个字节位的串口数据又一
处理示例,通讯串口在发送一个字节时,该字节中所需发送的数据位为‘11010000’,此时在
数据位中的第三字节位(‘0’)时刚好遇到交流零点的到来,此时计时预定时间a后确定出目
标时刻,而在计时预定时间a后刚好在第四字节位(‘1’),此时对该第四字节位(‘1’)的传输
时间T延长为T+t,在该第四字节位的传输时间延长完成后,之后的其他字节位的传输时间
保持不变。其中串口数据经过其数据加密处理后,用正常的串口解析工具无法准确解析数
据,其数据中会出现多读一位或多位的情况,因此解析出来的数据是错误的。其中,需要指
出的是,由于串口数据发送的时刻相对零点时刻来说是随机的,因此其零点时刻除处在对
应的字节发送的数据位外,其也可能处在起始位或者结束位,此时当零点时刻在字节发送
的起始位或结束位时,其也相应的对对应的正在发送的字节位延长预设发送时间。
[0112] 如此,在串口数据发送过程中,在至少部分交流零点时刻会对对应的正在发送的字节位延长预设发送时间实现进行加密,其加密后的字节数据比原字节多一个或多个字节
位,因此串口数据经过其加密处理后,正常的串口解析工具无法准确解析数据,会出现多读
一位或多位字节位的情况,因此解析出来的数据是错误的。此时需要指出的是,其接收端也
应采用与本发明实施例相对应的串口数据处理方法对对应接收的串口数据进行解密处理,
使得实现对串口数据的正常解密。
[0113] 同时由于在零点时刻对正在发送的串口数据中的字节位延长预设发送时间实现进行加密,其串口数据发送的时刻相对零点时刻来说是随机的,所以延长预设发送时间的
字节位的位置也是随机的,从而起到数据加密的作用,因此串口数据不易破解。同时其无需
复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求不高,一般的控
制器就能运行。
[0114] 综上,本发明上述实施例当中的串口数据处理方法,通过获取交流电到达预设电压时的信息,并根据交流电到达预设电压时的时刻确定出目标时刻,并在至少部分目标时
刻确定出对应的正在发送的串口数据中的字节或字节位,并对其正在发送的字节或字节位
进行数据处理实现加密,由于数据发送的时刻相对交流电到达预设电压时刻来说是随机
的,所以对数据处理的位置也是随机的,从而起到数据加密的作用,因此串口数据不易破
解。同时其无需复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求
不高,一般的控制器就能运行,解决了现有数据加解密过程中无法同时满足对硬件要求低
及保密程度高的问题。
[0115] 实施例二
[0116] 请参阅图2,所示为本发明第二实施例中的串口数据处理方法的流程示意图,为了便于说明,仅示出了与本发明实施例相关的部分,该方法应用于接收端当中,所述方法具体
包括步骤S11‑步骤S13。
[0117] 步骤S11,获取交流电到达预设电压时的信息。
[0118] 其中,在本发明的一个实施例中,参照前述实施例中的步骤所述,本发明实施例中的串口数据处理方法应用于上述所述的作为接收端的电子设备当中,也即此时发送端在发
送串口数据并对其进行加密处理的过程中,其通过串口数据线连接的接收端接收串口数据
的同时也对其接收的串口数据进行解密处理,从而实现了对所加密后的串口数据进行相应
的解密处理。
[0119] 具体本发明实施例中,其从接收端一侧对其串口数据处理方法进行描述,且该串口数据处理方法用于对应的正在接收的串口数据中;而当其电子设备对应的未接收串口数
据时,则其不实施本发明实施例中所述的串口数据处理方法。此时本发明实施例提供的串
口数据处理方法具体应用于上述所述的控制器中,其中该控制器首先获取检测电路所检测
的交流电到达预设电压时的信息,其本实施例中的具体步骤均可相应的参照前述实施例中
的步骤所述,在此不予赘述。
[0120] 步骤S12,在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位,目标时刻为根据交流电到达预设电压时的时刻确定的时刻。
[0121] 其中,在本发明的一个实施例中,上述在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位,包括:
[0122] 在至少部分零点时刻启动计时器,延长预定时间后确定至少部分所述目标时刻,零点时刻为交流电电压过零点的时刻;
[0123] 在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位。
[0124] 此时本实施例中,当控制器获取到交流电到达零点时,其相应的在该零点时刻确定对应的正在接收的串口数据中的字节或字节位,其本实施例中的具体步骤均可相应的参
照前述实施例中的步骤所述,在此不予赘述。
[0125] 步骤S13,根据对应的正在接收的串口数据中的字节或字节位进行数据处理。
[0126] 其中,当控制器在至少部分目标时刻确定出对应的正在接收的串口数据中的字节或字节位时,其控制器根据对应的正在接收的串口数据中的字节或字节位进行相应的数据
处理,从而实现对串口数据进行解密。其中数据处理包括以当前字节为基准对串口数据中
的字节进行数据处理,也包括对当前字节本身的处理(也即对当前字节中的字节位进行数
据处理),其中本实施例中,该当前字节为当前正在接收的串口数据中的字节。
[0127] 其中,在本发明的一个实施例中,上述根据对应的正在接收的串口数据中的字节或字节位进行数据处理,包括:
[0128] 在对应的正在接收的字节接收完成后丢弃下一个字节;或
[0129] 对对应的正在接收的字节位延长预设接收时间。
[0130] 具体的,在本发明的一个实施例中,上述在对应的正在接收的字节接收完成丢弃下一个字节的数据读取的步骤包括:
[0131] 根据首个丢弃的字节中所携带的预设数据处理规则,从首个丢弃的字节后的目标时刻中提取出至少部分的目标时刻;或者根据串口通讯协议中所携带的预设数据处理规
则,提取出至少部分的目标时刻;
[0132] 根据提取出的至少部分的目标时刻,确定对应的正在接收的串口数据中的字节;
[0133] 在对应的正在接收的字节接收完成后丢弃该对应的字节的下一个字节。
[0134] 其中,需要指出的是,本实施例中的预设数据处理规则与前述应用于发送端中的预设数据处理规则相对应,也即是当发送端在发送的串口数据中首个插入的新字节携带有
预设数据处理规则时,则在对应于首个插入的新字节前的零点时刻,接收端在该零点时刻,
在对应的正在接收的字节接收完成后接收并读取下一个字节,此时所接收并读取的下一个
字节即为首个丢弃的字节(读取完后丢弃),该首个被丢弃的字节也即原发送端首个插入的
新字节,本发明实施例中将首个丢弃的字节定义为第一目标字节,其中该第一目标字节中
携带有预设数据处理规则(即发送端的首个插入的新字节中携带的预设处理规则),所以,
发送端根据预设数据处理规则,相应的在第一个新插入的字节之后的至少部分目标时刻对
应的字节发送完成后再次插入新字节,此时相应的接收端根据预设数据处理规则相应的在
第一目标字节之后的至少部分目标时刻对应的字节接收完成后对下一个字节进行丢弃(即
把发送端后续再次插入的新字节丢弃),这样接收端便还原出原有的串口数据,即解密。
[0135] 具体的,参照前述实施例中的步骤所述,根据首个丢弃的字节的字节位或者字节位的组合确定后续待收的串口数据丢弃字节的方式,即首个丢弃的字节中所携带的预设数
据处理规则为其字节或字节位的组合定义的规则,其例如第一目标字节中的数据位包括有
八个字节位,其中在发送端当中,其第一个字节位b0用于设定后续串口数据中是否插入新
字节,此时在接收端当中也可相应的确定为后续串口数据中是否丢弃下一字节,例如其b0
为1时,表示为后续串口数据中丢弃下一字节;其b0为0时,表示为后续串口数据中不丢弃下
一字节。其中在发送端当中,其第二个字节位b1及第三个字节位b2用于设定对串口数据中
插入新字节时的目标时刻的选择,此时在接收端当中也可相应的确定为对串口数据丢弃下
一字节时的目标时刻的选择,其具体参照前述实施例中的步骤所述,在此不予赘述。
[0136] 因此具体实施时,若发送端根据预设数据处理规则在首个插入的新字节后不再在其他零点时刻后插入新字节时,此时控制器获取接收端口RXD接收的串口数据中仅仅丢弃
第一目标字节,其后续的字节相应的照常接收。其中在串口数据接收过程中,其先在第一个
交流零点时刻后读取该第一目标字节携带的数据处理规则,并在解析出其第一目标字节中
携带的预设数据处理规则后,再将该第一目标字节进行丢弃;或者完全接收该第一目标字
节,也即该串口数据中包括有该第一目标字节,但在该串口数据读取解析时丢弃该字节,实
现最终获取的串口数据中丢弃了该第一目标字节。由于按照前述实施例所述串口数据处理
方法进行加密后的数据比原数据多一个字节,用正常的串口解析工具解析会出现在随机位
置上多出一个字节,因此无法获取真实的串口数据。而经过本发明实施例中串口数据处理
方法对其串口数据进行解密处理后,其会将发送端发送的串口数据中所插入的新字节进行
丢弃,从而可以正确解析数据,获取到真实的数据。
[0137] 其中如图4所示,是一个发送端发送3个字节的串口数据处理示例,通讯串口在发送第二字节时刚好遇到交流零点的到来,所以在第二字节发完后插入一个新字节,并在新
字节发送完成后再继续发送剩余的第三字节,从而得到一个4个字节的数据。此时接收端在
接收该4个字节的数据的过程中,通讯串口在接收第二字节时也会刚好遇到交流零点的到
来,此时在第二字节接收完后,相应的丢弃下一字节,具体的,其可以为在接收的过程中对
该字节进行丢弃,当然,其也可以为完全接收该字节,但在该串口数据读取解析时丢弃该字
节。
[0138] 相应的,本实施例中对串口数据丢弃下一字节时的目标时刻的选择具体参照前述实施例中的步骤所述,其例如每当获取到零点信号时,其在零点时刻接收完正在接收的字
节后,丢弃该字节的下一个字节,然后再接收后续字节,在此不对其丢弃下一字节时的目标
时刻的选择进行赘述。
[0139] 其中,在其中另一个具体实施方式中,其串口通讯协议中也可携带有预设数据处理规则,此时需要指出的是,其串口通讯协议中所携带的预设数据处理规则一定包括对后
续串口数据丢弃下一字节的设定,具体参照上述所述,在此不予赘述。
[0140] 其中,需要指出的是,串口通讯协议中携带有预设数据处理规则以及第一目标字节中携带有预设数据处理规则为两个并行的实施方式,当其串口通讯协议中携带有预设数
据处理规则时,则其可以控制不在第一个零点时刻丢弃下一字节或第一目标字节仅为普通
字节,此时控制器并不需要读取该第一目标字节。相应的,当其串口通讯协议中未携带有预
设数据处理规则时,此时控制器一定需要读取第一目标字节,并根据第一目标字节中携带
有预设数据处理规则相应的对后续的部分目标时刻丢弃下一字节。
[0141] 如此,在串口数据接收过程中,其将发送端所发送的经加密的串口数据进行接收时,可相应的在预设数据处理规则所确定的部分交流零点时刻丢弃下一字节实现进行解
密,使得将发送端发送的串口数据中所插入的新字节进行丢弃,从而其解密后的数据可恢
复原数据中的内容,因此可以正确解析数据,获取到真实的数据。而用正常的串口解析工具
解析时,其接收的串口数据会出现在随机位置上多一个字节或多个字节,使得无法获取真
实的串口数据。
[0142] 因此由于发送端在零点时刻对正在发送的串口数据插入一个新字节实现进行加密,其串口数据发送的时刻相对零点时刻来说是随机的,所以插入新字节的位置也是随机
的,从而起到数据加密的作用,相应的接收端在对应的零点时刻对正在接收的串口数据丢
弃下一字节实现进行解密时,可以正确解析数据,获取到真实的数据。同时发送端及接收端
在对串口数据进行加解密的过程中,其无需复杂的加密算法,发送端及接收端双方都无需
使用密钥,因此对硬件的要求不高,一般的控制器就能运行。
[0143] 进一步的,当其发送端中所插入的新字节为任何无用内容时,其接收端可直接将其下一字节进行丢弃。而当发送端中所插入的新字节做为加密密钥使用时,如前述实施例
所述的把插入的新字节作为校验码,如其根据预设数据处理规则确定将新字节中的数据位
设定为‘11111111’,此时接收端对其所需丢弃的下一字节先进行读取,并进行校验验证,如
确定所获取的待丢弃的下一字节为‘11111110’校验成功时,则将其进行丢弃。而当接收端
对所接收的待丢弃的下一字节校验不对(例如所获取的字节为‘11111110’)时即可认为对
应接收的串口数据是非法的,此时接收端停止对其串口数据的接收,并将所接收的串口数
据进行丢弃。此时可以确定,当接收到未经本发明实施例进行数据加密处理的数据,经本发
明接收解析后都会认定是非法数据而被丢弃,使得可以对其进行加密后的串口数据进行精
准的解密,而其他未加密的串口数据均被丢弃。
[0144] 进一步的,需要指出的是,在本发明实施例中,其可以为接收端边接收串口数据边确定出零点时刻然后进行相应的解密操作,使得最终得到解密后的串口数据。当然,其也可
以为接收端接收完整的串口数据,并对每一个零点时刻时所接收的字节进行标记,此时接
收端根据该串口通讯协议中所携带的预设数据处理规则或第一目标字节中携带的预设数
据处理规则相应的确定出部分目标时刻,并在串口数据进行读取解析时对所确定的部分目
标时刻对应的字节后的下一字节进行丢弃。
[0145] 其中,在本发明的另一个实施例中,上述对对应的正在接收的字节位延长预设接收时间的步骤包括:
[0146] 根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的目标时刻;
[0147] 在提取出的至少部分的目标时刻,确定对应的正在接收的串口数据中的字节位;
[0148] 对对应的正在接收的字节位延长预设接收时间。
[0149] 其中,需要指出的是,参照上述所述,本实施例中的预设数据处理规则与前述应用于发送端中的预设数据处理规则相对应,其发送端根据预设数据处理规则相应的在部分目
标时刻对对应的正在发送的字节位延长预设发送时间,此时相应的接收端根据预设数据处
理规则相应的在部分目标时刻对对应的正在接收的字节位延长预设接收时间。
[0150] 具体实施时,参照前述实施例中的步骤所述,其发送端根据预设数据处理规则确定出相应的部分目标时刻以及预设发送时间,并依照预设数据处理规则进行串口数据的加
密时,如当预设发送时间为30us,此时发送端在每个零点时刻均对正在发送的字节位延长
30us;其接收端根据预设数据处理规则确定出相应的部分目标时刻以及预设接收时间,并
相应的依照预设数据处理规则进行串口数据的解密处理,也即是接收端在每个零点时刻均
对正在接收的字节位延长30us。
[0151] 如图5所示,是一个发送端发送各个字节位的串口数据处理示例,通讯串口在发送一个字节时,该字节中所需发送的数据位为‘11010000’,此时在数据位中的第三字节位
(‘0’)时刚好遇到交流零点的到来,此时对该第三字节位(‘0’)的传输时间T延长为T+t,在
该第三字节位的传输时间延长完成后,之后的其他字节位的传输时间保持不变。此时接收
端在接收该字节数据的过程中,通讯串口在接收第三字节位时也会刚好遇到交流零点的到
来,此时在读取该第三字节位的时间T延长为T+t。而在本发明的其他实施例中,如图6所示,
此时接收端在接收该字节数据的过程中,其交流零点的到来时刚好遇到通讯串口在接收第
三字节位,此时计时预定时间a后确定出目标时刻,而在计时预定时间a后刚好在接收第四
字节位(‘1’),此时在读取该第四字节位的时间T延长为T+t。
[0152] 如此,在串口数据接收过程中,其将发送端所发送的经加密的串口数据进行接收时,可相应的在预设数据处理规则所确定的部分交流零点时刻对对应的正在接收的字节位
延长预设接收时间实现进行解密,从而其解密后的数据可恢复原数据中的内容,因此可以
正确解析数据,获取到真实的数据。而用正常的串口解析工具解析时,会出现多读一位或多
位字节位的情况,因此解析出来的数据是错误的,使得无法获取真实的串口数据。
[0153] 因此由于发送端在零点时刻对正在发送的串口数据中的字节位延长预设发送时间实现进行加密,其串口数据发送的时刻相对零点时刻来说是随机的,所以延长预设发送
时间的字节位的位置也是随机的,从而起到数据加密的作用,相应的接收端在对应的零点
时刻对正在接收的串口数据中的字节位延长预设接收时间实现进行解密时,可以正确解析
数据,获取到真实的数据。同时发送端及接收端在对串口数据进行加解密的过程中,其无需
复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求不高,一般的控
制器就能运行。
[0154] 综上,本发明上述实施例当中的串口数据处理方法,通过获取交流电到达预设电压时的信息,并根据交流电到达预设电压时的时刻确定出目标时刻,并在至少部分目标时
刻确定出对应的正在接收的串口数据中的字节或字节位,并对其正在接收的字节或字节位
进行数据处理实现解密,使得可将发送端所发送的经数据加密处理的串口数据进行解析得
到有效的串口数据。同时其无需复杂的加密算法,发送端及接收端双方都无需使用密钥,因
此对硬件的要求不高,一般的控制器就能运行,解决了现有数据加解密过程中无法同时满
足对硬件要求低及保密程度高的问题。
[0155] 实施例三
[0156] 本发明另一方面还提供一种发送端,本发明第三实施例中的发送端包括:
[0157] 第一获取模块,用于获取交流电到达预设电压时的信息;
[0158] 第一确定模块,用于在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位,所述目标时刻为根据所述交流电到达预设电压时的时刻确定的时刻;
[0159] 第一数据处理模块,用于根据所述对应的正在发送的串口数据中的字节或字节位进行数据处理。
[0160] 进一步地,在本发明一些可选实施例当中,所述第一获取模块包括:
[0161] 第一获取单元,获取交流电电压过零点时的信息;
[0162] 所述第一确定模块包括:
[0163] 第一确定单元,用于在至少部分零点时刻启动计时器,延长预定时间后确定至少部分所述目标时刻,所述零点时刻为交流电电压过零点的时刻;
[0164] 第二确定单元,用于在至少部分目标时刻确定对应的正在发送的串口数据中的字节或字节位;
[0165] 所述第一数据处理模块包括:
[0166] 第一数据处理单元,用于在对应的正在发送的字节发送完成后插入新字节;或
[0167] 第二数据处理单元,用于对对应的正在发送的字节位延长预设发送时间。
[0168] 进一步地,在本发明一些可选实施例当中,所述第一数据处理单元包括:
[0169] 第一提取子单元,用于根据首个插入的新字节中所携带的预设数据处理规则,从首个插入的所述新字节后的所述目标时刻中提取出至少部分的所述目标时刻;或者根据串
口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;
[0170] 第一确定子单元,用于在提取出的至少部分的所述目标时刻,确定对应的正在发送的串口数据中的字节;
[0171] 第一数据处理子单元,用于在对应的正在发送的字节发送完成后插入新字节。
[0172] 进一步地,在本发明一些可选实施例当中,所述第二数据处理单元包括:
[0173] 第二提取子单元,用于根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;
[0174] 第二确定子单元,用于在提取出的至少部分的所述目标时刻,确定对应的正在发送的串口数据中的字节位;
[0175] 第二数据处理子单元,用于对对应的正在发送的字节位延长预设发送时间。
[0176] 上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
[0177] 综上,本发明上述实施例当中的发送端,通过获取交流电到达预设电压时的信息,并根据交流电到达预设电压时的时刻确定出目标时刻,并在至少部分目标时刻确定出对应
的正在发送的串口数据中的字节或字节位,并对其正在发送的字节或字节位进行数据处理
实现加密,由于数据发送的时刻相对交流电到达预设电压时刻来说是随机的,所以对数据
处理的位置也是随机的,从而起到数据加密的作用,因此串口数据不易破解。同时其无需复
杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求不高,一般的控制
器就能运行,解决了现有数据加解密过程中无法同时满足对硬件要求低及保密程度高的问
题。
[0178] 实施例四
[0179] 本发明另一方面还提供一种接收端,本发明第四实施例中的接收端包括:
[0180] 第二获取模块,用于获取交流电到达预设电压时的信息;
[0181] 第二确定模块,用于在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位,所述目标时刻为根据所述交流电到达预设电压时的时刻确定的时刻;
[0182] 第二数据处理模块,用于根据所述对应的正在接收的串口数据中的字节或字节位进行数据处理。
[0183] 进一步地,在本发明一些可选实施例当中,所述第二获取模块包括:
[0184] 第二获取单元,获取交流电电压过零点时的信息;
[0185] 所述第二确定模块包括:
[0186] 第三确定单元,用于在至少部分零点时刻启动计时器,延长预定时间后确定至少部分所述目标时刻,所述零点时刻为交流电电压过零点的时刻;
[0187] 第四确定单元,用于在至少部分目标时刻确定对应的正在接收的串口数据中的字节或字节位;
[0188] 所述第二数据处理模块包括:
[0189] 第三数据处理单元,用于在对应的正在接收的字节接收完成后丢弃下一个字节;或
[0190] 第四数据处理单元,用于对对应的正在接收的字节位延长预设接收时间。
[0191] 进一步地,在本发明一些可选实施例当中,所述第三数据处理单元包括:
[0192] 第三提取子单元,用于根据首个丢弃的字节中所携带的预设数据处理规则,从首个丢弃的所述字节后的所述目标时刻中提取出至少部分的所述目标时刻;或者根据串口通
讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;
[0193] 第三确定子单元,用于根据提取出的至少部分的所述目标时刻,确定对应的正在接收的串口数据中的字节;
[0194] 第三数据处理子单元,用于在对应的正在接收的字节接收完成后丢弃该对应的字节的下一个字节。
[0195] 进一步地,在本发明一些可选实施例当中,所述第四数据处理单元包括:
[0196] 第四提取子单元,用于根据串口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;
[0197] 第四确定子单元,用于在提取出的至少部分的所述目标时刻,确定对应的正在接收的串口数据中的字节位;
[0198] 第四数据处理子单元,用于对对应的正在接收的字节位延长预设接收时间。
[0199] 上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
[0200] 综上,本发明上述实施例当中的接收端,通过获取交流电到达预设电压时的信息,并根据交流电到达预设电压时的时刻确定出目标时刻,并在至少部分目标时刻确定出对应
的正在接收的串口数据中的字节或字节位,并对其正在接收的字节或字节位进行数据处理
实现解密,使得可将发送端所发送的经数据加密处理的串口数据进行解析得到有效的串口
数据。同时其无需复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要
求不高,一般的控制器就能运行,解决了现有数据加解密过程中无法同时满足对硬件要求
低及保密程度高的问题。
[0201] 实施例五
[0202] 请参阅图7,所示为本发明第五实施例中的电子设备的模块示意图,为了便于说明,仅示出了与本发明实施例相关的部分,其电子设备应用于发送端或接收端当中,电子设
备包括:
[0203] 检测电路,用于检测交流电到达预设电压时的信息;及
[0204] 分别与检测电路和通讯串口连接的控制器,用于根据检测电路检测的信息相应的对通讯串口收发的串口数据进行数据处理;
[0205] 其中,控制器进行数据处理的方法采用如前述实施例一所述的串口数据处理方法和/或如前述实施例二所述的串口数据处理方法。
[0206] 其中,具体的,该电子设备为调光器,检测电路为过零检测电路。其中,该调光器中包含有过零检测电路以及控制器,此时该调光器可根据前述实施例一所述的串口数据处理
方法和/或前述实施例二所述的串口数据处理方法实现对待发送数据的加解密,由于调光
器切相调光的需要,其本身往往自带有过零检测电路,所以将串口数据的加解密方法应用
于调光器,仅需要在普通调光器中写入相对应的加解密程序即可,无需要再额外配置过零
检测的硬件电路,实现了调光器与调光器之间通信的可靠性,同时,没有加解密程序的调光
器无法与有加解密程序的调光器联动使用。
[0207] 本发明实施例还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述实施例一所述的串口数据处理方法和/或实现如前述实施例二所述的
串口数据处理方法。
[0208] 本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任
何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的
系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些
指令执行系统、装置或设备而使用。就本说明书而言,“可读存储介质”可以是任何可以包
含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、
装置或设备而使用的装置。
[0209] 可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器
(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存
储器(CDROM)。另外,可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介
质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他
合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0210] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等。
[0211] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个或多个实施例或示例中以合适的方式结合。
[0212] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员
来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保
护范围。因此,本发明专利的保护范围应以所附权利要求为准。