本发明涉及通信工程技术,尤其涉及一种zigbee网关设备、zigbee子节点和zigbee组网方法。
背景技术:
无线个域网Zigbee技术是一种低成本、低复杂度、低功耗、网络容量大且可靠的无线通信技术,它符合IEEE.802.15.4协议,由Zigbee联盟专门为家庭短距离通信而制定的新标准。
基于zigbee技术的设备在组网时,zigbee子节点将自身的标识信息—媒体访问控制(Media Access Control,简称MAC)地址、厂商信息分别发送至zigbee网关设备,zigbee网关设备接收到一个zigbee子节点发送的标识信息后,判断是否允许该zigbee子节点加入zigbee网络或者入网,然后再接收另一个zigbee子节点发送的标识信息。
上述组网方法中,由于MAC地址和厂商信息是分别发送至zigbee网关设备的,存在zigbee网关设备判断失误的情况(也就是将同一个zigbee子节点发送的MAC地址和厂商信息没有对应在一起),从而导致zigbee子节点入网失败;而且zigbee网关设备是逐条处理zigbee子节点发送的消息,若子节点数量巨大时,会因为网络堵塞、网关处理速度过慢等原因,导致网关没有接收到部分zigbee子节点的信息,从而导致该部分zigbee子节点入网失败。
技术实现要素:
本发明提供一种zigbee网关设备、zigbee子节点和zigbee组网方法,以克服现有技术中的组网设备和方法容易导致zigbee子节点入网失败的技术问题。
本发明提供一种zigbee网关设备,包括:接收器、缓存存储器和处理器;所述缓存存储器分别与所述接收器和所述处理器连接;
所述接收器用于接收第一zigbee子节点发送的标识信息,并将所述标识信息发送至所述缓存存储器,所述标识信息是所述第一zigbee子节点的媒体访问控制MAC地址和厂商信息经编码整合后得到的信息;
所述缓存存储器用于缓存所述标识信息,并每间隔预设时长将相应预设时长内被缓存的标识信息发送至所述处理器;
所述处理器用于根据预设时长内被缓存的标识信息,在各所述第一zigbee子节点中确定允许入网的第二zigbee子节点。
如上所述的zigbee网关设备,所述处理器包括依次连接的解码器和控制器;
所述解码器用于将被缓存的标识信息进行解码,得到第一字符序列和第二字符序列,所述第一字符序列用于指示所述MAC地址,所述第二字符序列用于指示所述厂商信息;
所述控制器用于判断所述厂商信息是否为目标厂商信息,若是,则将所述MAC地址对应的第一zigbee子节点作为第二zigbee子节点,其中,所述目标厂商信息为允许入网的zigbee设备对应的厂商信息。
如上所述的zigbee网关设备,,所述zigbee网关设备还包括发送器,所述发送器与所述处理器连接;
所述处理器还用于,根据预设时长内所述被缓存的标识信息,在第一zigbee子节点中确定不允许入网的第三zigbee子节点;
所述发送器用于向所述第三zigbee子节点发送接入失败消息,所述接入失败消息用于指示所述第三zigbee子节点接入zigbee网络失败。
本发明还提供一种zigbee子节点,包括:处理器和发送器,所述处理器包括依次连接的控制器和编码器,所述编码器还与所述发送器连接;
所述控制器用于获取所述zigbee子节点的媒体访问控制MAC地址和厂商信息;
所述编码器用于对所述MAC地址和厂商信息进行编码整合,得到标识信息;
所述发送器用于将所述标识信息发送至zigbee网关设备,以使所述zigbee网关设备确定是否允许所述zigbee子节点入网。
如上所述的zigbee子节点,所述控制器还用于:将所述MAC地址转化为第一字符序列,并获取所述第一字符序列的字符总数M以及所述厂商信息对应的第二字符序列的字符总数N;
所述编码器具体用于:根据所述字符总数M和字符总数N,对所述第一字符序列和第二字符序列进行编码,得到所述标识信息。
本发明还提供一种zigbee组网系统,包括如上所述的zigbee网关设备和如上所述的zigbee子节点。
本发明还提供一种zigbee组网方法,应用于zigbee网关设备,包括:
接收第一zigbee子节点发送的标识信息,并将所述标识信息缓存至缓存存储器,所述标识信息是所述第一zigbee子节点的媒体访问控制MAC地址和厂商信息经编码整合后得到的信息,所述第一zigbee子节点为待入网的zigbee设备;
每间隔预设时长从所述缓存存储器中获取被缓存的标识信息,并根据预设时长内被缓存的标识信息,在各所述第一zigbee子节点中确定允许入网的第二zigbee子节点。
如上所述的方法,所述根据预设时长内被缓存的标识信息,在各所述第一zigbee子节点中确定允许入网的第二zigbee子节点,包括:
将被缓存的标识信息进行解码,得到第一字符序列和第二字符序列,所述第一字符序列用于指示所述MAC地址,所述第二字符序列用于指示所述厂商信息;
判断所述厂商信息是否为目标厂商信息,若是,则将所述MAC地址对应的第一zigbee子节点作为第二zigbee子节点,其中,所述目标厂商信息为允许入网的zigbee设备对应的厂商信息。
如上所述的方法,所述方法还包括:
根据预设时长内所述被缓存的标识信息,在第一zigbee子节点中确定不允许入网的第三zigbee子节点;
向所述第三zigbee子节点发送接入失败消息,所述接入失败消息用于指示所述第三zigbee子节点接入zigbee网络失败。
本发明还提供一种zigbee组网方法,应用于zigbee子节点,包括:
获取所述zigbee子节点的媒体访问控制MAC地址和厂商信息;
对所述MAC地址和厂商信息进行编码整合,得到标识信息;
将所述标识信息发送至zigbee网关设备,以使所述zigbee网关设备确定是否允许所述zigbee子节点入网。
如上所述的方法,所述对所述MAC地址和厂商信息进行编码整合,得到标识信息,包括:
将所述MAC地址转化为第一字符序列;
获取所述第一字符序列的字符总数M,并获取所述厂商信息对应的第二字符序列的字符总数N;
根据所述字符总数M和字符总数N,对所述第一字符序列和第二字符序列进行编码,得到所述标识信息。
如上所述的方法,所述根据所述字符总数M和字符总数N,对所述第一字符序列和第二字符序列进行编码,得到所述标识信息,包括:
根据所述字符总数M和字符总数N,对所述第一字符序列和第二字符序列进行编码,得到第三字符序列;
将所述字符总数N对应的数字字符和第一预设字符组成第四字符序列,所述数字字符位于所述第一预设字符之前;
将所述第四字符序列和所述第三字符序列组合,得到第五字符序列,将所述第五字符序列作为所述标识信息;其中,所述第四字符序列位于所述第三字符序列之前。
如上所述的方法,所述根据所述字符总数M和字符总数N,对所述第一字符序列和第二字符序列进行编码,得到第三字符序列,包括:
根据所述第一字符序列中的字符排列顺序和所述第二字符序列中的字符排列顺序,将所述第一字符序列中的字符与所述第二字符序列中的字符交替排列;
其中,若M>N,则按照所述第一字符序列中的字符顺序,将剩余的第一字符序列中的字符作为所述第三字符序列的第2N+1至第N+M个字符;
若M<N,则按照所述第二字符序列中的字符顺序,将第二预设字符与剩余的第二字符序列中的字符交替排列,直至所述第二字符序列中的字符排列完毕。
本发明的zigbee组网方法包括:获取zigbee子节点的MAC地址和厂商信息;对MAC地址和厂商信息进行编码整合,得到标识信息;将标识信息发送至zigbee网关设备,以使zigbee网关设备确定是否允许zigbee子节点入网。本发明提供的zigbee网关设备、zigbee子节点和zigbee组网方法,在保证了zigbee子节点入网成功的几率的同时,提高了zigbee组网的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的Zigbee子节点的结构示意图一;
图2为本发明提供的Zigbee子节点获取MAC地址和厂商信息的示意图一;
图3为本发明提供的Zigbee子节点获取MAC地址和厂商信息的示意图二;
图4为本发明提供的Zigbee网关设备的结构示意图一;
图5为本发明提供的Zigbee组网系统的结构示意图;
图6为本发明提供的zigbee组网方法的流程图一;
图7为本发明提供的zigbee组网方法的流程图二;
图8为本发明提供的zigbee组网方法的流程图三。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的Zigbee子节点的结构示意图一,参见图1,本实施例的Zigbee子节点包括:处理器11和发送器12,处理器11包括依次连接的控制器111和编码器112,编码器112还与发送器12连接;
控制器111用于获取zigbee子节点的媒体访问控制MAC地址和厂商信息;
编码器112用于对MAC地址和厂商信息进行编码整合,得到标识信息;
发送器12用于将标识信息发送至zigbee网关设备,以使zigbee网关设备确定是否允许zigbee子节点入网。
具体地,本实施例的Zigbee子节点是Zigbee设备的一种,包括路由器和终端设备,本实施中的Zigbee子节点为待加入Zigbee网络的节点。
本实施例的Zigbee子节点包括:处理器11和发送器12,处理器11包括依次连接的控制器111和编码器112,编码器112还与发送器12连接。
其中,控制器111用于获取zigbee子节点的媒体访问控制MAC地址和厂商信息。
获取zigbee子节点的MAC地址和厂商信息的方法可以采用以下实施方式实现。图2为本发明提供的Zigbee子节点获取MAC地址和厂商信息的示意图一;
图3为本发明提供的Zigbee子节点获取MAC地址和厂商信息的示意图二;
一种可能的实现方式为:参见图2,通过辅助设备31扫描该zigbee子节点32上的二维码,辅助设备得到zigbee子节点32的MAC地址和厂商信息后,将zigbee子节点32的MAC地址和厂商信息发送至zigbee子节点32,被zigbee子节点32的控制器111接收后,控制器111获取到zigbee子节点的MAC地址和厂商信息。
另一种可能的实现方式为:参见图3,用户通过zigbee子节点32的用户界面,手动输入zigbee子节点32的MAC地址和厂商信息后,点击确定按钮后,zigbee子节点32的处理器获取到用户的输入指示,根据该用户输入指示,控制将zigbee子节点的MAC地址和厂商信息发送至控制器,控制器111获取到zigbee子节点的MAC地址和厂商信息。
当然,控制器111还可以采用其它方式获取MAC地址和厂商信息,本实施例不作限定。
控制器111还用于将MAC地址转化为第一字符序列,并获取第一字符序列的字符总数M以及厂商信息对应的第二字符序列的字符总数N;
编码器112用于对MAC地址和厂商信息进行编码整合,得到标识信息;本实施例中的编码器将MAC地址和厂商信息进行编码整合后得到一条信息,该一条信息即为该zigbee子节点的标识信息。本实施例中编码器112对MAC地址和厂商信息编码整合的方法可以采用多种方法,只要是将MAC地址和厂商信息整合成一条信息即可。
下面对将MAC地址和厂商信息进行编码整合后得到一条信息的优选方法进行详细说明。
编码器用于根据字符总数M和字符总数N,对第一字符序列和第二字符序列进行编码,得到标识信息,具体为:根据字符总数M和字符总数N,对第一字符序列和第二字符序列进行编码,得到第三字符序列;将字符总数N对应的数字字符和第一预设字符组成第四字符序列,数字字符位于第一预设字符之前;将第四字符序列和第三字符序列组合,得到第五字符序列,将第五字符序列作为标识信息;其中,第四字符序列位于第三字符序列之前,第四字符序列中除了一位第一预设字符之外的数字字符用于指示厂商信息的字符总数,在解码时,可以根据编码规则和该数字字符先将厂商信息解码出来,再将MAC地址解码出来。。
其中,上述根据字符总数M和字符总数N,对第一字符序列和第二字符序列进行编码,得到第三字符序列的一种可能的实现方式为:
根据第一字符序列中的字符排列顺序和第二字符序列中的字符排列顺序,将第一字符序列中的字符与第二字符序列中的字符交替排列;
其中,若M>N,则按照所述第一字符序列中的字符顺序,将剩余的第一字符序列中的字符作为第三字符序列的第2N+1至第N+M个字符;
若M<N,则按照所述第二字符序列中的字符顺序,将第二预设字符与剩余的第二字符序列中的字符交替排列,直至所述第二字符序列中的字符排列完毕。
本领域技术人员可以理解的是,“据字符总数M和字符总数N,对第一字符序列和第二字符序列进行编码,得到第三字符序列”,还可以采用其它的实现方式,本实施例不作限定。
下面通过具体的实例来说明处理器将MAC地址和厂商信息进行编码整合后得到一条信息的优选方法的编码过程。
若一个Zigbee节点的MAC地址转化为第一字符序列后为0123456789ABCDEF,厂商信息对应的第二字符序列Sengled,统计第一字符序列的字符总数为M为16,第二字符序列的字符总数N为7,M>N,则按照第一字符序列中字符的顺序和第二字符序列中字符的顺序,将第一字符序列的前7个字符和第二字符序列的前7个字符交替排列,得到第三字符序列的前14个字符,接着按照第一字符序列中的字符顺序,将剩余的第一字符序列中的字符作为第三字符序列的第15至第23个字符,最终得到的第三字符序列如下:0S1e2n3g4l5e6d789ABCDEF。
第四字符序列的获取方式如下:将字符总数N7对应的数字字符7和第一预设字符0组成第四字符序列,数字字符7位于第一预设字符0之前,得到的第四字符序列如下70。当然第一预设字符还可为其它字符,本实施例不作限定。
将第四字符序列和第三字符序列组合,得到第五字符序列,将第五字符序列作为所述标识信息;其中,第四字符序列位于第三字符序列之前,最终得到的标识信息为:700S1e2n3g4l5e6d789ABCDEF。
若一个Zigbee节点的MAC地址转化为第一字符序列后为0123456789ABCDEF,厂商信息对应的第二字符序列SengledSHANGHAIBJ,统计第一字符序列的字符总数为M为16,第二字符序列的字符总数N为17,M<N,则按照第一字符序列中字符的顺序和第二字符序列中字符的顺序,将第一字符序列的16个字符和第二字符序列的前16个字符交替排列,得到第三字符序列的前32个字符,接着第二字符序列中的字符顺序,将第二预设字符0与剩余的第二字符序列中的字符交替排列,直至第二字符序列中的字符排列完毕,最终得到的第三字符序列如下:0S1e2n3g4l5e6d7S8H9AANBGCHDAEIFB0J。当然第二预设字符还可为其它字符,本实施例不作限定。
第四字符序列的获取方式如下:将字符总数N17对应的数字字符17和第一预设字符0组成第四字符序列,数字字符17位于第一预设字符0之前,得到的第四字符序列如下170。当然第一预设字符还可为其它字符,本实施例不作限定。
将第四字符序列和第三字符序列组合,得到第五字符序列,将第五字符序列作为所述标识信息;其中,第四字符序列位于第三字符序列之前,最终标识信息为:1700S1e2n3g4l5e6d7S8H9AANBGCHDAEIFB0J。
本实施例中将MAC地址和厂商信息进行编码整合,得到只有一条信息的标识信息可以极大的减少因为zigbee网关设备将同一个zigbee子节点发送的MAC地址和厂商信息判断为两个不同zigbee子节点发送的信息导致zigbee子节点入网失败的情况的发生,保证了zigbee子节点入网成功的几率。
发送器12用于,在编码器将MAC地址和厂商信息编码整合得到标识信息后,将标识信息发送至zigbee网关设备,以使zigbee网关设备确定是否允许zigbee子节点入网。其中,zigbee网关设备确定是否允许zigbee子节点入网的方法可以采用下一实施例中zigbee网关设备确定是否允许zigbee子节点入网的方法,本实施例不作限定。
本实施例的zigbee子节点包括:处理器和发送器,处理器包括依次连接的控制器和编码器,编码器还与发送器连接;控制器用于获取zigbee子节点的媒体访问控制MAC地址和厂商信息;编码器用于对MAC地址和厂商信息进行编码整合,得到标识信息;发送器12用于将标识信息发送至zigbee网关设备,以使zigbee网关设备确定是否允许zigbee子节点入网。本实施的zigbee子节点,保证了zigbee子节点自身入网成功的几率。
图4为本发明提供的Zigbee网关设备的结构示意图一,参见图4,本实施例的Zigbee网关设备包括接收器21、缓存存储器22和处理器23;缓存存储器22分别与接收器21和处理器23连接。
接收器21用于接收第一zigbee子节点发送的标识信息,并将标识信息发送至缓存存储器22,标识信息是第一zigbee子节点的媒体访问控制MAC地址和厂商信息经编码整合后得到的信息;
缓存存储器23用于缓存标识信息,并每间隔预设时长将相应预设时长内被缓存的标识信息发送至处理器23;
处理器23用于根据预设时长内被缓存的标识信息,在各第一zigbee子节点中确定允许入网的第二zigbee子节点。
具体地,本实施例的Zigbee网关设备是Zigbee设备的一种,也可称为协调器,作为数据汇聚的节点。
本实施例的Zigbee网关设备包括接收器21、缓存存储器22和处理器23;缓存存储器22分别与接收器21和处理器23连接。本实施例的第一zigbee子节点可为上一实施例中的zigbee子节点,第一zigbee子节点为待入网的zigbee设备。
其中,接收器21用于接收第一zigbee子节点发送的标识信息,并将标识信息发送至缓存存储器22,标识信息是第一zigbee子节点的媒体访问控制MAC地址和厂商信息经编码整合后得到的信息;其中,本实施例中接收器接收到的标识信息可为第一zigbee子节点采用上一实施例中的编码整合方法得到的标识信息,本实施例不再赘述。
缓存存储器22用于缓存标识信息,并每间隔预设时长将相应预设时长内被缓存的标识信息发送至处理器23。本实施例中Zigbee网关设备的接收器21接收到第一zigbee子节点发送的标识信息后不是直接发送至Zigbee网关设备的处理器进行判断第一zigbee子节点是否允许加入Zigbee网络,而是缓存至在Zigbee网关设备上创建的缓存存储器22中,每间隔预设时长将相应预设时长内被缓存的标识信息发送至处理器23;比如,预设时长为3S,将第一时间至第二时间内缓存的标识信息发送至处理器23,再将第二时间至第三时间内缓存的标识信息发送至处理器23,其中,第一时间和第二时间之间的时长为3S,第二时间和第三时间之间的时长为3S,如此循环执行。
其中,当子节点数量巨大时,缓存存储器22的设置可以极大的减少因为网络堵塞、网关处理速度过慢等原因,导致Zigbee网关设备没有接收到部分zigbee子节点接入网络失败的现象的发生。
处理器23用于接收缓存存储器22发送的预设时长内的被缓存的标识信息,根据预设时长内被缓存的标识信息,在各第一zigbee子节点中确定允许入网的第二zigbee子节点。
下面以处理器23对一个第一zigbee子节点的标识信息的处理过程说明处理器23的具体工作过程。此处,将该第一zigbee子节点的标识信息称之为第一被缓存的标识信息。
处理器23包括依次连接的解码器231和控制器232;解码器231用于将第一被缓存的标识信息进行解码,得到第一字符序列和第二字符序列,第一字符序列用于指示第一MAC地址,第二字符序列用于指示第一厂商信息;本领域技术人员可以理解的是本实施例zigbee网关设备的处理器23的解码方法需要与第一zigbee子节点的处理器的编码器的编码方法相对应。
解码器231用于将第一被缓存的标识信息进行解码,得到第一字符序列和第二字符序列,第一字符序列用于指示第一MAC地址,第二字符序列用于指示第一厂商信息时,解码器231具体用于将第一被缓存的标识信息进行解码,得到第四字符序列和第三字符序列,根据第四字符序列,确定第一厂商信息的字符总数;根据第一厂商信息的字符总数从第三字符序列中得到第二字符序列,并将第三字符序列中剩余的字符中的各第二预设字符去除,得到第一字符序列,第一字符序列用于指示第一MAC地址,第二字符序列用于指示第一厂商信息。
更为具体地,在zigbee网关设备的处理器23在解码时,根据第一被缓存的标识信息得到第四字符序列和第三字符序列,第四字符序列具体的获取过程为:根据预先设定的第一预设字符,确定第一预设字符的位置,对于第一预设字符为0的情况,将第一被缓存的标识信息中第一次出现的0字符作为第一预设字符;第一预设字符和其之前的数字字符组成的字符序列即为第四字符序列,第一被缓存的标识信息中去除第四字符序列对应的字符后,剩余的字符即组成第三字符序列;将第四字符序列中的第一预设字符去除,剩余的数字字符即为第一厂商信息的字符总数,根据第一厂商信息的字符总数和编码规则,在第三字符序列中得到第二字符序列,将第三字符序列中剩余的字符(第三字符序列去除第二字符序列所包括的各字符)中的各第二预设字符去除,得到第一字符序列;对于第二字符为0的情况,第三字符序列去除第二字符序列后剩余的字符中第一次出现的0不去除,因为MAC地址的第一位肯定为0。
控制器232用于判断第一厂商信息是否为目标厂商信息,若是,则将第一MAC地址对应的第一zigbee子节点作为第二zigbee子节点,其中,目标厂商信息为允许入网的zigbee设备对应的厂商信息。目标厂商信息至少具有一个,可以通过列表的形式存储于zigbee网关设备的处理器23中;此时,只要判断目标厂商信息列表中是否存在对第一厂商信息即可,若第一厂商信息存在目标厂商信息列表中,则说明该第一zigbee子节点允许接入zigbee网络,该第一zigbee子节点即为其中一个第二zigbee子节点。
进一步地,zigbee网关设备还包括发送器24,发送器24与处理器23连接,处理器23还用于根据预设时长内被缓存的标识信息,在第一zigbee子节点中确定不允许入网的第三zigbee子节点;发送器24用于向第三zigbee子节点发送接入失败消息,接入失败消息用于指示第三zigbee子节点接入zigbee网络失败。
也就是说,若第一zigbee子节点允许接入zigbee网络,zigbee网关设备不会向第一zigbee子节点发送任何消息,若在预设时间内,第一zigbee子节点没有收到任何消息,则说明该第一zigbee子节点已接入zigbee网络,可通过zigbee网络进行信息的传输。若第一zigbee子节点不允许接入zigbee网络,zigbee网关设备向第一zigbee子节点发送接入失败消息,以通知第一zigbee子节点(也可称为第三zigbee子节点)接入zigbee网络失败。
本实施例中的处理器每间隔预设时长从缓存存储器中获取被缓存的标识信息,并根据预设时长内被缓存的标识信息,在第一zigbee子节点中确定允许入网的第二zigbee子节点,可以快速的筛选出允许入网的第二zigbee子节点,提高了zigbee组网的效率。
本实施例的的Zigbee网关设备包括接收器、缓存存储器和处理器;缓存存储器分别与接收器和处理器连接。接收器用于接收第一zigbee子节点发送的标识信息,并将标识信息发送至缓存存储器,标识信息是第一zigbee子节点的MAC地址和厂商信息经编码整合后得到的信息;缓存存储器用于缓存标识信息,并每间隔预设时长将相应预设时长内被缓存的标识信息发送至处理器;处理器用于根据预设时长内被缓存的标识信息,在各第一zigbee子节点中确定允许入网的第二zigbee子节点。本实施例的的Zigbee网关设备保证了zigbee子节点入网成功的几率,提高了zigbee组网的效率。
图5为本发明提供的Zigbee组网系统的结构示意图,包括如上实施例的zigbee网关设备51和如上实施例的zigbee子节点52。
本实施例的组网系统,通过采用如上实施例的zigbee网关设备51和如上实施例的zigbee子节点52,保证了zigbee子节点入网成功的几率,提高了zigbee组网的效率。
图6为本发明提供的zigbee组网方法的流程图一,应用于zigbee子节点,如图6所示,本实施例的方法可以包括:
步骤S101,获取zigbee子节点的媒体访问控制MAC地址和厂商信息;
步骤S102,对MAC地址和厂商信息进行编码整合,得到标识信息;
步骤S103,将标识信息发送至zigbee网关设备,以使zigbee网关设备确定是否允许zigbee子节点入网。
具体地,本实施例的方法可以基于图1所示的装置实现。
本实施例中的步骤S101可以基于图1所示的装置的控制器实现,其中,获取zigbee子节点的媒体访问控制MAC地址和厂商信息的方法可以基于图2或图3所示的方式获取,具体获取方法参照图1对应的实施例中所阐述的获取方法,本实施例不再赘述。
步骤S102可以基于图1所示的处理器实现,将MAC地址和厂商信息进行编码整合后得到一条信息,该一条信息即为相应zigbee子节点的标识信息。本实施例中对MAC地址和厂商信息编码整合的方法可以采用多种方法,只要是将MAC地址和厂商信息整合成一条信息即可。
在将MAC地址和厂商信息整合成一条信息得到相应zigbee子节点的标识信息后,将标识信息发送至zigbee网关设备,以使zigbee网关设备确定是否允许zigbee子节点入网。
本实施的zigbee组网方法包括:获取zigbee子节点的MAC地址和厂商信息;对MAC地址和厂商信息进行编码整合,得到标识信息;将标识信息发送至zigbee网关设备,以使zigbee网关设备确定是否允许zigbee子节点入网。本实施的zigbee组网方法将MAC地址和厂商信息进行编码整合,得到只有一条信息的标识信息可以极大的减少因为zigbee网关设备将同一个zigbee子节点发送的MAC地址和厂商信息判断为两个不同zigbee子节点发送的信息导致zigbee子节点入网失败的情况的发生,保证了zigbee子节点入网成功的几率。
下面采用具体的实施例对上一实施例进行详细说明。
图7为本发明提供的zigbee组网方法的流程图二,应用于zigbee字节点,本实施的方法是对步骤“将MAC地址和厂商信息进行编码整合,得到标识信息”的详细说明,参见图7,本实施的方法包括:
步骤S201,将MAC地址转化为第一字符序列,并获取第一字符序列的字符总数M以及厂商信息对应的第二字符序列的字符总数N。
步骤S202,根据字符总数M和字符总数N,对第一字符序列和第二字符序列进行编码,得到标识信息;
具体地,一般情况下,zigbee子节点的MAC地址不是纯字符序列的形式,而是字符之间具有冒号,因此,需要将zigbee子节点的MAC地址转化为字符序列,此处称为第一字符序列。在得到第一字符序列后,便可以统计第一字符序列的字符总数M以及厂商信息对应的第二字符序列的字符总数N。
根据字符总数M和字符总数N,对第一字符序列和第二字符序列进行编码,得到标识信息,具体为:
根据字符总数M和字符总数N,对第一字符序列和第二字符序列进行编码,得到第三字符序列;将字符总数N对应的数字字符和第一预设字符组成第四字符序列,数字字符位于第一预设字符之前;将第四字符序列和第三字符序列组合,得到第五字符序列,将第五字符序列作为所述标识信息;其中,第四字符序列位于第三字符序列之前,第四字符序列中除了一位第一预设字符之外的数字字符用于指示厂商信息的字符总数,在解码时,可以根据编码规则和该数字字符先将厂商信息解码出来,再将MAC地址解码出来。
其中,根据字符总数M和字符总数N,对第一字符序列和第二字符序列进行编码,得到第三字符序列具体为:
根据第一字符序列中的字符排列顺序和第二字符序列中的字符排列顺序,将第一字符序列中的字符与第二字符序列中的字符交替排列;
其中,若M>N,则按照所述第一字符序列中的字符顺序,将剩余的第一字符序列中的字符作为所述第三字符序列的第2N+1至第N+M个字符;
若M<N,则按照所述第二字符序列中的字符顺序,将第二预设字符与剩余的第二字符序列中的字符交替排列,直至所述第二字符序列中的字符排列完毕。
下面通过具体的实例来说明步骤“将MAC地址和厂商信息进行编码整合,得到标识信息”。
若一个Zigbee节点的MAC地址转化为第一字符序列后为0123456789ABCDEF,厂商信息对应的第二字符序列Sengled,统计第一字符序列的字符总数为M为16,第二字符序列的字符总数N为7,说明M>N,则按照第一字符序列中字符的顺序和第二字符序列中字符的顺序,将第一字符序列的前7个字符和第二字符序列的前7个字符交替排列,得到第三字符序列的前14个字符,接着按照第一字符序列中的字符顺序,将剩余的第一字符序列中的字符作为第三字符序列的第15至第23个字符,最终得到的第三字符序列如下:0S1e2n3g4l5e6d789ABCDEF。
第四字符序列的获取方式如下:将字符总数N7对应的数字字符7和第一预设字符0组成第四字符序列,数字字符7位于第一预设字符0之前,得到的第四字符序列如下70。当然第一预设字符还可为其它字符,本实施例不作限定。
将第四字符序列和第三字符序列组合,得到第五字符序列,将第五字符序列作为所述标识信息;其中,第四字符序列位于第三字符序列之前,最终得到的标识信息为:700S1e2n3g4l5e6d789ABCDEF。
若一个Zigbee节点的MAC地址转化为第一字符序列后为0123456789ABCDEF,厂商信息对应的第二字符序列SengledSHANGHAIBJ,统计第一字符序列的字符总数为M为16,第二字符序列的字符总数N为17,说明M<N,则按照第一字符序列中字符的顺序和第二字符序列中字符的顺序,将第一字符序列的16个字符和第二字符序列的前16个字符交替排列,得到第三字符序列的前32个字符,接着第二字符序列中的字符顺序,将第二预设字符0与剩余的第二字符序列中的字符交替排列,直至第二字符序列中的字符排列完毕,最终得到的第三字符序列如下:0S1e2n3g4l5e6d7S8H9AANBGCHDAEIFB0J。当然第二预设字符还可为其它字符,本实施例不作限定。
第四字符序列的获取方式如下:将字符总数N17对应的数字字符17和第一预设字符0组成第四字符序列,数字字符17位于第一预设字符0之前,得到的第四字符序列如下170。当然第一预设字符还可为其它字符,本实施例不作限定。
将第四字符序列和第三字符序列组合,得到第五字符序列,将第五字符序列作为所述标识信息;其中,第四字符序列位于第三字符序列之前,最终标识信息为:1700S1e2n3g4l5e6d7S8H9AANBGCHDAEIFB0J。
本实施例中通过交替排列MAC地址对应的字符和厂商信息对应的字符,实现了对MAC地址和厂商信息的编码整合。
图8为本发明提供的zigbee组网方法的流程图三,应用于zigbee网关设备,如图8所示,本实施例的方法可以包括:
步骤S301、接收第一zigbee子节点发送的标识信息,并将标识信息缓存至缓存存储器,标识信息是第一zigbee子节点的媒体访问控制MAC地址和厂商信息经编码整合后得到的信息,第一zigbee子节点为待入网的zigbee设备。
步骤S302、每间隔预设时长从缓存存储器中获取被缓存的标识信息,并根据预设时长内被缓存的标识信息,在各第一zigbee子节点中确定允许入网的第二zigbee子节点。
具体地,本实施例的方法可以基于图4所示的Zigbee网关设备实现,本实施例中的第一zigbee子节点可为图1所示的实施例中的zigbee子节点。
步骤S301中Zigbee网关设备接收到的标识信息可为第一zigbee子节点采用图6~7中所示的实施例中的编码整合方法得到的标识信息,本实施例不再赘述。该步骤可以基于图4所示的Zigbee网关设备中的接收器实现。其中,接收第一zigbee子节点发送的MAC地址和厂商信息经编码整合后得到的标识信息,可以保证zigbee子节点入网成功的几率。
Zigbee网关设备接收到第一zigbee子节点发送的标识信息后不是直接判断第一zigbee子节点是否允许加入Zigbee网络,而是缓存至在Zigbee网关设备上创建的缓存存储器中,每间隔预设时长将相应预设时长内被缓存的标识信息发送至Zigbee网关设备的处理器中;比如,预设时长为3S,将第一时间至第二时间内缓存的标识信息发送至处理器23,再将第二时间至第三时间内缓存的标识信息发送至处理器23,其中,第一时间和第二时间之间的时长为3S,第二时间和第三时间之间的时长为3S,如此循环执行。
Zigbee网关设备的处理器接收到预设时长内被缓存的标识信息后,根据预设时长内被缓存的标识信息,在各第一zigbee子节点中确定允许入网的第二zigbee子节点,包括:
将第一被缓存的标识信息进行解码,得到第一字符序列和第二字符序列,第一字符序列用于指示第一MAC地址,第二字符序列用于指示第一厂商信息;其中,第一被缓存的标识信息为该预设时长内任一被缓存的标识信息。本领域技术人员可以理解的是本实施例的解码方法需要与标识信息的编码方法相同。
具体来说:将第一被缓存的标识信息进行解码,得到第一字符序列和第二字符序列,第一字符序列用于指示第一MAC地址,第二字符序列用于指示第一厂商信息,具体包括:将第一被缓存的标识信息进行解码,得到第四字符序列和第三字符序列,根据第四字符序列,确定第一厂商信息的字符总数;根据第一厂商信息的字符总数从第三字符序列中得到第二字符序列,并将第三字符序列中剩余的字符中的各第二预设字符去除,得到第一字符序列,第一字符序列用于指示第一MAC地址,第二字符序列用于指示第一厂商信息。
更为具体地,在对第一被缓存的标识信息解码时,根据第一被缓存的标识信息得到第四字符序列和第三字符序列,第四字符序列具体的获取过程为:根据预先设定的第一预设字符,确定第一预设字符的位置,对于第一预设字符为0的情况,将第一被缓存的标识信息中第一次出现的0字符作为第一预设字符;第一预设字符和其之前的数字字符组成的字符序列即为第四字符序列,第一被缓存的标识信息中去除第四字符序列对应的字符后,剩余的字符即组成第三字符序列;将第四字符序列中的第一预设字符去除,剩余的数字字符即为第一厂商信息的字符总数,根据第一厂商信息的字符总数和编码规则,在第三字符序列中得到第二字符序列,将第三字符序列中剩余的字符(第三字符序列去除第二字符序列所包括的各字符)中的各第二预设字符去除,得到第一字符序列;对于第二字符为0的情况,第三字符序列去除第二字符序列后剩余的字符中第一次出现的0不去除,因为MAC地址的第一位肯定为0。
判断第一厂商信息是否为目标厂商信息,若是,则将第一MAC地址对应的第一zigbee子节点作为第二zigbee子节点,其中,目标厂商信息为允许入网的zigbee设备对应的厂商信息。目标厂商信息至少具有一个,可以通过列表的形式存储于zigbee网关设备中,此时,只要判断目标厂商信息列表中是否存在对第一zigbee子节点发送的标识信息解码后得到的第一厂商信息即可,若第一厂商信息存在目标厂商信息列表中,则说明与第一MAC地址对应的第一zigbee子节点允许接入zigbee网络,该第一zigbee子节点即为其中一个第二zigbee子节点。
同理,若第一厂商信息存在目标厂商信息列表中,则说明与第一MAC地址对应的第一zigbee子节点不允许接入zigbee网络,该第一zigbee子节点即为其中一个第三zigbee子节点。
在确定了第三zigbee子节点后,向第三zigbee子节点发送接入失败消息,接入失败消息用于指示第三zigbee子节点接入zigbee网络失败
也就是说,若第一zigbee子节点允许接入zigbee网络,zigbee网关设备不会向第一zigbee子节点发送任何消息,若在预设时间内,第一zigbee子节点没有收到任何消息,则说明该第一zigbee子节点已接入zigbee网络,可通过zigbee网络进行信息的传输。若第一zigbee子节点不允许接入zigbee网络,zigbee网关设备向第一zigbee子节点发送接入失败消息,以通知第一zigbee子节点(也可称为第三zigbee子节点)接入zigbee网络失败。
针对预设时长内每一个被缓存的标识信息均按照上述相同的方法进行处理。
其中,当子节点数量巨大时,本实施例每间隔预设时长从缓存存储器中获取被缓存的标识信息,并根据预设时长内被缓存的标识信息,在第一zigbee子节点中确定允许入网的第二zigbee子节点,可以快速的筛选出允许入网的第二zigbee子节点,提高zigbee组网的效率。
本实施例提供的zigbee组网方法包括:接收第一zigbee子节点发送的标识信息,并将标识信息缓存至缓存存储器,标识信息是第一zigbee子节点的媒体访问控制MAC地址和厂商信息经编码整合后得到的信息,第一zigbee子节点为待入网的zigbee设备;每间隔预设时长从缓存存储器中获取被缓存的标识信息,并根据预设时长内被缓存的标识信息,在各第一zigbee子节点中确定允许入网的第二zigbee子节点。本实施例提供的zigbee组网方法,接收第一zigbee子节点发送的MAC地址和厂商信息经编码整合后得到的标识信息,并且每间隔预设时长从缓存存储器中获取被缓存的标识信息,并根据预设时长内被缓存的标识信息,在第一zigbee子节点中确定允许入网的第二zigbee子节点,在保证了zigbee子节点入网成功的几率同时,提高了zigbee组网的效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。