一种蓝牙mesh网关数据聚合上报方法与流程

文档序号:16279032发布日期:2018-12-14 22:46阅读:1735来源:国知局
一种蓝牙mesh网关数据聚合上报方法与流程

本发明涉及蓝牙技术领域,尤其涉及一种蓝牙mesh网关数据聚合上报方法。

背景技术

蓝牙mesh网络是用于建立多对多(many:many)设备通信的低能耗蓝牙(bluetoothlowenergy,也称为bluetoothle)新的网络拓扑。它允许您创建基于多个设备的大型网络,网络可以包含数十台,数百甚至数千台蓝牙mesh设备,这些设备之间可以相互进行信息的传递,无疑这样一种应用形态为楼宇自动化,无线传感器网络,资产跟踪和其他解决方案提供了理想的选择。

现阶段蓝牙mesh设备只能本地控制,使用蓝牙mesh网关赋予mesh网络远程控制功能。但是由于蓝牙mesh网络子节点众多,特别是群组控制对网络流量要求很高且容易丢包,状态不能准确反馈。故采用数据聚合上报减轻网络流量,准确同步设备状态到云服务器。

mesh网关上电后,子设备状态分批同步到云服务器。可以在手机终端查看设备状态,比如是否在线,开关状态等。远程群组控制设备,设备状态逐步同步上来,最终状态和本地保持一致。



技术实现要素:

本发明所述的蓝牙mesh网关数据聚合上报方法,包括以下步骤:

步骤1,将子设备的设备状态上报给蓝牙mesh网关;

步骤2,所述蓝牙mesh网关在本地缓存所有的所述子设备上报的状态数据;

步骤3,所述蓝牙mesh网关比较每个子设备的聚合待更新的数据;

步骤4,由所述蓝牙mesh网关聚合成一组数据再转发到云服务器。

优选地,所述一组数据包括心跳包。

优选地,所述心跳包的数据格式为子设备id+设备在线状态+功能数据+产品类型。

优选地,所述子设备id、设备在线状态、功能数据和产品类型都用一个字节来表示。

优选地,所述子设备定期向所述蓝牙mesh网关发送所述心跳包,所述蓝牙mesh网关维护一份心跳包列表。

优选地,所述心跳包列表用于监控设备在线状态,数据变化也从所述心跳包列表抽取上报。

优选地,所述子设备被配置为上电同步,数据变化同步。

优选地,还包括以下步骤:

检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,所述工作状态包括繁忙、正常和空闲;以及待所述当前心跳包发送的间隔时间到达时,将所述当前心跳包发送给对侧服务器。

优选地,所述检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括:

当检测到当前与网关设备相连的客户端数目大于预设的第一阈值时,确定所述网关设备的当前工作状态为繁忙,且在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将所述增加了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。

优选地,所述检测网关设备的当前工作状态,且根据所述检测到的网关设备的当前工作状态,确定所述网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中的具体步骤包括:

当检测到当前与网关设备相连的客户端数目小于预设的第二阈值时,确定所述网关设备的当前工作状态为空闲,且在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将所述减少了预定步幅的下一次心跳包发送的间隔时间携带至所述当前心跳包中。

附图说明

图1为本发明实施提供的一种蓝牙mesh网关数据聚合上报方法流程图;

图2为本发明实施提供的一种蓝牙mesh网络结构示意图;

图3为本发明实施提供的一种数据节点流向图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步描述。

本发明所述的蓝牙mesh网关数据聚合上报方法,如图1所示,子设备变化全部缓存在mesh网关本地;mesh网关比较每个子节点的聚合待更新的数据;由网关聚合成一组数据再转发到云服务器,同时做到设备状态差异上报,设备状态未变化数据不上报。

在本发明的一个较佳实施例中,如图2所示,本发明所得蓝牙mesh网络包括14个蓝牙节点子设备,子设备被大小不同圆圈环绕,表示他们各自不同的状态数据变化,而且子设备变化全部缓存在mesh网关本地。如图3所示,mesh网关比较每个子节点的聚合待更新的数据;由网关聚合成一组数据再转发到云服务器,同时做到仅上报设备状态有变化的数据。

在本发明的另一个较佳实施例中,子设备状态通过心跳包维护,心跳包数据格式如下:

子节点id(1byte)+设备在线状态(1byte)+功能数据(1byte)+产品类型(1byte)

mesh子节点定期向mesh网关发送心跳包,mesh网关维护一份心跳列表。用于监控设备在线状态,数据变化也从心跳表抽取上报。实现上电同步,数据变化同步等。

在本发明的另一个较佳实施例示出了mesh网关设备侧的处理流程,具体包括:

步骤s101、检测mesh网关设备的当前工作状态,且根据所述检测到的mesh网关设备的当前工作状态,确定所述mesh网关设备下一次心跳包发送的间隔时间,并将所述确定的下一次心跳包发送的间隔时间携带至当前心跳包中;其中,所述工作状态包括繁忙、正常和空闲;

具体过程为,当检测到当前与mesh网关设备相连的客户端数目大于预设的第一阈值时,确定mesh网关设备的当前工作状态为繁忙;当检测到当前与mesh网关设备相连的客户端数目小于预设的第二阈值时,确定mesh网关设备的当前工作状态为空闲;可以理解的是,当检测到当前与mesh网关设备相连的客户端数目位于第一阈值和第二阈值之间时,确定mesh网关设备的当前工作状态为正常。作为一个例子,将第一阈值设置为128,第二阈值设置为100,因此mesh网关设备正常工作状态时所连接的客户端数目会位于[80,128]之间。

当mesh网关设备的当前工作状态为正常时,保持下一次心跳包发送的间隔时间与当前心跳包的发送的间隔时间相等,并将下一次心跳包发送的间隔时间携带至当前心跳包中。作为一个例子,与mesh网关设备相连的客户端数目为128,且mesh网关设备上当前心跳包发送的间隔时间为30s,将下一次心跳包发送的间隔时间设置与当前心跳包发送的间隔时间相等的30s,并将下一次心跳包发送的间隔时间作为一参数及将30s作为该参数对应的数值携带至当前心跳包中。

当mesh网关设备的当前工作状态为繁忙时,在当前心跳包的发送的间隔时间上增加预定步幅,获得下一次心跳包发送的间隔时间,并将增加了预定步幅的下一次心跳包发送的间隔时间携带至当前心跳包中。作为一个例子,与mesh网关设备相连的客户端数目为128,为了避免该mesh网关设备上当前心跳包在30s的间隔时间无法发送心跳包,因此在该mesh网关设备当前心跳包的发送的间隔时间30s上增加预定步幅,如30s,获得下一次心跳包发送的间隔时间60s,并在对应参数为下一次心跳包发送的间隔时间中修改其参数值为60s后携带至当前心跳包中。

当mesh网关设备的当前工作状态为空闲时,在当前心跳包的发送的间隔时间上减少预定步幅,获得下一次心跳包发送的间隔时间,并将减少了预定步幅的下一次心跳包发送的间隔时间携带至当前心跳包中。作为一个例子,与mesh网关设备相连的客户端数目为90,为了增加该mesh网关设备上当前心跳包的发送频率,因此在该mesh网关设备当前心跳包的发送的间隔时间30s上减少预定步幅,如10s,获得下一次心跳包发送的间隔时间20s,并在对应参数为下一次心跳包发送的间隔时间中修改其参数值为20s后携带至当前心跳包中。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1