ZigBee节点的远距离通信方法与系统、网关设备和ZigBee节点与流程

文档序号:11960233阅读:777来源:国知局
ZigBee节点的远距离通信方法与系统、网关设备和ZigBee节点与流程

本发明涉及通信领域,尤其涉及一种ZigBee节点的远距离通信方法和系统、网关设备和ZigBee节点。



背景技术:

物联网协议(ZigBee)是基于电气和电子工程师协会(IEEE)802.15.4标准的低功耗局域网协议,其特点是近距离、低复杂度、自组织、低功耗、低数据速率,适用于自动控制和远程控制领域,是目前物联网应用中的一种主流协议。近年来物联网技术快速崛起,已经渗透到了工业生产和日常生活中的各个领域,随着物联网应用的深入,通过互联网协议(IP)网络实现跨局域网、长距离的数据传输的需求越来越强烈,而ZigBee协议受到了的本身近距离传输特点的限制。

目前解决ZigBee协议远距离通信的方法包括:

一、通过采用国际互联网工程任务组(IETF)的IPv6低速无线个域网(6LoWPAN)标准作为新一代智能电网(Smart Energy(SEP 2.0))的标准,致力于形成全球统一的易于与互联网集成的网络,实现端到端的网络通信。但该标准要求ZigBee传输节点具备对ZigBee和6LoWPAN协议双栈的支持,对于早期部署的节点而言改造量很大。

二、通过引入支持ZigBee/IP协议翻译的网关实现ZigBee数据包在IP网络上的传输,该方案的实现核心问题在于协议翻译与应用层的实现关系紧密,实现复杂,对网关的功能和性能都有较高要求。



技术实现要素:

本发明的目的是提出一种实现ZigBee远距离通信的方法,通过将ZigBee数据包封装在IP数据包中,实现跨地域的ZigBee网络节点或者不 同无线个域网(WPAN)网络之间的互通。

本发明实施例提供的一种ZigBee节点的远距离通信方法,包括:

源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包时,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包,ZigBee数据包中包括源ZigBee节点的节点标识ID;

通过预先在位于源ZigBee节点所在WPAN中的封装模块与位于目标ZigBee节点所在WPAN中的解封装模块之间建立的IP网络隧道,将IP数据包发送给解封装模块;

利用解封装模块对IP数据包进行解封装,获得ZigBee数据包;并将ZigBee数据包发送给目标ZigBee节点。

基于上述ZigBee节点的远距离通信的另一实施例中,将ZigBee数据包发送给目标ZigBee节点包括:

目标ZigBee网关从预先设置的绑定表中获取源ZigBee节点的节点ID绑定的目标ZigBee节点的节点ID;绑定表包括ZigBee节点之间的绑定关系表项;

目标ZigBee网关从预先设置的节点信息列表中获取目标ZigBee节点的节点ID对应的目标ZigBee节点的媒体访问控制(MAC)地址;节点信息列表包括网关、网关下各节点的节点ID和MAC地址信息;

目标ZigBee网关根据目标ZigBee节点的MAC地址,将解封装模块解封装后的ZigBee数据包转发给目标ZigBee节点。

基于上述任一ZigBee节点的远距离通信的另一实施例中,上述IP网络包括IPv6网络。

基于上述ZigBee节点的远距离通信的另一实施例中,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包包括:在ZigBee数据包外层依次添加隧道头、外层用户数据报协议(UDP)头、外层IPv6头和外层以太网头,得到IP数据包;其中,隧道头包括IP网络的隧道信息,外层UDP头包括源端口和目标端口,外层IPv6头包括源IPv6地址和目标IPv6地址,外层以太网头包括源MAC地址和目标MAC地址;

利用所述解封装模块对所述IP数据包进行解封装,获得所述ZigBee 数据包包括:依次去除IP数据包的外层以太网头、外层IPv6头、外层UDP头和隧道头,获得ZigBee数据包。

基于上述ZigBee节点的远距离通信的另一实施例中,还包括:利用所述解封装模块对所述IP数据包进行解封装,获得所述ZigBee数据包,对ZigBee数据包进行合法性校验。

基于上述ZigBee节点的远距离通信的另一实施例中,所述封装模块和解封装模块单独设置、或耦合设置在源ZigBee网关或目标ZigBee网关中、或者耦合设置在源ZigBee网关或目标ZigBee网关下的其中一个ZigBee节点中。

基于上述任一ZigBee节点的远距离通信的另一实施例中,源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包之前,还包括:在网关中设置节点信息列表、和/或源ZigBee节点与目标ZigBee节点之间进行绑定的操作。

基于上述ZigBee节点的远距离通信的另一实施例中,在网关中设置节点信息列表包括:

ZigBee节点向所属的ZigBee网关发送注册请求,该注册请求中包括ZigBee节点的节点ID和MAC地址信息;

ZigBee网关在节点信息列表中记录该ZigBee网关信息、ZigBee节点的节点ID和MAC地址之间的对应关系信息,并向ZigBee节点返回注册响应消息。

基于上述ZigBee节点的远距离通信的另一实施例中,源ZigBee节点与目标ZigBee节点之间进行绑定包括:

源ZigBee网关根据预先配置的绑定信息,针对具有绑定关系的源ZigBee节点和目标ZigBee节点,向源ZigBee节点发送第一ZigBee绑定请求,以及将第二ZigBee绑定请求封装为绑定请求IP数据包,并根据节点信息列表,通过IP网络隧道将绑定请求IP数据包发送给目标ZigBee网关;

在接收到第一ZigBee绑定请求后,源ZigBee网关接收源ZigBee节点在通过第一ZigBee绑定请求后反馈的第一绑定响应消息;

目标ZigBee网关对绑定请求IP数据包进行解封装,获得第二ZigBee绑定请求,并根据节点信息列表将第二ZigBee绑定请求发送给目标ZigBee节点;

目标ZigBee网关接收目标ZigBee节点在通过绑定请求后反馈的第二绑定响应消息,并将第二绑定响应消息封装为第二绑定响应消息IP数据包,根据节点信息列表,通过IP网络隧道将第二绑定响应消息IP数据包发送给源ZigBee网关;

源ZigBee网关对第二绑定响应消息IP数据包进行解封装,获得第二绑定响应消息;

源ZigBee网关在接收到第一绑定响应消息和第二绑定响应消息时,在绑定表中建立源ZigBee节点与目标ZigBee节点之间的绑定关系表项。

基于上述ZigBee节点的远距离通信的另一实施例中,源ZigBee节点与目标ZigBee节点之间进行绑定包括:

所述源ZigBee网关根据预先配置的绑定信息,针对具有绑定关系的所述源ZigBee节点和所述目标ZigBee节点,向所述源ZigBee节点发送第一ZigBee绑定请求,以及将发送给目标ZigBee节点的第二ZigBee绑定请求封装为绑定请求IP数据包,并根据节点信息列表,通过所述IP网络隧道将所述第二绑定请求IP数据包发送给所述目标ZigBee网关;

