一种多功能iBeacon信标的实现方法及装置与流程

文档序号:15701834发布日期:2018-10-19 19:58阅读:268来源:国知局
本发明涉及无线通信
技术领域
,特别是涉及一种多功能iBeacon信标的实现方法及装置。
背景技术
:iBeacon技术在2013年的全球开发者大会上被正式提出,目前已被广泛应用。依据iBeacon协议研发的iBeacon信标可以发出广播信号,支持蓝牙的终端设备可以监听来自iBeacon信标的广播信号,并作出响应,进而实现了iBeacon设备为终端设备提供服务。目前,当iBeacon信标需要为终端设备提供服务时,可发送携带该服务ID的广播信号,而当iBeacon信标要为终端设备提供多个服务时,会同时广播携带各个服务ID的广播信号,然而终端设备在一个时刻只能接收并识别一个来自该iBeacon信标的广播信号,iBeacon信标发送的其他广播信号不能被终端设备响应,而iBeacon信标发送这些广播信号时也会占用带宽等资源,会造成资源浪费。技术实现要素:本发明实施例的目的在于提供一种多功能iBeacon信标的实现方法及装置,以解决现有技术中iBeacon信标要为终端设备提供多个服务时,造成的资源浪费的现象。具体技术方案如下:第一方面,本发明的实施例提供一种多功能iBeacon信标的实现方法,该方法包括:广播第一服务信息,所述第一服务信息为服务队列中的第一个服务的信息;当广播第一服务信息的时长达到所述第一服务对应的轮换周期时,暂停广播所述第一服务信息;广播第二服务信息,所述第二服务信息为服务队列中的第二个服务的信息;当广播第二服务信息的时长达到所述第二服务对应的轮换周期时,暂停广播所述第二服务信息;按照上述方法轮流广播所述服务队列中每个服务的信息,直至所述服务队列中的最后一个服务的信息被广播,且广播所述最后一个服务的信息的时长达到所述最后一个服务对应的轮换周期时,循环执行上述步骤。在一种可能的设计中,在所述暂停广播所述第一服务信息之后,所述方法还包括:将广播内容由所述第一服务信息修改为所述第二服务信息;将轮换周期由所述第一服务对应的轮换周期修改为所述第二服务对应的轮换周期;将接收信号强度指示RSSI校准值由所述第一服务对应的RSSI校准值修改为所述第二服务对应的RSSI校准值。在一种可能的设计中,所述方法还包括:若确定发生连接断开事件,则保存当前系统参数。在一种可能的设计中,所述方法还包括:若确定发生写休眠属性事件,则获取休眠属性值;若所述休眠属性值不为第一预设值,则保存当前系统状态参数,并切换至休眠状态;若所述休眠属性值为第一预设值,则读取休眠前保存的系统状态参数,根据休眠前保存的系统状态参数切换至休眠前的状态。在一种可能的设计中,所述方法还包括:若确定发生写RSSI校准值属性事件,则获取写入的RSSI校准值;若所述RSSI校准值属性为第二预设值,则控制蜂鸣器振动;若所述RSSI校准值属性为第三预设值,则控制蜂鸣器停止振动。第二方面,本发明的实施例提供一种多功能iBeacon信标的实现装置,该方法包括:广播模块,用于广播第一服务信息,所述第一服务信息为服务队列中的第一个服务的信息;处理模块,用于当所述广播模块广播第一服务信息的时长达到所述第一服务对应的轮换周期时,控制所述广播模块暂停广播所述第一服务信息;所述广播模块,还用于广播第二服务信息,所述第二服务信息为服务队列中的第二个服务的信息;所述处理模块,还用于当所述广播模块广播第二服务信息的时长达到所述第二服务对应的轮换周期时,控制所述广播模块暂停广播所述第二服务信息;所述处理模块,还用于控制所述广播模块轮流广播所述服务队列中每个服务的信息,直至所述服务队列中的最后一个服务的信息被广播,且所述广播模块广播所述最后一个服务的信息的时长达到所述最后一个服务对应的轮换周期时,控制所述广播模块从所述服务队列中的第一服务信息开始,循环广播所述服务队列中的每个服务的信息。在一种可能的设计中,所述处理模块,还用于将广播内容由所述第一服务信息修改为所述第二服务信息;将轮换周期由所述第一服务对应的轮换周期修改为所述第二服务对应的轮换周期;将接收信号强度指示RSSI校准值由所述第一服务对应的RSSI校准值修改为所述第二服务对应的RSSI校准值。在一种可能的设计中,所述处理模块,还用于若确定发生连接断开事件,则保存当前系统参数。在一种可能的设计中,所述处理模块,还用于若确定发生写休眠属性事件,则获取休眠属性值;若所述休眠属性值不为第一预设值,则保存当前系统状态参数,并切换至休眠状态;若所述休眠属性值为第一预设值,则读取休眠前保存的系统状态参数,根据休眠前保存的系统状态参数切换至休眠前的状态。在一种可能的设计中,所述处理模块,还用于若确定发生写RSSI校准值属性事件,则获取写入的RSSI校准值;若所述RSSI校准值属性为第二预设值,则控制蜂鸣器振动;若所述RSSI校准值属性为第三预设值,则控制蜂鸣器停止振动。第三方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的多功能iBeacon信标的实现方法。第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行上述第一方面所述的多功能iBeacon信标的实现方法。本发明实施例还提供了一种一种iBeacon信标,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第一方面所述的方法步骤。本发明的实施例提供的多功能iBeacon信标的实现方法及装置,当iBeacon信标为终端设备提供多个服务时,可以通过增添ID号的轮换功能,轮流广播每个服务的信息,各服务的信息不会发生冲突,可以实现在一个时间段内同时提供多种服务,无需重复部署信标,也可避免一个iBeacon信标同时广播携带各个服务ID的广播号而导致的资源浪费的情况。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的实施例提供的一种多功能iBeacon信标的实现方法的流程图;图2为本发明的实施例提供的另一种多功能iBeacon信标的实现方法的流程图;图3为本发明的实施例提供的另一种多功能iBeacon信标的实现方法的流程图;图4为本发明的实施例提供的另一种多功能iBeacon信标的实现方法的流程图;图5为本发明的实施例提供的另一种多功能iBeacon信标的实现方法的流程图;图6为本发明的实施例提供的另一种多功能iBeacon信标的实现方法的流程图;图7为本发明的实施例提供的另一种多功能iBeacon信标的实现方法的流程图;图8为本发明的实施例提供的另一种多功能iBeacon信标的实现方法的流程图;图9为本发明的实施例提供的另一种多功能iBeacon信标的实现方法的流程图;图10为本发明的实施例提供的一种多功能iBeacon信标的实现装置的结构示意图;图11本发明的实施例提供的一种iBeacon信标的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了实现iBeacon信标为终端设备提供多个服务,本发明的实施例提供一种多功能iBeacon信标的实现方法,如图1所示,图1所示的方法流程由iBeacon信标执行,以服务队列中只存在第一服务和第二服务为例进行说明,该方法包括:S101、广播第一服务信息。其中,第一服务信息为服务队列中的第一个服务的信息。当服务队列中存在至少两个服务时,iBeacon信标可轮换广播服务队列中的服务对应的信息,假设第一服务对应的ID为ID1,则可将广播内容初始化为ID1对应的信息,此时广播内容(也可以理解为第一服务信息)中包括:第一服务对应的通用唯一识别码(UniversallyUniqueIdentifier,UUID)1、MAJOR1和MINOR1,初始化完成后,即可开始广播第一服务信息。S102、当广播第一服务信息的时长达到第一服务对应的轮换周期时,暂停广播第一服务信息。其中,每个服务对应一个轮换周期,在一种可能的实现方式中,在开始广播第一服务信息的同时,可以启动一个定时器,并将第一服务的轮换周期的时长设置为该定时器的超时值,当定时器超时时,即可暂停广播第一服务信息。S103、广播第二服务信息。其中,第二服务信息为服务队列中的第二个服务的信息。在iBeacon信标广播第二服务信息之前,将广播内容由第一服务信息修改为第二服务信息,且将轮换周期由第一服务对应的轮换周期修改为第二服务对应的轮换周期,并将接收信号强度指示(ReceivedSignalStrengthIndicator,RSSI)校准值由第一服务对应的RSSI校准值修改为第二服务对应的RSSI校准值。修改广播内容的方法可参考图2,在iBeacon信标处于连接状态的情况下,可判断是否有写ID的事件发生,若否则继续监测是否有写ID的事件发生,若是则获取写入的ID,假设第二服务信息对应的ID为ID2,则写入的ID为ID2,然后iBeacon信标根据ID2更新广播内容,更新后的广播内容(也可以理解为第二服务信息)中包括:第二服务对应的UUID2、MAJOR1和MINOR1,初始化广播后即可开始广播第二服务信息,并继续监测是否有写ID的事件发生。修改广播RSSI校准值的方法可参考图3,在iBeacon信标处于连接状态的情况下,判断是否有写入RSSI校准值事件,若否,则继续监测是否有写入RSSI校准值的事件,若是则获取RSSI校准值属性,并更新系统RSSI校准值参数,之后初始化广播后继续监测是否有写入RSSI校准值事件。S104、当广播第二服务信息的时长达到第二服务对应的轮换周期时,暂停广播第二服务信息。其中,在广播第二服务信息之前,会将第一服务对应的轮换周期修改为第二服务对应的轮换周期,可选地,在开始广播第二服务信息的同时,可以启动定时器,并将第二服务对应的额轮换周期的时长设定为该定时器的超时值,当定时器超时时,即可暂停广播第二服务信息。以服务队列中只包括第一服务和第二服务为例,暂停广播第二服务信息之后,可返回S101,重新开始广播第一信息。可以理解的是,重新广播第一信息之前,可以将广播内容由第二服务信息修改为第一服务信息,且将轮换周期由第二服务对应的轮换周期修改为第一服务对应的轮换周期,并将RSSI校准值由第二服务对应的RSSI校准值修改为第一服务对应的RSSI校准值。本发明的实施例提供的多功能iBeacon信标的实现方法,当iBeacon信标为终端设备提供多个服务时,可以通过增添ID号的轮换功能,轮流广播每个服务的信息,各服务的信息不会发生冲突,可以实现在一个时间段内同时提供多种服务,无需重复部署信标,也可避免一个iBeacon信标同时广播携带各个服务ID的广播号而导致的资源浪费的情况。本发明实施例的iBeacon信标还可以实现掉电保存功能,如图4所示,首先,将系统默认参数写入flash中,然后iBeacon信标上电,并读取flash,获取系统参数,之后判断是否有连接断开的事件发生;若否,则继续监测是否有连接断开的事件发生;若是,则将当前的系统参数写入flash中,并继续监测是否有连接断开的事件发生。此外,本发明实施例的iBeacon信标还可以实现掉电保存功能,若iBeacon信标确定发生写休眠属性事件,则获取休眠属性值,若休眠属性值不为第一预设值,则保存当前系统状态参数,并切换至休眠状态;若休眠属性值为第一预设值,则读取休眠前保存的系统状态参数,根据休眠前保存的系统状态参数切换至休眠前的状态。其中,当前系统状态参数包括当前服务的UUID号、MAJOR号、MINOR号、广播轮换周期属性、RSSI校准值属性、发射功率属性、广播频率属性、轮换周期等。示例性地,第一预设值可以为0。休眠唤醒的功能可参考图5,首先判断是否有写休眠属性事件,若否,则继续监测是否有写休眠属性事件;若是,则获取休眠属性,然后判断休眠属性是否为0,若休眠属性不为0,则将当前系统状态参数写入flash,并切换至休眠状态,即将发射功率设置为-20db、广播频率设置为2s、MAJOR号和MINOR号都设置为0;若休眠属性为0,说明此时要从休眠状态切换至工作状态,则从flash中读取休眠前的系统状态参数,还原系统状态。本发明实施例的iBeacon信标还可以通过写入RSSI校准值属性来实现位置发现功能,iBeacon信标若确定发生写RSSI校准值属性事件,则获取写入的RSSI校准值属性,若RSSI校准值属性为第二预设值,则控制蜂鸣器振动;若RSSI校准值属性为第三预设值,则控制蜂鸣器停止振动。示例性地,第二预设值可以为1,第三预设值可以为0。具体流程可参考图6,在iBeacon信标进入连接状态后,可以判断是否发生写RSSI校准值属性事件,若否,则继续监测是否发生写RSSI校准值属性事件;若是,则获取写入的RSSI校准值属性,然后判断该RSSI校准值属性值是否为1,若为1,则控制蜂鸣器振动;若不为1,则判断该RSSI属性值是否为0,若为0,则控制蜂鸣器停止振动,若不为0,则继续监测是否发生写RSSI校准值属性事件。除了上述描述的功能之外,本发明实施例的iBeacon信标还具有验证访问功能、发射功率属性配置功能以及广播频率功率配置功能,以下将分别进行介绍。验证访问的方法可参考图7,可以创建两个属性,分别是原密码和新密码,可选的,原密码和新密码均可设置为6位,用户可通过设置新密码来修改原密码,修改流程可参考图1,在iBeacon信标进入连接状态后,可判断预设时间内是否有原密码输入,可选地,预设时间可以为2秒,用户可通过具有对iBeacon信标进行配置的权限的终端输入新密码。然后,若确定预设时间内没有原密码输入,则断开连接;若确定预设时间内有原密码输入,则判断原密码是否输入正确,若正确,则判断是否有新密码输入,若无新密码输入则继续监测是否有新密码输入;若有新密码输入,则获取新密码,并将原密码更新为新密码。发射功率属性配置的方法可参考图8,iBeacon信标具备7种发射功率,分别是-20db、-16db、-12db、-8db、-4db、0db和4db。目前具有直接修改iBeacon信标发射功率的应用编程接口(ApplicationProgrammingInterface,API),但通过该API输入的参数必须是负数,且在发射功率对应的属性配置协议中,只支持8位无符号类型的数据,比如-20dB是无法直接写入属性中的,基于此,本发明实施例提供了发射功率的映射关系表,如表1所示。表1智能终端发射功率参数302622181404发射功率属性-20-16-12-8-404发射功率实际值-20db-16dB-12dB-8dB-4dB0dB4dB基于表1,发射功率属性的配置方法如图8所示,在iBeacon信标进入连接状态后,可以判断是否有写发射功率属性的事件发生,若没有写发射功率属性的事件发生,则继续监测是否有写发射功率属性的事件发生;若有写发射功率属性的事件发生,则获取写入的发射功率属性值,然后根据发射功率的映射关系表(即上述表1),将发射功率属性值转换为发射功率实际值,然后根据发射功率实际值更新系统发射功率参数,进而修改发射功率,在修改完成之后,继续监测是否有写发射功率属性的事件发生。广播频率属性的配置方法可参考图9,具备6种常用的广播频率,分别是100ms、300ms、500ms、750ms、1s和2s,目前具有直接修改iBeacon信标的广播频率的API,但通过该API输入的参数必须是负数,且广播频率对应的属性配置协议只支持8位无符号类型的数据,并且用于修改广播频率的API接收的参数是以0.625ms为单位的,比如100ms是无法直接写入属性中的,基于此,本发明实施例提供了广播频率的映射关系表,可以在属性协议的两端使用,具体可参考表2。表2智能终端的广播频率参数10305075100200广播频率属性值160480800120016003200广播频率实际值100ms300ms500ms750ms1s2s基于表2,广播频率属性的配置方法如图9所示,在iBeacon信标进入连接状态后,可以判断是否有写广播频率属性的事件发生,若没有写广播频率属性的事件发生,则继续监测是否有写广播频率属性的事件发生;若有写广播频率属性的事件发生,则获取写入的广播频率属性值,然后根据广播频率的映射关系表(即上述表2),将广播频率属性值转换为广播频率实际值,然后根据广播频率实际值更新系统广播频率参数,进而初始化广播,之后继续监测是否有写广播频率属性的事件发生。对应于上述方法实施例,本发明实施例提供了一种多功能iBeacon信标的实现装置,如图10所示,该装置100包括:广播模块1001和处理模块1002;可选地,装置100还可以包括存储模块1003,存储模块1003可用于存储计算机程序。广播模块101,用于广播第一服务信息,第一服务信息为服务队列中的第一个服务的信息;处理模块102,用于当广播模块101广播第一服务信息的时长达到第一服务对应的轮换周期时,控制广播模块101暂停广播第一服务信息;广播模块101,还用于广播第二服务信息,第二服务信息为服务队列中的第二个服务的信息;处理模块102,还用于当广播模块101广播第二服务信息的时长达到第二服务对应的轮换周期时,控制广播模块101暂停广播第二服务信息;处理模块102,还用于控制广播模块101轮流广播服务队列中每个服务的信息,直至服务队列中的最后一个服务的信息被广播,且广播模块101广播最后一个服务的信息的时长达到最后一个服务对应的轮换周期时,控制广播模块101从服务队列中的第一服务信息开始,循环广播服务队列中的每个服务的信息。在一种可能的实现方式中,处理模块102,用于将广播内容由第一服务信息修改为第二服务信息;将轮换周期由第一服务对应的轮换周期修改为第二服务对应的轮换周期;将接收信号强度指示RSSI校准值由第一服务对应的RSSI校准值修改为第二服务对应的RSSI校准值。在一种可能的实现方式中,处理模块102,还用于若确定发生连接断开事件,则保存当前系统参数。在一种可能的实现方式中,处理模块102,还用于若确定发生写休眠属性事件,则获取休眠属性值;若休眠属性值不为第一预设值,则保存当前系统状态参数,并切换至休眠状态;若休眠属性值为第一预设值,则读取休眠前保存的系统状态参数,根据休眠前保存的系统状态参数切换至休眠前的状态。在一种可能的实现方式中,处理模块102,还用于若确定发生写RSSI校准值属性事件,则获取写入的RSSI校准值;若RSSI校准值属性为第二预设值,则控制蜂鸣器振动;若RSSI校准值属性为第三预设值,则控制蜂鸣器停止振动。本发明实施例还提供了一种iBeacon信标,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,存储器1103,用于存放计算机程序;处理器1101,用于执行存储器1103上所存放的程序时,实现上述图1至图9中的方法步骤。上述提到的通信总线可以是外设部件互连标准(PeripheralComponentInterconnect,PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述iBeacon信标与其他设备之间的通信。存储器可以包括随机存取存储器(RandomAccessMemory,RAM),也可以包括非易失性存储器(Non-VolatileMemory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一多功能iBeacon信标的实现方法的步骤。在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一多功能iBeacon信标的实现方法方法。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidStateDisk(SSD))等。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1