基于颜色光的数据传输方法、发送端设备以及接收端设备
技术领域
本发明涉及光通信技术领域,尤其涉及基于颜色光的数据传输方法、一种发送端设备以及一种接收端设备。
背景技术
随着物联网的发展,互联互通的多个设备被广泛的应用到各种场景中。例如互联互通的空调与电动窗应用到家庭中。
目前,以两个设备为例,通常通过在每一个设备中设置蓝牙、wifi等无线模块,以实现两个设备之间的互联互通。
但是,在通过无线模块实现两个设备之间的互联互通时,由于无线模块是以广播的形式发送数据,这使得无线模块通信范围内的其他设备也能接收到该数据,从而导致该数据存在被篡改的可能性,即降低了数据传输的安全性,同时,无线模块的硬件成本也高。
发明内容
本发明的目的在于提供一种用于数据传输的新的技术方案。
根据本发明的第一方面,提供了一种基于颜色光的数据传输方法,由设置有发光器的发送端设备实施,包括:
定向发送第一颜色光信号,所述第一颜色光信号包括用于指示第一颜色光编码规则的组合颜色光;
根据所述第一颜色光编码规则对待传输数据进行编码,以得到第二颜色光信号;所述待传输数据中至少包含待传输的目标数据;
定向发送所述第二颜色光信号。
可选的,在所述待传输数据为二进制数据时,所述定向发送第一颜色光信号,包括:
步骤一:依序执行P次定向发送操作,其中P为正整数;
所述定向发送操作包括:依次定向发送M个第一步长的第一颜色光、N个第二步长的第二颜色光;其中,M和N为预设的参数且为正整数,所述第一步长用于表征二进制数码中的一位第一数码对应的时长,所述第二步长用于表征二级制数码中一位第二数码对应的时长;
步骤二:定向发送用于表征开始传输待传输数据的第三颜色光。
可选的,,所述根据所述第一颜色光编码规则对所述待传输数据进行编码,包括:
对于二进制的待传输数据中的每一位数码,如果为第一数码,将所述数码编码为1个第一步长的第一颜色光;如果为第二数码,将所述数码编码为1个第二步长的第二颜色光。
可选的,所述目标数据为利用第一加密算法加密后的数据,所述待传输数据包括所述目标数据、与所述第一加密算法对应的预设长度的第一标识数据。
可选的,目标数据为利用第二加密算法加密后的数据;
所述方法在所述定向发送第二颜色光信号之前,还包括:
根据所述第一颜色光编码规则,对所述第二加密算法所对应的第二标识数据进行编码,以得到第三颜色光信号,并定向发送所述第三颜色光信号;
定向发送用于表征所述第二标识数据传输完毕的第四颜色光;
或者,
所述方法在定向发送所述第二颜色光信号之后,还包括:
定向发送用于表征所述第二标识数据开始传输的第五颜色光;
根据所述第一颜色光编码规则,对所述第二加密算法所对应的第二标识数据进行编码,以得到第四颜色光信号,并定向发送所述第四颜色光信号。
根据本发明的第二方面,提供了一种基于颜色光的数据传输方法,由设置有感光器的接收端设备实施,包括:
解析定向接收到的第一外界颜色光信号,以得到第二颜色光编码规则;
根据所述第二颜色光编码规则,解码定向接收到的第二外界颜色光信号,以得到传输数据;所述传输数据中至少包括第一目标数据。
可选的,在所述传输数据为二进制数码时,所述第一外界颜色光信号中包括:至少一组由第一外界颜色光和第二外界颜色光组成的组合颜色光,以及第三外界颜色光;所述方法还包括:
在首次定向接收到第三外界颜色光时,确定已定向接收到的外界颜色光信号为第一外界颜色光信号;
将所述第一外界颜色光信号之外的外界颜色光信号,确定为第二外界颜色光信号。
可选的,所述解析定向接收到的第一外界颜色光信号,以得到第二颜色光编码规则,包括:
对于所述第一外界颜色光信号中,将持续时长最长的第一外界颜色光的时长与X的比值,确定为第三步长;将持续时长最长的第二外界颜色光的时长与Y的比值,确定为第四步长;其中,X和Y为预设的参数且为正整数,所述第三步长用于表征二进制数码中的一位第一数码对应的时长,所述第四步长用于表征二级制数码中一位第二数码对应的时长;
将所述第三步长与第一外界颜色光的映射关系,所述第四步长与第四颜色光的映射关系,作为所述第二颜色光编码规则。
可选的,所述根据所述第二颜色光编码规则,解码所述第二外界颜色光信号,以得到传输数据,包括:
针对所述第二外界颜色光信号中连续的第一外界颜色光,计算所述连续的第一外界颜色光的时长与所述第三步长的第一比值,将所述第一比值解码为对应个数的二级制中的第一数码;
针对所述第二外界颜色光信号中连续的第二外界颜色光,计算所述连续的第二外界颜色光的时长与所述第四步长的第二比值,将所述第二比值解码为对应个数的二级制中的第二数码。
可选的,所述传输数据中还包括对第一目标数据加密的第三加密算法所对应的第三标识数据,所述方法还包括:
将解码得到的所述传输数据中前第一预设长度或后第一预设长度的数据,确定为第三标识数据;
根据所述第三标识数据对应的解密算法,解密所述第一目标数据。
可选的,所述传输数据中还包括对第一目标数据加密的第四加密算法所对应的第四标识数据,所述方法还包括:
所述第二外界颜色光信号中包含第四外界颜色光,将解码得到的所述传输数据中,与所述第二外界颜色光信号中的所述第四外界颜色光之前的外界颜色光信号所对应的传输数据,确定为第四标识数据;或者,
所述第二外界颜色光信号中包含第五外界颜色光,将解码得到的所述传输数据中,与所述第二外界颜色光信号中的所述第五颜色光之后的外界颜色光信号所对应的传输数据,确定为第四标识数据;
根据所述第四标识数据对应的解密算法,解密所述第一目标数据。
根据本发明的第三方面,提供了一种发送端设备,所述发送端设备设置有发光器,包括:
存储器,用于存储可执行指令;
处理器,用于根据所述可执行指令,运行设置有发光器的所述发送端设备以执行如第一方面所述的基于颜色光的数据传输方法。
根据本发明的第四方面,提供了一种接收端设备,所述接收端设置有感光器,包括:
存储器,用于存储可执行指令;
处理器,用于根据所述可执行指令,运行设置有感光器的所述接收端设备以执行如第二方面所述的基于颜色光的数据传输方法。
本发明实施例提供了一种基于颜色光的数据传输方法,首先定向发送第一颜色光信号;然后根据第一颜色光编码规则对至少包含待传输的目标数据的待传输数据进行编码,以得到第二颜色光信号;最后定向发送第二颜色光信号。由于本发明实施例是定向向对应的接收端设备的感光器发送根据第一颜色光编码得到的对应于目标数据的第二颜色光信号,这使得其他的设备并不会接收到发送端设备所发送的颜色光信号,进而避免了发送端设备所发送的颜色光信号被篡改的可能性,使得接收端设备能够接收到准确的由发送端设备所发送的颜色光信号,进而得到准确的目标数据。同时本实施例在数据传输过程中并没有使用成本高的无线模块,从而降低了实现数据传输的设备的成本。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的一种基于颜色光的数据传输方法的流程示意图;
图2是本发明实施例提供的另一种基于颜色光的数据传输方法的流程示意图;
图3是本发明实施例提供的一种基于颜色光的数据传输装置的结构示意图;
图4是本发明实施例提供的一种发送端设备的结构示意图;
图5是本发明实施例提供的另一种基于颜色光的数据传输装置的结构示意图;
图6是本发明实施例提供的一种接收端设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<第一方法实施例>
本发明实施例提供了一种基于颜色光的数据传输方法,该方法由设置有发光器的发送端设备实施。
在一个实施例中,发光器可以为RGB发光器,例如RGB LED,也可以为RGY发光器,当然也可以为RGBW发光器等。同时,发送端设备可以为各种电子设备,例如家庭物联网中的空调。需要说明的是,本发明实施例对发光器与发送端设备的具体形式不做限定。
一些实施例中,本发明实施例提供的基于颜色光的数据传输方法如图1所示,包括如下S101和S102:
S101、定向发送第一颜色光信号;其中,第一颜色光信号包括用于指示第一颜色光编码规则的组合颜色光。
在本实施例中,第一颜色光编码规则指的是,将待传输数据编码为颜色光信号的规则。其中,待传输数据可以为二进制数据,当然还可以为八进制数据,对此本实施例不做限定。
一些实施例中,“定向”可通过设置发送端设备中发光器的方位来实现。“定向”的目的为使得发送端设备所发送的任一颜色光信号可被相配对的接收端设备接收到。基于此可知,可将该“定向”设置为顺着沿直线传播的方向,朝向于接收端设备的感光器的方向。又例如,可将该“定向”设置为经过反射之后,朝向于接收端设备的感光器的方向。
在一个实施例中,当待传输数据为二进制数据时,第一颜色光信号中依次包括至少一组预设组合颜色光及用于表征开始传输数据的第三颜色光(可以理解的是,这里的第三颜色光也用于表征第一颜色光编码规则传输完毕),其中,预设组合颜色光包括M个第一步长的第一颜色光、N个第二步长的第二颜色光,M和N为预设的参数且为正整数。第一步长用于表征二进制数码中的一位第一数码对应的时长,第二步长用于表征二进制数码中一位第二数码对应的时长。
基于此,一些实施例中,上述S101中的定向发送第一颜色光信号具体可以包括如下S1011和S1012:
S1011、依序执行P次定向发送操作。
其中,P为正整数,且定向发送操作包括:依次定向发送M个第一步长的第一颜色光、N个第二步长的第二颜色光;其中,M和N为预设的参数且为正整数,第一步长用于表征二进制数码中的一位第一数码对应的时长,第二步长用于表征二级制数码中一位第二数码对应的时长。
在本实施例中,P可根据实际需求设置。
S1012、定向发送用于表征开始传输待传输数据的第三颜色光。
在本实施例中,第一颜色光、第二颜色光以及第三颜色光分别对应的颜色不同。
在一个例子中,当发光器为RGB发光器时,第一颜色光可以为R光,第二颜色光可以为G光,第三颜色光可以为B光。
在另一个例子中,当发光器为RGBW发光器时,第一颜色光可以为R光,第二颜色光可以为G光,第三颜色光可以为B光或W光中任一个,或第三颜色光还可以为B光和W光的组合信号。
在本实施例中,对第三颜色光信号的时长不做限定。
另外,在一个例子中,第一数码可以为二进制的数码“1”,第二数码为二进制的数码“0”。或者,第一数码可以为二进制的数码“0”,第二数码为二进制的数码“1”。
在一个例子中,第一步长可以为1s,第二步长为2s,M、N均为3。此外,第三颜色光的时长为3s。基于该例子,当第一颜色光信号中包括一组预设组合颜色光时,第一颜色光信号的表现形式可以为:3s的第一颜色光、6s的第二颜色光及3s的第三颜色光。
当第一颜色光信号中包括两组预设的组合颜色光时,第一颜色光信号的表现形式可以为:3s的第一颜色光、6s的第二颜色光、3s的第一颜色光、6s的第二颜色光及3s的第三颜色光。
基于上述对S101的说明可知,上述的S101可以被理解为一个握手过程,上述S101被理解的握手过程用于告知与发送端相配对的接收端设备,自身对待传输数据进行颜色光编码的第一颜色光编码规则。
S102、根据第一颜色光编码规则对待传输数据进行编码,以得到第二颜色光信号;待传输数据中至少包含待传输的目标数据。
在本实施例中,上述的目标数据指的是实际要传输至接收端设备的待传输数据。例如,当发送端设备为家庭物联网中的空调时,目标数据可以为控制作为接收端设备的电动窗关窗的数据。
在一个实施例中,在待传输数据为二进制数据时,上述S102的具体实现方式为:对于二进制的数据中的每一位数据,如果为二进制数码中的第一数码,将该第一数码编码为1个第一步长的第一颜色光,如果为二进制数码中的第二数码,将该第二数码编码为1个第二步长的第二颜色光。
在一个具体的例子中,当第一数码为数码“1”、第二数码为数码“0”、第一步长为1s,第二步长为2s及目标数据为“101100”时,发送端设备编码得到的第二颜色光信号为:1s的第一颜色光、2s的第二颜色光、2s的第一颜色光、4s的第二颜色光。
S103、定向发送第二颜色光信号。
在一个实施例中,当执行完上述S103后,可发送用于表征待传输数据传输完毕的第六颜色光信号。这样,可使得接收端设备及时的获知待传输数据已经传输完毕,以将自身的感光器关闭,进而使得接收端设备达到节能的目的。其中,第六颜色光与第三颜色光对应的颜色可相同,也可不相同。且本发明实施例对第六颜色光对应的时长不作限定。需要说明的是,第六颜色光与第一颜色光以及第二颜色光分别对应的颜色互不相同。
本发明实施例提供了一种基于颜色光的数据传输方法,首先定向发送第一颜色光信号;然后根据第一颜色光编码规则对至少包含待传输的目标数据的待传输数据进行编码,以得到第二颜色光信号;最后定向发送第二颜色光信号。由于本发明实施例是定向向对应的接收端设备的感光器发送根据第一颜色光编码得到的对应于目标数据的第二颜色光信号,这使得其他的设备并不会接收到发送端设备所发送的颜色光信号,进而避免了发送端设备所发送的颜色光信号被篡改的可能性,使得接收端设备能够接收到准确的由发送端设备所发送的颜色光信号,进而得到准确的目标数据。同时本实施例在数据传输过程中并没有使用成本高的无线模块,从而降低了实现数据传输的设备的成本。
在一个实施例中,上述S102中的目标数据可以为未被加密的数据,目标数据也可以为被某一加密算法加密的数据。
在目标数据为被某一加密算法加密的数据时,本实施例提供了如下三种告知接收端设备目标数据对应的加密算法的方式:
方式一:将上述的某一加密算法记为第一加密算法。即上述S102中的目标数据为利用第一加密算法加密后的数据。在该种方式中,待传输数据包括目标数据、与第一加密算法对应的预设长度的第一标识数据。基于此,可将待传输数据中前预设长度的数据,或后预设长度的数据作为第一标识数据,将待传输数据中剩余的数据作为目标数据。
在一个例子中,当待传输数据为“01101100”,且预设长度为2时,则“01”表示的是第一标识数据,而“01”后的“101100”为被第一标识数据所对应的第一加密算法加密的目标数据。或者,“011011”为被第一标识数据所对应的第一加密算法加密的目标数据,“00”表示第一标识数据。
需要说明的是,第一标识数据具体为待传输数据中的前预设长度的数据还是后预设长度的数据,这可提前进行约定。
方式二:将上述的某一加密算法记为第二加密算法。即上述S102中的目标数据为利用第二加密算法加密后的数据。在该种方式中,本实施例提供的基于颜色光的数据传输方法在上述S103之前,还包括如下S1031和S1032:
S1031、根据第一颜色光编码规则,对第二加密算法所对应的第二标识数据进行编码,以得到第三颜色光信号,并定向发送第三颜色光信号。
需要说明的是,上述S1031的具体实现与上述S102的具体实现方式相同,这里不再赘述。
S1032、定向发送用于表征第二标识数据传输完毕的第四颜色光。
在本实施例中,第四颜色光与第三颜色光对应的颜色可相同,也可不相同。且本发明实施例对第四颜色光对应的时长不作限定。需要说明的是,第四颜色光与第一颜色光以及第二颜色光分别对应的颜色互不相同。
基于上述对S1032的说明可知,上述的S1032可以被理解为另一个握手过程,上述S1032被理解的握手过程用于告知与发送端相配对的接收端设备,自身已经将第二标识数据传输完毕。
需要说明的是,在本方式中无需对第二标识数据的长度进行限定。另外,上述S1032中的“定向”与上述S101中“定向”的说明相同。
方式三:将上述的某一加密算法记为第二加密算法。即上述S102中的目标数据为利用第二加密算法加密后的数据。在该种方式中,本实施例提供的基于颜色光的数据传输方法在上述S103之后,还包括如下S1033和S1034:
S1033、定向发送用于表征第二标识数据开始传输的第五颜色光。
在本实施例中,第五颜色光与第三颜色光对应的颜色可相同,也可不相同。且本发明实施例对第五颜色光对应的时长不作限定。需要说明的是,第五颜色光与第一颜色光以及第二颜色光分别对应的颜色互不相同。另外,上述S1033中的“定向”与上述S101中“定向”的说明相同。
基于上述对S1033的说明可知,上述的S1033可以被理解为另一个握手过程,上述S1033被理解的握手过程用于告知与发送端相配对的接收端设备,自身准备开始传输第二标识数据。
S1034、根据第一颜色光编码规则,对第二加密算法所对应的第二标识数据进行编码,以得到第四颜色光信号,并发送第四颜色光信号。
需要说明的是,上述S1034的具体实现与上述S102的具体实现方式相同,这里不再赘述。
需要说明的是,上述的第一加密算法和第二加密算法可相同,也可不相同。另外,在本方式中无需对第二标识数据的长度进行限定。
在本实施例中,发送端设备预先存储有加密算法与对应标识数据之间的映射关系。基于此,可从该映射关系中选取出第一加密算法,以及对应的第一标识数据。并利用选取出的第一加密算法进行加密操作得到目标数据。或者,可从该映射关系中选取出第二加密算法,以及对应的第二标识数据。并利用选取出的第二加密算法进行加密操作得到目标数据。
在上述三种方式中,目标数据可以为被某一加密算法加密后的数据,这提高了本实施例提供的基于颜色光的数据传输方法的安全性。
<第二方法实施例>
本发明实施例提供了一种基于颜色光的数据传输方法,该方法由设置有感光器的接收端设备实施。
在一个实施例中,感光器可以为RGB感光器,也可以为RGY感光器,当然也可以为RGBW感光器等。例如颜色传感器,或者Camera。同时,接收端设备可以为各种电子设备。例如家庭物联网中的电动窗。需要说明的是,本发明实施例对感光器与接收端设备的具体表现形式不做限定。
在一个实施例中,本实施例中涉及的接收端设备可以为与上述如图1所示实施例中涉及到的发送端设备配对使用,也可以与其他基于颜色光的数据传输方法的发送端设备配对使用。可以理解的是,上述如图1所示实施例中涉及到的发送端设备,以及其他基于颜色光的数据传输方法的发送端设备之间的区别在于,M、N具体取值不同,和/或第一颜色光、第二颜色光、第三颜色光、第四颜色光、第五颜色光对应的颜色不同,和/或第一加密算法对应的具体加密算法不同,和/或第二加密算法对应的具体加密算法不同。
本发明实施例提供的一种基于颜色光的数据传输方法如图2所示,包括如下S201-S202:
S201、解析定向接收到的第一外界颜色光信号,以得到第二颜色光编码规则。
在本实施例中,“定向”可通过设置接收端设备中感光器的方位来实现。“定向”的目的为使得接收端设备所接收的任一颜色光信号,是由与接收端设备相配对的发送端设备所发送的。基于此可知,可将该“定向”设置为顺着沿直线传播的方向,朝向于发送端设备的发光器的方向。又例如,可将该“定向”设置为经过反射之后,朝向于发送端设备的发光器的方向。
在本实施例中,接收端设备可根据第一预先存储的信息,识别出接收到的外界颜色光信号中,哪些是对应于第二颜色光编码规则的第一外界颜色光信号,哪些是对应于至少包含第一目标数据的颜色光信号。
基于上述内容,在一个实施例中,当传输数据为二进制数码,接收到的第一外界颜色光信号中包括:至少一组由第一外界颜色光和第二外界颜色光组成的组合颜色光,以及第三外界颜色光时,本实施例提供的基于颜色光的数据传输方法还包括如下述S2011和2012:
S2011、在首次定向接收到第三外界颜色光时,确定已定向接收到的外界颜色光信号为第一外界颜色光信号。
在本实施例中,上述的第一预先存储的信息指的是首次接收到表征第一外界颜色光信号传输完毕,或表征开始传输数据的第三外界颜色光时,将第三颜色光之前的颜色光信号识别为第一外界颜色光信号。
S2012、将第一外界颜色光信号之外的外界颜色光信号,确定为第二外界颜色光信号。
在本实施例中,第一外界颜色光、第二外界颜色光、第三外界颜色光对应的颜色互不相同。在一个例子中,第一外界颜色光可以为R光,第二外界颜色光可以为G光,第三外界颜色光可以为B光。
进一步的,在接收端设备识别出第一外界颜色光信号后,还可基于第二预先存储的信息,解析得到第二颜色光编码规则。基于此,在上述S2011和S2012所示实施例的基础上,本实施例提供的基于颜色光的数据传输方法还包括如下S2013和S2014:
S2013、对于第一外界颜色光信号中,将持续时长最长的第一外界颜色光的时长与X的比值,确定为第三步长;将持续时长最长的第二外界颜色光的时长与Y的比值,确定为第四步长;其中,X和Y为预设的参数且为正整数,第三步长用于表征二进制数码中的一位第一数码对应的时长,第四步长用于表征二级制数码中一位第二数码对应的时长。
在本实施例中,上述的第二预先存储的信息指的是时长最长的第一外界颜色光代表X个第三步长,以及第一外界颜色光对应于第一数码。时长最长的第二外界颜色光代表Y个第四步长,以及第二外界颜色光对应于第二数据。
在本实施例中,在一个例子中,当发送端设备定向发送的第一外界颜色光信号中包括一组组合颜色光时,将第一外界颜色光信号中的第一外界颜色光作为时长最长的第一外界颜色光,将第一外界颜色光信号中第二外界颜色光作为时长最长的第二外界颜色光。
在本实施例中,当接收端设备没有接收到第一外界颜色光信号中的第一组组合颜色光时,即没有接收到完整的第一外界颜色光信号时,仍可以得到完整的第一外界颜色光和第二外界颜色光。进一步的,得到准确的第三步长和第四步长。
S2014、将第三步长与第一外界颜色光的映射关系,第四步长与第四颜色光的映射关系,作为第二颜色光编码规则。
基于上述S2014,便可获知一位第一数码对应的时长,一位第二数据对应的时长。进一步的,在接收到传输数据对应的颜色光信号时,可根据该第三步长和第四步长对传输数据对应的颜色光信号进行切割,以得到传输数据。
S202、根据第二颜色光编码规则,解析定向接收到的第二外界颜色光信号,以得到传输数据;第二外界颜色光信号中至少包括第一目标数据的颜色光信号。
在本实施例中,传输数据即为对应的接收端设备发送的待传输数据。
在一个实施例中,上述S202的具体实现为:
S2021、针对第二外界颜色光信号中连续的第一外界颜色光,计算连续的第一外界颜色光的时长与第三步长的第一比值,将第一比值解码为对应个数的二级制中的第一数码。
S2022、针对第二外界颜色光信号中连续的第二外界颜色光,计算连续的第二外界颜色光的时长与第四步长的第二比值,将第二比值解码为对应个数的二级制中的第二数码。
在一个例子中,当基于上述内容计算得到第三步长为1s,第四步长为2s,同时,第一数码为数码“1”,第二数码为数码“0”,且当第一外界颜色光信号之后接收到的第二外界颜色光信号为:1s的第一外界颜色光、2s的第二外界颜色光、2s的第一外界颜色光、4s的第二外界颜色光时,执行上述S202可以解析得到101100的传输数据。
需要说明的是,在接收端设备与上述如图1所示实施例涉及到的发送端配对使用时,上述的第二颜色光编码规则即为上述的第一颜色光编码规则,上述的第一外界颜色光信号即为上述的第一颜色光信号,上述的第一目标数据,即为上述的目标数据。上述的第一外界颜色光就为上述的第一颜色光。上述的第二外界颜色光即为第二颜色光。上述的第三外界颜色光即上述的第三颜色光。上述的第三步长即为上述的第一步长。上述的第四步长即为上述的第二步长。上述的X、Y即分别为上述的M、N。
在本实施例中,接收端设备能够对发送端设备发送的不会被篡改的颜色光信号进行解析,准确得到发送端设备传输至接收端设备的第一目标数据。同时本实施例在数据传输过程中并没有使用成本高的无线模块,从而降低了实现数据传输的设备的成本。
另外需要说明的是,当接收端设备接收到第一目标数据后,接收端设备向与之配对的发送端设备反馈数据时,接收端设备此时被切换为新的发送端设备,对应的,与接收端设备相配对的发送端设备被切换为新的接收端设备。此时,新的发送端设备需要重新执行如上述第一方法实施例提供的发送端设备所执行的方法,以校准新的接收端设备。
在一个实施例中,接收端设备可基于第三预先存储的信息,获知第一目标数据是否为加密数据,以及当为加密数据时,获知对应的加密算法。基于此,本实施例提供的基于颜色数据的传输方法还包括如下S2031和S2032:
S2031、将解码得到的传输数据中前第一预设长度或后第一预设长度的数据,确定为第三标识数据。
在本实施例中,第三预先存储的信息为解析得到的传输数据中前第一预设长度的数据,或者后第一预设长度的数据表征第三标识数据。其中,第三标识数据为对第一目标加密数据加密的第三加密算法所对应的标识数据。
S2032、根据第三标识数据对应的解密算法,解密第一目标数据。
在本实施例中,接收端设备预先存储有不同加密标识数据对应的解密算法的映射关系。
在一个例子中,当传输数据为“01101100”,且第一预设长度为2时,则“01”表示的是第三加密标识数据,而“01”后的“101100”为加密的第一目标数据。基于此,确定“01”对应的解密算法,然后利用“01”对应的解密算法,对第一目标数据进行解密。
需要说明的是,在本实施例中,在接收端设备与上述如图1所示实施例涉及到的发送端配对使用时,上述的第三标识数据即为上述的第一标识数据。上述的第三加密算法即为上述的第一加密算法。
在本实施例中,接收端设备预先存储有不同加密标识数据对应的解密算法的映射关系。
在一个实施例中,接收端设备可基于第四预先存储的信息,获知第一目标数据是否为加密数据,以及当为加密数据时,获知对应的加密算法。基于此,本实施例提供的基于颜色数据的传输方法还包括如下步骤:
S2041、第二外界颜色光信号中包含第四外界颜色光,将解码得到的传输数据中,与第二外界颜色光信号中的第四外界颜色光之前的外界颜色光信号所对应的传输数据,确定为第四标识数据;或者,第二外界颜色光信号中包含第五外界颜色光,将解码得到的传输数据中,与第二外界颜色光信号中的第五颜色光之后的外界颜色光信号所对应的传输数据,确定为第四标识数据。
S2042、根据第四标识数据对应的解密算法,解密第一目标数据。
在本实施例中,第四预先存储的信息为:在接收到第四外界颜色光时,将第四外界颜色光之前的外界颜色光信号所对应的传输数据,确定为第四标识数据。或者,在接收到第五外界颜色光时,将第五外界颜色光之后的外界颜色光信号所对应的传输数据,确定为第五标识数据。
需要说明的是,在本实施例中,在接收端设备与上述如图1所示实施例涉及到的发送端配对使用时,上述的第四外界颜色光即上述的第四颜色光,上述的第五外界颜色光即上述的第五颜色光。上述的第四标识数据即为上述的第一标识数据。上述的第四加密算法即为上述的第二加密算法。上述的第五标识数据即为上述的第二标识数据。上述的第五加密算法即为上述的第二加密算法。
在本实施例中,接收端设备预先存储有不同加密标识数据对应的解密算法的映射关系。
<基于颜色光的数据传输装置一>
如图3所示,本发明实施例提供一种基于颜色光的数据传输装置30,该装置30为设置有发光器的发送端设备,或者为设置有发光器的发送端设备中的中的硬件模块和/或软件模块。该装置30包括第一发送模块31、编码模块32以及第二发送模块33,其中:
第一发送模块31,用于通过发光器定向发送第一颜色光信号,所述第一颜色光信号包括用于指示第一颜色光编码规则的组合颜色光;
编码模块32,用于根据所述第一颜色光编码规则对待传输数据进行编码,以得到第二颜色光信号;所述待传输数据中至少包含待传输的目标数据;
第二发送模块33,用于通过发光器定向发送所述第二颜色光信号。
在一个实施例中,第一发送模块31具体用于:
依序执行P次通过发光器定向发送操作,其中P为正整数;
所述定向发送操作包括:依次通过发光器定向发送M个第一步长的第一颜色光、N个第二步长的第二颜色光;其中,M和N为预设的参数且为正整数,所述第一步长用于表征二进制数码中的一位第一数码对应的时长,所述第二步长用于表征二级制数码中一位第二数码对应的时长;
通过发光器定向发送用于表征开始传输待传输数据的第三颜色光。
在一个实施例中,编码模块32具体用于:
对于二进制的待传输数据中的每一位数码,如果为第一数码,将所述数码编码为1个第一步长的第一颜色光;如果为第二数码,将所述数码编码为1个第二步长的第二颜色光。
在一个实施例中,所述目标数据为利用第一加密算法加密后的数据,所述待传输数据包括所述目标数据、与所述第一加密算法对应的预设长度的第一标识数据。
在一个实施例中,编码模块32还用于:
根据所述第一颜色光编码规则,对所述第二加密算法所对应的第二标识数据进行编码,以得到第三颜色光信号,并通过发光器定向发送所述第三颜色光信号;
第二发送模块33还用于:通过发光器定向发送用于表征所述第二标识数据传输完毕的第四颜色光;
或者,
第二发送模块33还用于:通过发光器定向发送用于表征所述第二标识数据开始传输的第五颜色光;
编码模块32还用于:根据所述第一颜色光编码规则,对所述第二加密算法所对应的第二标识数据进行编码,以得到第四颜色光信号,并通过发光器定向发送所述第四颜色光信号。
<发送端设备>
如图4所示,本发明实施例提供一种发送端设备40,该发送端设备40设置有发光器,且包括:存储器41以及处理器42。其中:
存储器41,用于存储可执行指令。
处理器42,用于根据可执行指令的,运行设置有发光器的发送端设备以执行如上述第一方法实施例提供的基于颜色光的数据传输方法。
在一个实施例中,发光器可以为RGB发光器,例如RGB LED,也可以为RGY发光器,当然也可以为RGBW发光器等。同时,发送端设备可以为各种电子设备,例如家庭物联网中的空调。需要说明的是,本发明实施例对发光器与发送端设备的具体表现形式不做限定。
<计算机可读存储介质一>
在本实施例中,还提供一种计算机存储介质,该存储介质存储有计算机指令,当存储介质中的计算机指令由处理器执行时,可实现上述第一方法实施例提供的任一种基于颜色光的数据传输方法。
<基于颜色光的数据传输装置二>
如图5所示,本发明实施例提供一种基于颜色光的数据传输装置50,该装置50为设置有感光器的接收端设备,或者为设置有感光器的接收端设备中的中的硬件模块和/或软件模块。该装置50包括解析模块51、解码模块52,其中:
解析模块51,用于解析通过感光器定向接收到的第一外界颜色光信号,以得到第二颜色光编码规则;
解码模块52,用于根据所述第二颜色光编码规则,解码定向接收到的第二外界颜色光信号,以得到传输数据;所述传输数据中至少包括第一目标数据。
在一个实施例中,在所述传输数据为二进制数码时,所述第一外界颜色光信号中包括:至少一组由第一外界颜色光和第二外界颜色光组成的组合颜色光,以及第三外界颜色光时,本发明实施例中的基于颜色光的数据传输装置50还包括识别模块,其中:
识别模块,用于在首次通过感光器定向接收到第三外界颜色光时,确定已定向接收到的外界颜色光信号为第一外界颜色光信号;
将所述第一外界颜色光信号之外的外界颜色光信号,确定为第二外界颜色光信号。
在一个实施例中,解析模块51具体用于:对于所述第一外界颜色光信号中,将持续时长最长的第一外界颜色光的时长与X的比值,确定为第三步长;将持续时长最长的第二外界颜色光的时长与Y的比值,确定为第四步长;其中,X和Y为预设的参数且为正整数,所述第三步长用于表征二进制数码中的一位第一数码对应的时长,所述第四步长用于表征二级制数码中一位第二数码对应的时长;
将所述第三步长与第一外界颜色光的映射关系,所述第四步长与第四颜色光的映射关系,作为所述第二颜色光编码规则。
在一个实施例中,解码模块52具体用于:
针对所述第二外界颜色光信号中连续的第一外界颜色光,计算所述连续的第一外界颜色光的时长与所述第三步长的第一比值,将所述第一比值解码为对应个数的二级制中的第一数码;
针对所述第二外界颜色光信号中连续的第二外界颜色光,计算所述连续的第二外界颜色光的时长与所述第四步长的第二比值,将所述第二比值解码为对应个数的二级制中的第二数码。
在一个实施例中,所述传输数据中还包括对第一目标数据加密的第三加密算法所对应的第三标识数据,本发明实施例中的基于颜色光的数据传输装置50还包括第一解密模块,其中:
第一解密模块,用于将解码得到的所述传输数据中前第一预设长度或后第一预设长度的数据,确定为第三标识数据;
根据所述第三标识数据对应的解密算法,解密所述第一目标数据。
在一个实施例中,所述传输数据中还包括对第一目标数据加密的第四加密算法所对应的第四标识数据,本发明实施例中的基于颜色光的数据传输装置50还包括第二解密模块,其中:
第二解密模块,所述第二外界颜色光信号中包含第四外界颜色光,用于将解码得到的所述传输数据中,与所述第二外界颜色光信号中的所述第四外界颜色光之前的外界颜色光信号所对应的传输数据,确定为第四标识数据;或者,
所述第二外界颜色光信号中包含第五外界颜色光,将解码得到的所述传输数据中,与所述第二外界颜色光信号中的所述第五颜色光之后的外界颜色光信号所对应的传输数据,确定为第四标识数据;
根据所述第四标识数据对应的解密算法,解密所述第一目标数据。
<设置有感光器的接收端设备>
如图6所示,本发明实施例还提供一种设置有感光器的接收端设备60,包括:存储器61以及处理器62。其中:
存储器61,用于存储可执行指令。
处理器62,用于根据可执行指令,运行设置有感光器的接收端设备以执行如上述第二方法实施例提供的基于颜色光的数据传输方法。
在一个实施例中,感光器可以为RGB感光器,也可以为RGY感光器,当然也可以为RGBW感光器等。例如颜色传感器,或者Camera。同时,接收端设备可以为各种电子设备。例如家庭物联网中的电动窗。需要说明的是,本发明实施例对感光器与接收端设备的具体表现形式不做限定。
<计算机可读存储介质二>
在本实施例中,还提供一种计算机存储介质,该存储介质存储有计算机指令,当存储介质中的计算机指令由处理器执行时,可实现上述第二方法实施例提供的任一种基于颜色光的数据传输方法。
<系统>
本发明实施例还提供基于颜色光的数据传输系统,该系统包括:如图4所示的发送端设备,以及如图6所示的接收端设备。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。