基于物联网智能家居系统的新型Zigbee组网方法

文档序号:1745064 发布日期:2019-11-26 浏览:30次 >En<

阅读说明:本技术 基于物联网智能家居系统的新型Zigbee组网方法 (Novel Zigbee network-building method based on Internet of things intelligent home system ) 是由 陈亮 王玉龙 黄帅 金尚忠 徐时清 张淑琴 杨凯 谷振寰 杨家军 祝晓明 徐瑞 于 2019-08-26 设计创作,主要内容包括:本发明公开了一种基于物联网智能家居系统的新型Zigbee组网方法,属于Zigbee网络领域,包括结合基于按键的广播入网算法与基于非易失性存储器存储算法对物联网智能家居系统进行通信组网,具体包括利用基于按键的广播入网算法,使系统中的节点加入到Zigbee网络中和利用基于非易失性存储器存储算法,将终端节点的地址信息存储在非易失性存储器中,完成通信组网。本发明在原有的按键控制入网算法的基础之上加入了广播唤醒的机制;另一个通过基于非易失性存储器存储算法,将节点信息保存在非易失新存储器中,通过这样改进后,既能保证组网过程方便用户控制,增强组建网络的可操作性;又保证协调器中的节点信息不易丢失,提高了通信组网中的可操作性。(The invention discloses a kind of novel Zigbee network-building method based on Internet of things intelligent home system, belong to Zigbee network field, including combining the broadcast networking algorithm based on key to carry out constructing communication network to Internet of things intelligent home system with based on nonvolatile memory storage algorithm, it specifically includes and utilizes the broadcast networking algorithm based on key, make the node in system be added to Zigbee network to neutralize using based on nonvolatile memory storage algorithm, in the nonvolatile memory by the address information storage of terminal node, constructing communication network is completed.The present invention joined the mechanism of broadcast wakeup on original basis by key control networking algorithm;Nodal information is stored in non-volatile new memory by storing algorithm based on nonvolatile memory, after improving in this way, both can guarantee that networking process facilitated user&#39;s control, and enhanced the operability of building network by another;Guarantee that the nodal information in coordinator is not easy to lose, improves the operability in constructing communication network again.)

基于物联网智能家居系统的新型Zigbee组网方法

技术领域

本发明属于Zigbee网络技术领域,具体涉及一种基于物联网智能家居系统的新型Zigbee组网方法。

背景技术

近年来,物联网在智能家居系统的发展十分迅速,在实际应用中要求越来越高。其中智能家居系统中在感知层组网技术的稳定性尚有很大的欠缺,而且在传统的智能家居系统安装过程中,需要技术维护人员根据实际的住宅户型情况来合理的设计墙面的布线方式,这对墙面也是一种伤害。同时技术人员还需对安装工人进行技术指导和培训,无形中增加了成本。而且现有的感知层组网通信方案只适合一般的场景,远远不能满足实际场景的需要,在面对复杂的环境时,对组网控制及可操作性提出了较高的要求。

在传统的智能家居系统感知层组网算法中利用基于按键非广播方式使底层ZigBee协议栈入网,这种基于按键的非广播入网方式在协调器完成组网功能后不允许子设备对自身进行关联,只有用户按下按键之后,ZigBee节点才能开始搜索网络并且加入到网络中。这种方式的协调器关联的设备数量少,不能满足实际场景中的需要。

同样在传统智能家居系统感知层组网算法中,对组网过程中数据信息的保存也存在着问题。在正常供电时,要加入网络的节点将自己的地址发送至协调器,协调器将地址保存下来。之后当新节点加入时,协调器判断该节点的信息是否已在绑定列表中保存过,若之前已保存,则更新该节点的网络地址,反之则***新的节点信息。在正常供电时,这种方式能够达到用户的需要,但是在停电或者间歇性断电的情况下,协调器便会反复重新的开关,由于之前保存的数据信息没有进行保存,协调器通电之后,找不到任何目标节点的有效地理位置,无法与之建立通信链路。

发明内容

本发明的目的在于提供基于物联网智能家居系统的新型Zigbee组网方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

基于物联网智能家居系统的新型Zigbee组网方法,基于物联网智能家居系统的新型Zigbee组网方法,包括结合基于按键的广播入网算法与基于非易失性存储器存储算法对物联网智能家居系统进行通信组网,具体包括以下步骤:

S1、利用基于按键的广播入网算法,使系统中的节点加入到Zigbee网络中;

S2、利用基于非易失性存储器存储算法,将终端节点的地址信息存储在非易失性存储器中,完成通信组网。

作为一种优选的实施方式,所述S1中的利用基于按键的广播入网算法将系统中节点加入到Zigbee的方法,具体包括以下步骤:

S101、给协调器通电,启动并建立Zigbee网络,默认情况下不允许任何子节点加入Zigbee网络;

S102、与此同时给终端节点和路由节点上电,默认情况下路由节点是允许关联任何子节点的;

S103、长按按键协调器开启广播模式,允许路由节点关联更多的设备;

S104、路由节点在收到协调器的广播消息之后,开启允许终端节点设备通过自己加入到Zigbee网络功能,使需要加入到Zigbee网络的终端节点通过这种方式加入到Zigbee网络中;

S105、协调器每1分钟轮询一次,唤醒路由节点的关联功能;

S106、若到达轮询时间,Zigbee网络形成;若需更多设备加到网络中,则长按按键,重复上述S101-S105即可。

作为一种优选的实施方式,所述S2中利用基于非易失性存储器存储算法将终端节点信息存储在非易失性存储器中,完成通信组网的方法,该方法具体包括以下步骤:

S201、在协调器和终端节点中加入编译选项,保证基于物联网智能家居系统在断电重启后,恢复到原来的Zigbee网络;

S202、将协调器进行初始化,调用相应的函数,在非易失性存储器中分配所需内存空间,存储终端节点的地址信息;

S203、协调器初始化结束后,读取非易失性存储器中绑定表信息;

S204、根据终端节点对协调器发送的报文,对协调器在绑定表中授播节点的物理地址进行查询,判定绑定表中是否存在物理地址;

S205、若非易失性存储器绑定表中存在该终端节点的物理地址,则更新该节点的网络地址;否则***该节点的物理地址和网络地址,并将新的绑定表在非易失性存储器中存储起来。

与现有技术相比,本发明的有益效果是:

本发明提出了一种基于智能家居系统底层的新型ZigBee协议栈入网方法,即在原有的按键控制入网算法的基础之上加入了广播唤醒机制,通过这种方式来更好的控制节点的加入和对网络的有效控制,防止网络之间的干扰,增强组建网络的可操作性,延伸网络的深度;同时又提出了一种基于非易失性存储器的算法,有效的解决了协调器内节点信息丢失的问题,使智能家居系统网络的实用性有了显著的提高。

附图说明

图1为本发明中协调器轮询流程图;

图2为本发明中基于按键广播入网算法流程图;

图3为本发明中基于非易失性存储器存储算法流程图。

具体实施方式

下面结合实施例对本发明做进一步的描述。

以下实施例用于说明本发明,但不能用来限制本发明的保护范围。实施例中的条件可以根据具体条件做进一步的调整,在本发明的构思前提下对本发明的方法简单改进都属于本发明要求保护的范围。

本发明提供了一种基于物联网智能家居系统的新型Zigbee组网方法,括结合基于按键的广播入网算法与基于非易失性存储器存储算法对物联网智能家居系统进行通信组网,具体包括以下步骤:

首先利用基于按键的广播入网算法,提供协议栈新的入网方式,使系统中的节点加入到Zigbee网络中。

请参阅图1和图2,图1为协调器轮询一次的流程图,图2为总的基于按键广播入网算法的流程图。利用基于按键的广播入网算法将系统中节点加入到Zigbee的方法,具体包括以下步骤:

S101、先给协调器通电,启动并建立Zigbee网络,默认情况下不允许任何子节点加入Zigbee网络;

S102、与此同时给终端节点和路由节点上电,默认情况下路由节点是允许关联任何子节点的;

S103、长按按键协调器开启广播模式,允许路由节点关联更多的设备;

S104、路由节点在收到协调器的广播消息之后,开启允许终端节点设备通过自己加入到Zigbee网络功能,使需要加入到Zigbee网络的终端节点通过这种方式加入到Zigbee网络中;

S105、协调器每1分钟轮询一次,唤醒路由节点的关联功能,一旦到达轮询时间,整个Zigbee网络就已经形成,若需更多设备加到网络中,则只需要长按按键,重复上述步骤即可。

具体的,在S101开始时禁止协调器和底层通信节点之间的关联,这样既控制其他网络的节点通过路由节点加入到Zigbee网络,又可通过控制协调器来决定网络的搭建时间。

更具体的,S103具体实现过程是通过查询ZigBee协议栈中的API可知,协调器一旦建立网络成功之后,再开启允许其他子节点加入自己的网络中,此时调用ZDP_MgmtPermitJoinReq(zAddrType_t*dstAddr,byte duration,byte TcSignificance,byteSecurityEnable)函数,参数dstAddr表示协调器发送消息对象的地址,这里采用的地址模式是广播的方式,对象是Zigbee网络中所有的路由节点,duration参数表示广播的时间周期,0xFF代表协调器或者路由节点一直允许子节点关联,0x01-0xFE代表允许关联的时间秒数,0x00代表一直不允许子节点关联,TcSignificanceTcSignificance参数如果设为0x01且远端设备为真实中心设备的话,命令将影响中心设备的授权机制,SecurityEnable参数表示是否开启安全机制,本文这里设置为1也就是开启有效的安全的传输模式。

再具体的,S104是通过给网络中的路由节点加入编译选项MT_ZDO_MGMT、MT_ZDO_FUNC让它收到协调器广播发送过来的消息的时候,能够自动打开与其他子节点关联的功能。这样可以使,网络之外的子节点可以通过路由节点加入到同一个Zigbee网络中。

另外,协调器一旦过了轮询时间,新的网络就已形成,而还没有加上来的节点,就需要等待下一次轮询的发生。而下一次轮询的发生则需要长按按键协调器,这样会使协调器开启广播模式,同时唤醒路由节点的关联功能,从而可以使新的节点连接入Zigbee网络中。

本实施方案中,基于按键的广播入网的核心算法如下:

void Broadcast_SendTheMessage(void)

{

int timerRtyNum=0;

int TIMER_RTY_MAX_NUM

zAddrType_t dstAddr;

dstAddr.addrMode=AddrBroadcast;

dstAddr.addr.shortAddr=NWK_BROADCAST_SHORTADDR_DEVZCZR;

ZDP_MgmtPermitJoinReq(&dstAddr,120,1,1);

NLME_PermitJoiningRequest(60);

timerRtyNum++;

osal_start_timerEx(GenericApp_TaskID,

GENERICAPP_JOINING_EVENT,

GENERICAPP_SEND_MSG_TIMEOUT);

if(timerRtyNum==TIMER_RTY_MAX_NUM){

osal_stop_timerEx(GenericApp_TaskID,

GENERICAPP_JOINING_EVENT);

zAddrType_t dstAddr;

dstAddr.addrMode=AddrBroadcast;

dstAddr.addr.shortAddr=NWK_BROADCAST_SHORTADDR_DEVZCZR;

ZDP_MgmtPermitJoinReq(&dstAddr,0,1,1);

NLME_PermitJoiningRequest(0);

}

}

再利用基于非易失性存储器存储算法,将终端节点的地址信息存储在非易失性存储器中,有效的解决了协调器内节点信息丢失的问题,使智能家居系统网络的实用性有了显著的提高。

请参阅图3,图3为本发明中基于非易失性存储器存储算法流程图。利用基于非易失性存储器存储算法将终端节点信息存储在非易失性存储器中,完成通信组网的方法,该方法具体包括以下步骤:

S201、在协调器和终端节点中加入编译选项,保证基于物联网智能家居系统在断电重启后,恢复到原来的Zigbee网络;

S202、将协调器进行初始化,调用相应的函数,在非易失性存储器中分配所需内存空间,存储终端节点的地址信息;

S203、协调器初始化结束后,读取非易失性存储器中绑定表信息;

S204、根据终端节点对协调器发送的报文,对协调器在绑定表中授播节点的物理地址进行查询,判定绑定表中是否存在物理地址;

S205、若非易失性存储器绑定表中存在该终端节点的物理地址,则更新该节点的网络地址;否则***该节点的物理地址和网络地址,并将新的绑定表在非易失性存储器中存储起来。

具体的,S202首先通过osal_nv_item_init(uint16 id,uint16 len,void*buf)函数接口判断是否已经存在NV item,若不存在则在协调器进行初始化时,需要调用应用层函数InitNVBindItem(),从而在非易失性存储器中分配存储节点信息的空间。

更具体的,S203首先利用相应的读取程序即osal_nv_read(ZCD_NV_MAC_NWK_BIND,0,(uint16)(sizeof(nvNodeNum)),&nvNodeNum)从非易失性存储器中读取存储的节点数,若节点的返回值大于0,那么再从非易失新存储器中读取绑定表的信息:osal_nv_read,(ZCD_NV_MAC_NWK_BIND,(uint16)(sizeof(nvNodeNum)),MAX_NV_SIZE,macNwkBindTable),ZCD_NV_MAC_NWK_BIND参数是用户自定义的绑定表,该参数是NV用来区分不同的绑定表信息。

当智能家居系统需要加入新的设备节点,首先给终端节点上电,终端节点会把自己的地址信息发送给协调器,协调器根据该节点的物理地址,去查询绑定表中是否有相应的地址信息,若保存了则更新该节点的信息,反之添加该节点信息,实现功能的函数是UpdateBindItem(afIncomingMSGPacket_t*pkt),增加更新操作后将最新的绑定表的信息重新放入非易失性存储器中保存起来,避免Zigbee网络断电或重启时协调器会丢失相应的信息,维护网络的稳定。

由此可见基于物联网智能家居系统的新型Zigbee组网方法,一方面对节点的加入和对网络的有效控制有了显著性的提高;另一方面使协调器数据不易丢失,一定程度上大大提高了数据存储的稳定性和抗干扰性。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:订阅服务实体、订阅终端及信息订阅方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类