一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种设备的发现方法和装置与流程

2022-03-29 12:04:42 来源:中国专利 TAG:
一种设备的发现方法和装置与流程

本申请涉及短距离通讯技术领域,尤其涉及一种设备的发现方法和装置。

背景技术

随着用户设备如手机、平板、TV、PC、音箱、手表和车机等种类和数量的增加,智能化设备已经覆盖在人们多个场景内,家庭、办公、社交、运动健康、汽车等。紧接而来的是用户对于设备智慧化的诉求,例如实时的获取周围设备列表,快速完成多设备的建链,能够在应用处理器(英文:Application Processor,以下文中缩写为AP)休眠的情况下低功耗的完成设备状态信息和服务信息的同步,接续同一账号的不同设备的操作,不同设备之间的文件共享等。

目前,用户设备获取周围设备列表需要开启短距离通信和扫描,实时性较差;在亮屏设备发现休眠设备时,休眠设备需要实时唤醒AP回复低功耗蓝牙(英文:BluetoothLowEnergy,以下文中缩写为BLE)广播,导致功耗过高,影响用户体验;设备状态发生变化的时候通过低功耗蓝牙通信广播同步,也会频繁唤醒AP导致功耗过高。



技术实现要素:

为了解决上述的问题,本申请实施例提供一种设备的发现方法、装置和系统。所述方法通过智能传感装置执行短距离通信解决了在处理模块AP休眠的情况下频繁唤醒处理模块AP执行短距离通信导致功耗增大的问题。

第一方面,本申请实施例提供一种设备的发现方法,应用于第一用户设备内部的智能传感装置,所述第一用户设备内部还设置有处理器和短距离通信装置,所述方法包括:于所述处理器休眠前,接收来自所述处理器的短距离通信参数,所述短距离通信参数包括扫描参数;于所述处理器休眠期间,指示短距离通信装置根据所述扫描参数进行扫描;获取通过扫描接收到的第一消息,所述第一消息由第二用户设备广播并且至少包括第二用户设备标识,其中所述第二用户设备标识是第二用户设备的标识;保存所述第二用户设备标识,以便于所述处理器被唤醒后根据所述第二用户设备标识发现第二用户设备。

应用本申请该实施例提供的一种设备的发现方法,第一用户设备可以在处理模块休眠的情况下,通过智能传感模块保持在线状态,执行短距离通信广播和/或扫描,从而发现周围的第二用户设备,并获取第二用户设备的建链信息,有效地降低设备的功耗。

在一种实施方式中,所述短距离通信参数包括广播参数;所述方法还包括:指示短距离通信装置根据所述广播参数广播第二消息;所述第二消息是对所述第一消息的回复;所述第二消息至少包括所述第一用户设备标识和所述第二用户设备标识;所述第一用户设备标识是所述第一用户设备的标识。

应用本申请该实施例提供的一种设备的发现方法,第一用户设备在休眠状态下不需要唤醒处理模块,通过智能传感模块保持在线状态,从而发现周围的第二用户设备的探测并进行相应,实现用户设备之间的相互发现,能够提升用户设备之间发现和建链速度,从而优化用户的使用感受。

应用本申请该实施例提供的一种设备的发现方法,用户设备在休眠状态下保持在线状态的功耗会大幅度的减小,所引起的整机功耗也会随之降低。

在一种实施方式中,所述短距离通信参数包括广播参数;所述方法还包括:在获取通过扫描接收到的所述第一消息之前,指示短距离通信装置根据所述广播参数广播第三消息;所述第三消息至少包括所述第一用户设备标识,其中,所述第一用户设备标识是所述第一用户设备的标识;所述第一消息是对所述第三消息的回复。

应用本申请该实施例提供的一种设备的发现方法,能够在休眠期间保持在线状态,实现休眠的第一用户设备主动探测其他亮屏的第二用户设备。

在一种实施方式中,所述方法还包括:在获取通过扫描接收到的所述第一消息之后,指示短距离通信装置根据所述广播参数广播第四消息;所述第四消息用于指示第二用户设备停止广播第一消息;所述第四消息至少包括所述第一用户设备标识和所述第二用户设备标识。

应用本申请该实施例提供的一种设备的发现方法,在被对端设备发现后并获得响应后,可以停止对探测的回复,进一步减少功耗。

在一种实施方式中,所述方法还包括:在指示短距离通信装置根据所述广播参数广播第二消息之前,获取通过扫描接收到的第五消息,所述第五消息由所述至少一个第三用户设备广播;所述第五消息包括至少一个第三用户设备标识,其中所述至少一个第三用户设备标识是所述至少一个第三用户设备的标识;所述第二消息是对所述第一消息和第五消息的回复;所述第二消息还包括所述至少一个第三用户设备标识。

应用本申请该实施例提供的一种设备的发现方法,在第一用户设备休眠的状态下,智能传感模块采用聚合的处理方式,广播一个包括两个或两个以上用户设备标识的消息,对该两路或两路以上用户设备的在线查询请求同时回复,能够实现用户设备在休眠期间获取各个可及范围内在线用户设备的列表、获得建链信息,与多个在线用户设备互相发现和保持在线状态,能够有效地降低休眠设备的广播功耗,同时避免泛广播造成的宕机。

在一种实施方式中,所述短距离通信参数包括广播参数;所述广播参数还包括第二广播权重、第二广播时间和第二定时时长;其中,第二广播时间和第二定时时长是和第二广播权重对应的;所述第一消息还包括第一广播权重,第一广播时间和第一定时时长;其中,第一广播时间和第一定时时长与第一广播权重对应;所述方法还包括:获取通过扫描接收到的至少一个第三用户设备广播的第五消息;所述第五消息包括第三用户设备标识、第三广播权重,第三广播时间和第三定时时长;其中,所述第三用户设备标识是所述第三用户设备的标识,第三广播时间和第三定时时长与所述第三广播权重对应;比较所述第一广播权重、第二广播权重和第三广播权重的值,获得最大的广播权重;根据所述广播参数指示短距离通信装置在所述最大广播权重所对应的广播时间在所述最大广播权重所对应的定时时长的时间区间内广播第六消息;所述第六消息中包括最大的广播权重、广播时间、定时时长和目标设备的标识;其中广播时间和定时时长为与最大的广播权重对应的广播时间和定时时长的值,目标设备的标识包括所述第二用户设备标识和/或至少一个第三用户设备标识;所述第六消息是对第一消息和/或第五消息的回复,用于将最大的广播权重的传播出去,使至少一个第三用户设备的短距离通信的频率和时机能够同步。

应用本申请该实施例提供的一种设备的发现方法,亮屏的第二用户设备和第三用户设备通过休眠的第一用户设备互相发现,并且能够与休眠的第一用户设备相互保持短距离通信。第一用户设备在唤醒之后,能够第一时间获取到在线用户设备列表,提高短距离通信效率;第一用户设备广播的一个消息包M6中可以同时回应多个亮屏设备的短距离通信请求,达到降低功耗、提高短距离通信效率的目的;第一用户设备广播消息包M6以进行最大的广播权重的传播和归一化,同步多个亮屏设备广播的频率和时机,以快速发现在线的用户设备,减少功率消耗;第二用户设备或第三用户设备掉线之后,最大广播权重依旧保留,集群内其他用户设备的通信状态能够继续保持同步和有序。

在一种实施方式中,所述方法还包括:指示短距离通信装置根据所述广播参数在发现窗口广播第七消息,所述第七消息用于发现集群外的至少一个第四用户设备;其中,所述发现窗口为通信/同步窗口之外的时间区间;所述通信/同步窗口为起始时刻是第一广播时间、持续时间是第一定时时长的时间区间;所述第七消息至少包括所述第一用户设备标识、最大的广播权重、定时时长和广播时间;其中广播时间和定时时长为与最大的广播权重对应的广播时间和定时时长的值;所述集群为若干个同步广播和扫描的用户设备组成的网络。