所述源ZigBee网关接收所述源ZigBee节点在通过所述第一ZigBee绑定请求后反馈的第一绑定响应消息;

所述目标ZigBee网关对所述第二绑定请求IP数据包进行解封装,获得所述第二ZigBee绑定请求,并根据节点信息列表将所述第二ZigBee绑定请求发送给所述目标ZigBee节点;

所述目标ZigBee网关接收所述目标ZigBee节点在通过绑定请求后反馈的第二绑定响应消息,并将所述第二绑定响应消息封装为第二绑定响应消息IP数据包,根据所述节点信息列表,通过所述IP网络隧道将所述第二绑定响应消息IP数据包发送给所述源ZigBee网关;

所述源ZigBee网关对所述第二绑定响应消息IP数据包进行解封装,获得所述第二绑定响应消息;

所述源ZigBee网关在接收到所述第一绑定响应消息和所述第二绑定响应消息时,在绑定表中建立所述源ZigBee节点与所述目标ZigBee节点之间的绑定关系表项。

基于上述任一ZigBee节点的远距离通信的另一实施例中,所述源ZigBee节点与目标ZigBee节点之间进行绑定包括:

所述源ZigBee网关接收所述源ZigBee节点发送的第三ZigBee绑定请求,并将所述第三ZigBee绑定请求封装为第三绑定请求IP数据包,通过所述IP网络隧道将所述第三绑定请求IP数据包发送给所述目标ZigBee网关;

所述目标ZigBee网关对所述第三绑定请求IP数据包后进行解封装,获得所述第三ZigBee绑定请求,并根据节点信息列表将所述第三ZigBee绑定请求发送给所述目标ZigBee节点;

所述目标ZigBee网关接收所述目标ZigBee节点在通过绑定请求后反馈的第三绑定响应消息,并将所述第三绑定响应消息封装为第三绑定响应消息IP数据包,根据所述节点信息列表,通过所述IP网络隧道将所述第三绑定响应消息IP数据包发送给所述源ZigBee网关;

所述源ZigBee网关对所述第三绑定响应消息IP数据包进行解封装,获得所述第三绑定响应消息;

所述源ZigBee网关在接收到第三绑定响应消息时,在绑定表中建立所述源ZigBee节点与所述目标ZigBee节点之间的绑定关系表项。

基于上述任一ZigBee节点的远距离通信的另一实施例中,还包括:

源ZigBee网关与目标ZigBee网关中的任意一个ZigBee网关,按照预设周期或实时向另一个ZigBee网关同步自身存储的节点信息列表与绑定表;或者

源ZigBee网关与目标ZigBee网关中的任意一个ZigBee网关,在自身存储的节点信息列表、绑定表变化时,向另一个ZigBee网关同步变化后的节点信息列表、绑定表。

基于上述任一ZigBee节点的远距离通信的另一实施例中,还包括:目标ZigBee节点接收到ZigBee数据包后,根据其中携带的应用信息执 行相应操作。

本发明实施例还提供一种网关设备,作为ZigBee网关,位于第一WPAN中,包括:ZigBee协议栈模块,其特征在于,还包括:

接收模块,用于接收源ZigBee节点发送的ZigBee数据包;或者,接收通过IP网络隧道发送的IP数据包;

封装/解封装模块,用于将所述接收模块接收到的ZigBee数据包封装为IP数据包;或者,将所述接收模块接收到的IP数据包解封装为ZigBee数据包;

发送模块,用于将所述封装/解封装模块封装得到的IP数据包通过预先在位于所述封装/解封装模块和目标ZigBee节点所在第二WPAN中的另一封装/解封装模块之间建立的IP网络隧道发送给接收方;所述源ZigBee节点与所述目标ZigBee节点位于不同的WPAN中,所述接收方位于所述第二WPAN中;所述接收方包括ZigBee网关或ZigBee节点。

基于上述网关设备的另一实施例中,还包括:

获取模块,用于从预先设置的绑定表中获取所述源ZigBee节点的节点ID绑定的目标ZigBee节点的节点ID,所述绑定表包括ZigBee节点之间的绑定关系表项;以及从预先设置的节点信息列表中获取所述目标ZigBee节点的节点ID对应的目标ZigBee节点的MAC地址,所述节点信息列表包括ZigBee网关、ZigBee网关下各节点的节点ID和MAC地址信息;

存储模块,用于存储所述绑定表和所述节点信息列表;

所述发送模块,还用于根据所述获取模块获取的所述目标ZigBee节点的MAC地址,将所述ZigBee数据包发送给所述目标ZigBee节点。

基于上述网关设备的另一实施例中,IP网络包括IPv6网络。

基于上述网关设备的另一实施例中,所述封装/解封装模块将ZigBee数据包封装为IP数据包时,具体在所述ZigBee数据包外层依次添加隧道头、外层UDP头、外层IPv6头和外层以太网头,得到所述IP数据包,所述隧道头包括所述IP网络的隧道信息,所述外层UDP头包括源端口和目标端口,所述外层IPv6头包括源IPv6地址和目标IPv6地址,所述 外层以太网头包括源MAC地址和目标MAC地址;或者,将IP数据包解封装为所述ZigBee数据包时,具体将所述IP数据包去除外层以太网头、外层IPv6头、外层UDP头和隧道头,获得所述ZigBee数据包。

基于上述网关设备的另一实施例中,封装/解封装模块还用于对ZigBee数据包进行合法性校验。

基于上述任一网关设备的另一实施例中,

接收模块还用于接收ZigBee节点发送的注册请求,该注册请求中包括ZigBee节点的节点ID和MAC地址信息;

该网关设备还包括:

记录模块,用于在接收模块接收到所述注册请求后,在节点信息列表中记录所述ZigBee网关信息、所述ZigBee节点的节点ID和MAC地址之间的对应关系信息;并指示所述发送模块向所述ZigBee节点返回注册响应消息。

所述发送模块,还用于根据所述记录模块的指示,向所述ZigBee节点返回注册响应消息。

基于上述网关设备的另一实施例中,所述发送模块,还用于根据预先配置的绑定信息,针对具有绑定关系的所述源ZigBee节点和所述目标ZigBee节点,向所述源ZigBee节点发送第一ZigBee绑定请求,以及根据节点信息列表,将所述封装/解封装模块封装得到的第二绑定请求IP数据包,通过所述IP网络隧道发送给所述目标ZigBee网关;或者,根据所述封装/解封装模块的指示,根据节点信息列表将第二ZigBee绑定请求发送给所述目标ZigBee节点,以及根据所述封装/解封装模块的指示,根据所述节点信息列表,通过所述IP网络隧道将所述第二绑定响应消息IP数据包发送给所述源ZigBee网关;

