一种通信系统、通信方法及设备与流程
未命名
07-27
阅读:62
评论:0

1.本技术涉及通信技术领域,尤其涉及一种通信系统、通信方法及设备。
背景技术:
2.随着物联网技术的发展,围绕人的各类穿戴设备和智能设备也逐渐增多,如用户可能同时拥有智能手机、平板电脑、电视、音响、耳机、车机、ar/vr设备等等电子设备,这些设备在家庭、办公、交通、娱乐、健身等场景为用户带来智能化服务,提升用户体验。
3.为了向用户提供便利的智能化服务,多个电子设备之间需要交互消息以进行协同工作,则多个电子设备需要连接在一个通信总线上,如多个电子设备连接在同一个无线总线上,该无线总线可以通过wi-fi、蓝牙,zig-bee等无线技术实现。
4.当多个电子设备基于蓝牙广播技术进行通信时,接收方在开启扫描的过程中,发送方发送蓝牙广播数据包,则接收方可以接收到发送方发送的蓝牙广播数据包;而若接收方未开启扫描,则无法接收到任何蓝牙广播数据包。接收方为防止丢包,提高接收到发送方发送的蓝牙广播数据包的概率,需要进行高占空比的扫描。例如若接收方持续扫描,则可以接收到发送方随机发送的蓝牙广播数据包。但是,电子设备开启高占空比的扫描会导致高功耗和资源浪费,进而无法长期维持电子设备的正常工作状态。
5.因此,目前亟需一种高效的通信方法。
技术实现要素:
6.本技术提供一种通信系统、通信方法及设备,用以提高电子设备之间的通信效率。
7.第一方面,本技术提供一种通信系统,该通信系统包括第一电子设备和第二电子设备;
8.所述第一电子设备,用于向所述第二电子设备发送第一指示信息,所述第一指示信息用于指示通信窗口的周期和所述通信窗口的起始时间,所述通信窗口为所述第一电子设备和所述第二电子设备进行广播通信的时间段;在所述通信窗口中发送广播数据包或启动广播扫描;
9.所述第二电子设备,用于接收所述第一电子设备发送的所述第一指示信息,并在所述通信窗口中发送广播数据包或启动广播扫描。
10.基于上述通信系统,第一电子设备可以通过第一指示信息向第二电子设备指示通信窗口的周期和通信窗口的起始时间,从而第一电子设备和第二电子设备可以对齐通信时机,在相同的通信窗口中进行广播扫描或发送广播数据包,避免广播通信中的丢包问题,实现高效、准确的有序通信。同时通过本方案也无需电子设备持续开启广播扫描,节省资源并提高通信效率。
11.在一个可能的设计中,所述第一电子设备还用于:在向所述第二电子设备发送所述第一指示信息之前,接收所述第二电子设备发送的广播数据包,确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信;
12.所述第二电子设备用于:在接收所述第一电子设备发送所述第一指示信息之前,接收所述第一电子设备发送的广播数据包,确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信。
13.通过该设计,第一电子设备和第二电子设备在接收到对方发送的广播数据包后,可以根据接收到的广播数据包确定第一电子设备和第二电子设备是基于相同的通信协议进行通信的,进而保证第一电子设备和第二电子设备可以解析对方发送的广播数据包进而进行通信交互。
14.在一个可能的设计中,所述第一电子设备还用于:在确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信之后,确定所述第一电子设备与所述第二电子设备具有绑定关系;
15.所述第二电子设备还用于:在确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信之后,确定所述第一电子设备与所述第二电子设备具有绑定关系。
16.通过该设计,第一电子设备和第二电子设备可以确定第一电子设备和第二电子设备具有绑定关系,例如,第一电子设备和第二电子设备绑定相同的用户账户、第一电子设备和第二电子设备处于相同区域、第一电子设备和第二电子设备扫描相同的二维码等等。通过该方式,可以将具有绑定关系的电子设备作为一个通信群组,在通信群组内多个电子设备有序通信,以实现多设备之间的协同工作。
17.在一个可能的设计中,所述第一电子设备还用于:获取所述第二电子设备的权重值;
18.根据所述第一电子设备的权重值和所述第二电子设备的权重值确定所述第一电子设备为主设备,所述第二电子设备为从设备;其中,所述第一电子设备的权重值用于表示所述第一电子设备的优先级,所述第二电子设备的权重值用于表示所述第二电子设备的优先级;所述第一电子设备的权重值大于所述第二电子设备的权重值;
19.所述第二电子设备还用于:获取所述第一电子设备的权重值;根据所述第一电子设备的权重值和所述第二电子设备的权重值确定所述第一电子设备为主设备,所述第二电子设备为从设备。
20.通过该设计,第一电子设备和第二电子设备可以获取对方的权重值,以确定自身在通信群组中的角色,如将权重值最大的电子设备作为主设备,其它电子设备作为从设备。从设备可以与主设备进行时钟同步,主设备可以向从设备指示通信窗口的周期和起始时间,以对齐通信窗口实现有序通信。其中,权重值最大的电子设备表示该电子设备的优先级最高,例如为用户在当前场景下最常用的电子设备。
21.在一个可能的设计中,所述第一电子设备还用于:
22.在确定所述第一电子设备为主设备,所述第二电子设备为从设备之后,对所述第二电子设备进行鉴权,确定对所述第二电子设备鉴权通过;
23.所述第二电子设备还用于:在确定所述第一电子设备为主设备,所述第二电子设备为从设备之后,对所述第一电子设备进行鉴权,确定对所述第一电子设备鉴权通过。
24.通过该设计,第一电子设备和第二电子设备在对齐通信窗口之前,在确定第一电子设备为主设备、第二电子设备为从设备之后,第一电子设备和第二电子设备可以进行双向鉴权,在第一电子设备对第二电子设备鉴权通过,且第二电子设备对第一电子设备鉴权
通过后,第一电子设备再向第二电子设备发送第一指示信息,保证通信安全。
25.在一个可能的设计中,所述第二电子设备还用于:在所述通信窗口中发送广播数据包或启动广播扫描之前,确定所述第二电子设备与所述第一电子设备之间的目标时钟差值。
26.通过该设计,第二电子设备可以确定第二电子设备的时钟与第一电子设备的时钟之间的目标时钟差值,进而第二电子设备可以根据该时钟差值实现与第一电子设备的时钟同步,防止第二电子设备与第一电子设备时钟不同步而无法对齐通信时机,保证第一电子设备和第二电子设备可以在相同的通信窗口中进行广播通信。
27.在一个可能的设计中,所述第一电子设备包括上位机和下位机,所述第二电子设备包括上位机和下位机;
28.所述第二电子设备用于:获取第一时钟差值,所述第一时钟差值为所述第一电子设备的下位机与所述第二电子设备的下位机之间的时钟差值;获取第二时钟差值,所述第二时钟差值为所述第一电子设备的上位机与所述第一电子设备的下位机之间的时钟差值;确定第三时钟差值,所述第三时钟差值为所述第二电子设备的上位机与所述第二电子设备的下位机之间的时钟差值;根据所述第一时钟差值、所述第二时钟差值和所述第三时钟差值确定所述目标时钟差值;
29.所述第一电子设备还用于:确定所述第一电子设备的上位机与所述第一电子设备的下位机之间的所述第二时钟差值;将所述第二时钟差值发送给所述第二电子设备。
30.通过该设计,第一电子设备和第二电子设备之间的目标时钟差值可以包括第一电子设备的下位机与第二电子设备的下位机之间的第一时钟差值、第一电子设备的上位机与下位机之间的第二时钟差值以及第二电子设备的上位机和下位机之间的第三时钟差值,第二电子设备可以获取以上三个时钟差值,进而确定目标时钟差值,提高确定出的目标时钟差值的准确性。
31.在一个可能的设计中,所述第一电子设备还用于:向所述第二电子设备发送第一广播数据包,确定所述第一电子设备实际发送所述第一广播数据包的第一时间;向所述第二电子设备发送第二广播数据包,所述第二广播数据包中包括所述第一时间;
32.所述第二电子设备用于:接收所述第一电子设备发送的所述第一广播数据包,记录接收到所述第一广播数据包的第二时间;接收所述第一电子设备发送的所述第二广播数据包,获取所述第二广播数据包中的第一时间;确定所述第一电子设备和所述第二电子设备之间的广播传输时延;根据所述第一时间、所述第二时间和所述广播传输时延确定所述目标时钟差值。
33.通过该设计,第二电子设备还可以根据第一电子设备发送的广播数据包的时间确定目标时钟差值。第二电子设备可以记录接收到第一电子设备发送的第一广播数据包的时间,获取第一电子设备实际发送第一广播数据包的时间,并确定广播数据包在第一电子设备和第二电子设备之间传输的广播传输时延,进而准确确定第一电子设备和第二电子设备之间的目标时钟差值。
34.在一个可能的设计中,所述第一电子设备包括上位机和下位机;所述第一电子设备的上位机具体用于:根据所述通信窗口的周期和所述通信窗口的起始时间确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间触发所述第一电子设备的
下位机开启广播扫描,并在所述广播扫描的结束时间触发所述第一电子设备的下位机关闭广播扫描;根据所述通信窗口的周期和所述通信窗口的起始时间确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间触发所述第一电子设备的下位机发送广播数据包,在所述广播事件的结束时间触发所述第一电子设备的下位机停止发送广播数据包。
35.在一个可能的设计中,所述第一电子设备包括下位机;所述第一电子设备的下位机具体用于:根据所述通信窗口的周期和所述通信窗口的起始时间确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间开启广播扫描,并在所述广播扫描的结束时间关闭广播扫描;根据所述通信窗口的周期和所述通信窗口的起始时间确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间发送广播数据包,在所述广播事件的结束时间停止发送广播数据包。
36.通过以上设计,第一电子设备在通信窗口中开启广播扫描或发送广播数据包时,可以根据以下两种方式控制开启广播扫描或发送广播数据包:一种方式为第一电子设备的上位机在广播扫描或广播事件的起始时间和结束时间,分别触发电子设备的下位机执行相应的处理;另一种方式为第一电子设备的下位机确定广播扫描或广播事件的起始时间和结束时间,并在确定时间到达时执行相应的处理。通过上述两种方式,均可以达到在通信窗口中准确开启广播扫描和/或发送广播数据包,实现有序通信。
37.在一个可能的设计中,所述第一电子设备的下位机还用于:若当前通信窗口中存在优先级高于广播扫描的优先级的业务,则延迟启动本次广播扫描。
38.通过该设计,在第一电子设备的下位机确定广播扫描的起始时间和结束时间,并在确定时间到达时开启广播扫描或关闭广播扫描的方案中,第一电子设备的下位机在某次通信窗口中确定存在优先级高于广播扫描的优先级的业务时,可以延迟本次广播扫描,但本次广播扫描的延后时间并不会影响下一个通信窗口中开启广播扫描的时间,也就是说,下一次开启广播扫描的时间仍为第一电子设备的下位机确定出的下一次广播扫描的起始时间。通过该方案,可以避免存在优先级更高的业务时延迟广播扫描后,延迟时间对所有后续通信窗口中的广播扫描的起始时间产生影响,而导致的无法与其它电子设备对齐通信时机的情况。
39.在一个可能的设计中,所述第二电子设备包括上位机和下位机;所述第二电子设备的上位机具体用于:根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间触发所述第二电子设备的下位机开启广播扫描,并在所述广播扫描的结束时间触发所述第二电子设备的下位机关闭广播扫描;根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间触发所述第二电子设备的下位机发送广播数据包,在所述广播事件的结束时间触发所述第二电子设备的下位机停止发送广播数据包。
40.在一个可能的设计中,所述第二电子设备包括下位机;所述第二电子设备的下位机具体用于:根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间开启广播扫描,并在所述广播扫描的结束时间关闭广播扫描;根据所述通信窗口的周期、所述通信窗口
的起始时间以及所述目标时钟差值确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间发送广播数据包,在所述广播事件的结束时间停止发送广播数据包。
41.通过以上设计,第二电子设备在通信窗口中开启广播扫描或发送广播数据包时,可以根据以下两种方式控制开启广播扫描或发送广播数据包:一种方式为第二电子设备的上位机在广播扫描或广播事件的起始时间和结束时间,分别触发电子设备的下位机执行相应的处理;另二种方式为第一电子设备的下位机确定广播扫描或广播事件的起始时间和结束时间,并在确定时间到达时执行相应的处理。通过上述两种方式,均可以达到在通信窗口中准确开启广播扫描和/或发送广播数据包,实现有序通信。并且,第二电子设备的上位机或下位机在确定广播扫描或广播事件的起始时间和结束时间时,可以根据第二电子设备和第一电子设备之间的目标时钟差值确定广播扫描或广播事件的起始时间和结束时间,保证确定出的广播扫描或广播事件的起始时间和结束时间与第一电子设备确定出的广播扫描或广播事件的起始时间和结束时间一致,实现准确的有序通信。
42.在一个可能的设计中,所述第二电子设备的下位机还用于:若当前通信窗口中存在优先级高于广播扫描的优先级的业务时,则延迟启动本次广播扫描。
43.在一个可能的设计中,目标广播事件的起始时间与所述目标广播时间的上一广播时间的起始时间、所述通信窗口的周期、广播事件的时延满足以下公式,所述目标广播事件为在所述通信窗口中启动的多个广播事件中除首个广播事件之外的任一广播事件:
44.t
adveventnext
=t
adveventprevious-advdelayprevious+advinterval+advdelaynext
45.其中,t
adveventnext
为所述目标广播事件的起始时间,t
adveventprevious
为所述目标广播事件的上一广播事件的起始时间,advdelayprevious为所述目标广播事件的上一广播事件的时延,advinterval为所述通信窗口的周期,advdelaynext为所述目标广播事件的时延。
46.通过该设计,在第一电子设备或第二电子设备的下位机确定广播事件的起始时间和结束时间,并在确定时间到达时发送广播数据包或停止发送广播数据包的方案中,下位机在确定下一个广播事件的起始时间时,可以在当前广播事件的起始时间的基础上,减去当前广播事件的广播时延,再加上通信窗口的周期和下一个广播事件的广播时延,从而在确定广播事件的起始时间时,只考虑该广播事件的广播时延,而不会累加之前的广播事件的广播时延,避免后续的广播事件的起始时间由于不断叠加时延而不断延后,导致广播事件无法与通信窗口对齐的情况,保证广播通信的有序性。
47.在一个可能的设计中,所述第一电子设备的上位机为蓝牙通信协议中的主机,所述第一电子设备的下位机为蓝牙通信协议中的控制器。
48.通过该设计,第一电子设备和第二电子设备可以进行蓝牙广播通信,此时上位机为蓝牙通信协议中的主机,下位机为蓝牙通信协议中的控制器。
49.在一个可能的设计中,所述广播数据包为用于感知其它电子设备的在线状态的心跳包,或所述广播数据包为用于请求与其它电子设备建立通信连接的业务数据包,或所述广播数据包为用于上报传感器事件的业务数据包。
50.通过该设计,第一电子设备和第二电子设备在通信窗口中发送广播数据包时,可以发送多种不同业务的广播数据包,如心跳包,请求建立通信连接的业务数据包、上报传感器事件的业务数据包等等,进而通过广播通信实现多种业务。
51.第二方面,本技术提供一种通信方法,应用于第一电子设备,所述方法包括:
52.向第二电子设备发送第一指示信息,所述第一指示信息用于指示通信窗口的周期和所述通信窗口的起始时间,所述通信窗口为所述第一电子设备和所述第二电子设备进行广播通信的时间段;在所述通信窗口中发送广播数据包或启动广播扫描。
53.在一个可能的设计中,在向所述第二电子设备发送第一指示信息之前,所述方法还包括:接收所述第二电子设备发送的广播数据包,确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信。
54.在一个可能的设计中,在确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信之后,所述方法还包括:确定所述第一电子设备与所述第二电子设备具有绑定关系。
55.在一个可能的设计中,所述方法还包括:获取所述第二电子设备的权重值;根据所述第一电子设备的权重值和所述第二电子设备的权重值确定所述第一电子设备为主设备,所述第二电子设备为从设备;其中,所述第一电子设备的权重值用于表示所述第一电子设备的优先级,所述第二电子设备的权重值用于表示所述第二电子设备的优先级;所述第一电子设备的权重值大于所述第二电子设备的权重值。
56.在一个可能的设计中,在确定所述第一电子设备为主设备,所述第二电子设备为从设备之后,所述方法还包括:对所述第二电子设备进行鉴权,确定对所述第二电子设备鉴权通过。
57.在一个可能的设计中,所述第一电子设备包括上位机和下位机,所述第二电子设备包括上位机和下位机;
58.所述方法还包括:确定所述第一电子设备的上位机与所述第一电子设备的下位机之间的所述第二时钟差值;将所述第二时钟差值发送给所述第二电子设备,以使所述第二电子设备根据第一时钟差值、所述第二时钟差值和第三时钟差值确定所述第二电子设备与所述第一电子设备之间的目标时钟差值;其中,所述第一时钟差值为所述第一电子设备的下位机与所述第二电子设备的下位机之间的时钟差值,所述第三时钟差值为所述第二电子设备的上位机与所述第二电子设备的下位机之间的时钟差值。
59.在一个可能的设计中,所述方法还包括:向所述第二电子设备发送第一广播数据包;
60.确定所述第一电子设备实际发送所述第一广播数据包的第一时间;向所述第二电子设备发送第二广播数据包,所述第二广播数据包中包括所述第一时间,以使所述第二电子设备根据所述第一时间、第二时间和广播传输时延确定所述第二电子设备与所述第一电子设备之间的目标时钟差值;其中,所述第二时间为所述第二电子设备接收到所述第一广播数据包的时间。
61.在一个可能的设计中,所述在所述通信窗口中发送广播数据包或启动广播扫描,包括:根据所述通信窗口的周期和所述通信窗口的起始时间确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间开启广播扫描,并在所述广播扫描的结束时间关闭广播扫描;根据所述通信窗口的周期和所述通信窗口的起始时间确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间发送广播数据包,在所述广播事件的结束时间停止发送广播数据包。
62.在一个可能的设计中,所述方法还包括:若当前通信窗口中存在优先级高于广播扫描的优先级的业务,则延迟启动本次广播扫描。
63.在一个可能的设计中,目标广播事件的起始时间与所述目标广播时间的上一广播时间的起始时间、所述通信窗口的周期、广播事件的时延满足以下公式,所述目标广播事件为在所述通信窗口中启动的多个广播事件中除首个广播事件之外的任一广播事件:
64.t
adveventnext
=t
adveventprevious-advdelayprevious+advinterval+advdelaynext
65.其中,t
adveventnext
为所述目标广播事件的起始时间,t
adveventprevious
为所述目标广播事件的上一广播事件的起始时间,advdelayprevious为所述目标广播事件的上一广播事件的时延,advinterval为所述通信窗口的周期,advdelaynext为所述目标广播事件的时延。
66.在一个可能的设计中,所述第一电子设备的上位机为蓝牙通信协议中的主机,所述第一电子设备的下位机为蓝牙通信协议中的控制器。
67.在一个可能的设计中,所述广播数据包为用于感知其它电子设备的在线状态的心跳包,或所述广播数据包为用于请求与其它电子设备建立通信连接的业务数据包,或所述广播数据包为用于上报传感器事件的业务数据包。
68.第三方面,本技术提供一种通信方法,应用于第二电子设备,所述方法包括:
69.接收第一电子设备发送的第一指示信息,所述第一指示信息用于指示通信窗口的周期和所述通信窗口的起始时间,所述通信窗口为所述第一电子设备和所述第二电子设备进行广播通信的时间段;在所述通信窗口中发送广播数据包或启动广播扫描。
70.在一个可能的设计中,在所述接收第一电子设备发送的第一指示信息之前,所述方法还包括:接收所述第一电子设备发送的广播数据包,确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信。
71.在一个可能的设计中,在所述确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信之后,所述方法还包括:确定所述第一电子设备与所述第二电子设备具有绑定关系。
72.在一个可能的设计中,所述方法还包括:获取所述第一电子设备的权重值;根据所述第一电子设备的权重值和所述第二电子设备的权重值,确定所述第一电子设备为主设备,所述第二电子设备为从设备;其中,所述第一电子设备的权重值用于表示所述第一电子设备的优先级,所述第二电子设备的权重值用于表示所述第二电子设备的优先级;所述第一电子设备的权重值大于所述第二电子设备的权重值。
73.在一个可能的设计中,在所述确定所述第一电子设备为主设备,所述第二电子设备为从设备之后,所述方法还包括:对所述第一电子设备进行鉴权,确定对所述第一电子设备鉴权通过。
74.在一个可能的设计中,在所述通信窗口中发送广播数据包或启动广播扫描之前,所述方法还包括:确定所述第二电子设备与所述第一电子设备之间的目标时钟差值。
75.在一个可能的设计中,所述第一电子设备包括上位机和下位机,所述第二电子设备包括上位机和下位机;所述确定所述第二电子设备与所述第一电子设备之间的目标时钟差值,包括:获取第一时钟差值,所述第一时钟差值为所述第一电子设备的下位机与所述第二电子设备的下位机之间的时钟差值;获取第二时钟差值,所述第二时钟差值为所述第一电子设备的上位机与所述第一电子设备的下位机之间的时钟差值;确定第三时钟差值,所
述第三时钟差值为所述第二电子设备的上位机与所述第二电子设备的下位机之间的时钟差值;根据所述第一时钟差值、所述第二时钟差值和所述第三时钟差值确定所述目标时钟差值。
76.在一个可能的设计中,所述确定所述第二电子设备与所述第一电子设备之间的目标时钟差值,包括:接收所述第一电子设备发送的第一广播数据包,记录接收到所述第一广播数据包的第二时间;接收所述第一电子设备发送的第二广播数据包,获取所述第二广播数据包中的第一时间;所述第一时间为所述第一电子设备实际发送所述第一广播数据包的时间;确定所述第一电子设备和所述第二电子设备之间的广播传输时延;根据所述第一时间、所述第二时间和所述广播传输时延确定所述目标时钟差值。
77.在一个可能的设计中,所述在所述通信窗口中发送广播数据包或启动广播扫描,包括:根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间开启广播扫描,并在所述广播扫描的结束时间关闭广播扫描;根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间发送广播数据包,在所述广播事件的结束时间停止发送广播数据包。
78.在一个可能的设计中,所述方法还包括:若当前通信窗口中存在优先级高于广播扫描的优先级的业务,则延迟启动本次广播扫描。
79.在一个可能的设计中,目标广播事件的起始时间与所述目标广播时间的上一广播时间的起始时间、所述通信窗口的周期、广播事件的时延满足以下公式,所述目标广播事件为在所述通信窗口中启动的多个广播事件中除首个广播事件之外的任一广播事件:
80.t
adveventnext
=t
adveventprevious-advdelayprevious+advinterval+advdelaynext
81.其中,t
adveventnext
为所述目标广播事件的起始时间,t
adveventprevious
为所述目标广播事件的上一广播事件的起始时间,advdelayprevious为所述目标广播事件的上一广播事件的时延,advinterval为所述通信窗口的周期,advdelaynext为所述目标广播事件的时延。
82.在一个可能的设计中,所述第二电子设备的上位机为蓝牙通信协议中的主机,所述第二电子设备的下位机为蓝牙通信协议中的控制器。
83.在一个可能的设计中,所述广播数据包为用于感知其它电子设备的在线状态的心跳包,或所述广播数据包为用于请求与其它电子设备建立通信连接的业务数据包,或所述广播数据包为用于上报传感器事件的业务数据包。
84.第四方面,本技术提供一种电子设备,所述电子设备包括多个功能模块;所述多个功能模块相互作用,实现上述任一方面及其各实施方式中第一电子设备或第二电子设备所执行的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
85.第五方面,本技术提供一种电子设备,包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储计算机程序指令,所述电子设备运行时,所述至少一个处理器执行上述任一方面及其各实施方式中第一电子设备或第二电子设备执行的方法。
86.第六方面,本技术还提供一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述任一方面及其各实施方式中第一电子设备或第二电子设备执行的方法。
87.第七方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被计算机执行时,使得所述计算机执行上述任一方面及其各实施方式中第一电子设备或第二电子设备执行的方法。
88.第八方面,本技术还提供一种芯片,所述芯片用于读取存储器中存储的计算机程序,执行上述任一方面及其各实施方式中第一电子设备或第二电子设备执行的方法。
89.第九方面,本技术还提供一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现上述任一方面及其各实施方式中第一电子设备或第二电子设备执行的方法。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
90.图1为本技术实施例提供的一种多个电子设备进行协同工作的场景示意图;
91.图2为一种电子设备通过蓝牙广播进行通信的示意图;
92.图3为本技术实施例提供的一种通信系统示意图;
93.图4为本技术实施例提供的一种电子设备的结构示意图;
94.图5为本技术实施例提供的一种电子设备的软件结构框图;
95.图6为本技术实施例提供的一种电子设备中与蓝牙通信相关的模块示意图;
96.图7为本技术实施例提供的一种通信方法的流程图;
97.图8为本技术实施例提供的一种电子设备之间进行鉴权的方法流程图;
98.图9为本技术实施例提供的第一种第一电子设备与第二电子设备进行时钟同步的示意图;
99.图10为本技术实施例提供的第二种第一电子设备与第二电子设备进行时钟同步的示意图;
100.图11为本技术实施例提供的第三种第一电子设备与第二电子设备进行时钟同步的示意图;
101.图12为本技术实施例提供的一种主机与控制器之间的交互流程示意图;
102.图13为本技术实施例提供的一种基于蓝牙广播进行时钟同步的方法示意图;
103.图14为本技术实施例提供的一种通信窗口的示意图;
104.图15为本技术实施例提供的一种通信窗口的示意图;
105.图16为本技术实施例提供的一种广播事件示意图;
106.图17为本技术实施例提供的一种主机调度控制器的示意图;
107.图18为本技术实施例提供的一种多个电子设备在通信窗口中进行广播通信的示意图;
108.图19为本技术实施例提供的一种多个电子设备在通信窗口中进行通信的示意图;
109.图20为本技术实施例提供的一种通信方法的流程图。
具体实施方式
110.为了方便理解本技术实施例,下面介绍与本技术实施例相关的术语:
111.(1)低功耗蓝牙(bluetooth low energy,ble),是一种低成本、短距离、鲁棒性强
的无线技术。相较经典蓝牙,ble旨在保持同等通信范围的同时显著降低功耗和成本,并且ble加大了对广播通信的支持和利用,设备之间可以通过发送广播数据包建立蓝牙连接,还可以通过发送广播数据包交互信息。
112.(2)上位机和下位机,为通信系统或电子设备中的两个角色。如在电子设备中,上位机具有主控功能,主要用于对电子设备执行的任务进行规划控制,属于决策层;下位机属于具体执行层,主要用于完成上位机下达的任务,但下位机也可以自行执行任务。
113.例如在蓝牙规范中上位机可以为主机(host),如电子设备中的中央处理器(central processing unit,cpu);下位机可以为控制器(controller),如电子设备中的蓝牙芯片。
114.随着物联网技术的发展,围绕人的各类穿戴设备和智能设备也逐渐增多,如用户可能同时拥有智能手机、平板电脑、电视、音响、耳机、车机、ar/vr设备等电子设备,这些电子设备在家庭、办公、交通、娱乐、健身等场景为用户带来智能化服务,提升用户体验。例如,图1为一种多个电子设备进行协同工作的场景示意图。图1所示的场景包括智能手机、穿戴设备、平板电脑、耳机、ar/vr设备,音箱以及电视。不同的电子设备所具备的功能不同,多个电子设备可以构成一个超级终端,如以用户使用的手机为中心,ar/vr设备与手机连接,可以为用户提供更强的传感能力;音箱与手机连接,可以为用户提供更优的播放器或麦克风功能;电视与手机连接,可以为用户提供更强的屏幕显示能力。
115.为了向用户提供便利的智能化服务,多个电子设备之间需要交互消息以进行协同工作,因此,多个电子设备需要连接在一个通信总线上,如多个电子设备连接在同一个无线总线上,该无线总线可以通过wi-fi、蓝牙,zig-bee等无线技术实现。为实现多个电子设备之间的流畅的协同工作,多个电子设备之间的通信总线需要满足以下两点要求:1、电子设备可以迅速发现其它电子设备,快速感知其它电子设备的状态变化;2、电子设备基于该通信总线进行通信时功耗较低,可以长期工作。
116.可选的,多个电子设备可以基于蓝牙广播技术进行通信。图2为一种电子设备通过蓝牙广播进行通信的示意图。参考图2中的(a),电子设备a、电子设备b和电子设备c在不同的时间发送广播数据包,此时,电子设备d需要开启扫描,以接收以上三个电子设备发送的广播数据包。参考图2中的(b),若电子设备开启持续扫描,也就是说,此时电子设备d开启的扫描覆盖全部时域,此时电子设备d可以接收到电子设备a、电子设备b和电子设备c发送的所有广播数据包,但如图2中的(b)所示,电子设备开启持续扫描,将会导致空扫描的时间段增多,造成资源浪费,并且持续扫描也会带来高功耗,电子设备无法维持长期工作。参考图2中的(c),若电子设备开启预设占空比的扫描,例如,图2中的(c)所示的为电子设备d开启占空比为50%的扫描。电子设备a发送广播数据包时,电子设备d处于开启扫描的状态,则电子设备d可以接收到电子设备a发送的广播数据包;电子设备b发送广播数据包时,电子设备d处于未开启扫描的状态,则电子设备d无法接收到电子设备b发送的广播数据包,导致丢包。
117.基于上述问题,本技术提供一种通信方法,用以提高电子设备之间的通信效率。
118.图3为本技术实施例提供的一种通信系统示意图。参考图3,该通信系统包括多个电子设备,多个电子设备基于相同的通信协议进行通信。进一步地,多个电子设备之间具有绑定关系,例如,多个电子设备绑定同一个用户账户。其中,多个电子设备包括一个第一电子设备和至少一个第二电子设备,至少一个第二电子设备可以向第一电子设备同步时钟,
第一电子设备向第二电子设备发送第一指示信息,第一指示信息用于指示通信窗口的周期和起始时间,通信窗口为可通信时间段。第一电子设备和第二电子设备在通信窗口中进行广播或扫描。通过该方案,多个电子设备可以在相同的通信窗口中进行广播或扫描,从而对齐广播或扫描时机,进而实现高效、准确的有序通信。
119.以下介绍电子设备、和用于使用这样的电子设备的实施例。本技术实施例的电子设备例如可以为平板电脑、手机、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)、可穿戴设备、物联网(internet of thing,iot)设备、车机等,本技术实施例对电子设备的具体类型不作任何限制。
120.图4为本技术实施例提供的一种电子设备100的结构示意图。如图4所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。
121.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
122.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
123.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
124.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信
的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
125.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
126.在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
127.显示屏194用于显示应用的显示界面,例如显示电子设备100上安装的应用的显示页面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。
128.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。
129.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括
指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用程序的软件代码等。存储数据区可存储电子设备100使用过程中所产生的数据(例如拍摄的图像、录制的视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
130.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
131.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
132.其中,传感器模块180可以包括压力传感器180a,加速度传感器180b,触摸传感器180c等。
133.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。
134.触摸传感器180c,也称“触控面板”。触摸传感器180c可以设置于显示屏194,由触摸传感器180c与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180c用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180c也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
135.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现与电子设备100的接触和分离。
136.可以理解的是,图4所示的部件并不构成对电子设备100的具体限定,电子设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。此外,图4中的部件之间的组合/连接关系也是可以调整修改的。
137.图5为本技术实施例提供的一种电子设备的软件结构框图。如图5所示,电子设备的软件结构可以是分层架构,例如可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将操作系统分为四层,从上至下分别为应用程序层,应用程序框架层(framework,fwk),运行时(runtime)和系统库,以及内核层。
138.应用程序层可以包括一系列应用程序包(application package)。如图5所示,应用程序层可以包括相机、设置、皮肤模块、用户界面(user interface,ui)、三方应用程序等。其中,三方应用程序可以包括图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信
息等。
139.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层可以包括一些预先定义的函数。如图5所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器。
140.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
141.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
142.电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
143.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
144.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
145.运行时包括核心库和虚拟机。运行时负责操作系统的调度和管理。
146.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是操作系统的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
147.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
148.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
149.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
150.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
151.2d图形引擎是2d绘图的绘图引擎。
152.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
153.硬件层可以包括各类传感器,例如加速度传感器、陀螺仪传感器、触摸传感器等。
154.需要说明的是,图4和图5所示的结构仅作为本技术实施例提供的电子设备的一种示例,并不能对本技术实施例提供的电子设备进行任何限定,具体实施中,电子设备可以具
有比图4或图5所示的结构中更多或更少的器件或模块。
155.下面对本技术实施例中电子设备在进行蓝牙通信时涉及到的蓝牙规范进行介绍。图6为本技术实施例提供的一种电子设备中与蓝牙通信相关的模块示意图。参考图6,蓝牙规范中所涉及的逻辑实体主要包括上位机和下位机,其中,在蓝牙规范中上位机可以为主机(host),下位机可以为控制器(controller),可选地,电子设备中可以包括两个主机,如图6中示出的主机003和主机004。下面对图6中所示的各个器件或逻辑实体的功能进行进一步介绍:
156.处理器001可以为电子设备中算力最强的中央处理器(central processing unit,cpu),该处理器可以运行电子设备的操作系统。
157.处理器002可以为电子设备中的微处理器,可以用于执行特定的任务,如该微处理器可以为统一处理传感器数据的sensorhub。处理器002的特点为低功耗,可长期工作。
158.主机003可以由处理器001实现,主机004可以由处理器002实现,且主机003可以作为主host。由于处理器001为保持电池续航,通常会在电子设备灭屏后进入休眠状态,此时可以由主机004执行host的职责。可选地,一些需要长期维持的任务也可以始终由不会进入休眠状态的主机004进行处理。参考图6,每个主机中可以包括应用层、蓝牙协议层、主机控制接口三个部分。
159.控制器005可以由电子设备中的蓝牙芯片实现,主机003和主机004都可以与控制器005通信,以利用控制器005执行不同的任务。
160.控制器005可以利用无线接口006进行无线电信号的收发。
161.下面对本技术实施例提供的通信方法进行介绍。
162.图7为本技术实施例提供的一种通信方法的流程图。该方法适用于图3所示的通信系统,图3所示的通信系统中的多个电子设备可以具有图4和/或图5所示的结构。参考图7,本技术实施例提供的通信方法包括以下步骤:
163.s701:第一电子设备和第二电子设备组成通信群组。
164.一种可选的实施方式中,图3所示的通信系统中的多个电子设备中的每个电子设备可以发送广播数据包,也可以开启扫描,接收其它电子设备发送的广播数据包。
165.可选地,本技术实施例中可以将基于相同通信协议进行通信的电子设备组成通信群组。实施中,第一电子设备可以在接收到第二电子设备发送的广播数据包后,判断第一电子设备与第二电子设备是否基于相同的通信协议进行通信。第一电子设备与第二电子设备基于相同的通信协议进行通信时,第一电子设备和第二电子设备可以解析对方发送的广播数据包进而进行通信交互。
166.进一步地,第一电子设备和第二电子设备具有绑定关系时,第一电子设备和第二电子设备可以组成通信群组。其中,第一电子设备和第二电子设备具有绑定关系可以为:第一电子设备绑定的用户账户和第二电子设备绑定的用户账户相同。
167.实施中,第一电子设备可以将第一电子设备所绑定的用户账户标识发送给第二电子设备,第二电子设备在接收到第一电子设备发送的用户账户标识后,可以根据第一电子设备所绑定的用户账户的标识,判断第一电子设备与第二电子设备绑定的用户账户是否相同,若第一电子设备与第二电子设备绑定的用户账户相同,则第二电子设备确定第一电子设备与第二电子设备具有绑定关系,第一电子设备和第二电子设备可以组成一个通信群
组。通过该方式,可以将同一用户账户绑定的电子设备作为一个通信群组进行通信,以实现多设备之间的协同工作。
168.可以理解的是,电子设备之间的绑定关系为电子设备绑定同一个用户账户仅作为本技术的一种示例而非限定,具体实施中,还可以根据其他策略建立通信群组,如将预设范围中的电子设备作为一个通信群组;或者将扫描相同二维码的电子设备作为一个通信群组;或者第一电子设备预设一个口令(如数字、字母等构成的口令),将输入第一电子设备预设的口令的电子设备和第一电子设备作为一个通信群组;又或者将执行相同功能的电子设备作为一个通信群组,如将执行摇一摇等触发查找其它电子设备的功能的电子设备作为一个通信群组等。当然,具体实施中还可以通过其它绑定关系确定通信群组,本技术实施例对此不作限定。
169.一种可选的实施方式中,电子设备还可以获取其它电子设备发送的权重值以确定电子设备在通信群组中的角色,如通信群组中包括主设备和从设备。其中,权重值用于表示电子设备的优先级,例如,在日常生活场景中,手机更便于用户使用,则手机的优先级较高,权重值也就越大。多个电子设备中权重值最大的电子设备可以作为主设备,如第一电子设备的权重值最大时,确定第一电子设备为主设备,则第二电子设备为从设备。
170.本技术一些实施例中,可以预设不同场景下的电子设备类型排序,以使确定出的主设备更适应于当前的场景。例如,日常场景中,可以预设电子设备的类型排序为:手机、车机、电脑、平板电脑,也就是说,手机的权重值为上述四个设备的权重值中最大的权重值。又例如,驾驶场景中,可以预设电子设备的类型排序为:车机、手机、平板电脑、可穿戴设备,也就是说,车机的权重值为上述四个设备的权重值中最大的权重值。
171.第一电子设备和第二电子设备在确定第一电子设备为主设备、第二电子设备为从设备后,第一电子设备和第二电子设备可以进行鉴权。该鉴权过程可以为双向鉴权过程,多个电子设备两两之间完成鉴权后,可以组成一个通信群组,该通信群组中的多个电子设备可以根据本技术实施例提供的通信方法实现有序通信。
172.可选地,第一电子设备和第二电子设备还可以在鉴权过程中获取对方的权重值,并确定主设备和从设备。例如,图8为本技术实施例提供的一种电子设备之间进行鉴权的方法流程图。其中,第一电子设备和第二电子设备可以分别为图3所示的通信系统中的多个电子设备中的任一个电子设备。参考图8,本技术实施例提供的一种电子设备之间进行鉴权的方法可以包括以下步骤:
173.s801:第一电子设备根据共享密钥生成第一电子设备的消息认证码。
174.其中,共享密钥为第一电子设备和第二电子设备预先获取到的用于第一电子设备和第二电子设备之间进行安全通信的密钥。可选的,获取共享密钥的方式可以为任意一种安全的信息传递方式,例如,第二电子设备和第一电子设备通过登录相同的用户账户、约定一个数字或密码、扫描相同的二维码等方式建立加密连接,然后基于该加密的连接协商得到共享密钥。例如,该共享密钥可以为蓝牙设备地址解析密钥(identity resolving key,irk)。
175.示例性地,消息认证码可以为媒体介入控制(media access control,mac)地址。
176.s802:第一电子设备将消息认证码和第一电子设备的权重值发送给第二电子设备。
177.其中,第一电子设备的权重值用于表示第一电子设备的优先级,用户使用电子设备的频繁程度越高或用户使用电子设备越便捷时,该电子设备的权重值越大,则该电子设备作为通信群组中的主设备的可能性越大。
178.需要说明的是,第一电子设备可以通过广播通信或建立通信连接的方式将消息认证码和第一电子设备的权重值发送给第二电子设备。例如,在蓝牙规范中,消息认证码可以通过可解析私有地址(resolvable private address,rpa)的方式传递。
179.s803:第二电子设备根据共享密钥和第一电子设备的消息认证码,确定对第一电子设备鉴权通过。
180.一种可选的实施方式中,第二电子设备确定第一电子设备的消息认证码与第二电子设备根据共享密钥计算得到的结果匹配时,确定对第一电子设备鉴权通过。
181.s804:第二电子设备根据第二电子设备的权重值以及获取到的其它电子设备的权重值确定主设备。
182.可选的,第二电子设备可以将多个电子设备中权重值最大的电子设备作为主设备。
183.需要说明的是,图8所示为第二电子设备对第一电子设备进行鉴权,实施中电子设备之间可以进行双向鉴权,也就是说第一电子设备也可以对第二电子设备进行鉴权,具体实施可以参见图8所示的方法,重复之处不再赘述。
184.s702:第二电子设备确定第二电子设备与第一电子设备之间的目标时钟差值。
185.可以理解的是,第一电子设备与第二电子设备的本地时钟可能不同,则在第一电子设备与第二电子设备进行通信之前,第二电子设备需要与第一电子设备进行时钟同步。下面对本技术实施例提供的两种时钟同步方法进行介绍:
186.方式一、基于第一电子设备与第二电子设备之间的蓝牙连接进行时钟同步。
187.一种可选的实施方式中,第一电子设备可以与第二电子设备建立蓝牙连接,第二电子设备可以通过与第一电子设备建立的蓝牙连接确定第一时钟差值,该第一时钟差值为第一电子设备的控制器与第二电子设备的控制器之间的时钟差值。
188.另外,电子设备中的主机与控制器之间也存在时钟差值,第一电子设备可以确定第一电子设备的主机与第一电子设备的控制器之间的第二时钟差值,第二电子设备也可以确定第二电子设备的主机与第二电子设备的控制器之间的第三时钟差值。第一电子设备可以向第二电子设备发送第二时钟差值。例如,第一电子设备可以在图8所示的电子设备鉴权方法中的s802中向第二电子设备发送第二时钟差值。
189.具体地,第二电子设备与第一电子设备之间的目标时钟差值可以为:第二电子设备的主机与第一电子设备的主机之间的目标时钟差值。第二电子设备在获取到第一时钟差值、第二时钟差值和第三时钟差值后,可以根据第一时钟差值、第二时钟差值和第三时钟差值确定第二电子设备与第一电子设备之间的目标时钟差值。
190.可选地,第二电子设备确定第二电子设备与第一电子设备之间的目标时钟差值后,当第二电子设备与第一电子设备进行通信时,可以根据目标时钟差值与第一电子设备对齐时钟,避免第二电子设备与第一电子设备之间由于时钟不同步而无法进行有序通信。
191.需要说明的是,第一电子设备与第二电子设备建立蓝牙连接时,两个电子设备在该蓝牙连接过程中具有不同的角色。具体来说,若第一电子设备为发起建立蓝牙连接请求
的电子设备,则第一电子设备的角色为蓝牙主设备(master),第二电子设备的角色为蓝牙从设备(slave)。若第二电子设备为发起建立蓝牙连接请求的电子设备,则第一电子设备的角色为蓝牙从设备(slave),第二电子设备的角色为蓝牙主设备(master)。下面对第二电子设备在蓝牙连接中为不同角色时进行时钟同步的不同方式进行介绍:
192.一、第二电子设备为蓝牙主设备。
193.图9为本技术实施例提供的第一种第一电子设备与第二电子设备进行时钟同步的示意图。参考图9,该方法包括以下步骤:
194.s901:第一电子设备的主机确定主机与控制器之间的第二时钟差值(offset2)。
195.s902:第二电子设备的主机确定主机与控制器之间的第三时钟差值(offset3)。
196.s903:第二电子设备的控制器从第一电子设备的控制器获取第一时钟差值(offset1)。
197.s904:第二电子设备的控制器将第一时钟差值发送给第一电子设备的主机。
198.例如,第二电子设备的主机可以通过hci_read_clock_offset命令或私有命令vendor command从控制器获取第一时钟差值。
199.其中,hci_read_clock_offset命令可以为现有蓝牙芯片支持的命令,私有命令vendor command可以为新增的命令。
200.s905:第一电子设备的主机将第二时钟差值发送给第二电子设备的主机。
201.需要说明的是,图9所示实施例中s901、s902和s905的执行先后顺序仅为示例,本技术实施例对s901、s902和s905的执行顺序不做限定。
202.s906:第二电子设备的主机根据第一时钟差值、第二时钟差值和第三时钟差值确定第二电子设备与第一电子设备之间的目标时钟差值。
203.二、第二电子设备为蓝牙从设备。
204.图10为本技术实施例提供的第二种第一电子设备与第二电子设备进行时钟同步的示意图。参考图10,该方法包括以下步骤:
205.s1001:第一电子设备的主机确定主机与控制器之间的第二时钟差值(offset2)。
206.s1002:第二电子设备的主机确定主机与控制器之间的第三时钟差值(offset3)。
207.s1003:第二电子设备的控制器将第一时钟差值(offset1)发送给第一电子设备的主机。
208.例如,第二电子设备的主机可以通过vender_hci_read_master_clock_offset命令从控制器获取第一时钟差值。
209.其中,vender_hci_read_master_clock_offset命令可以为新增的命令。
210.s1004:第一电子设备的主机将第二时钟差值发送给第二电子设备的主机。
211.需要说明的是,图10所示实施例中s1001、s1002和s1004的执行先后顺序仅为示例,本技术实施例对s1001、s1002和s1004的执行顺序不做限定。
212.s1005:第二电子设备的主机根据第一时钟差值、第二时钟差值和第三时钟差值确定第二电子设备与第一电子设备之间的目标时钟差值。
213.图11为本技术实施例提供的第三种第一电子设备与第二电子设备进行时钟同步的示意图。参考图11,该方法包括以下步骤:
214.s1101:第一电子设备的主机确定主机与控制器之间的第二时钟差值(offset2)。
215.s1102:第二电子设备的主机确定主机与控制器之间的第三时钟差值(offset3)。
216.s1103:第一电子设备的控制器从第二电子设备的控制器获取第一时钟差值(offset1)。
217.例如,第一电子设备的控制器可以通过hci_read_clock_offset命令从第二电子设备的控制器获取第一时钟差值。
218.其中,hci_read_clock_offset命令可以为现有蓝牙芯片支持的命令。
219.s1104:第一电子设备的主机从第一电子设备的控制器获取第一时钟差值。
220.需要说明的是,图11所示实施例中s1101、s1102和s1104的执行先后顺序仅为示例,本技术实施例对s1101、s1102和s1104的执行顺序不做限定。
221.s1105:第一电子设备的主机将第一时钟差值和第二时钟差值发送给第二电子设备的主机。
222.s1106:第二电子设备的主机根据第一时钟差值、第二时钟差值和第三时钟差值确定第二电子设备与第一电子设备之间的目标时钟差值。
223.参见图9-图11所示的时钟同步方法,第一电子设备和第二电子设备需要确定主机与控制器之间的时钟差值,如图9中的s901、s902,图10中的s1001、s1002以及图11中的s1101、s1102。可选地,第一电子设备或第二电子设备可以根据以下方式确定主机与控制器之间的时钟差值:
224.图12为本技术实施例提供的一种主机与控制器之间的交互流程示意图。参考图12,该交互流程包括以下步骤:
225.s1201:主机向控制器发送时钟请求命令,并记录发送时钟请求命令的时间为t1。
226.其中,主机发送的时钟请求命令例如可以为hci_read_local_clock。
227.s1202:控制器记录接收到主机发送的时钟请求命令的时间为t2。
228.s1203:控制器向主机发送时钟请求命令的响应事件,并记录发送响应消息的时间为t3。
229.其中,控制器发送的时钟请求命令的响应事件例如可以为hci_read_local_clock_complete_event,时钟请求命令的响应事件中可以包括t2和t3。
230.s1204:主机记录接收到控制器发送的时钟请求命令的响应事件的时间为t4。
231.主机在获取到t1、t2、t3和t4后,可以根据t1、t2、t3和t4确定主机与控制器之间的时钟差值,如主机与控制器之间的时钟差值θ与t1、t2、t3和t4满足以下公式:
[0232][0233]
需要说明的是,图10所示主机与控制器之间的交互流程中涉及的主机向控制器发送的命令以及控制器返回的响应事件的内容及功能可以参考下表:
[0234][0235]
在一些实施例中,如图6所示,电子设备中可能包括两个主机,如两个主机分别为电子设备的cpu和微处理器,其中,微处理器可以在cpu进行休眠状态时,代替cpu处理任务,如维护多个电子设备组成的通信群组的任务;当cpu重新进入工作状态时,微处理器需要将控制权交给cpu。因此,当第二电子设备中的两个主机交换控制权时,可以由一个主机向另一个主机发送目标时钟差值,从而使得无论哪个主机执行任务,都可以与第一电子设备保持时钟同步。
[0236]
方式二、基于第一电子设备与第二电子设备之间的蓝牙广播进行时钟同步。
[0237]
一种可选的实施方式中,第一电子设备与第二电子设备之间可以通过发送广播数据包进行通信。图13为本技术实施例提供的一种基于蓝牙广播进行时钟同步的方法示意图。参考图13,当第一电子设备触发发送第一广播数据包时,由于广播数据包的优先级较低,可能不会被立即发送,则第一电子设备触发发送第一广播数据包与实际发送第一广播数据包之间存在广播发送时延。在本技术实施例中,第一电子设备的控制器可以向主机发送用于指示已发送第一广播数据包的响应事件,第一电子设备的主机可以记录接收到响应事件的时间,并且第一电子设备可以确定控制器与主机之间传递命令或响应事件的传输时延,如该传输时延为通用异步收发传输器(universal asynchronous receiver/transmitter,uart)传输时延。第一电子设备可以根据第一电子设备的主机接收到响应事件的时间、以及第一电子设备的控制器与主机之间的传输时延计算出第一电子设备实际发送第一广播数据包的第一时间。第一电子设备可以向第二电子设备发送第二广播数据包,第二广播数据包中可以包括第一时间。
[0238]
第二电子设备在接收到第一广播数据包后,可以记录接收到第一广播数据包的第二时间。第二电子设备在接收到第一电子设备发送的第二广播数据包后,可以获取第二广播数据包中的第一时间。并且,第二电子设备可以根据两个设备之间的特征信息确定广播传播时延,广播传输时延为第一电子设备实际发送广播数据包到第二电子设备接收到广播数据包的时长,特征信息例如可以为设备型号,第一广播数据包或第二广播数据包中可以携带特征信息。第二电子设备可以根据第一时间、第二时间和广播传输时延确定第二电子设备与第一电子设备之间的目标时钟差值,如目标时钟差值与第一时间、第二时间和广播传输时延满足以下公式:
[0239]
ms
offset
=t2-t1-d1
[0240]
其中,ms
offset
为第二电子设备与第一电子设备之间的目标时钟差值,t1为第一电子设备实际发送第一广播数据包的第一时间,d1为广播传输时延,t2为第二电子设备接收
到第一广播数据包的第二时间。
[0241]
可选地,第二电子设备确定第二电子设备与第一电子设备之间的目标时钟差值后,当第二电子设备与第一电子设备进行通信时,可以根据目标时钟差值与第一电子设备对齐时钟,避免第二电子设备与第一电子设备之间由于时钟不同步而无法进行有序通信。
[0242]
s703:第一电子设备向第二电子设备发送第一指示信息。
[0243]
其中,第一指示信息用于指示通信窗口的周期和起始时间,通信窗口为第一电子设备和第二电子设备之间进行广播通信的时间段。
[0244]
可选地,第一指示信息中可以包括通信窗口的周期和起点信息。其中,通信窗口的周期为相邻两个通信窗口的起始时间之间的时间间隔,起点信息可以为第一个通信窗口的起始时间,或第一个通信窗口的起始时间相对于第一电子设备发送第一指示信息的时间之间的差值。进一步地,第一指示信息中还可以包括每个通信窗口的持续时长。当然,第一指示信息中也可以不包括每个通信窗口的持续时长,第一电子设备和第二电子设备可以使用预设值作为每个通信窗口的持续时长。
[0245]
s704:第一电子设备和第二电子设备分别根据通信窗口的周期和起始时间确定通信窗口。
[0246]
可选地,第一电子设备在向第二电子设备发送第一指示信息后,第二电子设备可以从第一指示信息中获取通信窗口的周期和起点信息,第一电子设备和第二电子设备可以基于相同的通信窗口的周期和起点信息确定通信窗口,从而对齐通信时机。
[0247]
需要说明的是,当电子设备发送蓝牙广播或开启蓝牙扫描时,可以为电子设备中的控制器进行蓝牙广播或扫描,如电子设备中的蓝牙芯片执行以上功能。在本技术实施例中,电子设备中的控制器可以确定每个通信窗口的起始时间,并在当前时间到达通信窗口的起始时间时,发送广播数据包或开启扫描;或者主机可以在每个通信窗口的起始时间向控制器发送开启命令,并在每个通信窗口的结束时间发送结束命令,控制器在接收到开启命令时发送广播数据包或开启扫描,控制器在接收到结束命令时,停止发送广播数据包或停止扫描。下面分别对以上两种方式进行进一步介绍:
[0248]
一、控制器确定每个通信窗口的起始时间。
[0249]
第一电子设备和第二电子设备可以在通信窗口中进行广播通信,具体可以为第一电子设备在通信窗口中发送广播数据包或开启扫描、第二电子设备在通信窗口中发送广播数据包或者开启扫描,则第一电子设备的控制器或第二电子设备的控制器在确定通信窗口时,可以分别确定开启扫描的时间段以及发送广播数据包的时间。
[0250]
一种可选的实施方式中,控制器可以根据通信窗口的周期和起始时间确定至少一个通信窗口,并在每个通信窗口中开启扫描。例如,图14为本技术实施例提供的一种通信窗口示意图。参考图14,假设通信窗口的周期为600ms,每个通信窗口的持续时长可以为预设值,如每个通信窗口持续时长为60ms,则控制器根据起始时间和通信窗口计算得到的至少一个通信窗口如图14所示,控制器可以在每个通信窗口的60ms内开启扫描。
[0251]
需要说明的是,当控制器需要开启扫描,但当前存在比扫描优先级更高的业务,如广播业务时,控制器需要延迟执行扫描,则控制器开启扫描的时间会有延迟,但是本次扫描的延迟并不影响下一次扫描的开启时间。例如,图15为本技术实施例提供的一种通信窗口的示意图,图15中示出了三个通信窗口(通信窗口1、通信窗口2和通信窗口3)。若控制器在
通信窗口2中开启扫描之前,确定存储比扫描优先级更高的业务,需要延迟执行扫描,则控制器在延迟后的时间段内执行扫描,但控制器仍然在通信窗口3的起始时间开启下一次扫描,在通信窗口3中的扫描并不被通信窗口2中的扫描延迟所影响。
[0252]
一种可选的实施方式中,控制器可以确定通信窗口中可以发送广播数据包的时间。图16为本技术实施例提供的一种广播事件示意图。其中,广播事件可以为一个通信窗口中可以发送广播数据包的时间,图16中以三个广播事件(广播事件1、广播事件2和广播事件3)为例示出。参考图16,每个广播事件的起始时间可能会受到广播时延影响,如广播事件2的起始时间为广播事件1的起始时间+通信窗口的周期+时延1。从图16可看出,第二个周期中还包括了时延1,此时若直接计算广播事件3的起始时间为广播事件2的起始时间+通信窗口的周期+时延2,则重复计算了时延1,以此类推,后续的广播事件的起始时间会由于不断叠加时延而不断延后,导致广播事件无法与通信窗口对齐。
[0253]
基于以上分析,本技术实施例中在通信窗口中启动的首个广播事件的起始时间为通信窗口的起始时间,在通信窗口中启动的目标广播事件的起始时间与目标广播事件的上一广播事件的起始时间、通信窗口的周期、广播事件的时延满足以下公式:
[0254]
t
adveventnext
=t
adveventprevious-advdelayprevious+advinterval+advdelaynext
[0255]
其中,目标广播事件为在通信窗口中启动的多个广播事件中除首个广播事件之外的任一广播事件。t
adveventnext
为目标广播事件的起始时间,t
adveventprevious
为目标广播事件的上一广播事件的起始时间,advdelayprevious为目标广播事件的上一广播事件的时延,advinterval为通信窗口的周期,advdelaynext为目标广播事件的时延。
[0256]
需要说明的是,广播事件的时延,如上述公式中的advdelayprevious和advdelaynext可以为正数也可以为负数,当广播事件的时延为正数时,广播事件的起始时间向后偏移,当广播事件的时延为负数时,广播事件的起始时间向前偏移。
[0257]
根据以上公式,在本技术实施例中图16中广播事件3的起始时间可以为:广播事件2的起始时间+通信窗口的周期-时延1+时延2,通过该方式,可以避免累加时延,使得电子设备在通信窗口中发送广播数据包,以保持电子设备之间的有序通信。
[0258]
二、主机在每个通信窗口的起始时间向控制器发送开启命令,并在每个通信窗口的结束时间向控制器发送结束命令。
[0259]
图17为本技术实施例提供的一种主机调度控制器的示意图。参考图17,主机在每个通信窗口的起始时间向控制器发送开启命令,在每个通信窗口的结束时间向控制器发送结束命令。
[0260]
一种可选的实施方式中,主机可以在每个通信窗口的起始时间向控制器发送开启扫描命令,并在每个通信窗口的结束时间发送关闭扫描命令;主机还可以在通信窗口中向控制器发送开启广播命令,以指示控制器可以开始发送广播数据包,主机还可以向控制器发送结束广播命令,以指示控制器停止发送广播数据包。
[0261]
需要说明的是,调度控制器的主机可以为电子设备的cpu或微处理器。
[0262]
s705:第一电子设备和第二电子设备在通信窗口中发送广播数据包或启动广播扫描。
[0263]
可选地,在对齐通信窗口后,多个电子设备可以在通信窗口中发送广播数据包,其中广播数据包可以为业务数据,如用于感知其它电子设备的在线状态的心跳包、用于请求
与其它电子设备建立通信连接的业务数据、用于上报传感器事件的业务数据等等。
[0264]
可选地,电子设备可以在通信窗口中开启扫描以接收其它电子设备发送的广播数据包,并在存在广播业务时,在通信窗口中发送广播数据包。如,图18为本技术实施例提供的一种多个电子设备在通信窗口中进行广播通信的示意图,参考图18,电子设备a、电子设备b和电子设备c在通信窗口中发送广播数据包。电子设备d在通信窗口中开启扫描,避免了丢包问题,并且无需电子设备d开启高占空比的扫描,节省资源。通过上述方法,多个电子设备可以实现在通信窗口中进行有序通信,提高通信效率。
[0265]
图19为本技术实施例提供的一种多个电子设备在通信窗口中进行通信的示意图。图19中以三个电子设备(电子设备1、电子设备2和电子设备3)为例示出,参考图19,在通信窗口1中,每个电子设备向其它电子设备发送广播心跳包,用于感知其它电子设备为在线状态或离线状态。在通信窗口2之前,电子设备1触发业务请求,该业务请求用于请求与电子设备2建立通信连接,则在通信窗口2中,电子设备1向电子设备2发送用于请求建立通信连接的广播数据包,电子设备2在通信窗口2中开启扫描,接收到电子设备1发送的广播数据包后,与电子设备1建立通信连接。
[0266]
其中,电子设备1请求与电子设备2请求通信连接,可以为请求与电子设备2建立经典蓝牙连接、ble连接或wi-fi连接等无线通信连接,则电子设备1向电子设备2发送的用于请求建立通信连接的广播数据包可以为唤醒广播(wakeup adv),该唤醒广播用于唤醒电子设备2开启通信模式。为提升建立通信连接的效率,该唤醒广播可以为高占空比广播,以增加电子设备2接收到唤醒广播的概率。电子设备2可以在接收到唤醒广播后,开启通信模式,并与电子设备1建立通信连接。
[0267]
基于以上实施例,本技术还提供一种通信方法,该通信方法可以由图3所示的通信系统中的第一电子设备和第二电子设备执行。其中,第一电子设备和第二电子设备可以具有图4和/或图5所示的结构。图20为本技术实施例提供的一种通信方法的流程图。参考图20,该方法包括以下步骤:
[0268]
s2001:第一电子设备向第二电子设备发送第一指示信息。
[0269]
其中,第一指示信息用于指示通信窗口的周期和通信窗口的起始时间,通信窗口为第一电子设备和第二电子设备进行广播通信的时间段。
[0270]
s2002:第一电子设备在通信窗口中发送广播数据包或启动广播扫描;第二电子设备在通信窗口中发送广播数据包或启动广播扫描。
[0271]
需要说明的是,本技术图20所示的通信方法在具体实施时可以参见本技术上述各实施例,重复之处不再赘述。
[0272]
基于以上实施例,本技术还提供一种电子设备,所述电子设备包括多个功能模块;所述多个功能模块相互作用,实现本技术实施例所描述的各方法中第一电子设备或第二所执行的功能。如执行图7所示实施例中第一电子设备执行的s701、s703-s705,或执行图7所示实施例中第二电子设备执行的s702、s704-s705。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
[0273]
基于以上实施例,本技术还提供一种电子设备,该电子设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储计算机程序指令,所述电子设备运行时,所述至少一个处理器执行本技术实施例所描述的各方法中电子设备所执行的功能。如执行图
7所示实施例中第一电子设备执行的s701、s703-s705,或执行图7所示实施例中第二电子设备执行的s702、s704-s705。
[0274]
基于以上实施例,本技术还提供一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行本技术实施例所描述的各方法。
[0275]
基于以上实施例,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被计算机执行时,使得所述计算机执行本技术实施例所描述的各方法。
[0276]
基于以上实施例,本技术还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,实现本技术实施例所描述的各方法。
[0277]
基于以上实施例,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现本技术实施例所描述的各方法。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
[0278]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0279]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0280]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0281]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0282]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的保护范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种通信系统,其特征在于,所述通信系统包括第一电子设备和第二电子设备;所述第一电子设备,用于向所述第二电子设备发送第一指示信息,所述第一指示信息用于指示通信窗口的周期和所述通信窗口的起始时间,所述通信窗口为所述第一电子设备和所述第二电子设备进行广播通信的时间段;在所述通信窗口中发送广播数据包或启动广播扫描;所述第二电子设备,用于接收所述第一电子设备发送的所述第一指示信息,并在所述通信窗口中发送广播数据包或启动广播扫描。2.如权利要求1所述的系统,其特征在于,所述第一电子设备还用于:在向所述第二电子设备发送所述第一指示信息之前,接收所述第二电子设备发送的广播数据包,确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信;所述第二电子设备用于:在接收所述第一电子设备发送所述第一指示信息之前,接收所述第一电子设备发送的广播数据包,确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信。3.如权利要求2所述的系统,其特征在于,所述第一电子设备还用于:在确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信之后,确定所述第一电子设备与所述第二电子设备具有绑定关系;所述第二电子设备还用于:在确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信之后,确定所述第一电子设备与所述第二电子设备具有绑定关系。4.如权利要求2或3所述的系统,其特征在于,所述第一电子设备还用于:获取所述第二电子设备的权重值;根据所述第一电子设备的权重值和所述第二电子设备的权重值确定所述第一电子设备为主设备,所述第二电子设备为从设备;其中,所述第一电子设备的权重值用于表示所述第一电子设备的优先级,所述第二电子设备的权重值用于表示所述第二电子设备的优先级;所述第一电子设备的权重值大于所述第二电子设备的权重值;所述第二电子设备还用于:获取所述第一电子设备的权重值;根据所述第一电子设备的权重值和所述第二电子设备的权重值确定所述第一电子设备为主设备,所述第二电子设备为从设备。5.如权利要求4所述的系统,其特征在于,所述第一电子设备还用于:在确定所述第一电子设备为主设备,所述第二电子设备为从设备之后,对所述第二电子设备进行鉴权,确定对所述第二电子设备鉴权通过;所述第二电子设备还用于:在确定所述第一电子设备为主设备,所述第二电子设备为从设备之后,对所述第一电子设备进行鉴权,确定对所述第一电子设备鉴权通过。
6.如权利要求1所述的系统,其特征在于,所述第二电子设备还用于:在所述通信窗口中发送广播数据包或启动广播扫描之前,确定所述第二电子设备与所述第一电子设备之间的目标时钟差值。7.如权利要求6所述的系统,其特征在于,所述第一电子设备包括上位机和下位机,所述第二电子设备包括上位机和下位机;所述第二电子设备用于:获取第一时钟差值,所述第一时钟差值为所述第一电子设备的下位机与所述第二电子设备的下位机之间的时钟差值;获取第二时钟差值,所述第二时钟差值为所述第一电子设备的上位机与所述第一电子设备的下位机之间的时钟差值;确定第三时钟差值,所述第三时钟差值为所述第二电子设备的上位机与所述第二电子设备的下位机之间的时钟差值;根据所述第一时钟差值、所述第二时钟差值和所述第三时钟差值确定所述目标时钟差值;所述第一电子设备还用于:确定所述第一电子设备的上位机与所述第一电子设备的下位机之间的所述第二时钟差值。8.如权利要求6所述的系统,其特征在于,所述第一电子设备还用于:向所述第二电子设备发送第一广播数据包,确定所述第一电子设备实际发送所述第一广播数据包的第一时间;向所述第二电子设备发送第二广播数据包,所述第二广播数据包中包括所述第一时间;所述第二电子设备用于:接收所述第一电子设备发送的所述第一广播数据包,记录接收到所述第一广播数据包的第二时间;接收所述第一电子设备发送的所述第二广播数据包,获取所述第二广播数据包中的第一时间;确定所述第一电子设备和所述第二电子设备之间的广播传输时延;根据所述第一时间、所述第二时间和所述广播传输时延确定所述目标时钟差值。9.如权利要求1所述的系统,其特征在于,所述第一电子设备包括上位机和下位机;所述第一电子设备的上位机具体用于:根据所述通信窗口的周期和所述通信窗口的起始时间确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间触发所述第一电子设备的下位机开启广播扫描,并在所述广播扫描的结束时间触发所述第一电子设备的下位机关闭广播扫描;和/或,根据所述通信窗口的周期和所述通信窗口的起始时间确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间触发所述第一电子设备的下位机发送广播数据包,在所述广播事件的结束时间触发所述第一电子设备的下位机停止发送广播数据
包。10.如权利要求1所述的系统,其特征在于,所述第一电子设备包括下位机;所述第一电子设备的下位机具体用于:根据所述通信窗口的周期和所述通信窗口的起始时间确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间开启广播扫描,并在所述广播扫描的结束时间关闭广播扫描;和/或,根据所述通信窗口的周期和所述通信窗口的起始时间确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间发送广播数据包,在所述广播事件的结束时间停止发送广播数据包。11.如权利要求10所述的系统,其特征在于,所述第一电子设备的下位机还用于:若当前通信窗口中存在优先级高于广播扫描的优先级的业务时,延迟启动本次广播扫描。12.如权利要求6-8任一项所述的系统,其特征在于,所述第二电子设备包括上位机和下位机;所述第二电子设备的上位机具体用于:根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间触发所述第二电子设备的下位机开启广播扫描,并在所述广播扫描的结束时间触发所述第二电子设备的下位机关闭广播扫描;和/或,根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间触发所述第二电子设备的下位机发送广播数据包,在所述广播事件的结束时间触发所述第二电子设备的下位机停止发送广播数据包。13.如权利要求6-8任一项所述的系统,其特征在于,所述第二电子设备包括下位机;所述第二电子设备的下位机具体用于:根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间开启广播扫描,并在所述广播扫描的结束时间关闭广播扫描;和/或,根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间发送广播数据包,在所述广播事件的结束时间停止发送广播数据包。14.如权利要求13所述的系统,其特征在于,所述第二电子设备的下位机还用于:若当前通信窗口中存在优先级高于广播扫描的优先级的业务时,则延迟启动本次广播扫描。15.如权利要求10或13所述的系统,其特征在于,目标广播事件的起始时间与所述目标广播时间的上一广播时间的起始时间、所述通信窗口的周期、广播事件的时延满足以下公式,所述目标广播事件为在所述通信窗口中启动的多个广播事件中除首个广播事件之外的任一广播事件:t
adveventnext
=t
adveventprevious-advdelayprevious+advinterval+advdelaynext其中,t
adveventnext
为所述目标广播事件的起始时间,t
adveventprevious
为所述目标广播事件
的上一广播事件的起始时间,advdelayprevious为所述目标广播事件的上一广播事件的时延,advinterval为所述通信窗口的周期,advdelaynext为所述目标广播事件的时延。16.如权利要求9所述的系统,其特征在于,所述第一电子设备的上位机为蓝牙通信协议中的主机,所述第一电子设备的下位机为蓝牙通信协议中的控制器。17.如权利要求1-16任一项所述的系统,其特征在于,所述广播数据包为用于感知其它电子设备的在线状态的心跳包,或所述广播数据包为用于请求与其它电子设备建立通信连接的业务数据包,或所述广播数据包为用于上报传感器事件的业务数据包。18.一种通信方法,其特征在于,应用于第二电子设备,所述方法包括:接收第一电子设备发送的第一指示信息,所述第一指示信息用于指示通信窗口的周期和所述通信窗口的起始时间,所述通信窗口为所述第一电子设备和所述第二电子设备进行广播通信的时间段;在所述通信窗口中发送广播数据包或启动广播扫描。19.如权利要求18所述的方法,其特征在于,在所述接收第一电子设备发送的第一指示信息之前,所述方法还包括:接收所述第一电子设备发送的广播数据包,确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信。20.如权利要求19所述的方法,其特征在于,在所述确定所述第一电子设备与所述第二电子设备基于相同的通信协议进行通信之后,所述方法还包括:确定所述第一电子设备与所述第二电子设备具有绑定关系。21.如权利要求19或20所述的方法,其特征在于,所述方法还包括:获取所述第一电子设备的权重值;根据所述第一电子设备的权重值和所述第二电子设备的权重值,确定所述第一电子设备为主设备,所述第二电子设备为从设备;其中,所述第一电子设备的权重值用于表示所述第一电子设备的优先级,所述第二电子设备的权重值用于表示所述第二电子设备的优先级;所述第一电子设备的权重值大于所述第二电子设备的权重值。22.如权利要求21所述的方法,其特征在于,在所述确定所述第一电子设备为主设备,所述第二电子设备为从设备之后,所述方法还包括:对所述第一电子设备进行鉴权,确定对所述第一电子设备鉴权通过。23.如权利要求18所述的方法,其特征在于,在所述通信窗口中发送广播数据包或启动广播扫描之前,所述方法还包括:确定所述第二电子设备与所述第一电子设备之间的目标时钟差值。24.如权利要求23所述的方法,其特征在于,所述第一电子设备包括上位机和下位机,所述第二电子设备包括上位机和下位机;所述确定所述第二电子设备与所述第一电子设备之间的目标时钟差值,包括:获取第一时钟差值,所述第一时钟差值为所述第一电子设备的下位机与所述第二电子设备的下位机之间的时钟差值;获取第二时钟差值,所述第二时钟差值为所述第一电子设备的上位机与所述第一电子设备的下位机之间的时钟差值;确定第三时钟差值,所述第三时钟差值为所述第二电子设备的上位机与所述第二电子
设备的下位机之间的时钟差值;根据所述第一时钟差值、所述第二时钟差值和所述第三时钟差值确定所述目标时钟差值。25.如权利要求23所述的方法,其特征在于,所述确定所述第二电子设备与所述第一电子设备之间的目标时钟差值,包括:接收所述第一电子设备发送的第一广播数据包,记录接收到所述第一广播数据包的第二时间;接收所述第一电子设备发送的第二广播数据包,获取所述第二广播数据包中的第一时间;所述第一时间为所述第一电子设备实际发送所述第一广播数据包的时间;确定所述第一电子设备和所述第二电子设备之间的广播传输时延;根据所述第一时间、所述第二时间和所述广播传输时延确定所述目标时钟差值。26.如权利要求23-25任一项所述的方法,其特征在于,所述在所述通信窗口中发送广播数据包或启动广播扫描,包括:根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播扫描的起始时间和广播扫描的结束时间,在所述广播扫描的起始时间开启广播扫描,并在所述广播扫描的结束时间关闭广播扫描;根据所述通信窗口的周期、所述通信窗口的起始时间以及所述目标时钟差值确定广播事件的起始时间和广播事件的结束时间;在所述广播事件的起始时间发送广播数据包,在所述广播事件的结束时间停止发送广播数据包。27.如权利要求26所述的方法,其特征在于,所述方法还包括:若当前通信窗口中存在优先级高于广播扫描的优先级的业务,则延迟启动本次广播扫描。28.如权利要求26所述的方法,其特征在于,目标广播事件的起始时间与所述目标广播时间的上一广播时间的起始时间、所述通信窗口的周期、广播事件的时延满足以下公式,所述目标广播事件为在所述通信窗口中启动的多个广播事件中除首个广播事件之外的任一广播事件:t
adveventnext
=t
adveventprevious-advdelayprevious+advinterval+advdelaynext其中,t
adveventnext
为所述目标广播事件的起始时间,t
adveventprevious
为所述目标广播事件的上一广播事件的起始时间,advdelayprevious为所述目标广播事件的上一广播事件的时延,advinterval为所述通信窗口的周期,advdelaynext为所述目标广播事件的时延。29.如权利要求24所述的方法,其特征在于,所述第二电子设备的上位机为蓝牙通信协议中的主机,所述第二电子设备的下位机为蓝牙通信协议中的控制器。30.如权利要求27-29任一项所述的方法,其特征在于,所述广播数据包为用于感知其它电子设备的在线状态的心跳包,或所述广播数据包为用于请求与其它电子设备建立通信连接的业务数据包,或所述广播数据包为用于上报传感器事件的业务数据包。31.一种电子设备,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于读取所述至少一个存储器所存储的计算机程序,以执行如权利要求1-17中任一项所述的系统中第一电子设备或第二电子设备所执行的方法,或执行如权利要求18-30中任一项所述的方法。
32.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-17中任一项所述的系统中第一电子设备或第二电子设备所执行的方法,或执行如权利要求18-30中任一项所述的方法。33.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-17中任一项所述的系统中第一电子设备或第二电子设备所执行的方法,或执行如权利要求18-30中任一项所述的方法。
技术总结
本申请提供一种通信系统、通信方法及设备。在该通信系统中,第一电子设备向第二电子设备发送第一指示信息,第一指示信息用于指示通信窗口的周期和通信窗口的起始时间,通信窗口为第一电子设备和第二电子设备进行广播通信的时间段;第一电子设备和第二电子设备在通信窗口中发送广播数据包或启动广播扫描。基于该通信系统,第一电子设备可以通过第一指示信息向第二电子设备指示通信窗口的周期和通信窗口的起始时间,从而第一电子设备和第二电子设备可以对齐通信时机,在相同的通信窗口中进行广播扫描或发送广播数据包,避免广播通信中的丢包问题,实现高效、准确的有序通信。准确的有序通信。准确的有序通信。
技术研发人员:蒋钟寅 郑博文 林学森
受保护的技术使用者:华为技术有限公司
技术研发日:2022.01.11
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:人参皂苷Rd的抗炎应用的制作方法 下一篇:保鲜装置及冰箱的制作方法