应用本申请该实施例提供的一种设备的发现方法,经过几次的碰撞调整之后,第一用户设备和第四用户设备的通信/同步窗口实现对齐。不在同一集群内的用户设备实现了相互发现,各个用户设备的通信/同步窗口实现同步后,各个用户设备可以在同一时刻工作,以达到用户设备保持在线状态的最大效率。

在一种实施方式中,所述第一消息包括所述第二用户设备标识,所述方法还包括:通过解析所述第一消息,获取并且保存所述第二用户设备标识。

应用本申请该实施例提供的一种设备的发现方法,能够在休眠状态下获得第二用户设备标识,实现与第二用户设备之间发现和提升建链速度。

在一种实施方式中,通过解析所述第一消息,至少获得所述第二用户设备标识和第一用户设备标识,其中所述第一用户设备标识为所述第一消息回复的目标设备的标识。

应用本申请该实施例提供的一种设备的发现方法,能够在休眠状态下,通过解析第一消息获得第二用户设备标识和第一用户设备标识,实现用户设备之间发现和提升建链速度。

在一种实施方式中,所述短距离通信包括蓝牙通信和蓝牙低功耗通信中的至少一个;所述方法还包括于所述处理器休眠前,接收来自所述处理器的蓝牙驱动程序,运行所述蓝牙驱动程序。

应用本申请该实施例提供的一种设备的发现方法,能够在休眠状态下,保持蓝牙通信在线。

第二方面,本申请实施例提供一种设备的发现方法,应用于第一用户设备内部的处理器,所述方法包括:于休眠前向智能传感装置下发短距离通信参数,所述短距离通信参数包括扫描参数,以便智能传感装置于休眠期间指示短距离通信模块根据所述扫描参数进行扫描;于唤醒后获取智能传感装置保存的至少一个第二用户设备标识,发现所述至少一个第二用户设备;其中,所述至少一个第二用户设备标识分别是所述至少一个第二用户设备的标识,所述至少一个第二用户设备标识分别是所述智能传感装置由所述至少一个第二用户设备广播的消息中获取。

在一种实施方式中,所述短距离通信参数还包括广播参数,所述方法还包括:于休眠前将蓝牙访问协议和所述广播参数下行到所述智能传感装置。

应用本申请该实施例提供的一种设备的发现方法,在某个时刻之后,处理模块被唤醒,处理器运行应用程序,能够根据上报的第二用户设备标识发现第二用户设备。

第三方面,本申请实施例提供一种设备的发现装置,位于第一用户设备内,所述第一用户设备内部还设置有处理器和短距离通信装置,所述装置包括通信过滤单元、内置集成电路驱动单元和通信分析单元;

所述通信过滤单元用于于所述处理器休眠前,接收来自所述处理器的短距离通信参数,所述短距离通信参数包括扫描参数;

所述内置集成电路驱动单元于所述处理器休眠期间,指示短距离通信装置根据所述扫描参数进行扫描;和短距离通信装置、用户设备的关系

所述通信分析单元用于获取通过扫描接收到的第一消息,所述第一消息由第二用户设备广播并且至少包括第二用户设备标识,其中所述第二用户设备标识是第二用户设备的标识;保存所述第二用户设备标识,以便于所述处理器被唤醒后根据所述第二用户设备标识发现第二用户设备。

第四方面,本申请实施例提供一种智能传感装置,所述智能传感装置包括第二存储器和数据处理器;所述数据处理器用于执行所述第二存储器存储的计算机执行指令,所述数据处理器运行所述计算机执行指令执行上述实施例任一项所述的设备的发现方法,于休眠状态下保持所述第一用户设备短距离通信在线。

第五方面,本申请实施例提供一种设备的发现装置,位于第一用户设备内,所述第一用户设备内部还设置有智能传感装置和短距离通信装置,所述装置包括休眠准备单元和唤醒获取消息单元;

所述休眠准备单元用于休眠前向智能传感装置下发短距离通信参数,所述短距离通信参数包括扫描参数,以便智能传感装置于休眠期间指示短距离通信模块根据所述扫描参数进行扫描;

唤醒获取消息单元用于唤醒后获取智能传感装置保存的至少一个第二用户设备标识,发现所述至少一个第二用户设备;其中,所述第二用户设备标识是第二用户设备的标识,所述第二用户设备标识是所述智能传感装置由第二用户设备广播的消息中获取。

第五方面,本申请实施例提供一种处理设备,设置于第一用户设备内部,所述处理设备包括处理器和第一存储器,所述处理器用于执行存储于第一存储器的应用程序,所述处理器运行所述应用程序执行上述实施例任一项所述的一种设备的发现方法,指示智能传感装置于休眠状态前接收短距离通信参数,以保持于休眠状态期间短距离通信在线。

第六方面,本申请实施例提供一种用户设备,能够于休眠状态下保持短距离通信,所述用户设备至少包括处理器、智能传感装置和短距离通信装置;所述处理器用于执行存储于第一存储器的应用程序,所述处理器运行所述应用程序执行上述实施例任一项所述的一种设备的发现方法,指示智能传感装置于休眠状态前接收短距离通信参数,以保持于休眠状态期间短距离通信在线;

所述智能传感装置至少包括第二存储器和数据处理器;所述数据处理器用于执行所述第二存储器存储的计算机执行指令,所述数据处理器运行所述计算机执行指令执行上述实施例任一项所述的设备的发现方法,于休眠状态下保持所述短距离通信装置在线。

应用本申请实施例提供的一种设备的发现方法,用户设备可以在处理器休眠的情况下,通过智能传感装置执行短距离通信广播和/或短距离通信扫描,从而发现其他用户设备,获取设备建链信息,同步设备状态,并且能够有效地降低设备的功耗。用户设备在休眠状态下不需要唤醒处理器来达到设备之间相互发现的目的,能够提升设备发现、设备建链和数据同步的速度,此外,在一个或多个实施方式中,在用户使用该方法时,可以使操作速度获得提升,优化用户的使用感受。

附图说明

为了更清楚地说明本申请披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为方案1提供的分布式场景下设备唤醒方案的设备构架图;

图2为方案1提供的分布式场景下通过短距离通信唤醒休眠设备的流程图;

图3为方案2提供的短距离通信双向广播流程图;

图4为本申请实施例提供的一种设备的构架图;

图5为本申请实施例提供的一种设备的发现方法中休眠设备被亮屏设备发现的流程图;

图6为本申请实施例提供的一种设备的发现方法中休眠设备主动发现其他设备的流程图;

图7(a)为本申请实施例提供的一种设备的发现方法应用于一个手机A和一个电视TV的示意图;

图7(b)为本申请实施例提供的一种设备的发现方法应用于一个手机A和两个电视TV示意图;

图8为本申请实施例提供的一种设备的发现方法中在线的用户设备通信/同步窗口和发现窗口示意图;

图9为本申请实施例提供的一种设备的发现方法中多个亮屏设备与休眠设备之间互相发现和同步通信示意图;

图10为本申请实施例提供的一种设备的发现方法中设备通信/同步窗口对齐效果图;

图11为本申请实施例提供的一种设备的发现方法中不同步调的两个设备在发现窗口内快速发现的示意图;

图12(a)为本申请实施例提供的一种设备的发现方法中心跳探测包的格式示意图;

图12(b)为本申请实施例提供的一种设备的发现方法中心跳回复包的格式示意图;

图12(c)为本申请实施例提供的一种设备的发现方法中快速发现包的格式示意图;

图12(d)为本申请实施例提供的一种设备的发现方法中结束包的格式示意图;

图13(a)为本申请实施例提供的一种智能传感装置示意图;

图13(b)为本申请实施例提供的一种处理设备示意图;

图14为本申请实施例提供的一种用户设备示意图。

具体实施方式

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\\第二\\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

图1为方案1提供的分布式场景下设备唤醒方案的设备构架图,如图1所示,用户设备可以包括一个或多个(图中仅示出一个)处理器和通信装置。