所述封装/解封装模块,还用于将发送给目标ZigBee节点的第二ZigBee绑定请求封装为绑定请求IP数据包;或者,对所述接收模块接收的所述第二绑定请求IP数据包进行解封装,获得所述第二ZigBee绑定请求,并指示所述发送模块将所述第二ZigBee绑定请求发送给所述目标ZigBee节点;或者,将所述接收模块接收的所述第二绑定响应消息封装 为第二绑定响应消息IP数据包,并指示所述发送模块将将所述第二绑定响应消息IP数据包发送给所述源ZigBee网关;或者,对所述接收模块接收的所述第二绑定响应消息IP数据包进行解封装,获得所述第二绑定响应消息;

所述接收模块,还用于接收通过IP网络隧道发送的第二绑定请求IP数据包,以及接收目标ZigBee节点在通过绑定请求后反馈的第二绑定响应消息;或者,接收源ZigBee节点在通过绑定请求后反馈的第一绑定响应消息;

所述记录模块,还用于在接收模块接收到所述第一绑定响应消息和所述第二绑定响应消息时,在绑定表中建立所述源ZigBee节点与所述目标ZigBee节点之间的绑定关系表项。

基于上述网关设备的另一实施例中,所述接收模块,还用于接收源ZigBee节点发送的第三ZigBee绑定请求;或者,接收通过IP网络隧道发送的第三绑定请求IP数据包,以及接收所述目标ZigBee节点在通过绑定请求后反馈的第三绑定响应消息;

所述发送模块,还用于根据节点信息列表,将封装/解封装模块封装得到的所述第三绑定请求IP数据包通过所述IP网络隧道发送给所述目标ZigBee网关,以及根据所述封装/解封装模块的指示,根据所述节点信息列表,通过所述IP网络隧道将所述第三绑定响应消息IP数据包发送给所述源ZigBee网关;或者,根据所述封装/解封装模块的指示,根据节点信息列表将封装/解封装模块解封装得到的第三ZigBee绑定请求发送给所述目标ZigBee节点;

所述封装/解封装模块,还用于将接收模块接收到的所述第三ZigBee绑定请求封装为第三绑定请求IP数据包,以及对接收模块接收的所述第三绑定响应消息IP数据包进行解封装,获得所述第三绑定响应消息;或者,对所述第三绑定请求IP数据包进行解封装,获得所述第三ZigBee绑定请求,并指示所述发送模块将所述第三ZigBee绑定请求发送给所述目标ZigBee节点,以及将接收模块接收的所述第三绑定响应消息封装为第三绑定响应消息IP数据包,并指示所述发送模块将将所述第三绑定响 应消息IP数据包发送给源ZigBee网关;

所述记录模块,还用于在接收模块接收到所述第三绑定响应消息时,在绑定表中建立所述源ZigBee节点与所述目标ZigBee节点之间的绑定关系表项。

基于上述任一网关设备的另一实施例中,还包括同步模块,用于按照预设周期或实时向另一个ZigBee网关同步自身存储的节点信息列表与绑定表;或者在自身存储的节点信息列表、绑定表变化时,向另一个ZigBee网关同步变化后的节点信息列表、绑定表。

本发明实施例还提供一种ZigBee节点,包括ZigBee协议栈模块,其特征在于,还包括:

封装/解封装模块,用于将所述ZigBee协议栈模块生成的ZigBee数据包封装为IP数据包;或者,将接收模块接收到的IP数据包解封装为ZigBee数据包;

发送模块,用于将所述封装/解封装模块封装得到的IP数据包通过预先在所述ZigBee节点与接收方之间建立的IP网络隧道发送给所述接收方;其中,所述接收方位于目标ZigBee节点所在的WPAN中,所述接收方包括ZigBee网关或ZigBee节点;所述目标ZigBee节点与所述ZigBee节点位于不同的WPAN中;

接收模块,用于接收通过所述IP网络隧道发送的所述IP数据包。

基于上述ZigBee节点的另一实施例中,所述IP网络包括IPv6网络。

基于上述ZigBee节点的另一实施例中,所述封装/解封装模块将ZigBee数据包封装为IP数据包时,具体在所述ZigBee数据包外层依次添加隧道头、外层UDP头、外层IPv6头和外层以太网头,得到所述IP数据包;其中,所述隧道头包括所述IP网络的隧道信息,所述外层UDP头包括源端口和目标端口,所述外层IPv6头包括源IPv6地址和目标IPv6地址,所述外层以太网头包括源MAC地址和目标MAC地址;或者,

所述封装/解封装模块IP数据包解封装为ZigBee数据包时,具体将所述IP数据包去除外层以太网头、外层IPv6头、外层UDP头和隧道头,获得所述ZigBee数据包。

基于上述ZigBee节点的另一实施例中,所述封装/解封装模块,还用于对所述ZigBee数据包进行合法性校验。

基于上述任一ZigBee节点的另一实施例中,所述发送模块,还用于向所属的ZigBee网关发送注册请求,所述注册请求中包括ZigBee节点的节点ID和MAC地址信息;

所述接收模块,还用于接收所述ZigBee网关返回的注册响应消息。

基于上述任一ZigBee节点的另一实施例中,所述接收模块,还用于接收所述ZigBee网关发送的ZigBee绑定请求;

所述发送模块,还用于在通过所述ZigBee绑定请求后向所述ZigBee网关反馈绑定响应消息。

基于上述任一ZigBee节点的另一实施例中,还包括执行模块,用于根据所述封装/解封装模块解封装后的ZigBee数据包中携带的应用信息执行相应操作。

本发明实施例还提供一种ZigBee节点的远距离通信的系统,其特征在于,包括:

源ZigBee节点,位于第一WPAN中,用于在与第二WPAN中的目标ZigBee节点通信时,向目标ZigBee节点发送ZigBee数据包;

封装模块,位于所述第一WPAN中,用于将所述源ZigBee节点发送的所述ZigBee数据包封装为IP数据包,所述ZigBee数据包中包括源ZigBee节点的节点ID;

第一发送模块,位于所述第一WPAN中,用于通过预先在封装模块与解封装模块之间建立的IP网络隧道,将所述封装模块封装后的所述IP数据包发送给解封装模块;

解封装模块,位于所述第二WPAN中,用于对所述第一发送模块发送的所述IP数据包进行解封装,获得所述ZigBee数据包;

第二发送模块,位于所述第二WPAN中,用于将所述解封装模块解封装后的所述ZigBee数据包发送给所述目标ZigBee节点;

目标ZigBee节点,用于接收所述第二发送模块发送的所述ZigBee数据包。

基于上述ZigBee节点的远距离通信的系统的另一实施例中,所述封装模块与所述第一发送模块耦合设置在源ZigBee网关或所述源ZigBee节点中;和/或

所述解封装模块与所述第二发送模块耦合设置在目标ZigBee网关或目标ZigBee节点中。

基于上述ZigBee节点的远距离通信的系统的另一实施例中,所述解封装模块与所述第二发送模块还耦合设置在源ZigBee网关或所述源ZigBee节点中;和/或

