本发明属于无线通信,具体为,提供基于无线通信实现设备同步播放声音的方法和装置。
背景技术:
1、现在无线通信是手机硬件支持的标配,利用手机可以在无控制器和无网络环境下进行少量数据的传输。在很多领域会集成无线通信的功能在硬件设备上,例如,消防的烟雾传感器、水电无线抄表、无线自拍杆等等。现有的ble(低功耗无线通信技术)无线通信技术主要是通过在主机和从机两设备之间建立无线传输通道,主机和从机通过无线传输通道相互传输数据。
2、通过无线通信在主机和从机之间建立的无线传输通道,会因为外界的干扰导致主机和从机之间的链接断开,之后需要重新建立链接,主机和从机之间的链接不稳定,影响数据稳定的传输。
技术实现思路
1、本发明的目的在于提供一种基于无线通信实现设备同步播放声音的方法, 不需要建立数据传输的链接通道,通过帧头数据、序列号就可以识别数据,就可以实现数据的稳定传输。
2、为了实现上述目的,本技术提供如下技术方案:
3、基于无线通信实现设备同步播放声音的方法,设备之间采用无线通信的方式传输数据,包括步骤:
4、第一设备和第二设备通过无线通信的的方式传递配对数据进行配对,包括:
5、所述第一设备发送第一配对数据,所述第一配对数据内携带有帧头数据;所述第二设备通过扫描来接收所述第一配对数据,对所述第一配对数据进行解析得到的数据中包括帧头数据;
6、所述第二设备发送第二配对数据,所述第二配对数据内携带有帧头数据;所述第一设备通过扫描来接收所述第二配对数据,对所述第二配对数据进行解析得到的数据中包括帧头数据;
7、如果从所述第一配对数据解析得到的帧头数据和从所述第二配对数据解析得到的帧头数据一致,则所述第一设备和所述第二设备配对成功;
8、在所述第一设备和所述第二设备配对成功之后,发送和接收数据,包括:
9、在所述第二设备发送的数据内加入帧头数据和序列号;
10、所述第二设备以预定的时间间隔发送加密数据;所述第一设备扫描获取所述加密数据,所述第一设备以密钥对所述加密数据进行解析,并通过crc对解析得到的数据进行校验,并获取所述加密数据内的序列号;
11、所述第一设备判断接收的所述加密数据里面是否包括所述帧头数据;
12、如果接收的所述加密数据里面不包括所述帧头数据,则所述第一设备将接收的所述加密数据过滤掉;
13、如果接收的所述加密数据里面包括所述帧头数据,则进一步判断所述第一设备是否已经记录所述加密数据内的序列号;如果所述第一设备已经记录所述加密数据内的序列号,则表示数据重复,所述第一设备将所述加密数据过滤掉;
14、否则,所述第一设备接收的所述加密数据是有效数据;所述第一设备记录所述加密数据内的序列号,并接收所述加密数据;
15、所述第一设备和所述第二设备实现同步播放声音,包括:
16、步骤s31:第一设备向第二设备发送播放命令;所述播放命令表示第一设备从0毫秒开始计时,计时到n毫秒后播放声音;
17、步骤s32:第二设备收到第一设备的播放命令,第二设备开始从0毫秒开始计时,并回复第一设备;
18、步骤s33:第一设备收到第二设备的回复,此时第一设备的计时的时间已经从0毫秒累计到了n1毫秒,则第一设备向第二设备发送数据的第一时间延迟是n1毫秒;
19、判断第一时间延迟是否大于第一预设时间延迟,如果第一时间延迟大于第一预设时间延迟,则重新从步骤s31开始执行;
20、否则,第一设备把n1毫秒的第一时间延迟回复给第二设备设备;
21、步骤s34:第二设备收到第一设备回复的第一时间延迟数据n1毫秒;此时,第二设备的计时时间从0毫秒累计到n2毫秒,则确定第一设备回复第二设备的第二时间延迟是n2毫秒;
22、判断第二时间延迟是否大于第二预设时间延迟,如果第二时间延迟大于第二预设时间延迟,则重新从步骤s31开始执行;
23、否则,对于第二设备,在计时到n毫秒减去n2毫秒后播放声音。
24、优选的,配对成功的所述第一设备和所述第二设备同时按照预定的时间间隔发送所述加密数据,所述第一设备扫描数据以获取所述第二设备发送的所述加密数据和所述第二设备扫描数据以获取所述第一设备发送的所述加密数据时会自动过滤掉自身发送的数据。
25、优选的,所述第一设备和所述第二设备同时按照预定的时间间隔发送所述加密数据,所述预定的时间间隔为10ms;
26、对数据加密的方法是,所述第一设备和所述第二设备分别采用密钥对需要发送的数据原文进行加密,以得到加密数据。
27、优选的,所述第一设备扫描数据以获取所述第二设备发送的所述加密数据和所述第二设备扫描数据以获取所述第一设备发送的所述加密数据时会自动过滤掉自身发送的数据,具体为:
28、采用的无线通信方式是2.4g无线通信;协议栈会根据每个设备的mac地址确定是否为自己或其他设备,当为设备自身时,所述第一设备、所述第二设备据此过滤掉自身发送的数据。
29、优选的,所述第一设备扫描获取所述加密数据,所述第一设备以密钥对所述加密数据进行解析,并通过crc对解析得到的数据进行校验,并获取所述加密数据内的序列号,其中,以密钥对所述加密数据进行解析,具体为:
30、所述第二设备以密钥对数据原文进行加密得到加密数据,所述第一设备获取所述加密数据之后,所述第一设备以所述第二设备对数据加密时的密钥对所述加密数据进行解析,以得到数据原文。
31、优选的,所述第一设备扫描获取所述加密数据,所述第一设备以密钥对所述加密数据进行解析,并通过crc对解析得到的数据进行校验,并获取所述加密数据内的序列号,其中,获取所述加密数据内的序列号,具体为:
32、发送的所述加密数据内均携带有一个对应的序列号,所述第一设备在解析所述加密数据之后,得到帧头数据、数据原文和对应的序列号。
33、另一方面,基于无线通信实现设备同步播放声音的装置,设备之间采用无线通信的方式传输数据,包括:
34、设备配对模块,用于实现所述第一设备发送第一配对数据,所述第一配对数据内携带有帧头数据;所述第二设备通过扫描来接收所述第一配对数据,对所述第一配对数据进行解析得到的数据中包括帧头数据;
35、所述第二设备发送第二配对数据,所述第二配对数据内携带有帧头数据;所述第一设备通过扫描来接收所述第二配对数据,对所述第二配对数据进行解析得到的数据中包括帧头数据;
36、如果从所述第一配对数据解析得到的帧头数据和从所述第二配对数据解析得到的帧头数据一致,则所述第一设备和所述第二设备配对成功;
37、数据接收和解析模块,用于实现在所述第一设备和所述第二设备配对成功之后,发送和接收数据,包括:
38、在所述第二设备发送的数据内加入帧头数据和序列号;
39、所述第二设备以预定的时间间隔发送加密数据;所述第一设备扫描获取所述加密数据,所述第一设备以密钥对所述加密数据进行解析,并通过crc对解析得到的数据进行校验,并获取所述加密数据内的序列号;
40、所述第一设备判断接收的所述加密数据里面是否包括所述帧头数据;
41、如果接收的所述加密数据里面不包括所述帧头数据,则所述第一设备将接收的所述加密数据过滤掉;
42、如果接收的所述加密数据里面包括所述帧头数据,则进一步判断所述第一设备是否已经记录所述加密数据内的序列号;如果所述第一设备已经记录所述加密数据内的序列号,则表示数据重复,所述第一设备将所述加密数据过滤掉;
43、否则,所述第一设备接收的所述加密数据是有效数据;所述第一设备记录所述加密数据内的序列号,并接收所述加密数据;
44、同步播放模块,用于实现所述第一设备和所述第二设备同步播放声音,包括:步骤s31:第一设备向第二设备发送播放命令;所述播放命令表示第一设备从0毫秒开始计时,计时到n毫秒后播放声音;
45、步骤s32:第二设备收到第一设备的播放命令,第二设备开始从0毫秒开始计时,并回复第一设备;
46、步骤s33:第一设备收到第二设备的回复,此时第一设备的计时的时间已经从0毫秒累计到了n1毫秒,则第一设备向第二设备发送数据的第一时间延迟是n1毫秒;
47、判断第一时间延迟是否大于第一预设时间延迟,如果第一时间延迟大于第一预设时间延迟,则重新从步骤s31开始执行;
48、否则,第一设备把n1毫秒的第一时间延迟回复给第二设备设备;
49、步骤s34:第二设备收到第一设备回复的第一时间延迟数据n1毫秒;此时,第二设备的计时时间从0毫秒累计到n2毫秒,则确定第一设备回复第二设备的第二时间延迟是n2毫秒;
50、判断第二时间延迟是否大于第二预设时间延迟,如果第二时间延迟大于第二预设时间延迟,则重新从步骤s31开始执行;
51、否则,对于第二设备,在计时到n毫秒减去n2毫秒后播放声音。
52、本发明的有益效果如下:
53、设备之间相互传递数据的格式为“固定帧头+序列号+数据”,两个设备之间在通信时,只需要首次交换固定格式的帧头数据,当两个设备的帧头数据匹配时,这两个设备就可以进行通信了,不需要专门建立链接通道。完全基于2.4g无线通信传输数据,不需要建立数据传输的链接通道,则不存在掉线风险,数据传输的稳定性好。
54、在进行数据传输的过程中,一个设备发送数据,其他的设备扫描发送的数据,在两个设备之间通过帧头数据建立配对之后,以及确定固定的数据传输方式是“固定帧头+序列号+数据”之后,接收数据的设备通过帧头数据、数据的序列号就可以识别数据。