一种实现蓝牙信标beacon和appuart双服务的方法技术

技术编号:30408862 阅读:18 留言:0更新日期:2021-10-20 11:22
本发明专利技术公开了一种实现蓝牙信标beacon和app uart双服务的方法,包括:初始化融合beacon和app uart的融合广播并开启融合广播;若达到蓝牙信标电量更新周期则获取最新的蓝牙信标电量并更新到融合广播;否则若蓝牙信标与主机设备断开连接则读取主机设备下发的指令,若指令为设置功率命令,则关闭融合广播,根据设置功率命令更改发射功率,初始化融合广播并再次开启;若指令为设置广播间隔命令,则关闭融合广播,根据设置广播间隔命令更改广播间隔,初始化融合广播并再次开启。本发明专利技术所发出的融合广播可作为定位信标使用,且无需周期性切换广播类型即可实现广播参数的修改。切换广播类型即可实现广播参数的修改。切换广播类型即可实现广播参数的修改。

【技术实现步骤摘要】
一种实现蓝牙信标beacon和app uart双服务的方法


[0001]本申请属于蓝牙
,具体涉及一种实现蓝牙信标beacon和app uart双服务的方法。

技术介绍

[0002]在室内蓝牙定位系统中,蓝牙信标在定位系统中作为位置信息提供的主要来源,需大量部署在定位环境中。而定位环境中存在信标部署位置的电磁环境不一致性现象,如信标附近的大面积的玻璃、金属等特殊物质会对电磁信号产生干扰,因此需根据定位算法对蓝牙信标的信号强度一致性的需求来更改特殊位置处信标的发射功率。同时,在满足定位需求的前提下,需尽可能延长信标设备的工作年限,因此会调整信标广播的间隔。还存在指定信标设备名的需求,对于这些需求,可通过手机连接信标设备并修改其工作参数。
[0003]目前,为了实现蓝牙beacon广播的可配置有以下两种方式。其一,通过设备上的NB

IoT模块获取服务器的配置信息后转发到蓝牙MCU以实现BLE广播信息修改的方法;其二,采用beacon广播和服务广播周期性切换的方式来实现,当设备周期性切换到服务广播时和手机建立连接,以达到工作参数修改目的。。
[0004]普通的可连接服务广播主要用于被主机扫描发现,其广播内容相对较少,当主机扫描到服务广播后可发起连接请求,待广播方收到请求后便可快速建立连接,成功后二者即可数据交换,此时可通过主机修改信标设备的工作参数,但这种服务广播数据帧结构信息内容有限,其广播帧数据结构中的各字段为自定义,非标准的beacon广播结构。因此,不适合在蓝牙定位系统中作为通用蓝牙信标技术的实现。
[0005]蓝牙标准beacon广播,只使用了广播通信信道,没有BLE后续的连接步骤。在beacon的系统框架下,消息推送十分便捷,不同公司蓝牙芯片的广播帧格式基本一致,对不同的公司的主机扫描具备兼容适配。但这种广播一般为非连接类型,无法修改其工作参数。
[0006]前面两种修改蓝牙beacon广播的方式,存在两个缺点。其一,修改信标设备参数不及时,方法一中服务器下发数据到蓝牙设备,由于低功耗设备在接收数据会有时延性,而且还需借助其他通信模组配合使用。方法二中周期性广播切换不能及时与设备建立连接,连接成功的速度慢;其二,信标设备在正常beacon广播定位数据过程中会周期性的切换到app uart服务广播模式,导致正常beacon广播的时间被占用,beacon广播周期被打断、不连续,因此主机不能及时扫描到附近范围内的信标设备。

技术实现思路