所述封装模块与所述第一发送模块还耦合设置在所述目标ZigBee网关或目标ZigBee节点中。

基于上述ZigBee节点的远距离通信的系统的另一实施例中,所述系统还包括目标ZigBee网关,用于从预先设置的绑定表中获取所述源ZigBee节点的节点ID绑定的目标ZigBee节点的节点ID,所述绑定表包括ZigBee节点之间的绑定关系表项;以及从预先设置的节点信息列表中获取所述目标ZigBee节点的节点ID对应的目标ZigBee节点的MAC地址,所述节点信息列表包括网关、网关下各节点的节点ID和MAC地址信息;并根据所述目标ZigBee节点的MAC地址,将所述解封装模块解封装后的所述ZigBee数据包转发给所述目标ZigBee节点。

基于上述ZigBee节点的远距离通信的系统的另一实施例中,所述源ZigBee网关和所述目标ZigBee网关具体为权利要求13-21任意一项所述的网关设备;或者,所述源ZigBee节点与所述目标ZigBee节点具体为权利要求22-28任意一项所述的ZigBee节点。

本发明实施例提出的上述ZigBee节点的远距离通信的方法和系统、网关设备和ZigBee节点,源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包时,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包,通过预先在位于源ZigBee节点所在WPAN中的封装模块与位于目标ZigBee节点所在WPAN中的解封装模块之间建立的IP网络隧道,将IP数据包发送给解封装模块;利用解封装模块对IP数据包进行解封装,获得ZigBee数据包;并将该ZigBee数据包发送 给目标ZigBee节点,实现了ZigBee节点的远距离通信,本发明通过增强网关功能实现,与应用层功能复杂度无关,实现简单,且兼容早期部署的ZigBee设备而无需大规模改造,实现成本低。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明ZigBee节点的远距离通信方法一个实施例的流程示意图。

图2为本发明ZigBee节点的远距离通信方法另一个实施例的流程示意图。

图3是ZigBee协议栈的结构示意图。

图4是封装模块封装后的IP数据包的结构示意图。

图5为本发明ZigBee节点的远距离通信方法又一个实施例的流程示意图。

图6为本发明ZigBee节点的远距离通信方法再一个实施例的流程示意图。

图7为本发明ZigBee节点的远距离通信方法一个应用实施例的流程示意图。

图8为本发明网关设备一个实施例的结构示意图。

图9为本发明网关设备另一个实施例的结构示意图。

图10为本发明网关设备又一个实施例的结构示意图。

图11为本发明网关设备再一个实施例的结构示意图。

图12为本发明ZigBee节点一个实施例的结构示意图。

图13为本发明ZigBee节点另一个实施例的结构示意图。

图14为本发明ZigBee节点的远距离通信的系统一个实施例的结构示意图。

图15为本发明ZigBee节点的远距离通信的系统另一个实施例的结构示意图。

图16为本发明ZigBee节点的远距离通信的系统又一个实施例的结构示意图。

图17为本发明ZigBee节点的远距离通信的系统再一个实施例的结构示意图。

图18为本发明ZigBee节点的远距离通信的系统再又一个实施例的结构示意图。

图19为本发明ZigBee节点的远距离通信的系统一个应用实施例的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为本发明ZigBee节点的远距离通信方法一个实施例的流程示意 图,如图1所示,该实施例的ZigBee节点的远距离通信方法包括:

101,源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包时,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包。

其中,ZigBee数据包中包括源ZigBee节点的节点标识ID;封装模块可以是数据包隧道(Packet Tunnel)封装模块,Packet Tunnel封装是通过在ZigBee数据包外层依次添加隧道头、外层UDP头、外层IPv6头和外层以太网头,得到IP数据包。

由于现有通用路由封装(GRE)作为第三层隧道需要有路由器支持,Packet Tunnel封装相比GRE,Packet Tunnel封装部署更为灵活,对于物联网的互通有重要意义。

102,通过预先在位于源ZigBee节点所在WPAN中的封装模块与位于目标ZigBee节点所在WPAN中的解封装模块之间建立的IP网络隧道,将IP数据包发送给解封装模块。

具体地,上述IP网络可以是IPv6网络。

103,利用解封装模块对IP数据包进行解封装,获得ZigBee数据包。

在一个具体示例,解封装模块可以是Packet Tunnel解封装模块,Packet Tunnel解封装是通过依次去除IP数据包的外层以太网头、外层IPv6头、外层UDP头和隧道头,获得ZigBee数据包。

104,将ZigBee数据包发送给目标ZigBee节点。

本发明实施例提出的上述ZigBee节点的远距离通信的方法,源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包时,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包,通过预先在位于源ZigBee节点所在WPAN中的封装模块与位于目标ZigBee节点所在WPAN中的解封装模块之间建立的IP网络隧道,将IP数据包发送给解封装模块;利用解封装模块对IP数据包进行解封装,获得ZigBee数据包;并将该ZigBee数据包发送给目标ZigBee节点,实现了ZigBee节点的远距离通信,本发明实施例通过增强网关功能实现,与应用层功能复杂度无关,实现简单,且兼容早期部署的ZigBee设备而无 需大规模改造,实现成本低。

图2为本发明ZigBee节点的远距离通信方法另一个实施例的流程示意图,如图2所示,该实施例的ZigBee节点的远距离通信方法包括:

201,源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包时,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包。

在一个应用实施例中,图3是ZigBee协议栈的结构示意图,如图3所示,ZigBee协议栈包括应用支持子层(APS),网络层(NWK),MAC层,物理层(PHY)。封装模块是在ZigBee数据包外层依次添加隧道头、外层用户数据报协议UDP头、外层IPv6头和外层以太网头,得到IP数据包。图4是封装模块封装后的IP数据包的结构示意图,整个IP数据包可以看作是一个IPv6数据报文,如图4所示,该结构从下到上依次是帧校验序列(FCS)、ZigBee数据包、隧道头(Tunnel Header)、外层UDP头(Outer UDP Header)、外层IPv6头(Outer IPv6Header)和外层以太网头(Outer Ethernet Header)。

其中,FCS指的是以太网数据报文的校验序列,用于校验以太网数据报文。

隧道头包括IP网络的隧道信息,由于同一个节点可能创建不同的隧道,隧道信息中包含隧道标示,用于唯一标示一个隧道。

外层UDP头包括源端口、目标端口、UDP数据长度和UDP校验和,源端口和目标端口可以事先协商。在物联网场景下,为了节省封装的性能开销,UDP的校验和可以不用计算,直接以ZigBee报文的合法性为准。

外层IPv6头主要包括源IPv6地址和目标IPv6地址,还可以包括IPv6的协议版本号信息、载荷长度;其中,载荷长度是指外层IPv6头后所有的其他数据的长度。

外层以太网头包括源MAC地址和目标MAC地址。

