一种串口数据处理方法、电子设备及可读存储介质转让专利
申请号 : CN202110921906.7
文献号 : CN113382022B
文献日 : 2021-11-02
发明人 : 彭庆 , 林强 , 张润霖 , 叶建胜
申请人 : 江西嘉捷鑫源科技有限公司
摘要 :
权利要求 :
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任意一项所述的串口数据处理方法。
说明书 :
一种串口数据处理方法、电子设备及可读存储介质
技术领域
背景技术
会对数据进行加密处理。常用的加密算法如AES算法、RSA算法、MD5算法等等,通过密钥进行
加密和解密。复杂的加密,保密程度高,难以破解,但软件代码也相对复杂,同时会占用较大
的内存,数据也会变得冗长,而且对硬件的要求也高,一般功能较低的MCU都无法运行复杂
的加密算法。而简单的加密,虽然代码相对简单,也不会占用太多的内存,对MCU的要求也不
高,但保密程度较低,比较容易破解。
发明内容
预设数据处理规则,提取出至少部分的所述目标时刻;
数据处理规则,提取出至少部分的所述目标时刻;
当中所述的串口数据处理方法。
据中的字节或字节位,并对其正在发送的字节或字节位进行数据处理实现加密,由于数据
发送的时刻相对交流电到达预设电压时刻来说是随机的,所以对数据处理的位置也是随机
的,从而起到数据加密的作用,因此串口数据不易破解。本发明在接收串口数据时,每次交
流电到达预设电压时到来都会对接收的字节或字节位进行数据处理实现解密,从而可接收
并解析得到有效的串口数据。同时其无需复杂的加密算法,发送端及接收端双方都无需使
用密钥,因此对硬件的要求不高,一般的控制器就能运行,解决了现有数据加解密过程中无
法同时满足对硬件要求低及保密程度高的问题。
附图说明
具体实施方式
描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、
“右”以及类似的表述只是为了说明的目的。
体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相
关的所列项目的任意的和所有的组合。
括步骤S01‑步骤S03。
部的市电连接,用于检测交流电到达预设电压时的信息;其中该预设电压可以为交流电的
零点电压、波峰电压、波谷电压、或交流电中的任意一点电压值,其根据实际使用需要对预
设电压进行设置,在此不做具体限定。在本发明的优选实施例中,其预设电压优选为交流电
的零点电压,因此其检测电路可检测当前交流电的零点信息。可以理解的,在本发明的其他
实施例中,其预设电压还可以为交流电的波峰电压等,使得其检测电路可检测该交流电的
波峰信息,其根据实际使用需要相应的选定其预设电压及用于检测其预设电压的检测电
路。
的是,如图7所示,其通讯串口包括发送端口TXD及接收端口RXD,其通过串口数据线(例如
RS232数据线)与另一电子设备中所对应的接收端口RXD及发送端口TXD连接,使得控制器可
驱动通讯串口中的发送端口TXD发送串口数据至另一电子设备的接收端口RXD中、以及由通
讯串口中的接收端口RXD接收另一电子设备的发送端口TXD所发送的串口数据,从而实现两
个电子设备之间的数据通讯。
通过接收端口RXD接收串口数据时,则其作为接收端接收发送端所发送的串口数据,而通过
串口数据线所连接的另一电子设备则作为发送端发送串口数据,此时电子设备既可以作为
发送端也可以作为接收端,其根据当前处于发送串口数据还是接收串口数据进行确定。具
体本发明实施例中,其从发送端一侧对其串口数据处理方法进行描述,且该串口数据处理
方法用于当前正在发送的串口数据中;而当其电子设备当前未发送串口数据时,则其不实
施本发明实施例中所述的串口数据处理方法。此时本发明实施例提供的串口数据处理方法
具体应用于上述所述的控制器中,其中该控制器首先获取检测电路所检测的交流电到达预
设电压时的信息,也即是检测电路实时检测当前的交流电的电压值,当在检测到交流电到
达预设电压时,检测电路将该交流电到达预设电压时的信息发送给控制器,此时控制器同
步获取到检测电路所检测的交流电到达预设电压时的信息。
零点,从而得到一个跟随市电过零点的方波,其参照图4及图5所示,因此控制器在控制当前
发送串口数据的同时还会不断的获取检测电路所检测的该零点信号ZCD。具体的,本发明实
施例中的下述步骤均以交流电的过零点作为预设电压为例进行具体描述,相应的当其预设
电压为其他电压时的步骤可相应参照其下述的零点电压中的描述所述,后续不予赘述。
都包括一个起始位,一个结束位,以及设于起始位及结束位之间的数据位,具体而言,其起
始位及结束位均为一个字节位,而数据位包括有8个二进制的字节位(bit),其一个字节位
的传输时间长度与通讯串口的波特率(bps)有关,具体的一个字节位的传输时间T=1/bps。
其中,如图3所示的具体字节当中,其起始位设定为0,结束位设定为1,其具体的数据位为
‘10011010’。
该交流电到达零点电压时的零点时刻(即零点时刻为交流电电压过零点的时刻),或者根据
该交流电到达零点电压时所延长预定时间后所得到的时刻,如延长一预定时间后到达交流
电的波峰、波谷或其他位置,因此根据获取的零点电压可相应的确定出其目标时刻(如零点
时刻、波峰时刻、或波谷时刻等时刻)。相应的,当其预设电压为波峰电压等其他电压时,其
目标时刻也可为该交流电到达预设电压时的时刻,或根据该预设电压所延长预定时间后所
得到的时刻,如其延长一预定时间后到达交流电的零点或其他电压位置。也即,其控制器可
根据获取的零点电压确定出零点时刻,也可根据获取的波峰电压延时预定时间后确定出零
点时刻,此时零点时刻并不仅局限于交流电过零点的检测。相应的,其控制器可根据获取的
波峰电压确定出波峰时刻,也可根据获取的零点电压延时预定时间后确定出波峰时刻。
时间后确定出目标时刻,并在该目标时刻确定当前驱动的通讯串口所正在发送的串口数据
中的字节或字节位。其中其部分目标时刻根据下述中的步骤进行确定。
定时间优选小于0.01s。进一步的,本发明的优选实施例中,其预定时间优选设定为0s,此时
目标时刻也即为其零点时刻。当然,其预定时间也可以为其他,其根据实际使用需要进行设
置,在此不做具体限定。具体的,本发明实施例中的下述步骤均以交流电的零点时刻作为目
标时刻为例进行具体描述,相应的,当其目标时刻为其他时刻时的步骤也可相应参照其零
点时刻中的描述所述,后续不予赘述。
处理,从而实现对串口数据进行加密。其中数据处理包括以当前字节为基准对串口数据中
的字节进行数据处理,也包括对当前字节本身的处理(也即对当前字节中的字节位进行数
据处理),其中本实施例中,该当前字节为当前正在发送的串口数据中的字节。
处理规则,提取出至少部分的目标时刻;
点时刻确定出对应的正在发送的字节,并在对应的正在发送的字节发送完成后插入新字
节,此时所插入的新字节即为首个插入的新字节,其中该首个插入的新字节中携带有预设
数据处理规则,其预设数据处理规则用于设定对后续待发的串口数据插入新字节方式的选
择,例如,是否对后续串口数据插入新字节、对串口数据插入新字节时的目标时刻的选择、
以及对指定字节后面插入新字节等等。
为其字节或者字节位的组合定义的规则;其例如首个插入的新字节中的数据位包括有八个
字节位,其中第一个字节位b0用于设定后续串口数据中是否插入新字节,例如其b0为1时,
表示为后续串口数据中插入新字节;其b0为0时,表示为后续串口数据中不插入新字节。其
中第二个字节位b1及第三个字节位b2用于设定对串口数据插入新字节时的目标时刻的选
择,例如其b1b2为11时,表示为每个目标时刻;b1b2为10时,表示为每间隔的目标时刻,如每
隔一个目标时刻、每隔两个目标时刻…每隔N个目标时刻,其中每间隔的位数又根据后续的
字节位进行设定;b1b2为01时,表示为指定设定的目标时刻,如设定第二目标时刻、第五目
标时刻、第八目标时刻等指定设定的目标时刻,其中指定设定的时刻又根据后续的字节位
进行设定;b1b2为00时,表示为指定设定的字节,如设定第三个字节、第七个字节等指定设
定的字节,其中指定设定的字节又根据后续的字节位进行设定。可以理解的,在本发明的其
他实施例中,首个插入的新字节中携带的预设数据处理规则还可以通过其他方式进行表
示,其根据实际使用需要对首个插入的新字节中的数据位进行设置得到其预设数据处理规
则,在此不做具体限定。
在串口数据发送过程中,在第一个交流零点时刻插入一个新字节,加密后的数据比原数据
多一个字节。其中串口数据经过其加密处理后,用正常的串口解析工具解析会出现在随机
位置上多出一个字节,因此无法获取真实的串口数据,从而起到数据加密的作用。其中由于
在零点时刻对正在发送的串口数据插入一个新字节实现进行加密,其数据发送的时刻相对
交流零点来说是随机的,所以对数据加密的位置也是随机的,因此串口数据不易破解。同时
其无需复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求不高,一
般的控制器就能运行。同时由于仅插入一个新字节,使得其控制器的处理比较简单,使得对
硬件要求更简单。因此本发明实施例中的数据处理方法可以同时满足对硬件要求低及保密
程度高的条件。
的至少部分零点时刻所确定的对应的正在发送的串口数据中的字节发送完成后还插入新
字节。如图4所示,是一个发送3个字节的串口数据处理示例,通讯串口在发送第二字节时刚
好遇到交流零点的到来,所以在第二字节发完后插入一个新字节,并在新字节发送完成后
再继续发送剩余的第三字节,从而得到一个4个字节的数据。其中串口数据经过其数据加密
处理后,用正常的串口解析工具解析会出现在随机位置上多出若干个字节,因此无法获取
真实的串口数据,从而起到数据加密的作用。
测的该零点信号ZCD,并在每当获取到零点信号时,其在零点时刻发完正在发送的字节后,
并在该字节后面插入一个新字节,然后再发其他字节。其中,因为串口数据发送的时刻相对
零点时刻来说是随机的,所以对数据加密的位置也是随机的,而由于在每个零点信号中均
进行加密处理(也即插入新字节),因此使得保密程度高,难以破解。
该零点信号ZCD,并在每间隔获取到零点信号时,其在零点时刻发完正在发送的字节后,并
在该字节后面插入一个新字节,然后再发其他字节,也即是说,其在串口数据发送的过程
中,当在首个零点时刻发完正在发送的字节后插入第一个新字节后,其在第三个零点时刻、
第五个零点时刻…第2N+1个零点时刻发完正在发送的字节后插入一个新字节。其中在每隔
设定零点时刻进行加密处理,其可相对上述两种方式中,既实现较高程度的保密性,又实现
降低控制器的硬件要求。
的该零点信号ZCD,并在获取到指定设定的零点信号时,其在零点时刻发完正在发送的字节
后,并在该字节后面插入一个新字节,其中指定设定的零点时刻根据首个插入的新字节中
所携带的预设数据处理规则进行确定,也即首个插入的新字节中可以设定如第二目标时
刻、第五目标时刻、第八目标时刻等为指定设定的目标时刻。其中,在指定设定的零点时刻
进行加密处理,使得可有效进行自定义加密,其相对上述所述的规律性的进行加密可实现
更高程度的保密性,同时又实现降低控制器的硬件要求。
新字节,其中指定设定的字节根据首个插入的新字节中所携带的预设数据处理规则进行确
定,也即首个插入的新字节中可以设定如第三个字节、第七个字节等为指定设定的字节。其
中,在指定设定的字节进行加密处理,使得也可有效进行自定义加密,其相对上述所述的规
律性的进行加密也可实现更高程度的保密性,同时又实现降低控制器的硬件要求。
中确定出对应的正在发送的串口数据中的字节,然后在对应的正在发送的字节发送完成后
插入新字节。
如何进行数据通讯,此时需要指出的是,其串口通讯协议中所携带的预设数据处理规则必
定包括对后续串口数据插入新字节的设定,具体参照上述所述,在此不予赘述。因此其控制
器根据串口通讯协议中所携带的预设数据处理规则也可提取出至少部分的目标时刻,并在
提取出的至少部分的目标时刻中确定出对应的正在发送的串口数据中的字节,然后在对应
的正在发送的字节发送完成后插入新字节。
设数据处理规则时,则其可以控制不在第一个零点时刻插入新字节或首个插入的新字节仅
为普通字节,此时控制器并不需要读取该首个插入的新字节。相应的,当其串口通讯协议中
未携带有预设数据处理规则,而首个插入的新字节中携带有预设数据处理规则时,此时控
制器一定需要读取首个插入的新字节中的预设数据处理规则,并根据首个插入的新字节中
携带有预设数据处理规则相应的对后续的部分目标时刻插入新字节。
时用正常的串口解析工具解析会出现在随机位置上多一个字节或多个字节,使得无法获取
真实的串口数据。此时需要指出的是,其接收端也应采用与本发明实施例相对应的串口数
据处理方法对对应的接收的串口数据进行解密处理,使得实现对串口数据的正常解密。
起到数据加密的作用,因此串口数据不易破解。同时其无需复杂的加密算法,发送端及接收
端双方都无需使用密钥,因此对硬件的要求不高,一般的控制器就能运行。
的数据位设定为‘11111111’,当接收端对所接收的新字节校验不对(例如所获取的新字节
为‘11111110’)时即可认为对应接收的串口数据是非法的,此时相应的保密程度更高。
行延长预设发送时间)方式的选择,例如,对串口数据进行数据加密的目标时刻的选择、及
对所延长预设发送时间等等。
间、或设定为指定设定的零点时刻对正在发送的字节位延长预设发送时间。
刻均对正在发送的字节位延长预设发送时间;当预设发送时间为40us,此时定义为只在首
次获取的零点时刻对正在发送的字节位延长预设发送时间,其后续发送的所有字节位都不
再延长预设发送时间;当预设发送时间为50us,此时定义为每隔一个零点时刻对正在发送
的字节位延长预设发送时间。此时通过预设发送时间的长度来定义对串口数据进行数据加
密的方式不限于上述几种,可根据实际需求进行灵活运用,在此不做具体限定。
的每个零点时刻、或每隔若干个零点时刻、或指定设定的零点时刻,此时在提取出的部分的
目标时刻中确定对应的正在发送的串口数据中的字节位,并对对应的正在发送的字节位延
长预设发送时间t,使得当其正在发送的字节位的传输时间由原来的T延长为T+t,之后的字
节位的传输时间保持不变,其依旧为T。如图5所示,是一个发送各个字节位的串口数据处理
示例,通讯串口在发送一个字节时,该字节中所需发送的数据位为‘11010000’,此时在数据
位中的第三字节位(‘0’)时刚好遇到交流零点的到来,此时对该第三字节位(‘0’)的传输时
间T延长为T+t,在该第三字节位的传输时间延长完成后,之后的其他字节位的传输时间保
持不变。而在本发明的其他实施例中,如图6所示,是一个发送各个字节位的串口数据又一
处理示例,通讯串口在发送一个字节时,该字节中所需发送的数据位为‘11010000’,此时在
数据位中的第三字节位(‘0’)时刚好遇到交流零点的到来,此时计时预定时间a后确定出目
标时刻,而在计时预定时间a后刚好在第四字节位(‘1’),此时对该第四字节位(‘1’)的传输
时间T延长为T+t,在该第四字节位的传输时间延长完成后,之后的其他字节位的传输时间
保持不变。其中串口数据经过其数据加密处理后,用正常的串口解析工具无法准确解析数
据,其数据中会出现多读一位或多位的情况,因此解析出来的数据是错误的。其中,需要指
出的是,由于串口数据发送的时刻相对零点时刻来说是随机的,因此其零点时刻除处在对
应的字节发送的数据位外,其也可能处在起始位或者结束位,此时当零点时刻在字节发送
的起始位或结束位时,其也相应的对对应的正在发送的字节位延长预设发送时间。
位,因此串口数据经过其加密处理后,正常的串口解析工具无法准确解析数据,会出现多读
一位或多位字节位的情况,因此解析出来的数据是错误的。此时需要指出的是,其接收端也
应采用与本发明实施例相对应的串口数据处理方法对对应接收的串口数据进行解密处理,
使得实现对串口数据的正常解密。
字节位的位置也是随机的,从而起到数据加密的作用,因此串口数据不易破解。同时其无需
复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求不高,一般的控
制器就能运行。
刻确定出对应的正在发送的串口数据中的字节或字节位,并对其正在发送的字节或字节位
进行数据处理实现加密,由于数据发送的时刻相对交流电到达预设电压时刻来说是随机
的,所以对数据处理的位置也是随机的,从而起到数据加密的作用,因此串口数据不易破
解。同时其无需复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求
不高,一般的控制器就能运行,解决了现有数据加解密过程中无法同时满足对硬件要求低
及保密程度高的问题。
包括步骤S11‑步骤S13。
送串口数据并对其进行加密处理的过程中,其通过串口数据线连接的接收端接收串口数据
的同时也对其接收的串口数据进行解密处理,从而实现了对所加密后的串口数据进行相应
的解密处理。
据时,则其不实施本发明实施例中所述的串口数据处理方法。此时本发明实施例提供的串
口数据处理方法具体应用于上述所述的控制器中,其中该控制器首先获取检测电路所检测
的交流电到达预设电压时的信息,其本实施例中的具体步骤均可相应的参照前述实施例中
的步骤所述,在此不予赘述。
照前述实施例中的步骤所述,在此不予赘述。
处理,从而实现对串口数据进行解密。其中数据处理包括以当前字节为基准对串口数据中
的字节进行数据处理,也包括对当前字节本身的处理(也即对当前字节中的字节位进行数
据处理),其中本实施例中,该当前字节为当前正在接收的串口数据中的字节。
则,提取出至少部分的目标时刻;
预设数据处理规则时,则在对应于首个插入的新字节前的零点时刻,接收端在该零点时刻,
在对应的正在接收的字节接收完成后接收并读取下一个字节,此时所接收并读取的下一个
字节即为首个丢弃的字节(读取完后丢弃),该首个被丢弃的字节也即原发送端首个插入的
新字节,本发明实施例中将首个丢弃的字节定义为第一目标字节,其中该第一目标字节中
携带有预设数据处理规则(即发送端的首个插入的新字节中携带的预设处理规则),所以,
发送端根据预设数据处理规则,相应的在第一个新插入的字节之后的至少部分目标时刻对
应的字节发送完成后再次插入新字节,此时相应的接收端根据预设数据处理规则相应的在
第一目标字节之后的至少部分目标时刻对应的字节接收完成后对下一个字节进行丢弃(即
把发送端后续再次插入的新字节丢弃),这样接收端便还原出原有的串口数据,即解密。
据处理规则为其字节或字节位的组合定义的规则,其例如第一目标字节中的数据位包括有
八个字节位,其中在发送端当中,其第一个字节位b0用于设定后续串口数据中是否插入新
字节,此时在接收端当中也可相应的确定为后续串口数据中是否丢弃下一字节,例如其b0
为1时,表示为后续串口数据中丢弃下一字节;其b0为0时,表示为后续串口数据中不丢弃下
一字节。其中在发送端当中,其第二个字节位b1及第三个字节位b2用于设定对串口数据中
插入新字节时的目标时刻的选择,此时在接收端当中也可相应的确定为对串口数据丢弃下
一字节时的目标时刻的选择,其具体参照前述实施例中的步骤所述,在此不予赘述。
第一目标字节,其后续的字节相应的照常接收。其中在串口数据接收过程中,其先在第一个
交流零点时刻后读取该第一目标字节携带的数据处理规则,并在解析出其第一目标字节中
携带的预设数据处理规则后,再将该第一目标字节进行丢弃;或者完全接收该第一目标字
节,也即该串口数据中包括有该第一目标字节,但在该串口数据读取解析时丢弃该字节,实
现最终获取的串口数据中丢弃了该第一目标字节。由于按照前述实施例所述串口数据处理
方法进行加密后的数据比原数据多一个字节,用正常的串口解析工具解析会出现在随机位
置上多出一个字节,因此无法获取真实的串口数据。而经过本发明实施例中串口数据处理
方法对其串口数据进行解密处理后,其会将发送端发送的串口数据中所插入的新字节进行
丢弃,从而可以正确解析数据,获取到真实的数据。
字节发送完成后再继续发送剩余的第三字节,从而得到一个4个字节的数据。此时接收端在
接收该4个字节的数据的过程中,通讯串口在接收第二字节时也会刚好遇到交流零点的到
来,此时在第二字节接收完后,相应的丢弃下一字节,具体的,其可以为在接收的过程中对
该字节进行丢弃,当然,其也可以为完全接收该字节,但在该串口数据读取解析时丢弃该字
节。
节后,丢弃该字节的下一个字节,然后再接收后续字节,在此不对其丢弃下一字节时的目标
时刻的选择进行赘述。
续串口数据丢弃下一字节的设定,具体参照上述所述,在此不予赘述。
据处理规则时,则其可以控制不在第一个零点时刻丢弃下一字节或第一目标字节仅为普通
字节,此时控制器并不需要读取该第一目标字节。相应的,当其串口通讯协议中未携带有预
设数据处理规则时,此时控制器一定需要读取第一目标字节,并根据第一目标字节中携带
有预设数据处理规则相应的对后续的部分目标时刻丢弃下一字节。
密,使得将发送端发送的串口数据中所插入的新字节进行丢弃,从而其解密后的数据可恢
复原数据中的内容,因此可以正确解析数据,获取到真实的数据。而用正常的串口解析工具
解析时,其接收的串口数据会出现在随机位置上多一个字节或多个字节,使得无法获取真
实的串口数据。
的,从而起到数据加密的作用,相应的接收端在对应的零点时刻对正在接收的串口数据丢
弃下一字节实现进行解密时,可以正确解析数据,获取到真实的数据。同时发送端及接收端
在对串口数据进行加解密的过程中,其无需复杂的加密算法,发送端及接收端双方都无需
使用密钥,因此对硬件的要求不高,一般的控制器就能运行。
所述的把插入的新字节作为校验码,如其根据预设数据处理规则确定将新字节中的数据位
设定为‘11111111’,此时接收端对其所需丢弃的下一字节先进行读取,并进行校验验证,如
确定所获取的待丢弃的下一字节为‘11111110’校验成功时,则将其进行丢弃。而当接收端
对所接收的待丢弃的下一字节校验不对(例如所获取的字节为‘11111110’)时即可认为对
应接收的串口数据是非法的,此时接收端停止对其串口数据的接收,并将所接收的串口数
据进行丢弃。此时可以确定,当接收到未经本发明实施例进行数据加密处理的数据,经本发
明接收解析后都会认定是非法数据而被丢弃,使得可以对其进行加密后的串口数据进行精
准的解密,而其他未加密的串口数据均被丢弃。
以为接收端接收完整的串口数据,并对每一个零点时刻时所接收的字节进行标记,此时接
收端根据该串口通讯协议中所携带的预设数据处理规则或第一目标字节中携带的预设数
据处理规则相应的确定出部分目标时刻,并在串口数据进行读取解析时对所确定的部分目
标时刻对应的字节后的下一字节进行丢弃。
标时刻对对应的正在发送的字节位延长预设发送时间,此时相应的接收端根据预设数据处
理规则相应的在部分目标时刻对对应的正在接收的字节位延长预设接收时间。
密时,如当预设发送时间为30us,此时发送端在每个零点时刻均对正在发送的字节位延长
30us;其接收端根据预设数据处理规则确定出相应的部分目标时刻以及预设接收时间,并
相应的依照预设数据处理规则进行串口数据的解密处理,也即是接收端在每个零点时刻均
对正在接收的字节位延长30us。
(‘0’)时刚好遇到交流零点的到来,此时对该第三字节位(‘0’)的传输时间T延长为T+t,在
该第三字节位的传输时间延长完成后,之后的其他字节位的传输时间保持不变。此时接收
端在接收该字节数据的过程中,通讯串口在接收第三字节位时也会刚好遇到交流零点的到
来,此时在读取该第三字节位的时间T延长为T+t。而在本发明的其他实施例中,如图6所示,
此时接收端在接收该字节数据的过程中,其交流零点的到来时刚好遇到通讯串口在接收第
三字节位,此时计时预定时间a后确定出目标时刻,而在计时预定时间a后刚好在接收第四
字节位(‘1’),此时在读取该第四字节位的时间T延长为T+t。
延长预设接收时间实现进行解密,从而其解密后的数据可恢复原数据中的内容,因此可以
正确解析数据,获取到真实的数据。而用正常的串口解析工具解析时,会出现多读一位或多
位字节位的情况,因此解析出来的数据是错误的,使得无法获取真实的串口数据。
时间的字节位的位置也是随机的,从而起到数据加密的作用,相应的接收端在对应的零点
时刻对正在接收的串口数据中的字节位延长预设接收时间实现进行解密时,可以正确解析
数据,获取到真实的数据。同时发送端及接收端在对串口数据进行加解密的过程中,其无需
复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求不高,一般的控
制器就能运行。
刻确定出对应的正在接收的串口数据中的字节或字节位,并对其正在接收的字节或字节位
进行数据处理实现解密,使得可将发送端所发送的经数据加密处理的串口数据进行解析得
到有效的串口数据。同时其无需复杂的加密算法,发送端及接收端双方都无需使用密钥,因
此对硬件的要求不高,一般的控制器就能运行,解决了现有数据加解密过程中无法同时满
足对硬件要求低及保密程度高的问题。
口通讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;
的正在发送的串口数据中的字节或字节位,并对其正在发送的字节或字节位进行数据处理
实现加密,由于数据发送的时刻相对交流电到达预设电压时刻来说是随机的,所以对数据
处理的位置也是随机的,从而起到数据加密的作用,因此串口数据不易破解。同时其无需复
杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要求不高,一般的控制
器就能运行,解决了现有数据加解密过程中无法同时满足对硬件要求低及保密程度高的问
题。
讯协议中所携带的预设数据处理规则,提取出至少部分的所述目标时刻;
的正在接收的串口数据中的字节或字节位,并对其正在接收的字节或字节位进行数据处理
实现解密,使得可将发送端所发送的经数据加密处理的串口数据进行解析得到有效的串口
数据。同时其无需复杂的加密算法,发送端及接收端双方都无需使用密钥,因此对硬件的要
求不高,一般的控制器就能运行,解决了现有数据加解密过程中无法同时满足对硬件要求
低及保密程度高的问题。
备包括:
方法和/或前述实施例二所述的串口数据处理方法实现对待发送数据的加解密,由于调光
器切相调光的需要,其本身往往自带有过零检测电路,所以将串口数据的加解密方法应用
于调光器,仅需要在普通调光器中写入相对应的加解密程序即可,无需要再额外配置过零
检测的硬件电路,实现了调光器与调光器之间通信的可靠性,同时,没有加解密程序的调光
器无法与有加解密程序的调光器联动使用。
串口数据处理方法。
何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的
系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些
指令执行系统、装置或设备而使用。就本说明书而言,“可读存储介质”可以是任何可以包
含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、
装置或设备而使用的装置。
(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存
储器(CDROM)。另外,可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介
质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他
合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等。
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个或多个实施例或示例中以合适的方式结合。
来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保
护范围。因此,本发明专利的保护范围应以所附权利要求为准。