处理器可以运行用户设备的操作系统,例如,Android、iOS、WindowsOS、Liunix和鸿蒙操作系统等。处理器可以运行特定的应用程序。在方案1中,处理器被配置有处理模块AP,处理器通过运行处理模块AP的应用程序APP,执行分布式场景下的设备唤醒方案。通信装置被配置有短距离通信模块BT,短距离通信模块BT用于经进行蓝牙低功率通信。

采用分层架构的方式可以将处理模块AP分成若干个模块,每一模块都有清晰的角色和分工。模块与模块之间通过软件接口通信。在方案1中,处理器运行Android系统,Android系统分为四个模块,从上至下分别为应用程序模块APP、软件架构模块FW、协议栈模块HAL(hardware abstract layer,简称HAL)、以及内核模块KEL(Kernel,简称KEL)。

应用程序模块APP包括设置、共享、连接、唤醒等一系列应用程序单元,并提供发布任务和订阅服务的数据接口。

软件架构模块FW为应用程序模块APP的应用程序单元提供应用编程接口和编程架构。软件架构模块FW包括蓝牙架构和架构管理器等,蓝牙架构包括一些预先定义的短距离通信函数,如BLE广播函数和BLE扫描函数。

协议栈模块HAL为不同硬件设备提供统一的访问接口。协议栈模块HAL包括蓝牙协议栈和其他协议服务。

内核模块KEL是硬件和软件之间的层。内核模块至少包括各种驱动器,例如,通用异步收发传输驱动器(Universal Asynchronous Receiver Transmitter,简称UART)。

短距离通信模块BT通过UART接口与处理模块AP进行数据异步收发传输,实现短距离通信功能。UART接口为一种通用串行数据总线,用于异步通信,该总线可以为双向通信总线,它将要传输的数据在串行通信与并行通信之间转换。短距离通信,至少包括现有蓝牙标准的各种实施中的任一种,包括蓝牙低功耗、蓝牙标准的未来实施等。

短距离通信模块BT包括通道切换模块和在内部逻辑模块。通道切换模块通过UART接口进行数据异步扫描和发送,进行短距离传输数据。内部逻辑模块包括多个过滤器,过滤器用于过滤短距离通信扫描结果,将扫描结果中符合要求的广播参数通过通道切换模块传输给处理模块AP;或将通道切换模块接收的处理模块AP下行的广播参数过滤,将符合要求的数据广播发布。

在图1所示的设备架构中,其数据传输路径是,在应用程序模块APP启动数据接口,数据接口调用蓝牙架构,通过协议栈的蓝牙协议调用内核模块KEL的蓝牙驱动程序,蓝牙驱动程序通过UART接口启动短距离通信模块BT,短距离通信模块BT根据广播参数进行BLE广播,发布BLE通信服务;短距离通信模块BT进行BLE扫描接收其它用户设备的BLE订阅服务。

图2为分布式场景下通过短距离通信唤醒休眠设备的流程图。根据EMUI10.1版本,在分布式场景下,设备A和至少一个设备B在业务请求之前自动组网,设备A在进行业务请求时可以直接获取到在线同账号信任的至少一个设备B的列表。设备A对列表进行周期性刷新,以获知列表中在线设备B的在线状态。

在图2中,亮屏的设备A的处理模块AP1执行应用程序APP1的开始广播指令,通过短距离通信模块BT1进行BLE广播;至少一个设备B的处理模块AP2在执行应用程序APP2的开始扫描指令过程中,通过短距离通信模块BT2扫描到设备A的广播消息,将该广播消息上报至处理模块AP2,由应用程序APP2处理在线扫描结果。

设备A每5min发消息包到至少一个设备B,然后至少一个设备B无论是否休眠,均需要响应回复该消息表明在线(在附近),超时不响应表示不在线。在该方案中,如果需要设备A发现设备B,则使设备A一直进行BLE通信广播,设备B进行BLE扫描,设备B响应并回复设备A广播的消息,表明设备B在线,确认设备A发现设备B。或者,用户手动启动设备B一直进行BLE通信扫描,设备A进行BLE通信广播的时候,设备B扫描到设备A的广播消息,回复该广播的消息,表明设备B在线,确认设备A发现设备B。

在休眠状态下的短距离通信模块BT2唤醒处理模块AP2后可实现回复设备A。

该方案能实现同账号信任的用户设备之间的用户发现与连接,短距离通信模块BT根据处理模块AP发布短距离通信任务进行短距离通信。

在上述方案中至少存在的缺点是设备B执行的通信任务和接受订阅服务都需经过处理模块AP处理执行,导致周期性的唤醒处理模块AP,引起功耗一定程度的增加,整机功耗随之增加,周围在线设备的增加也导致整机功耗加倍增加。

图3为方案2提供的短距离通信双向广播流程图。该方案通过设备A与设备B之间进行双向广播实现设备之间相互发现。如图3所示,当设备A需要发现设备B时,设备A发起短距离通信广播并进行扫描。设备B一直处于扫描模式。设备B通过扫描,发现设备A的广播之后,通过短距离通信发布广播信息回应设备A。设备B回应的广播信息包含本机设备名、用户昵称、本机电话号码和安全摘要等。设备A通过短距离通信扫描,得到设备B回应的广播信息,显示设备B的设备名,用户昵称和电话号码,设备A通过设备B的标示,在本地或云上搜索设备B的头像,显示给用户。设备A通过短距离通信连接设备B,为后续业务的进行提供数据通路。

在图3提供的短距离通信双向广播中至少存在的缺点是,设备A在发现设备B之后,设备B没有感知到这一状况的发生,因此设备B会一直广播,导致设备B功耗增加。如果周围有更多的设备想要发现设备B,那设备B的功耗会随着周围设备的增加而成倍的增加。该方案的设备A或设备B如果为休眠设备,同样需要唤醒处理模块AP来达到设备之间相互发现的目的,因而周期性唤醒处理器AP的功耗增加问题一并存在。

基于方案1和方案2的发现机制存在导致设备功率消耗较大的缺陷,本申请的一个实施例提供一种用户设备,可以在处理器休眠的情况下通过智能传感装置驱动短距离通信装置执行短距离通信任务。该设备在图1提供的设备架构的基础上,增加了智能传感装置。

智能传感装置为智能传感集线器(Sensorhub)或协处理器,用于连接并处理来自各种传感器设备的数据。智能传感装置可以包括但不限于低功耗的应用处理器(Application Processor)、微处理器MCU(Micro-programmed Control Unit)等低功耗的处理模块或处理电路。其中,智能传感集线器(Sensorhub)是一种基于低功耗MCU和轻量级RTOS操作系统之上的软硬件结合的解决方案,其主要功能是连接并处理来自各种传感器设备的数据。

在本申请的下述实施例中,利用SensorHub 短距离通信的方案来实现在线的设备发现,设备建链信息的交换以及设备状态信息的同步等,其中智能传感装置可以处理处理器下行的短距离通信参数,解析短距离通信装置上行的消息包。

图4为本申请的一个实施例提供的一种设备的构架图。如图4所示,该设备包括处理器、智能传感装置和短距离通信装置;在本申请的实施例中,处理器被配置有处理模块AP,处理器执行处理模块AP的应用程序APP实现下文一个或多个实施例描述的方法,于休眠状态之前指示智能传感装置在休眠状态下保持设备短距离通信功能。

智能传感装置被配置有智能传感模块SH,智能传感装置执行智能传感模块SH的应用程序,实现下文一个或多个实施例描述的方法,于休眠状态下保持所述设备的短距离通信在线,并获取同一集群内设备建链信息,同步设备通信状态。

短距离通信装置被配置有短距离通信模块BT,短距离通信装置执行短距离通信模块BT的程序,实现下文一个或多个实施例描述的方法,进行短距离通信。