在一个具体示例中,假设有两个网关1和网关2,网关1的IPv6地址是3000::1,网关2的IPv6地址是3000::2,封装后的ZigBee数据包 从外层看起来就是一个网关1发向网关2的UDP数据包,因而ZigBee数据包外层添加的信息比如外层以太网头,就是网关1和网关2的MAC地址。

202,通过预先在位于源ZigBee节点所在WPAN中的封装模块与位于目标ZigBee节点所在WPAN中的解封装模块之间建立的IP网络隧道,将IP数据包发送给解封装模块。

203,利用解封装模块对IP数据包进行解封装,获得ZigBee数据包。

具体地,解封装模块依次去除IP数据包的外层以太网头、外层IPv6头、外层UDP头和隧道头,获得ZigBee数据包。

204,目标ZigBee网关从预先设置的绑定表中获取源ZigBee节点的节点ID绑定的目标ZigBee节点的节点ID。

其中,绑定表包括ZigBee节点之间的绑定关系表项。

205,目标ZigBee网关从预先设置的节点信息列表中获取目标ZigBee节点的节点ID对应的目标ZigBee节点的MAC地址。

其中,节点信息列表包括ZigBee网关、ZigBee网关下各节点的节点ID和MAC地址信息。

206,目标ZigBee网关根据目标ZigBee节点的MAC地址,将ZigBee数据包发送给目标ZigBee节点。

在本发明上述各实施例中,上述IP网络可以是IPv6网络。

基于本发明上述ZigBee节点的远距离通信方法的另一实施例中,将IP数据包解封装为ZigBee数据包还包括:对ZigBee数据包进行合法性校验。

具体地,对ZigBee数据包进行合法性校验可以通过图3中ZigBee协议格式中的校验位(MFR)携带的校验值进行合法性检验。

在本发明上述各实施例中,封装模块和解封装模块可以单独设置,也可以耦合设置在源ZigBee网关或目标ZigBee网关中、或者耦合设置在源ZigBee网关下或目标ZigBee网关下的其中一个ZigBee节点中。

具体地,当上述封装模块和解封装模块设置在ZigBee节点中时,该ZigBee节点本身的功能就会有别于其他节点,它会拥有自己的IPv6地址, 可作为通信隧道的一个端点;同时,该ZigBee节点可以跨IP网络与目标ZigBee节点同处于一个WPAN中,共同由一个ZigBee网关管理。

基于本发明上述任一ZigBee节点的远距离通信方法的另一实施例中,源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包之前,还包括:在网关中设置节点信息列表、和/或源ZigBee节点与目标ZigBee节点之间进行绑定的操作。

具体地,在网关中设置节点信息列表包括以下步骤:

A、ZigBee节点向所属的ZigBee网关发送注册请求,该注册请求中包括ZigBee节点的节点ID和MAC地址信息。

B、ZigBee网关在节点信息列表中记录该ZigBee网关信息、ZigBee节点的节点ID和MAC地址之间的对应关系信息,并向ZigBee节点返回注册响应消息。

图5为本发明ZigBee节点的远距离通信方法又一个实施例的流程示意图,该实施例是源ZigBee网关向源ZigBee节点和目标ZigBee节点发起绑定的过程,如图5所示,该实施例的ZigBee节点的远距离通信方法包括:

301,源ZigBee网关根据预先配置的绑定信息,针对具有绑定关系的源ZigBee节点和目标ZigBee节点,向源ZigBee节点发送第一ZigBee绑定请求,将第二ZigBee绑定请求封装为第二绑定请求IP数据包,并根据节点信息列表,通过IP网络隧道将第二绑定请求IP数据包发送给目标ZigBee网关。

302,在接收到第一ZigBee绑定请求后,源ZigBee网关接收源ZigBee节点在通过第一ZigBee绑定请求后反馈的第一绑定响应消息。

303,目标ZigBee网关对第二绑定请求IP数据包进行解封装,获得第二ZigBee绑定请求,并根据节点信息列表将第二ZigBee绑定请求发送给目标ZigBee节点。

304,目标ZigBee网关接收目标ZigBee节点在通过绑定请求后反馈的第二绑定响应消息,并将第二绑定响应消息封装为第二绑定响应消息IP数据包,根据节点信息列表,通过IP网络隧道将第二绑定响应消息 IP数据包发送给源ZigBee网关。

305,源ZigBee网关对第二绑定响应消息IP数据包进行解封装,获得第二绑定响应消息。

306,源ZigBee网关在接收到第一绑定响应消息和第二绑定响应消息时,在绑定表中建立源ZigBee节点与目标ZigBee节点之间的绑定关系表项。

在该实施例中,步骤302和步骤303、304、305无时间先后执行顺序。

图6为本发明ZigBee节点的远距离通信方法再一个实施例的流程示意图,该实施例是源ZigBee节点向目标ZigBee节点发起绑定的过程,如图6所示,该实施例的ZigBee节点的远距离通信方法包括:

401,源ZigBee网关接收源ZigBee节点发送的第三ZigBee绑定请求,并将第三ZigBee绑定请求封装为第三绑定请求IP数据包,通过IP网络隧道将第三绑定请求IP数据包发送给目标ZigBee网关。

402,目标ZigBee网关对第三绑定请求IP数据包后进行解封装,获得第三ZigBee绑定请求,并根据节点信息列表将第三ZigBee绑定请求发送给目标ZigBee节点。

403,目标ZigBee网关接收目标ZigBee节点在通过绑定请求后反馈的第三绑定响应消息,并将第三绑定响应消息封装为第三绑定响应消息IP数据包,根据节点信息列表,通过IP网络隧道将第三绑定响应消息IP数据包发送给源ZigBee网关。

404,源ZigBee网关对第三绑定响应消息IP数据包进行解封装,获得第三绑定响应消息。

405,源ZigBee网关在接收到第三绑定响应消息时,在绑定表中建立源ZigBee节点与目标ZigBee节点之间的绑定关系表项。

在上述图5和图6实施例中,源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网关的通信可以通过手工配置或者自动配置进行实现。手工配置是人工输入命令,包括节点信息、绑定表和隧道信息。自动配置需要一个第三方控制单元完成,例如,SDN控制器,该SDN控制器会维护一个隧道信息表,为不同隧道分配ID和基本通信的信息。

基于本发明上述任一ZigBee节点的远距离通信方法的另一实施例中,目标ZigBee节点接收到ZigBee数据包后,根据其中携带的应用信息执行相应操作。

例如:在一个灯光网络中,有多个开关和灯光设备,每一个开关可以控制一个或以上的灯光设备,源ZigBee节点可以设置在开关上,目标ZigBee节点可以设置在灯光设备上;当需要通过开关控制灯光设备时,开关可以通过源ZigBee节点向目标ZigBee节点发送开关信息ZigBee数据包,目标ZigBee节点在收到该开关信息ZigBee数据包后控制打开灯光设备。