[0007]本申请的目的在于提供一种实现蓝牙信标beacon和app uart双服务的方法,所发出的融合广播可作为定位信标使用,且无需周期性切换广播类型即可实现广播参数的修改。
[0008]为实现上述目的,本申请所采取的技术方案为:
[0009]一种实现蓝牙信标beacon和app uart双服务的方法,所述实现蓝牙信标beacon和
app uart双服务的方法,包括:
[0010]步骤1:初始化融合beacon和app uart的融合广播并开启融合广播,其中初始化融合beacon和app uart的融合广播,包括:
[0011]步骤11、设置广播数据结构体ble_advdata_t中的广播标志字段、名称类型分别为不支持BR/EDR、无名称;
[0012]步骤12、对广播数据结构体ble_advdata_t中的制造商特定数据结构体ble_advdata_manuf_data_t进行初始化,使融合广播具备beacon广播固有的广播帧字段;同时,对广播参数结构体ble_gap_adv_params_t进行初始化,设置广播类型为无方向可连接类型;
[0013]步骤13、设置app uart服务广播的相关参数;
[0014]步骤14、通过扫描回应的方式设置广播时的设备名称;
[0015]步骤2:判断是否达到蓝牙信标电量更新周期,若是则执行步骤3,否则跳转步骤4;
[0016]步骤3:获取最新的蓝牙信标电量并更新到融合广播的广播数据内容中;
[0017]步骤4:判断当前蓝牙信标是否与主机设备断开连接,若是则执行步骤5,否则跳转到步骤2;
[0018]步骤5:读取主机设备下发的指令,判断指令是否为设置功率命令,若是则执行步骤6,否则跳转到步骤7;
[0019]步骤6:关闭蓝牙信标当前的融合广播,根据所述设置功率命令更改发射功率完成广播参数更新,初始化融合广播并再次开启融合广播;
[0020]步骤7:判断指令是否为设置广播间隔命令,若是则执行步骤8,否则跳转到步骤2;
[0021]步骤8:关闭蓝牙信标当前的融合广播,根据所述设置广播间隔命令更改广播间隔完成广播参数更新,初始化融合广播并再次开启融合广播,执行完成后返回到步骤2。
[0022]以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
[0023]作为优选,所述蓝牙信标与主机设备建立连接的步骤如下:
[0024]步骤1:接收主机设备发出的连接请求;
[0025]步骤2:向主机设备发送安全请求,提示主机设备输入符合要求的配对密码;
[0026]步骤3:判断是否收到来自主机设备的正确的配对密码,若是则执行步骤4,否则跳转至步骤8;
[0027]步骤4:向主机设备回复配对请求;
[0028]步骤5:判断是否与主机设备配对成功,若是则执行步骤6,否则跳转至步骤8;
[0029]步骤6:与主机设备进行数据交换,接收主机设备下发的数据帧;
[0030]步骤7:完成数据交换后,执行对应的断开流程,并设置断开标志;
[0031]步骤8:结束当前整个连接过程。
[0032]作为优选,所述蓝牙信标接收主机设备下发的数据帧时,融合广播产生一次app uart服务中断,所述app uart服务中断的具体流程步骤如下:
[0033]步骤1:判定接收到主机设备的数据帧是否合格,若是则执行步骤2,否则跳转到步骤3;
[0034]步骤2:解析数据帧并提取数据帧中的指令,提取后标记该数据帧为已接收;
[0035]步骤3:向主机设备返回命令提示;
[0036]步骤4:中断返回,结束中断。
[0037]本申请提供的一种实现蓝牙信标beacon和app uart双服务的方法,使得蓝牙信标所发出的融合广播与普通beacon广播具备同样的广播结构,可作为定位信标使用,并且随时可与主机设备建立连接,因无需周期性切换广播类型,其连接速度快,获取到主机设备下发命令后即可改变蓝牙广播参数。
附图说明
[0038]图1为本申请的蓝牙信标的功能框图;
[0039]图2为本申请实现蓝牙信标beacon和app uart双服务的方法的流程图;
...

【技术保护点】

【技术特征摘要】
1.一种实现蓝牙信标beacon和app uart双服务的方法,其特征在于,所述实现蓝牙信标beacon和app uart双服务的方法,包括:步骤1:初始化融合beacon和app uart的融合广播并开启融合广播,其中初始化融合beacon和app uart的融合广播,包括:步骤11、设置广播数据结构体ble_advdata_t中的广播标志字段、名称类型分别为不支持BR/EDR、无名称;步骤12、对广播数据结构体ble_advdata_t中的制造商特定数据结构体ble_advdata_manuf_data_t进行初始化,使融合广播具备beacon广播固有的广播帧字段;同时,对广播参数结构体ble_gap_adv_params_t进行初始化,设置广播类型为无方向可连接类型;步骤13、设置app uart服务广播的相关参数;步骤14、通过扫描回应的方式设置广播时的设备名称;步骤2:判断是否达到蓝牙信标电量更新周期,若是则执行步骤3,否则跳转步骤4;步骤3:获取最新的蓝牙信标电量并更新到融合广播的广播数据内容中;步骤4:判断当前蓝牙信标是否与主机设备断开连接,若是则执行步骤5,否则跳转到步骤2;步骤5:读取主机设备下发的指令,判断指令是否为设置功率命令,若是则执行步骤6,否则跳转到步骤7;步骤6:关闭蓝牙信标当前的融合广播,根据所述设置功率命令更改发射功率完成广播参数更新,初始化融合广播并再次开启融合广播;步骤7:判断指令...

【专利技术属性】
技术研发人员:余旭王军吴春陈军慧赵飞马超
申请(专利权)人:中电海康集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1