本申请的实施例提供的一种设备在处理器休眠的情况下,通过智能传感模块SH与短距离通信模块BT通过I3C接口进行数据传输,实现短距离通信功能。其中,I3C接口为扩展内置集成电路接口(ImprovedInterIntegratedCircuit,简称I3C),I3C接口是一种扩展的双向同步串行总线,包括一根串行数据线(serialdataline,SDA)和一根串行时钟线(derailclockline,SCL)。I3C可以在同一根主线上支持更多的传感器,而且不会因为要支持中断或睡眠模式而增加额外的逻辑信号。

具体地,处理模块AP运行应用程序模块、软件架构模块、协议栈模块和内核模块。

应用程序模块包括一系列应用程序单元,针对设备于休眠状态下的发现和保持在线进行短距离通信,在连接互联网的情况下Android和IOS设备之间传递消息数据。应用程序单元可以包括设置单元、共享单元、连接单元、唤醒单元和数据接口单元与方案1的配置相同。其中,设置单元设置蓝牙通信模式;共享单元发布蓝牙通信共享协议;连接单元连接蓝牙设备;唤醒单元唤醒休眠的蓝牙设备;数据接口单元提供发布蓝牙任务和订阅服务的应用数据接口等应用程序的接口;为本申请提供基本的软硬件配置和驱动。

软件架构模块FW还包括传感器架构单元401等。其中,传感器架构单元401为应用程序提供面向智能传感模块SH的应用程序。

协议栈模块HAL还包括传感器协议单元402。其中,传感器协议单元402为智能传感模块SH提供统一的访问协议,将访问协议下行到智能传感模块SH。

内核模块KEL还包括传感器共享驱动单元403。传感器共享驱动单元403为智能传感模块SH保存蓝牙驱动程序,并为传感器协议单元402下行的短距离通信参数和智能传感模块SH上行的短距离通信参数提供公共的存储空间。

传感器架构单元401、传感器协议单元402和传感器共享驱动单元403是在方案1所示的设备架构中处理模块AP增加的新的功能单元,它们组成了新的数据通路,使得处理模块AP能够于休眠前将蓝牙驱动程序和短距离通信参数下行至智能传感模块SH,指示智能传感模块SH于休眠期间保持短距离通信在线,于唤醒后获取休眠期间与短距离通信相关的数据。

如图4所示,智能传感模块SH包括通信过滤单元421、通信分析单元422和内置集成电路驱动器423。具体来说,通信过滤单元421对下行的广播参数进行筛选处理,编辑生成消息包;通信分析单元422对接收的消息包进行解析,获得对端设备的广播参数;内置集成电路驱动器423运行蓝牙驱动程序,与短距离通信模块BT内置的控制单元414通过I3C接口进行消息包的数据传输。其中控制单元414为短距离通信模块BT提供I3C接口的通信控制,与短距离通信模块BT进行数据异步收发传输,实现短距离通信功能。

图4所示的设备与图1所示的设备的不同之处在于处理模块AP的改进和增加的智能传感模块SH。具体地,处理模块AP在休眠之前,将蓝牙驱动程序和短距离通信广播参数下行依次通过传感器架构单元401和传感器协议单元402发送至传感器共享驱动单元403;在处理模块AP休眠期间,智能传感模块SH执行蓝牙驱动程序和与短距离通信相关的例如广播、扫描和同步的应用程序,智能传感模块SH读取传感器共享驱动单元403中的广播参数后,通信过滤单元421对下行的广播参数进行过滤处理,过滤后有用数据生成消息包,根据消息包中携带业务信息,确定执行的应用及业务,例如消息类型、设备ID、通信的频率和时机等,然后调用内置集成电路驱动器423启动I3C接口进行消息包传输,将消息包传输到短距离通信模块BT。

在本申请的一些实施例中,短距离通信模块BT扫描获得的消息按照上述下行传输路径的反向进行上行传输,需要说明的是,在处理模块AP休眠的状态下,短距离通信模块BT扫描得到的消息通过I3C接口传输到通信分析单元422,解析后的广播参数经通信过滤单元421进行过滤处理,过滤后有用数据存储至传感器共享驱动单元403,供处理模块AP唤醒后立刻读取。

本申请的一个实施例提供一种设备的发现方法,应用于图4所示的第一用户设备的智能传感装置,该方法包括:智能传感装置于处理模块AP休眠前,接收来自处理器的短距离通信参数,短距离通信参数包括扫描参数;于所述处理器休眠期间,智能传感装置指示短距离通信模块根据扫描参数进行扫描;获取通过扫描接收到的第二用户设备广播的消息包M1,该消息包M1至少包括第二用户设备的标识,其中第二用户设备标识是第二用户设备的标识;保存第二用户设备标识,以便于处理器被唤醒后根据第二用户设备的标识发现第二用户设备。

图5为本申请的一个实施例提供的一种设备的发现方法中休眠设备被亮屏设备发现的流程图。如图5所示,第一用户设备于所述处理模块AP1休眠期间,接收来自应用程序APP1的短距离通信参数,所述短距离通信参数包括扫描参数;指示短距离通信模块BT1根据扫描参数进行短距离通信扫描。在一些实施例中,短距离通信可以为BLE通信,短距离通信参数还可以包括广播参数,第一用户设备可以执行如下步骤S5011-S5013。

S5011,第一用户设备进入休眠状态前,处理模块AP1执行应用程序APP1,预先将短距离通信参数下行到智能传感模块SH1,短距离通信参数包括扫描参数。

S5012,智能传感模块SH1获取扫描参数,然后启动I3C接口进行扫描任务传输,扫描任务传输到短距离通信模块BT1。

S5013,短距离通信模块BT1启动BLE通信扫描,实现第一用户设备在后台通过智能传感模块SH1执行BLE通信扫描。

第二用户设备一直处于亮屏状态,处理模块AP2工作。当第二用户设备需要发现周围有哪些用户设备时,运行应用程序模块APP2,开始广播和扫描。

具体地,第二用户设备可以执行如下步骤S5021-S5023。

S5021,应用程序APP2将短距离通信参数下行到处理模块AP2,短距离通信参数包括扫描参数和消息包M1。

S5022,处理模块AP2下行扫描参数和消息包M1到短距离通信模块BT2,

S5023,短距离通信模块BT2执行短距离通信,广播消息包M1。该消息包M1可以标记为第一消息,在第一消息中,至少包括第二用户设备的标识。

第一用户设备执行步骤S5031,短距离通信模块BT1通过I3C接口将扫描到的消息包M1上行至智能传感模块SH1。

执行S5032,智能传感模块SH1对消息包M1进行解析,解析的结果至少包括第二用户设备的标识。

智能传感模块SH1保存第二用户设备的标识。具体地,智能传感模块SH1将解析消息包M1得到的第二用户设备的标识保存在传感器共享驱动单元403中。

智能传感模块SH1指示短距离通信模块BT1根据短距离通信广播参数广播消息包M2,消息包M2至少包括第一用户设备的标识和第二用户设备的标识。将消息包M2记为第二消息,消息包M2是发现消息包M1的回复。

具体地,第一用户设备执行可以执行如下步骤S5041-S5042。

S5041,智能传感模块SH1从传感器共享驱动单元403中读取广播参数,广播参数中至少包括第一用户设备的标识和第二用户设备的标识,通信过滤单元421对该广播参数进行编辑,生成消息包M2。其中第一用户设备的标识用于指示消息包M2的来源;第二用户设备的标识用于指示消息包M2的回复目标。智能传感模块SH1启动I3C接口指示短距离通信模块BT1广播消息包M2。

S5042,短距离通信模块BT1广播消息包M2。

第二用户设备执行S505,短距离通信模块BT2将扫描到的消息包M2上报至处理模块AP2。

休眠的第一用户设备处理器被唤醒后,处理模块AP1立即执行应用程序APP1读取传感器共享驱动单元403中的在线第二用户设备的标识,将订阅数据和服务推送到该第二用户设备。