图7为本发明ZigBee节点的远距离通信方法一个应用实施例的流程示意图。如图7所示,在该实施例中,节点A、B、C均为普通ZigBee节点,其中节点A与网关1处于WPAN1中,节点B、C与网关2处于 WPAN2中。该实施例的ZigBee节点的远距离通信方法包括准备过程、绑定过程和通信过程三个阶段,其中:

准备过程包括:

501,ZigBee节点向所属的ZigBee网关发送注册请求。

501_1,节点A申请加入WPAN1。

501_2,节点B申请加入WPAN2。

501_3,节点C申请加入WPAN2。

其中,步骤501_1、501_2和501_3的执行无时间先后顺序。

502,ZigBee网关向ZigBee节点返回注册响应消息。

502_1,网关1通过节点A的申请。

502_2,网关2通过节点B的申请。

502_3,网关3通过节点C的申请。

其中,步骤502_1、502_2和502_3的执行无时间先后顺序。

503,网关1与网关2建立IP网络隧道,并同步节点信息。

绑定过程包括:

504,网关1分别向节点A、B和C发起绑定请求。

504_1,网关1向节点A发送第一绑定请求。

504_2,网关1将第二绑定请求封装为第二绑定请求IP数据包,并根据节点信息列表,通过IP网络隧道将第二绑定请求IP数据包发送给网关2。

504_3,网关1第二绑定请求IP数据包进行解封装,获得第二绑定请求,并根据节点信息列表将第二绑定请求分

别发送给节点B。

504_4,网关1第二绑定请求IP数据包进行解封装,获得第二绑定请求,并根据节点信息列表将第二绑定请求分

别发送给节点C。

其中,步骤504_1和504_2的执行无时间先后顺序,步骤504_3和504_4的执行无时间先后顺序。

505,节点A、B和C分别向网关1发送绑定响应消息

505_1,节点A在接收到第一绑定请求后,向网关1发送第一绑定响应消息,通过网关1的绑定请求。

505_2,节点B在接收到第二绑定请求后,向网关2发送第二绑定响应消息,通过网关1的绑定请求。

505_3,节点C在接收到第二绑定请求后,向网关2发送第二绑定响应消息,通过网关1的绑定请求。

其中,步骤503_1、505_2和505_3的执行无时间先后顺序。

506,网关2将第二绑定响应消息封装为第二绑定响应消息

IP数据包,根据节点信息列表,通过IP网络隧道将第二绑定响应消息IP数据包发送给网关1

507,网关1向网关2同步绑定信息。

通信过程包括:

508,节点A向网关1发送ZigBee数据包。

509,网关1将该ZigBee数据包封装为IP数据包,并通过预先在位于网关1与网关2之间建立的IP网络隧道,将IP数据包发送给网关2

510,网关2将IP数据包进行解封装,获得ZigBee数据包,并将该ZigBee数据包转发给节点B和节点C。

510_1,网关2将ZigBee数据包转发给节点B。

510_2,网关2将ZigBee数据包转发给节点C。

其中,步骤510_1、510_2的执行无时间先后顺序。

在步骤510中,网关2将IP数据包进行解封装,获得ZigBee数据包后,从预先设置的绑定表中获取节点A的节点ID绑定的节点B、C的节点ID,并通过预先设置的节点信息列表中获取节点B、C的节点ID对应的节点B、C的MAC地址;网关2根据节点B、C的MAC地址,将ZigBee数据包发送给节点B、C。

图8为本发明网关设备一个实施例的结构示意图。该实施例的网关设备作为ZigBee网关,位于第一WPAN中。如图8所示,该实施例的网关设备包括:ZigBee协议栈模块,接收模块,封装/解封装模块和发送模块。其中:

接收模块,用于接收源ZigBee节点发送的ZigBee数据包;或者,接收通过IP网络隧道发送的IP数据包。

封装/解封装模块,用于将接收模块接收到的ZigBee数据包封装为IP数据包;或者,将接收模块接收到的IP数据包解封装为ZigBee数据包。

具体地,封装/解封装模块将ZigBee数据包封装为IP数据包时,在ZigBee数据包外层依次添加隧道头、外层UDP头、外层IPv6头和外层以太网头,得到IP数据包;或者,将IP数据包解封装为所述ZigBee数据包时,将IP数据包去除外层以太网头、外层IPv6头、外层UDP头和隧道头,得到ZigBee数据包。其中,隧道头包括IP网络的隧道信息,外层UDP头包括源端口和目标端口,外层IPv6头包括IPv6协议版本号信息、源IPv6地址和目标IPv6地址,外层以太网头包括源MAC地址和目标MAC地址。

发送模块,用于将封装/解封装模块封装得到的IP数据包通过预先在位于上述封装/解封装模块和目标ZigBee节点所在第二WPAN中的另一封装/解封装模块之间建立的IP网络隧道发送到接收方。其中的接收方位于目标ZigBee节点所在的第二WPAN中,具体可以是ZigBee网关或ZigBee节点,也可以是第二WPAN中的其它设备。

本发明实施例提出的上述网关设备,在源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包时,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包,通过预先建立的IP网络隧道,将IP数据包发送给接收方所在WPAN中的解封装模块;利用该解封装模块对IP数据包进行解封装,获得ZigBee数据包;并将该ZigBee数据包发送给目标ZigBee节点,实现了ZigBee节点的远距离通信,本发明实施例通过增强网关功能实现,与应用层功能复杂度无关,实现简单,且兼容早期部署的ZigBee设备而无需大规模改造,实现成本低。

图9为本发明网关设备另一个实施例的结构示意图,与图8实施例相比,该实施例的网关设备还包括获取模块和存储模块,其中:

获取模块,用于从预先设置的绑定表中获取源ZigBee节点的节点ID 绑定的目标ZigBee节点的节点ID;以及从预先设置的节点信息列表中获取目标ZigBee节点的节点ID对应的目标ZigBee节点的媒体访问控制MAC地址。

其中,绑定表包括ZigBee节点之间的绑定关系表项;节点信息列表包括ZigBee网关、ZigBee网关下各节点的节点ID和MAC地址信息。

存储模块,用于存储绑定表和节点信息列表。

发送模块,还用于根据获取模块获取的目标ZigBee节点的MAC地址,将ZigBee数据包发送给目标ZigBee节点。

在本发明上述网关设备的各实施例的一个具体示例中,上述IP网络可以是IPv6网络。

在本发明上述网关设备的各实施例中,封装/解封装模块还用于对ZigBee数据包进行合法性校验。

图10为本发明网关设备又一个实施例的结构示意图。与图9实施例相比,该实施例的网关设备还包括记录模块。其中:

接收模块,还用于接收ZigBee节点发送的注册请求,该注册请求中包括ZigBee节点的节点ID和MAC地址信息。

记录模块,用于在接收模块接收到注册请求后,在节点信息列表中记录ZigBee网关信息、ZigBee节点的节点ID和MAC地址之间的对应关系信息;并指示发送模块向ZigBee节点返回注册响应消息,以及将所述节点信息列表存储在所述存储模块中。

发送模块,还用于根据记录模块的指示,向ZigBee节点返回注册响应消息。

基于本发明上述网关设备的另一实施例中,发送模块,还用于根据预先配置的绑定信息,针对具有绑定关系的源ZigBee节点和目标ZigBee节点,向源ZigBee节点发送第一ZigBee绑定请求,以及根据节点信息列表,将封装/解封装模块封装得到的绑定请求IP数据包,通过IP网络隧道发送给目标ZigBee网关;或者,根据封装/解封装模块的指示,根据节点信息列表将第二ZigBee绑定请求发送给目标ZigBee节点,以及根据封装/解封装模块的指示,根据节点信息列表,通过IP网络隧道将 第二绑定响应消息IP数据包发送给源ZigBee网关。

封装/解封装模块,还用于将发送给目标ZigBee节点的第二ZigBee绑定请求封装为第二绑定请求IP数据包;或者,对接收模块接收的第二绑定请求IP数据包进行解封装,获得第二ZigBee绑定请求,并指示发送模块将第二ZigBee绑定请求发送给目标ZigBee节点;或者,将接收模块接收的第二绑定响应消息封装为第二绑定响应消息IP数据包,并指示发送模块将将第二绑定响应消息IP数据包发送给源ZigBee网关;或者,对接收模块接收的第二绑定响应消息IP数据包进行解封装,获得第二绑定响应消息。

接收模块,还用于接收过IP网络隧道发送的第二绑定请求IP数据包,以及接收目标ZigBee节点在通过绑定请求后反馈的第二绑定响应消息;或者,接收源ZigBee节点在通过绑定请求后反馈的第一绑定响应消息。

记录模块,还用于在接收模块接收到第一绑定响应消息和第二绑定响应消息时,在绑定表中建立源ZigBee节点与目标ZigBee节点之间的绑定关系表项。

另外,再参见图10,在本发明网关设备的又一个实施例中,接收模块,还用于接收源ZigBee节点发送的第三ZigBee绑定请求;或者,接收通过IP网络隧道发送的第三绑定请求IP数据包,以及接收目标ZigBee节点在通过绑定请求后反馈的第三绑定响应消息。

发送模块,还用于根据节点信息列表,将封装/解封装模块封装后的第三绑定请求IP数据包通过IP网络隧道发送给目标ZigBee网关,以及根据所述封装/解封装模块的指示,根据所述节点信息列表,通过所述IP网络隧道将所述第三绑定响应消息IP数据包发送给所述源ZigBee网关;或者,根据封装/解封装模块的指示,根据节点信息列表将封装/解封装模块解封装得到的第三ZigBee绑定请求发送给目标ZigBee节点。

封装/解封装模块,还用于将接收模块接收到的第三ZigBee绑定请求封装为第三绑定请求IP数据包,以及对接收模块接收的所述第三绑定响应消息IP数据包进行解封装,获得所述第三绑定响应消息;或者,对第 三绑定请求IP数据包进行解封装,获得第三ZigBee绑定请求,并指示发送模块将第三ZigBee绑定请求发送给目标ZigBee节点;或者将接收模块接收的第三绑定响应消息封装为第三绑定响应消息IP数据包,并指示发送模块将将第三绑定响应消息IP数据包发送给源ZigBee网关。

记录模块,还用于在接收模块接收到第三绑定响应消息时,在绑定表中建立源ZigBee节点与目标ZigBee节点之间的绑定关系表项。

图11为本发明网关设备再一个实施例的结构示意图,与图10实施例相比,该实施例的网关设备还包括:同步模块,用于按照预设周期或实时向另一个ZigBee网关同步自身存储的节点信息列表与绑定表;或者在自身存储的节点信息列表、绑定表变化时,向另一个ZigBee网关同步变化后的节点信息列表、绑定表。

图12为本发明ZigBee节点一个实施例的结构示意图,如图12所示,该实施例的ZigBee节点包括:ZigBee协议栈模块,封装/解封装模块,发送模块和接收模块,其中:

封装/解封装模块,用于将ZigBee协议栈模块生成的ZigBee数据包封装为IP数据包;或者,将接收模块接收到的IP数据包解封装为ZigBee数据包。

具体地,封装/解封装模块在ZigBee数据包外层依次添加隧道头、外层UDP头、外层IPv6头和外层以太网头,得到IP数据包;或者,将IP数据包去除外层以太网头、外层IPv6头、外层UDP头和隧道头,得到ZigBee数据包。其中,隧道头包括IP网络的隧道信息,外层UDP头包括源端口、目标端口、UDP数据长度和UDP校验和,外层IPv6头包括IPv6协议版本号信息、源IPv6地址、目标IPv6地址和载荷长度,外层以太网头包括源MAC地址和目标MAC地址。

发送模块,用于将封装/解封装模块封装得到的IP数据包通过预先在ZigBee节点与接收方之间建立的IP网络隧道发送给接收方;其中,接收方位于目标ZigBee节点所在的WPAN中,接收方包括ZigBee网关或ZigBee节点,目标ZigBee节点与该ZigBee节点位于不同的WPAN中。

具体地,IP网络可以是IPv6网络。

接收模块,用于接收通过IP网络隧道发送的IP数据包。

本发明实施例提出的上述ZigBee节点,在源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包时,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包,通过预先在位于源ZigBee节点所在WPAN中的封装模块与位于目标ZigBee节点所在WPAN中的解封装模块之间建立的IP网络隧道,将IP数据包发送给解封装模块;利用解封装模块对IP数据包进行解封装,获得ZigBee数据包;并将该ZigBee数据包发送给目标ZigBee节点,实现了ZigBee节点的远距离通信,本发明实施例通过增强网关功能实现,与应用层功能复杂度无关,实现简单,且兼容早期部署的ZigBee设备而无需大规模改造,实现成本低。

基于本发明上述ZigBee节点的另一实施例中,封装/解封装模块还用于对ZigBee数据包进行合法性校验。

基于本发明上述任一ZigBee节点的另一实施例中,发送模块还用于向所属的ZigBee网关发送注册请求,该注册请求中包括ZigBee节点的节点ID和MAC地址信息。

接收模块还用于接收ZigBee网关返回的注册响应消息。

基于本发明上述任一ZigBee节点的另一实施例中,接收模块,还用于接收ZigBee网关发送的ZigBee绑定请求;相应地,发送模块,还用于在通过ZigBee绑定请求后向ZigBee网关反馈绑定响应消息。

图13为本发明ZigBee节点另一个实施例的结构示意图,如图13所示,该实施例的ZigBee节点还包括执行模块,用于根据封装/解封装模块解封装后的ZigBee数据包中携带的应用信息执行相应操作。