在一些实施例中,处于休眠状态的第一用户设备周围存在多个在线设备,智能传感模块SH1对多个在线设备广播的多个消息包分别解析,并保存每一个解析结果中的设备标识,得到多个在线设备标识的列表。处理器被唤醒后第一时间执行应用程序APP1获取到周围在线的设备标识的列表,根据列表中设备标识一一推送服务或数据。

应用本申请实施例提供的一种设备的发现方法,第一用户设备可以在处理模块AP1休眠的情况下,通过智能传感模块SH1保持在线状态,执行短距离通信广播和/或扫描,从而发现周围的第二用户设备,获取第二用户设备的建链信息,有效地降低设备的功耗。

应用本申请实施例提供的一种设备的发现方法,第一用户设备在休眠状态下不需要唤醒处理模块AP1,通过智能传感模块SH1保持在线状态,实现用户设备之间的相互发现,能够提升用户设备之间发现和建链速度,从而优化用户的使用感受。

应用本申请的一个实施例提供的一种设备的发现方法,用户设备在休眠状态下保持在线状态的功耗会大幅度的减小,所引起的整机功耗也会随之降低。

本申请一个实施例提供一种设备的发现方法,用于休眠的第一用户设备主动发现其他亮屏的第二用户设备,其中智能传感模块SH1在处理模块AP1休眠期间还执行:接收来自所述APP1的短距离通信参数,短距离通信参数包括广播参数;在获取通过扫描接收到的第二用户设备广播的消息包M1之前,指示短距离通信模块BT1根据广播参数广播消息包M3;消息包M3至少包括第一用户设备标识;第二用户设备收到消息包M3后向第一用户设备回复消息包M1,表示自己在线。

图6为本申请的一个实施例提供的一种设备的发现方法的休眠设备主动发现其他设备的流程图,具体流程如图6所示。在第一用户设备进入休眠状态之前,处理模块AP1执行应用程序APP1下发扫描参数并执行步骤S6011-S6013。

S6011,处理模块AP1将短距离通信广播参数下发给智能传感模块SH1,指示智能传感模块SH1开始广播和扫描。

S6012,智能传感模块SH1根据广播参数将编辑好的消息包M3下发给短距离通信模块BT1,指示短距离通信模块BT开始BLE广播和扫描。消息包M3可以记为第三消息,用于发现周围在线的至少一个第二用户设备。

S6013,短距离通信模块BT广播消息包M3。

具体的,智能传感模块SH1从传感器共享驱动单元403中读取短距离通信广播参数,广播参数至少包括所述第一用户设备标识,第一用户设备标识为第一用户设备的标识。通信过滤单元421对该广播参数进行编辑处理,生成消息包M3,然后启动I3C接口将消息包M3传输到短距离通信模块BT1,启动BLE通信广播消息包M3。

第二用户设备一直处于亮屏状态,处理模块AP2的应用程序APP2开始扫描并执行步骤S6021-S6023。

S6021,短距离通信模块BT2扫描收到消息包M3,处理模块AP2执行应用程序APP2将扫描结果上报至处理模块AP2,处理模块AP2将扫描结果上报至应用程序APP2。

S6022,应用程序APP2下发开始广播指令至处理模块AP2,处理模块AP2指示短距离通信模块BT2开始BLE广播。

S6023,短距离通信模块BT2广播消息包M1。消息包M1中携带的目标设备信息包括第二用户设备标识和第一用户设备标识。消息包M1用于回复消息包M3。

第一用户设备的短距离通信模块BT1扫描得到的消息包M1,智能传感模块SH1执行S6031-S6032。

S6031,对消息包M1进行解析,解析结果至少包括第二用户设备标识和第一用户设备标识。智能传感模块SH1根据解析结果确认该消息包M1的目标设备为第一用户设备,则将广播该消息包M1的第二用户设备标识设置为在线。

S6032,保存第二用户设备标识。

智能传感模块SH1收到消息包M1后,根据广播参数生成消息包M4,消息包M4的广播参数至少包括第二用户设备标识,用于指示第二设备停止向第一用户设备广播消息包M1。第一用户设备执行S6041-S6042。

S6041,智能传感模块SH1指示短距离通信模块BT1广播消息包M4,将消息包M4记为第四消息。

S6042,短距离通信模块BT1进行BLE广播消息包M4。

收到消息包M4的第二用户设备执行S605,将扫描结果上报,处理器AP2响应消息包M4,停止向第一用户设备广播消息包M1。

第一用户设备执行S606,智能传感模块SH1将第二用户设备标识上报至应用程序APP1。

在某个时刻之后,如果处理模块AP1被唤醒,处理器运行应用程序APP1,根据上报的第二用户设备标识发现第二用户设备。

在图5所示的实施例中,第一用户设备在休眠期间,通过智能传感模块SH1执行短距离通信广播和/或扫描,能够响应亮屏的第二用户设备的广播探测,在休眠期间保持在线状态。

在图6所示的实施例中,第一用户设备在休眠期间,通过智能传感模块SH1执行短距离通信广播和/或扫描,能够在休眠状态下的主动探测周围在线的用户设备。智能传感模块SH1执行短距离通信广播和/或扫描消息包M4,收到消息包M4的设备表明已被对端发现,可以停止对探测的回复,进一步减少功耗。该消息包M4也可以应用于图5所示的实施例中处于亮屏状态的设备。

本申请实施例提供的设备发现方法可以将蓝牙驱动程序及短距离通信Stack和业务下沉到智能传感模块SH,在处理模块AP休眠的情况下实现在线设备的快速发现,快速握手,并于休眠期保持在线状。在处理器休眠的情况下,通过智能传感装置指示短距离通信装置执行短距离通信任务,从而发现其他在线用户设备,能够有效地降低设备的功耗。用户设备在休眠状态下不需要唤醒处理器来实现设备之间相互发现。此外,在下文一个或多个实施方式中,在用户使用用户设备时,可以得到速度的提升,从而优化用户的使用感受。

图7(a)为本申请的一个实施例提供的一种设备的发现方法应用于一个手机A和一个电视TV的示意图。如图7(a)所示,以手机A作为休眠状态的第一用户设备、以具有蓝牙的电视TV作为第二用户设备为例,在电视TV的周围存在一个休眠状态手机A,其中,手机A具有如图4所示的架构和功能,包括处理模块AP、智能传感模块SH和短距离通信模块BT。在手机A的处理模块AP处于休眠状态时,手机A的短距离通信模块BT及智能传感模块SH一直处于运行状态。当电视TV需要找到周围可以进行短距离通信的设备时,可以通过以下步骤实现:

S701,电视TV发起在线探测,广播消息包M1,查询手机A是否在周围。其中消息包M1携带的广播参数至少包括本地设备ID、定时时长和广播时间。其广播实施方式参考S6021-S6023,此处不再赘述。

S702,处于休眠状态的手机A的短距离通信模块BT将收到的消息包M1上报给智能传感模块SH。智能传感模块SH收到消息包M1后,进行在线应答;通过短距离通信广播消息包M2对消息包M1回复,其中消息包M2的广播参数至少包括本地设备ID、目标设备1。其中目标设备1为电视TV标识。

S703,智能传感模块SH将消息包M2送入短距离通信模块BT;保存电视TV标识,以便于处理器被唤醒后,处理器运行处理模块AP,根据电视TV标识发现该电视TV。

S704,短距离通信模块BT启动短距离通信广播该心跳回复包M2。

在一些实施例中,还可以采用聚合的处理方式,广播一个包括两个或两个以上用户设备标识的消息包,对两个或两个以上用户设备的在线查询请求同时回复。具体地,智能传感模块SH在指示短距离通信装置根据所述广播参数广播第二消息之前,获取通过扫描接收到的至少一个消息包M5,至少一个消息包M5是分别由至少一个第三用户设备广播的;每个消息包M5包括一个用户设备的标识。智能传感模块SH收到消息包M5后,对第二用户设备和至少一个第三用户设备一起回复,回复一个消息包M2,在消息包M2中每个第三用户设备的标识,以每个第三用户设备作为回复的目标设备。