图14为本发明ZigBee节点的远距离通信的系统一个实施例的结构示意图。如图14所示,该实施例的ZigBee节点包括:源ZigBee节点,封装模块,第一发送模块,解封装模块,第二发送模块和目标ZigBee节点,其中:

源ZigBee节点,位于第一WPAN中,用于在与第二WPAN中的目 标ZigBee节点通信时,向目标ZigBee节点发送ZigBee数据包。

封装模块,位于上述第一WPAN中,用于将源ZigBee节点发送的ZigBee数据包封装为IP数据包,ZigBee数据包中包括源ZigBee节点的节点ID。

第一发送模块,位于上述第一WPAN中,用于通过预先在封装模块与解封装模块之间建立的IP网络隧道,将封装模块封装后的IP数据包发送给解封装模块。

解封装模块,位于上述第二WPAN中,用于对第一发送模块发送的IP数据包进行解封装,获得ZigBee数据包。

第二发送模块,位于上述第二WPAN中,用于将解封装模块解封装后的ZigBee数据包发送给目标ZigBee节点。

目标ZigBee节点,用于接收第二发送模块发送的ZigBee数据包。

本发明实施例提出的上述ZigBee节点的远距离通信的系统,源ZigBee节点向不同WPAN中的目标ZigBee节点发送ZigBee数据包时,利用封装模块将源ZigBee节点发送的ZigBee数据包封装为IP数据包,通过预先在位于源ZigBee节点所在WPAN中的封装模块与位于目标ZigBee节点所在WPAN中的解封装模块之间建立的IP网络隧道,将IP数据包发送给解封装模块;利用解封装模块对IP数据包进行解封装,获得ZigBee数据包;并将该ZigBee数据包发送给目标ZigBee节点,实现了ZigBee节点的远距离通信,本发明实施例通过增强网关功能实现,与应用层功能复杂度无关,实现简单,且兼容早期部署的ZigBee模块而无需大规模改造,实现成本低。

在图14所示实施例的一个具体示例中,封装模块与第一发送模块具体可以耦合设置在源ZigBee网关或所述源ZigBee节点中;和/或,解封装模块与第二发送模块具体可以耦合设置在目标ZigBee网关或目标ZigBee节点中。另外,可选地,解封装模块与第二发送模块还可以耦合设置在源ZigBee网关或所述源ZigBee节点中;和/或,封装模块与第一发送模块还可以耦合设置在所述目标ZigBee网关或目标ZigBee节点中。

图15为本发明ZigBee节点的远距离通信的系统另一个实施例的结 构示意图,如图15所示,该实施例中封装模块、第一发送模块、解封装模块和第二发送模块耦合设置在源ZigBee网关和目标ZigBee网关中。

进一步地,ZigBee节点的远距离通信的系统还可以包括目标ZigBee网关,用于从预先设置的绑定表中获取源ZigBee节点的节点ID绑定的目标ZigBee节点的节点ID;以及从预先设置的节点信息列表中获取目标ZigBee节点的节点ID对应的目标ZigBee节点的MAC地址,并根据目标ZigBee节点的MAC地址,将解封装模块解封装后的ZigBee数据包转发给目标ZigBee节点。

其中,绑定表包括ZigBee节点之间的绑定关系表项;节点信息列表包括网关、网关下各节点的节点ID和MAC地址信息。

图16为本发明ZigBee节点的远距离通信的系统又一个实施例的结构示意图,如图16所示,该实施例中封装模块、第一发送模块、解封装模块和第二发送模块耦合设置在源ZigBee节点和目标ZigBee网关中。

在该实施例中,源ZigBee节点本身的功能就会有别于其他节点,它拥有自己的IPv6地址,可作为通信隧道的一个端点;同时,该源ZigBee节点可以跨IP网络与目标ZigBee节点同处于一个WPAN中,共同由目标ZigBee网关管理。

在源ZigBee节点与目标ZigBee节点通信时,源ZigBee节点可与目标ZigBee网关之间建立IP网络隧道,将ZigBee数据包封装为IP数据包发送给目标ZigBee网关,目标ZigBee网关对该IP数据包解封装得到源ZigBee节点的ZigBee数据包,根据绑定表和节点信息列表,将该ZigBee数据包发送到目标ZigBee节点。

图17为本发明ZigBee节点的远距离通信的系统再一个实施例的结构示意图,如图17所示,该实施例中封装模块、第一发送模块、解封装模块和第二发送模块耦合设置在源ZigBee网关和目标ZigBee节点中。

在该实施例中,目标ZigBee节点可以跨IP网络与源ZigBee节点同处于一个WPAN中,共同由源ZigBee网关管理。

在源ZigBee节点与目标ZigBee节点通信时,源ZigBee网关可与目标ZigBee节点之间建立IP网络隧道,源ZigBee网关将来自源ZigBee 节点的ZigBee数据包封装为IP数据包发送给目标ZigBee节点,目标ZigBee节点对该IP数据包解封装得到源ZigBee节点的ZigBee数据包。

图18为本发明ZigBee节点的远距离通信的系统再又一个实施例的结构示意图,如图18所示,该实施例中封装模块、第一发送模块、解封装模块和第二发送模块耦合设置在源ZigBee节点和目标ZigBee节点中。

在该实施例中,在源ZigBee节点与目标ZigBee节点通信时,源ZigBee节点与目标ZigBee节点之间可建立IP网络隧道,实现点对点的通信,源ZigBee节点将ZigBee数据包封装为IP数据包发送给目标ZigBee节点,目标ZigBee节点对该IP数据包解封装得到源ZigBee节点的ZigBee数据包。

基于本发明上述任一ZigBee节点的远距离通信系统的另一实施例中,源ZigBee网关和目标ZigBee网关可以是图8至图11实施例所述的任一网关设备。

基于本发明上述任一ZigBee节点的远距离通信系统的另一实施例中,源ZigBee节点与目标ZigBee节点可以是图8至图11实施例所述的任一ZigBee节点。

图19为本发明ZigBee节点的远距离通信的系统一个应用实施例的结构示意图,如图19所示,该实施例的ZigBee节点的远距离通信的系统中,Packet Tunnel封装模块和Packet Tunnel解封装模块设置在源ZigBee网关和目标ZigBee网关中,源ZigBee网关和目标ZigBee网关之间建立有IPv6隧道。

当源ZigBee网关将其所辖范围内源ZigBee节点需要与目标ZigBee网关将其所辖范围内目标ZigBee节点通信时,源ZigBee网关将其所辖范围内源ZigBee节点的ZigBee数据包通过Packet Tunnel封装模块封装为IPv6数据包后通过IPv6隧道发送到目标ZigBee网关,目标ZigBee网关将该IPv6数据包通过Packet Tunnel解封装模解封装后获得ZigBee数据包,并将该ZigBee数据包根据预先建立的绑定表发送到目标ZigBee节点。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分 步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

可能以许多方式来实现本发明的方法、系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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