图7(b)为本申请的一个实施例提供的一种设备的发现方法应用于一个手机A和多个电视TV的示意图。如图7(b)所示,至少存在一个第三用户设备,第三用户设备以第二个具有蓝牙的电视TV2为例,第二个具有蓝牙的电视TV2需要找到周围可以进行短距离通信的设备,具体通过以下步骤实现:

S701′,两个具有蓝牙的电视TV1和TV2分别发起在线查询,其中电视TV1通过短距离通信广播消息包M1,查询手机A是否在周围;电视TV2通过短距离通信广播消息包M5,消息包M5包括至少一个第二电视TV标识。将消息包M5记为第五消息。

S702′,休眠状态的手机A的短距离通信模块BT将收到的消息包M1和消息包M5分别上报给智能传感模块SH,智能传感模块SH对于消息包M1和消息包M5分别进行解析,保存电视TV1的标识和电视TV2的标识。

S703′,对于消息包M1和消息包M5,智能传感模块SH采用聚合的处理方式,编辑一个消息包M2,将消息包M2下行至短距离通信模块BT。消息包M2中同时携带电视TV1标识和电视TV2标识。

S704′,短距离通信模块BT广播消息包M2,同时回应电视TV1和电视TV2。

具体地,聚合消息包M2的处理方式为从传感器共享驱动单元403中读取消息包M1和消息包M5解析后的广播参数,包括电视TV1的标识和电视TV2的标识,通信过滤单元421对该电视TV1的标识和电视TV2的标识进行聚合处理,生成一个消息包M2。消息包M2的广播参数至少包括消息类型、本地设备ID、目标设备1和目标设备2。其中目标设备1和目标设备2分别为电视TV1的标识和电视TV2的标识。智能传感模块SH将一个消息包M2送入短距离通信模块BT,短距离通信模块BT广播消息包M2,同时回应电视TV1和电视TV2。

对于两个以上用户设备的在线查询请求,在手机A处理器休眠的情况下,可以采用相同的聚合的处理方式,通过一个消息包M2同时回复两个以上用户设备。

应用图7(b)的实施例提供的休眠设备的发现方法进行休眠设备发现,在手机A休眠的状态下,智能传感模块SH采用聚合的处理方式,广播一个包括两个或两个以上用户设备标识的消息,对该两路或两路以上用户设备的在线查询请求同时回复,能够实现用户设备在休眠期间获取各个可及范围内在线用户设备的列表、获得建链信息,与多个在线用户设备互相发现和保持在线状态,该方案能够有效地降低休眠设备的广播功耗,同时避免泛广播造成的宕机。

在休眠设备的发现以及保持在线状态的过程中,一个休眠设备周围处于亮屏状态的不同的用户设备进行短距离通信的时间并不同步,时间轴的杂乱无序会致用户设备广播发现休眠设备的时间无规律地增加,功耗增大。在利用短距离通信广播进行休眠设备的发现和保持在线状态过程中需要在一个组网集群内,使休眠设备周围处于亮屏状态的各个用户设备约定短距离通信的频率和时机,在统一的短距离通信时间区间执行广播和扫描任务。该短距离通信时间区间为通信/同步窗口。

图8为用户设备进行短距离通信划分的任务时序窗口示意图。如图8所示,用户设备的短距离通信的任务按照时序划分为通信/同步窗口和发现窗口。通信/同步窗口用于集群内步调一致的的用户设备在此时间区间内执行广播和扫描,进行短距离通信握手,完成互相发现的任务。本次通信/同步窗口结束到下一个通信/同步窗口开始之间的时间区间设置为发现窗口。发现窗口用于随机广播查询消息,发现集群外步调不一致的用户设备。

针对处于亮屏状态的不同的用户设备,要使其各自的通信/同步窗口对齐为统一的时间区间,还需考虑的是不同类型的用户设备其功耗的敏感度、广播的随机性和设备的地址不同,这些因素会影响短距离通信的频率和时机。比如在查询周围的用户设备时,电视TV常连接外部电源,其电量可以随用随取,对功耗敏感度要求比较低,电视TV的短距离通信频率可以设置为每1分钟扫描/广播一次;手机phone的电池电量有限,对功耗敏感度要求比较高,因此手机phone的短距离通信广播的广播频率较低,可以设置为每5分钟扫描/广播一次;PAD的对功耗敏感度要求介于手机phone和电视TV之间,可以每3分钟扫描/广播一次。同时用户设备的地址与短距离通信的距离相关,也会影响短距离通信的功耗、频率和时机。

考虑到上述影响短距离通信的频率和时机的因素,在本申请的一个实施例中,为每个用户设备设置设备权重的值,设备权重DW定义如下:

DW=dT*212 Pcons*29 RF*24 MAC[1]*22 MAC[0];

其中,dT为设定的用户设备型号的值,例如手机的dT值为1,电视的dT值为2,PAD的dT值为3等。Pcons为功耗敏感度的值,与用户设备型号有关,例如手机的Pcons的值为0.7,电视的Pcons值为0.2,PAD的Pcons的值为0.4等。RF为设定的随机因子。MAC为设备地址,为6位数据,MAC[0]为设备地址的第一位数字、MAC[1]为设备地址的第二位数字。

为了减少处于亮屏状态的用户设备查询过程中的功耗,对齐多个亮屏的用户设备的通信/同步窗口的时间区间,可以为每个用户设备设置一个广播权重,该广播权重的值默认为本地设备的设备权重的值。在一个可及的范围内内,每一台用户设备都会将自己知道的周围各个用户设备的广播权重中的最大值随着消息包M6广播出去,处于亮屏状态的用户设备收到消息包M6后,跟随广播权重最大的设备调整广播/扫描的频率和时机,使通信/同步窗口与广播权重最大的设备的通信/同步窗口的时间区间对齐,在对齐的通信/同步窗口内进行短距离通信,以达到同步通信,缩短与休眠设备相互发现的时间,减少功耗。消息包M6可以记为第六消息,第六消息用于约定短距离通信的频率和时机。

基于上述构思,本申请的一个实施例提出的一种设备的发现方法,于多个亮屏的设备发现可及范围内的休眠设备和其他在线的用户设备后,同步多个亮屏设备第一消息发送的频率和时机。

以两个亮屏设备为例,在前述实施例的基础上,第一用户设备于处理模块AP休眠期间,接收来自APP的短距离通信参数还包括第二广播权重、第二广播时间和第二定时时长,其中,第二广播时间和第二定时时长是和第二广播权重对应的;;第一消息还包括第一广播权重,第一广播时间和第一定时时长;其中,第一广播时间和第一定时时长是和第一广播权重对应的。智能传感模块SH1还执行:获取通过扫描接收到的至少一个第三用户设备广播的第五消息;第五消息还包括第三广播权重,第三广播时间和第三定时时长;其中,第三广播时间和第三定时时长是和第三广播权重对应的;比较第一广播权重、第二广播权重和第三广播权重的值,获得最大的广播权重;在最大的广播权重为第一广播权重的情况下,指示短距离通信装置根据短距离通信广播参数在第一广播时间在第一定时时长的时间范围内广播第六消息;在最大的广播权重为第三广播权重的情况下,指示短距离通信装置根据短距离通信广播参数在第三广播时间在第三定时时长的时间范围内广播第六消息;第六消息中包括最大的广播权重、同步广播时间和同步定时时长;其中同步广播时间和同定时时长为与最大的广播权重对应的广播时间和定时时长的值;第六消息用于将最大的广播权重的传播出去,使三个用户设备的短距离通信的广播时间一致和定时时长一致,以实现同步短距离通信的频率和时机。下面通过图9进一步说明。

图9为本申请实施例提供的一种设备的发现方法中多个亮屏设备与休眠设备之间互相发现和同步通信示意图。如图9所示,第一用户设备为休眠的状态,第二用户设备和第三用户设备为亮屏状态,其中,第二用户设备和第一用户设备可以通过短距离通信相互发现,第三用户设备和第一用户设备可以通过短距离通信相互发现,第二用户设备和第三用户设备无法直接通过短距离通信相互发现。第一用户设备、第二用户设备和至少一个第三用户设备通过执行以下步骤实现互相发现和同步通信。

S901,亮屏的第二用户设备主动发起广播和扫描,广播消息包M1,消息包M1至少包括第二用户设备标识、第一广播权重W1、第一广播时间NT1和第一定时时长T1。其中,第一广播时间和第一定时时长是和第一广播权重对应的。

S902,休眠的第一用户设备发起短距离通信扫描接收到消息包M1,同时给第二用户设备回复消息包M2。消息包M2至少包括第一用户设备标识、设备权重DW,第二广播权重W2、第二广播时间NT2、第二定时时长T2和第二用户设备标识;第二广播权重W2默认为第一用户设备的设备权重DW的值。

休眠的第一用户设备在扫描收到消息包M1时,解析消息包M1,保存解析结果。在一些可能的实施方式中,休眠的第一用户设备在扫描收到消息包M1时,解析并保存消息包M1中携带的各个广播参数的值,解析结果至少包括第二用户设备标识,第一广播权重W1、第一定时时长T1和第一广播时间NT1。

S903,处于亮屏状态的第三用户设备主动发起广播和扫描,广播消息包M5,消息包M5记为第五消息,第五消息包括第三用户设备标识、第三广播权重,第三广播时间和第三定时时长;其中第三用户设备标识是第三用户设备的标识,第三广播时间和第三定时时长是和第三广播权重对应的。

S904,第一用户设备收到消息包M5消息,解析消息包M5消息,获得并保存第三用户设备的第三用户设备标识、第三广播权重W3、第三定时时长T3和第三广播时间NT3;对比第一广播权重W1、第二广播权重W2以及收到的第三广播权重W3的值,更新本地设备收到的最大广播权重、定时时间和广播时间。

在本地设备收到的最大广播权重为W1的情况下,指示短距离通信模块BT1在第一广播时间NT1在第一定时时长T1的时间范围内广播消息包M6。第六消息中包括最大的广播权重W、广播时间T和定时时长NT;其中广播时间T和定时时长NT为与最大的广播权重W对应的设备的广播时间和定时时长的值。此时W=W1,T=T1,NT=NT1。

在本地设备收到的最大广播权重为W3的情况下,指示短距离通信模块BT1在第三广播时间NT3在第三定时时长T3的时间范围内广播消息包M6。此时第六消息中最大的广播权重W=W3、广播时间T=T3和定时时长NT=N T3。

S905,第三用户设备执行扫描收到消息包M6,解析该消息包M6,获得广播权重W、广播时间T和定时时长NT。

对比本地的广播权重W3和广播权重W,在本地的广播权重W3小于广播权重W的情况下,第三用户设备在广播时间NT时刻在定时时长T的时间范围内广播消息包M5;在本地的广播权重W3大于或等于广播权重W的情况下,第三用户设备按照原有广播参数在广播时间NT3时刻在定时时长T3的时间范围内广播消息包M5。

S906,第二用户设备扫描收到消息包M2,对比本地的广播权重W1和解析该消息获得的广播权重W2,在本地的广播权重W1小于广播权重W2的情况下,第二用户设备在广播时间NT2时刻在定时时长T2的时间范围内广播下一个消息包M1。如果广播权重W1大于或等于广播权重W2的情况,则第二用户设备按照原有广播参数在广播时间NT时刻在定时时长T的时间范围内进行广播消息包M1。

S907,休眠的第一用户设备在同一个时间段内扫描分别收到消息包M1和消息包M5后,广播同一个消息包M6给第二用户设备和第三用户设备,该消息包M6中可以包括第二用户设备标识和第三用户设备标识,其中第二用户设备标识和第三用户设备标识为目标设备的标识。

经过上述步骤S901-S907,第二用户设备广播消息包M1和第三用户设备广播消息包M5的时机和频率最终能够达到同步,第二用户设备和第三用户设备可以同步扫描接收第一用户设备广播回复的消息包M6。

上述实施例也适用于多个亮屏状态的第三用户设备同时查询休眠的第一用户设备,休眠的第一用户设备广播同一个消息包M6给各个用户设备,该消息包M6中聚合各个用户设备标识,每一个用户设备标识为广播回复的每一个目标设备的标识。

具体地,第一用户设备扫描到n-1个用户设备发送的不同的消息包M1,通信分析单元422分别解析每个消息包M1,获得每个消息包M1中携带的各自设备的标识、广播权重、定时时长和广播时间,将解析每个消息包M1得到的每个用户设备的标识、广播权重、定时时长和广播时间进行处理后发送至传感器共享驱动单元403内存储,通信过滤单元421对比传感器共享驱动单元403内存储的n个广播权重,确定最大的广播权重,根据最大的广播权重编辑对应的消息包M6,消息包M6中最大广播权重W的值为n个广播权重之中最大的值,定时时长为最大广播权重对应设备的定时时长,广播时间为最大广播权重对应设备的广播时间,目标设备包括n-1个目标设备的标识。

将消息包M6通过短距离通信模块进行广播,从而让广播权重小于最大的广播权重的第三用户设备获知具有最大的广播权重的用户设备的定时时长和广播时间,第三用户设备将广播的定时时长和广播时间与最大的广播权重对应的定时时长和广播时间对齐一致,从而达到多个处于亮屏状态的第三用户设备同步广播和扫描的目的。多个同步广播和扫描的第三用户设备组成的网络为一个集群。

如图9所示,在一个集群内,如果休眠的第一用户设备发现其中一个用户设备掉线,最大广播权重依旧保留在传感器共享驱动单元403,不会因为设备的下线而修改最大广播权重,集群内其他各个设备的同步状态不会改变。

通过上述实施例,亮屏的第二用户设备和第三用户设备通过休眠的第一用户设备互相发现,并且能够与休眠的第一用户设备相互保持短距离通信。第一用户设备在唤醒之后,能够第一时间获取到在线用户设备列表,提高短距离通信效率;第一用户设备广播的一个消息包M6中可以同时回应多个亮屏设备的短距离通信请求,达到降低功耗、提高短距离通信效率的目的;第一用户设备广播消息包M6以进行最大的广播权重的传播和归一化,同步多个亮屏设备广播的频率和时机,以快速发现在线的用户设备,减少功率消耗;第二用户设备或第三用户设备掉线之后,最大广播权重依旧保留,集群其他用户设备的通信状态能够继续保持同步和有序。

一个集群内各个用户设备进行同步广播和扫描的一个可能的实施方式为在上述实施例提供的方案的基础上,通过消息包M6的定时时长和广播时间约定通信时长和通信时间,对齐各个亮屏的在线用户设备的共享最大广播权重。其中,通信/同步窗口为起始时刻是广播时间、持续时间是定时时长的时间区间。一个集群内所有设备的通信/同步窗口以最大广播权重所在的设备的通信/同步窗口通信窗口为基准不同程度地进行对齐,各个在线的用户设备在对齐的通信窗口内同步进行广播和扫描。同一个集群(Cluster)内的各个用户设备的通信/同步窗口通信窗口的对齐过程可以采用上述实施例S901-S907的全部或部分流程。

图10为本申请实施例提供的一种用户设备发现方法中通信/同步窗口对齐效果图。如图10所示,手机phone和电视TV已经互相发现;手机phone的通信/同步窗口和电视TV的通信/同步窗口之间已经对齐,在对齐的通信/同步窗口内手机phone和电视TV进行短距离通信交互信息。

图11为本申请实施例提供的一种设备的发现方法中不同步调的两个设备在发现窗口内快速发现的示意图。

如图11所示,第四用户设备启动的初始阶段,与集群内的第一用户设备步调不一致,处于休眠状态的第一用户设备广播消息包M1的时间在第四用户设备的通信/同步窗口外,第一用户设备在其通信/同步窗口外收到第四用户设备广播的消息包M1′,第一用户设备和第四用户设备均没有在其通信窗口获得回复。

在发现窗口(Idle_Interval)时间范围内,即第一用户设备的通信/同步窗口和第四用户设备的通信/同步窗口之外时间区间,第一用户设备指示短距离通信模块根据所述短距离通信广播参数随机广播消息包M7,探测查询集群(Cluster)外与本地通信/同步窗口时间范围不一致的至少一个第四用户设备。第一用户设备和第四用户设备分别执行以下步骤实现首次相互发现:

S1101,第一用户设备在其发现窗口广播消息包M7,消息包M7可以记为第七消息,第七消息至少包括第一用户设备标识,广播权重W、定时时长T和广播时间NT。其中广播权重W为第一用户设备所在的集群内各个用户设备的广播权重中的最大值,定时时长和广播时间是与最大的广播权重对应的。

S1102,第四用户设备广播消息包M7′,消息包M7′至少包括第四用户设备的设备ID4,广播权重W4、定时时长T4和广播时间NT4。

在发现窗口经过多次碰撞,第一用户设备和第四用户设备的短距离通信交互成功。执行S1103-S1104。

S1103,第一用户设备在发现窗口,扫描收到第四用户设备广播的消息包M7′,解析消息包M7′,获得第四用户设备标识,广播权重W4、定时时长T4和广播时间NT4,其中第四用户设备标识为第四用户设备的标识。通过对比广播权重W4和广播权重W的值,以较大的值作为最大的广播权重,将第一用户设备的通信/同步窗口以具有最大广播权重的设备的通信/同步窗口为基准对齐。

S1104,第四用户设备收到第一用户设备广播的消息包M7;对消息包M7解析,获得第一用户设备的设备标识ID1,广播权重W2、定时时长T2和广播时间NT2。通过对比广播权重W4和W2的值,以较大的值作为最大权重,将第四用户设备的通信/同步窗口以具有最大广播权重的设备的通信/同步窗口为基准对齐。

其中将第一用户设备的通信/同步窗口以具有最大广播权重的设备的通信/同步窗口为基准对齐,或将第四用户设备的通信/同步窗口以具有最大广播权重的设备的通信/同步窗口为基准对齐,具体步骤可以参考S904-S907的方法,此处不再赘述。

S1105,在对齐的通信/同步窗口内,第一用户设备广播消息包M1,之后收到第四用户设备回复的消息包M2,第四用户设备加入第一用户设备所在的集群,实现了在可及范围内处于亮屏状态的用户设备快速加入集群实现短距离通信的同步。

如图11所示,在发现窗口内,需要有多个随机窗口,在随机窗口将包括关键信息的消息包M7广播出去,从而增加首次发现的速度。

经过几次的碰撞调整之后,第一用户设备和第四用户设备的通信/同步窗口实现对齐。不在同一集群内的用户设备实现了相互发现,各个用户设备的通信/同步窗口实现同步后,各个用户设备可以在同一时刻工作,以达到用户设备保持在线状态的最大效率。

在上述任一实施例中,消息包M1和消息包M3可以为心跳探测包,消息包M2、M5和M6可以为心跳回复包,消息包M7可以为快速发现包,消息包M4可以为结束包。

具体地,心跳探测包为处于亮屏状态和处于休眠状态的设备广播的探测消息,心跳探测包的广播参数包括消息类型、序列号、本地设备、广播权重、本地权重、定时时长、广播时间,具体消息格式如图12(a)所示。

心跳回复包为扫描到心跳探测包的用户设备广播的回复消息,心跳回复包的广播参数包括消息类型、序列号、最大广播权重、本地设备、定时时长和广播时间,目标设备1~目标设备n。具体消息格式如图12(b)所示。

在一些实施例中,经过心跳探测包和心跳回复包的信息交互,对应的用户设备可以同步短距离通信的频率和时机。

快速发现包为用户设备在通信/同步窗口外的随机时间广播的探测信息,可以快速发现需要加入集群的步调不一致的其它用户设备;快速发现包的广播参数包括消息类型、序列号、本地设备、广播权重、定时时长time和广播时间。具体消息格式如图12(c)所示。

结束包为扫描到心跳回复包的用户设备广播的回复消息,指示对端的用户设备心跳回复包已经收到,可以停止对本设备广播的回复。结束包的消息参数至少包括消息类型、序列号、本地设备、目标设备1~目标设备n之一或组合。具体消息格式如图12(d)所示。

其中上述消息包中各主要广播参数定义如下:

消息类型为消息包的类型标识:例如,消息类型的值为1,该消息包为心跳探测包;消息类型的值为2,该消息包为心跳回复包;消息类型的值为3,该消息包为快速发现包;可以根据消息类型的值确定该消息包的类型。

序列号为本次广播的消息包排序标识。

本地设备为本地设备的标识。

广播权重默认为本地设备的设备权重的值,如果探测到比本地设备的设备权重大的值,将广播权重的值为该较大的设备权重的值。

设备权重为本地设备预先设定的权重的值。

最大广播权重为本地设备扫描到的周围在线设备消息包中广播权重最大的值。

定时时长为本地设备的通信/同步窗口设定的时间间隔。

广播时间为设定的下一次广播到来的时间。

目标设备为广播心跳回复包的目标设备的标识,多个目标设备标识聚合为目标设备列表,目标设备标识列表中包含所述广播心跳回复包的目标设备标识,扫描到心跳回复包的设备都会检查自己标识是否在目标列表中,如果在目标列表中,说明是心跳回复包回复自己的。

第二方面,本申请还相应的提供了一种设备的发现装置,返回图4所示,包括通信过滤单元、通信分析单元和内置集成电路驱动单元;通信过滤单元用于于处理器休眠前,接收来自处理器的短距离通信参数,短距离通信参数包括扫描参数;内置集成电路驱动单元用于于处理器休眠期间,指示短距离通信装置根据扫描参数进行扫描;通信分析单元用于获取通过扫描接收到的第二用户设备广播的第一消息,第一消息至少包括第二用户设备标识;保存第二用户设备标识,以便于处理器被唤醒后APP根据第二用户设备标识发现第二用户设备。

该设备的发现装置所包含的各个模块的功能或用途的实现方式,以及有益效果,可参见一种设备的发现方法的各个实施例,故在介绍该设备的智能传感装置时不再赘述。

第三方面,本申请还相应的提供了一种智能传感装置,如图13(a)所示,智能传感装置1300包括数据处理器1301和第二存储器1302;该第二存储器1302可以为传感器共享驱动单元403,数据处理器1301用于执行所述第二存储器存储的计算机执行指令,数据处理器1301运行计算机执行指令执行上述任一实施例所述的设备的发现方法,于休眠状态下保持所述第一用户设备短距离通信在线。

本申请还相应的提供了一种处理设备,如图13(b)所示,处理设备1310包括处理器1311和第一存储器1312,处理器1311执行存储于第一存储器1312内的计算机执行指令,处理器1311运行计算机执行指令执行上述实施例任一项所述的一种设备的发现方法,于休眠状态前下发短距离通信参数,于休眠状态期间第一用户设备保持短距离通信在线。

第四方面,本申请提供了一种用户设备,能够于休眠状态下保持短距离通信,如图14所示,该用户设备包括处理设备1310、智能传感装置1300和短距离通信装置1401;处理设备1310包括处理器1311和第一存储器1312,处理器1311执行存储于第一存储器1312内的计算机执行指令,处理器1311运行计算机执行指令执行上述实施例任一项所述的一种设备的发现方法,于休眠状态前下发短距离通信参数,于休眠状态期间短距离通信装置保持短距离通信在线。智能传感装置1300包括数据处理器1301和第二存储器1302;该第二存储器1302可以为传感器共享驱动单元403,数据处理器1301用于执行所述第二存储器存储的计算机执行指令,数据处理器1301运行计算机执行指令执行上述任一实施例所述的设备的发现方法,于休眠状态下保持短距离通信装置短距离通信在线。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献