CN106888216B - 基于AllJoyn协议的物联网桥接适配系统及方法 - Google Patents
基于AllJoyn协议的物联网桥接适配系统及方法 Download PDFInfo
- Publication number
- CN106888216B CN106888216B CN201710167712.6A CN201710167712A CN106888216B CN 106888216 B CN106888216 B CN 106888216B CN 201710167712 A CN201710167712 A CN 201710167712A CN 106888216 B CN106888216 B CN 106888216B
- Authority
- CN
- China
- Prior art keywords
- alljoyn
- equipment
- data
- internet
- data object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Small-Scale Networks (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
一种基于AllJoyn协议的物联网桥接适配系统及方法,涉及物联网‑智能家居领域,包括发布器、至少两种连接器和至少两种适配器,通过连接器从非AllJoyn物联网的网络核心节点获取设备信息数据和设备能力数据,交付给对应的适配器;适配器接收的数据进行适配和桥接,生成对应的AllJoyn协议数据对象;发布器根据AllJoyn协议数据对象构建虚拟AllJoyn代理设备,发布在AllJoyn网络中,并与其它AllJoyn设备联网。本发明可以将多种物联网设备有机结合并联网运作,降低项目的研发成本和周期。
Description
技术领域
本发明涉及物联网-智能家居领域,具体来讲涉及基于AllJoyn协议的物联网桥接适配系统及方法。
背景技术
随着物联网技术的发展和物联网终端设备的普及和应用,众多的物联网协议和解决方案涌现。其中,由高通公司主导,AllSeen联盟推动的开源开发项目AllJoyn,以其框架的灵活性,为物联网提供了种类广泛的平台和连接技术,是该领域的一个重要的软件平台。Zigbee、Z-Wave等其他物联网协议,也被广泛的应用于该领域。同时,许多的物联网设备制造商在其项目组合中,有支持Zigbee、Z-Wave等协议的物联网设备。
但是在实际项目中,由于多种物联网协议并存,需要多个种类的物联网设备,而跨平台的开发任务,增加了项目的研发成本和周期。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于AllJoyn协议的物联网桥接适配系统及方法,多种物联网设备有机结合并联网运作,降低项目的研发成本和周期。
为达到以上目的,本发明采取一种基于AllJoyn协议的物联网桥接适配系统,包括:
至少两种连接器,用于从非AllJoyn物联网的网络核心节点获取联网的设备信息数据和设备能力数据;
至少两种适配器,每种适配器与一种连接器相对应,用于对连接器获取的设备信息数据和设备能力数据进行适配和桥接,并生成对应的AllJoyn协议数据对象;
发布器,用于根据生成的AllJoyn协议数据对象构建虚拟AllJoyn代理设备,并发布在AllJoyn网络中,还用于查找对应的虚拟AllJoyn设备并注销。
在上述技术方案的基础上,所述适配器包括适配模块和桥接模块,适配模块用于将设备信息数据适配到AllJoyn About子协议,桥接模块用于将设备能力数据桥接到AllJoyn ControlPanel子协议。
在上述技术方案的基础上,所述发布器包括信息发布模块和能力发布模块,信息发布模块用于将设备信息的AllJoyn协议数据对象,通过AllJoyn About子协议构建虚拟AllJoyn设备并发布在AllJoyn网络中,还用于根据AllJoyn协议数据对象中的设备ID的适配DeviceId查找对应的虚拟AllJoyn设备,并在AllJoyn网络中注销;所述能力发布模块用于将设备能力的AllJoyn协议数据对象,通过AllJoynControPanel子协议发布在AllJoyn网络中,以及当设备能力的AllJoyn协议数据对象上的节点值更新时,将值变化信号发布在AllJoyn网络中,还用于将适配器生成的联网设备能力的AllJoyn协议数据对象,在AllJoyn网络中注销。
在上述技术方案的基础上,所述连接器包括连接Zigbee网络核心节点的Zigbee连接器,以及连接Z-Wave网络核心节点的Z-Wave连接器。
在上述技术方案的基础上,所述适配器包括将Zigbee协议适配到AllJoyn的Zigbee适配器,以及将Z-Wave协议适配到AllJoyn的Z-Wave适配器。
本发明还提供一种基于AllJoyn协议的物联网桥接适配方法,包括:
S1.通过连接器从非AllJoyn物联网的网络核心节点获取设备信息数据和设备能力数据,并交付给对应的适配器;
S2.适配器对接收的数据进行适配和桥接,生成对应的AllJoyn协议数据对象;
S3.发布器根据AllJoyn协议数据对象构建虚拟AllJoyn代理设备,发布在AllJoyn网络中,并与其它AllJoyn设备联网。
在上述技术方案的基础上,所述S1中,连接器初始化,监听物联网网络核心节点的消息事件,若监听到设备上线消息,获取所有在线设备的设备信息数据、设备能力数据和设备能力交互函数指针;为每个设备的创建一个独立的进程,将该设备的设备信息数据、设备能力数据和设备能力交互函数指针传递到对应进程的内存空间;启动进程,实例化一个单例的适配器,同时实力化一个单例的发布器;将每个进程空间中的设备信息数据、设备能力数据和设备能力交互函数指针,封装成设备上线数据,交付给对应的适配器。
在上述技术方案的基础上,所述S1中,连接器初始化,监听物联网网络核心节点的消息事件,若监听到设备下线消息,连接器从消息中获取设备信息数据,解析并获取设备ID,判断对应的设备进程是否存在,若存在,将设备信息数据封装成设备下线数据,交付给对应的适配器;若不存在,丢弃设备下线消息。
在上述技术方案的基础上,所述S1中,连接器初始化,监听物联网网络核心节点的消息事件,若监听到设备能力消息,从中获取设备能力数据,解析并获取设备ID,判断对应的设备进程是否存在,若存在,将设备能力数据封装成设备能力变化数据,交付给对应的适配器;若不存在,丢弃设备能力消息。
在上述技术方案的基础上,所述S2中,适配器初始化,读取对应连接器传递的数据,若为设备上线数据,解析其中的设备信息数据、设备能力数据和设备能力交互函数指针;根据设备信息数据生成AllJoyn About子协议中的AboutData数据对象,根据设备能力数据生成AllJoyn ControlPanel子协议中的ControlPanelControllee数据对象,同时将设备能力交互函数指针填充到ControlPanelControllee数据对象中;将AboutData数据对象和ControlPanelControllle数据对象封装成设备上线数据对象,提供给发布器。
在上述技术方案的基础上,所述设备信息数据包括5个字段,分别为设备ID、设备名称、设备广商名、设备型号和设备描述,是构建虚拟AllJoyn设备、在AllJoyn网络上发布所需要的设备信息,所述AboutData数据对象包括与所述5个字段一一适配的5个字段。
在上述技术方案的基础上,所述ControlPanelControllee数据对象包括设备单元的数据结构和设备能力的数据结构,且两个数据结构为树形结构。
在上述技术方案的基础上,所述S3中,发布器初始化,在AllJoyn总线上注册BusAttachment对象BA300,读取适配器传递来的数据对象,若为设备上线数据对象,获取其中的AboutData数据对象和ControlPanelControllee数据对象;将AboutData数据对象通过BusAttachment对象BA300构建虚拟AllJoyn设备,通过AboutService发布在AllJoyn网络上;同时,将ControlPanelControllee数据对象通过BusAttachment对象BA300初始化,并通过ControlPanelService发布到AllJoyn网络上。
在上述技术方案的基础上,所述S2中,适配器初始化,读取对应连接器传递的数据,若为设备下线数据,解析设备信息数据,根据其中的设备ID,适配得到AllJoyn About子协议对应的DeviceId数据对象,将其封装成设备下线数据对象,提供给发布器。
在上述技术方案的基础上,所述S3中,发布器初始化,在AllJoyn总线上注册BusAttachment对象BA300,读取适配器传递来的数据对象,若为设备下线数据对象,获取其中的DeviceId数据对象,查找对应的虚拟AllJoyn设备AboutData和ControlPanelControllee数据对象,完成设备信息的注销和设备能力的注销,最后注销BusAttachment对象BA300。
在上述技术方案的基础上,所述S2中,适配器初始化,读取对应连接器传递的数据,若为设备能力变化的数据,适配得到AllJoynControlPanel子协议Widget数据对象,封装成设备能力变化数据对象,提供给发布器。
在上述技术方案的基础上,所述S3中,发布器初始化,在AllJoyn总线上注册BusAttachment对象BA300,读取适配器传递来的数据对象,若为设备能力变化数据对象,获取其中Widget数据对象,查找并获取对应的ControlPanelControllee中节点,完成设备能力的更新。
在上述技术方案的基础上,所述BusAttachment对象BA300是AllJoyn协议中网络交互的核心数据对象,等同一个虚拟AllJoyn设备与AllJoyn网络交互的代理。
本发明的有益效果在于:
1、本发明将非AllJoyn物联网设备桥接适配到AllJoyn网络,实现了不同种类物联网设备之间的互联互通,扩展了现有的物联网的联网范围。
2、本发明通过适配器完成了所有桥接适配工作,无需对现有物联网协议进行任何修改,具有很强的兼容性。
3、本发明将非AllJoyn物联网设备桥接适配到AllJoyn网络,上层物联网开发者通过AllJoyn协议,与多种物联网设备交互,而无需关注设备底层协议的实现;更为统一的物联网协议和语言,有利于物联网行业各方的研发,交流和发展。
附图说明
图1为本发明基于AllJoyn协议的物联网桥接适配系统示意图;
图2为本发明实施例支持Zigbee和Z-Wave的物联网桥接适配系统示意图;
图3为本发明基于AllJoyn协议的物联网桥接适配方法流程图;
图4为本发明步骤S1连接器的工作流程图;
图5为本发明步骤S2适配器的工作流程图;
图6为本发明步骤S3发布器的工作流程图;
图7为本发明实施例Zigbee灯的设备信息适配示意图;
图8为本发明实施例Zigbee灯的设备能力桥接示意图;
图9为本发明实施例Zigbee灯的设备能力适配示意图;
图10为本发明实施例Zigbee灯的设备能力更新示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
如图1所示,本发明基于AllJoyn协议的物联网桥接适配系统,包括发布器、至少两种连接器和至少两种适配器,其中,连接器用于从非AllJoyn物联网的网络核心节点获取联网的设备信息和能力,并封装成数据对象传给对应的适配器;适配器用于对获取的设备信息数据和设备能力数据进行适配和桥接,并生成对应的AllJoyn协议数据对象;发布器用于根据生成的AllJoyn协议数据对象构建虚拟AllJoyn代理设备发布在AllJoyn网络中,还用于查找对应的虚拟AllJoyn设备并注销。
具体的,每个适配器包括适配模块和桥接模块,适配模块用于将设备信息数据适配到AllJoyn About子协议,桥接模块用于将设备能力数据桥接到AllJoyn ControlPanel子协议。每个发布器包括信息发布模块和能力发布模块,信息发布模块用于将设备信息的AllJoyn协议数据对象,通过AllJoyn About子协议构建虚拟AllJoyn设备并发布在AllJoyn网络中,还用于根据AllJoyn协议数据对象中的设备ID适配的字段DeviceId,查找对应的虚拟AllJoyn设备,并在AllJoyn网络中注销;所述能力发布模块用于将设备能力的AllJoyn协议数据对象,通过AllJoyn ControPanel子协议发布在AllJoyn网络中,以及当设备能力的AllJoyn协议数据对象上的节点值更新时,将值变化信号发布在AllJoyn网络中,还用于将适配器生成的联网设备能力的AllJoyn协议数据对象,在AllJoyn网络中注销。
本发明的系统可以同时将Zigbee,Z-Wave等多种物联网设备桥接适配到AllJoyn网络,并且这些物联网桥接适配的系统架构是相似的。如图2所示,以支持Zigbee和Z-Wave的物联网桥接适配系统为例,连接器包括连接Zigbee网络核心节点的Zigbee连接器,以及连接Z-Wave网络核心节点的Z-Wave连接器。所述适配器包括将Zigbee协议适配到AllJoyn的Zigbee适配器,以及将Z-Wave协议适配到AllJoyn的Z-Wave适配器。
具体的,Zigbee适配器和Z-Wave适配器均设置适配模块和桥接模块,适配模块将设备信息数据适配到AllJoyn About子协议适配的内容包括5个字段:设备ID、设备名称、设备厂商名、设备型号和设备描述,适配模块将这些设备信息填充到AllJoyn About子协议的数据对象AboutData中,对应的数据成员包括5个字段:“DeviceId”、“DeviceName”、“Manufacturer”、“Model”和“Description”。桥接模块将设备能力数据桥接到AllJoynControlPanel子协议,桥接的内容包括“获取属性值”、“设置属性值”和“属性值变化事件”。桥接模块将这些设备能力封装到AllJoyn ControlPanel子协议的数据对象ControlPanelControllee中。
每个发布器包括信息发布模块和能力发布模块,信息发布模块完成的工作包括“设备信息发布”和“设备信息注销”;“设备信息发布”是将适配器生成的设备信息数据对象AboutData通过AllJoyn About子协议构建虚拟AllJoyn设备,并发布在AllJoyn网络中。是将适配器生成的设备信息数据对象DeviceId通过AllJoyn About子协议,查找对应的虚拟AllJoyn设备,并在AllJoyn网络中注销。能力发布模块完成的工作包括“设备能力发布”和“设备能力注销”;“设备能力发布”是将适配器生成的设备能力数据对象ControlPanelControllee,通过AllJoyn ControPanel子协议发布在AllJoyn网络中。“设备能力注销”,是将适配器生成的设备能力数据对象ControPanelControllee,通过AllJoynControPanel子协议,在AllJoyn网络中注销。
如图3所示,为本发明基于AllJoyn协议的物联网桥接适配方法,包括步骤:
S1.通过连接器从非AllJoyn物联网的网络核心节点获取设备信息数据和设备能力数据,并交付给对应的适配器;
S2.适配器对接收的数据进行适配和桥接,生成对应的AllJoyn协议数据对象;
S3.发布器根据AllJoyn协议数据对象构建虚拟AllJoyn代理设备,发布在AllJoyn网络中,并与其它AllJoyn设备联网。
如图4所示,步骤S1中连接器的工作流程,连接器可以是Zigbee连接器或Z-Wave连接器等,具体包括以下步骤:
S101.连接器初始化,开始监听物联网网络核心节点的消息事件。
S102.判断监听到的是何种消息,若为设备上线消息,进入S103;若为设备下线消息,进入S107;若为设备能力消息,进入S111。
S103.连接器主动向物联网网络核心节点获取当前已经在线的设备列表,接着获取所有在线设备的设备信息数据、设备能力数据和设备能力交互函数指针。
S104.连接器遍历这些设备列表,并为每个设备的创建一个独立的进程,根据设备ID命名进程名,例如设备ID为x,则对应的进程名为ajvdevice_x,并将该设备的设备信息数据、设备能力数据和设备能力交互函数指针,传递到这个进程的内存空间。
S105.启动进程后,会实例化一个单例的适配器,同时实例化一个单例的发布器;
S106.将每个进程空间中的设备信息数据、设备能力数据和设备能力交互函数指针,封装成设备上线数据,进入S115。
S107.连接器从下线消息中获取设备信息数据,并解析获取设备ID,例如x。
S108.判断对应的设备进程ajvdevice_x是否存在,即判断适配器是否创建,若否,进入S109;若是,进入S110。
S109.适配器还未创建,说明之前的步骤中未获知“设备ID”为x的设备在线相关信息,此时的设备下线消息被认为数据异常,丢弃该设备下线消息,结束。
S110.说明适配器已经创建,将设备信息数据封装成设备下线数据,进入S115。
S111.连接器从消息中获取设备能力数据,并解析获取设备ID,例如x。
S112.判断对应的设备进程ajvdevice_x是否存在,即判断适配器是否创建,若否,进入S113;若是,进入S114。
S113.适配器还未创建,这说明在之前的流程,都未获知设备ID为x的设备在线相关信息,此时的设备能力消息被认为数据异常,丢弃设备能力消息,结束。
S114.适配器已经创建,将设备能力数据封装成设备能力变化数据,进入S115。
S115.将封装后的数据提供给适配器。
如图5所示,步骤S2中适配器的工作流程,连接器可以是Zigbee适配器或Z-Wave适配器等,具体包括以下步骤:
S201.适配器进行初始化,读取对应连接器传递的数据。
S202.判断数据对象的数据类型,若为设备上线数据,进入S203;若为设备下线数据,进入S205;若为设备能力变化的数据,进入S208。
S203.适配器的适配模块从设备上线数据中解析设备信息数据,根据设备信息数据生成AllJoyn About子协议中的AboutData数据对象,设备信息数据包括5个字段:分别为设备ID(适配为DeviceId)、设备名称(适配为DeviceName)、设备广商名(适配为Manufacturer)、设备型号(适配为Model)和设备描述(适配为Description),这个数据对象包含了构建虚拟AllJoyn设备,并在AllJoyn网络上发布所需要的设备信息。适配器的桥接模块从设备上线数据中解析设备能力数据和设备能力交互函数指针,根据设备能力数据生成AllJoynControlPanel子协议中的ControlPanelControllee数据对象;这个数据对象包含了设备在AllJoyn网络上发布所需要的设备能力,如设备单元的数据结构、设备能力的数据结构,且这些数据结构都是树。同时还将设备交互函数指针,填充到ControlPanelControllee对象中,这样就将物联网设备能力桥接到了AllJoyn网络,能够在AllJoyn网络中对该设备能力进行获取能力和设置能力。
S204.将AboutData数据对象和ControlPanelControllle数据对象封装成设备上线数据对象(属于AllJoyn协议数据对象),进入S211。
S205.适配器的适配模块从设备下线数据中解析设备信息数据。
S206.根据设备信息数据中的设备ID,适配得到AllJoyn About子协议对应的DeviceId数据对象。
S207.将DeviceId数据对象封装成设备下线数据对象,进入S211。
S208.适配器的桥接模块解析获取设备能力变化数据。
S209.根据设备能力变化数据,适配得到AllJoyn ControlPanel子协议Widget数据对象。
S210.将Widget数据对象封装成设备能力变化数据对象,进入S211。
S211.将封装后的数据对象提供给发布器。
如图6所示,步骤S3中发布器的工作流程如下:
S301.发布器初始化,在AllJoyn总线上注册BusAttachment对象BA300,BA300由发布器自己注册获得,并非从适配器中获取,读取适配器传递来的数据对象。
S302.判断读取到的数据对象,若为设备上线数据对象,进入S303;若为设备下线数据对象,进入S304;若为设备能力变化数据对象,进入S306。
S303.发布器设有的信息发布模块从设备上线数据对象中获取AboutData数据对象和ControlPanelControllee数据对象,根据AllJoynAbout子协议,将AboutData数据对象通过BusAttachment对象BA300构建虚拟AllJoyn设备,通过AboutService发布在AllJoyn网络上。同时,根据AllJoyn ControlPanel子协议,将ControlPanelControllee数据对象通过BusAttachment对象BA300初始化,将设备能力通过ControlPanelService发布到AllJoyn网络上,结束。
S304.发布器设有的信息发布模块从设备下线数据对象中获取DeviceId数据对象,根据AllJoyn About子协议和ControlPanel子协议,利用DeviceId数据对象,查找对应的虚拟AllJoyn设备AboutData和ControlPanelControllee数据对象。
S305.通过AboutService和ControlPanelService,完成设备信息的注销和设备能力的注销,最后注销BusAttachment对象BA300,结束。
S306.发布器设有的能力发布模块从设备能力变化数据对象中获取Widget数据对象。
S307.根据AllJoyn ControlPanel子协议,利用Widget数据对象,查找并获取对应的ControlPanelControllee中节点,完成设备能力的更新,结束。
如图7所示,以Zigbee灯为例,Zigbee设备上线数据中的设备信息数据,包括5个字段:
“设备ID”,0017880100f44dd9
“设备名称”,ColorLight
“设备厂商名”,Philip
“设备型号”,9290000269
“设备描述”,ColorLight-1000
Zigbee设备下线数据中的设备信息数据,包括1个字段:
“设备ID”,0017880100f44dd9。
通过适配器中的适配模块,将Zigbee设备上线数据中的设备信息数据转换到AllJoyn About子协议AboutData数据对象,包括5个字段:
“DeviceId”,fb0000000000ffff0017880100f44dd9,对应设备ID,其中,设备ID0017880100f44dd9长度是64bit,而AllJoyn About子协议规定“DeviceId”长度为128bit,因此在“设备ID”前面填充64bit的字符fb0000000000ffff,生成“DeviceId”。
“DeviceName”,ColorLight,对应“设备名称”,直接作字符串拷贝生成。
“Manufacturer”,Philip,对应“设备厂商名”,直接作字符串拷贝生成。
“Model”,9290000269,对应“设备型号”,直接作字符串拷贝生成。
“Description”,ColorLight-1000,对应“设备描述”,直接作字符串拷贝生成。
通过适配器中的适配模块,Zigbee设备下线数据中的设备信息数据,包括1个字段:
“设备ID”,0017880100f44dd9
使用同样的方式,转换为AllJoyn About子协议DeviceId数据对象,包括1个字段:
“DeviceId”,fb0000000000ffff0017880100f44dd9。
如图8所示,Zigbee设备上线数据中的设备能力数据结构为树,以Zigbee灯为例,其设备能力数据结构包含:
根节点EndPoint 1;
第二层是三个子节点,Cluster 0x0006,代表Zigbee灯开关控制簇,Cluster0x0008,代表Zigbee灯亮度控制簇,Cluster 0x0300,代表Zigbee灯颜色控制簇;
第三层是四个叶子节点,Cluster 0x0006的子节点是Attribute0x0000,Value0x00,代表了Zigbee灯的开关控制能力,Cluster 0x0008的子节点是Attribute 0x0000,Value 0x03,代表了Zigbee灯的亮度控制能力,Cluster 0x0300的子节点是Attribute0x0003,Value 0x616d和Attribute 0x0004,Value 0x607d,分别代表了Zigbee灯的颜色控制能力。
适配器中的桥接模块,将Zigbee设备上线数据中的设备能力数据结构桥接到树中,同时将设备交互函数指针,填充到ControlPanelControllee对象中对应的Widget对象中,当对设备能力数据结构树中的Widget对象进行“获取能力”和“设置能力”操作时,即是对Zigbee设备的对应节点进行“获取能力”和“设置能力”操作,这样就完成设备能力的桥接。
AllJoyn ControlPanel子协议ControlPanelControllee数据对象,其数据结构也为树,包含了ControlPanelControlleeUnit,ControlPanel和多层Widget对象节点(Container,Property),具体结构为:
根节点ControlPanelControlleeUnit,对应设备能力数据结构树中EndPoint;
第二层是一个子节点,ControlPanel,这是AllJoyn ControlPanel协议中的一部分,无对应,直接构建生成,名称为宏“rootContainer”;
第三层是三个Widget子节点,Container 0x0006对应设备能力数据结构树中Cluster 0x0006,即Zigbee灯开关控制簇;Container0x0008对应Cluster 0x0008,即Zigbee灯亮度控制簇;Container0x0300对应Cluster 0x0300,即Zigbee灯颜色控制簇;
第三层是四个Widget叶子节点,Container 0x0006的子节点是Property 0x0000,Value 0x00,对应Attribute 0x0000,Value 0x00,代表了虚拟AllJoyn灯的开关控制能力;Container 0x0008的子节点是Property 0x0000,Value 0x03,对应Attribute 0x0000,Value 0x03,代表了虚拟AllJoyn灯的亮度控制能力;Container 0x0300的子节点是Property 0x0003,Value 0x616d和Property 0x0004,Value 0x607d,分别对应Attribute0x0003,Value 0x616d和Attribute 0x0004,Value 0x607d,代表了虚拟AllJoyn灯的颜色控制能力。
如图9所示,以Zigbee灯为例,Zigbee设备上线数据其中的设备能力数据,包含了4个字段:
“EndPoint”,1
“Cluster”,0x0300
“Attribute”,0x0004
“Value”,0xffff。
适配器中的桥接模块,将能力变化数据适配到AllJoynControlPanel子协议Widget数据对象,包含4个字段:
“ControlPanelControlleeUnit”,1,对应“EndPoint”。
“Container”,0x0300,对应“Cluster”
“Property”,0x0004,对应“Attribute”
“Value”,0xffff,对应“Value”。
如图10所示,以Zigbee灯为例,发布器中的能力发布模块,将AllJoynControlPanel子协议Widget数据对象,更新到AllJoynControlPanel子协议ControlPanelControllee数据对象的树形结构的对应节点上。
能力发布模块根据字段:
“ControlPanelControlleeUnit”,1,
“Container”,0x0300,
“Property”,0x0004,
利用后续遍历算法LRD,在树中查找到叶子节点“Property”,0x0004;然后将叶子节点里的“Value”值更新为0xffff,这样就完成了设备能力变化的更新。当Zigbee设备的能力变化时,AllJoyn网络上的能力也实时的发生变化,完成能力变化的消息推送,结合图8,“获取能力”和“设置能力”,此时Zigbee设备能力和对应的虚拟AllJoyn设备能力形成了完整的映射。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (18)
1.一种基于AllJoyn协议的物联网桥接适配系统,其特征在于,包括:
至少两种连接器,用于从非AllJoyn物联网的网络核心节点获取联网的设备信息数据和设备能力数据;
至少两种适配器,每种适配器与一种连接器相对应,用于对连接器获取的设备信息数据和设备能力数据进行适配和桥接,并生成对应的AllJoyn协议数据对象;
发布器,用于根据生成的AllJoyn协议数据对象构建虚拟AllJoyn代理设备,并发布在AllJoyn网络中,还用于查找对应的虚拟AllJoyn设备并注销。
2.如权利要求1所述的基于AllJoyn协议的物联网桥接适配系统,其特征在于:所述适配器包括适配模块和桥接模块,适配模块用于将设备信息数据适配到AllJoyn About子协议,桥接模块用于将设备能力数据桥接到AllJoyn ControlPanel子协议。
3.如权利要求2所述的基于AllJoyn协议的物联网桥接适配系统,其特征在于:所述发布器包括信息发布模块和能力发布模块,信息发布模块用于将设备信息的AllJoyn协议数据对象,通过AllJoyn About子协议构建虚拟AllJoyn设备并发布在AllJoyn网络中,还用于根据AllJoyn协议数据对象中的设备ID的适配DeviceId查找对应的虚拟AllJoyn设备,并在AllJoyn网络中注销;所述能力发布模块用于将设备能力的AllJoyn协议数据对象,通过AllJoyn ControPanel子协议发布在AllJoyn网络中,以及当设备能力的AllJoyn协议数据对象上的节点值更新时,将值变化信号发布在AllJoyn网络中,还用于将适配器生成的联网设备能力的AllJoyn协议数据对象,在AllJoyn网络中注销。
4.如权利要求1、2或3所述的基于AllJoyn协议的物联网桥接适配系统,其特征在于:所述连接器包括连接Zigbee网络核心节点的Zigbee连接器,以及连接Z-Wave网络核心节点的Z-Wave连接器。
5.如权利要求4所述的基于AllJoyn协议的物联网桥接适配系统,其特征在于:所述适配器包括将Zigbee协议适配到AllJoyn的Zigbee适配器,以及将Z-Wave协议适配到AllJoyn的Z-Wave适配器。
6.一种基于权利要求1所述系统的基于AllJoyn协议的物联网桥接适配方法,其特征在于,包括:
S1.通过连接器从非AllJoyn物联网的网络核心节点获取设备信息数据和设备能力数据,并交付给对应的适配器;
S2.适配器对接收的数据进行适配和桥接,生成对应的AllJoyn协议数据对象;
S3.发布器根据AllJoyn协议数据对象构建虚拟AllJoyn代理设备,发布在AllJoyn网络中,并与其它AllJoyn设备联网。
7.如权利要求6所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S1中,连接器初始化,监听物联网网络核心节点的消息事件,若监听到设备上线消息,获取所有在线设备的设备信息数据、设备能力数据和设备能力交互函数指针;为每个设备的创建一个独立的进程,将该设备的设备信息数据、设备能力数据和设备能力交互函数指针传递到对应进程的内存空间;启动进程,实例化一个单例的适配器,同时实力化一个单例的发布器;将每个进程空间中的设备信息数据、设备能力数据和设备能力交互函数指针,封装成设备上线数据,交付给对应的适配器。
8.如权利要求6所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S1中,连接器初始化,监听物联网网络核心节点的消息事件,若监听到设备下线消息,连接器从消息中获取设备信息数据,解析并获取设备ID,判断对应的设备进程是否存在,若存在,将设备信息数据封装成设备下线数据,交付给对应的适配器;若不存在,丢弃设备下线消息。
9.如权利要求6所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S1中,连接器初始化,监听物联网网络核心节点的消息事件,若监听到设备能力消息,从中获取设备能力数据,解析并获取设备ID,判断对应的设备进程是否存在,若存在,将设备能力数据封装成设备能力变化数据,交付给对应的适配器;若不存在,丢弃设备能力消息。
10.如权利要求6所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S2中,适配器初始化,读取对应连接器传递的数据,若为设备上线数据,解析其中的设备信息数据、设备能力数据和设备能力交互函数指针;根据设备信息数据生成AllJoyn About子协议中的AboutData数据对象,根据设备能力数据生成AllJoyn ControlPanel子协议中的ControlPanelControllee数据对象,同时将设备能力交互函数指针填充到ControlPanelControllee数据对象中;将AboutData数据对象和ControlPanelControllle数据对象封装成设备上线数据对象,提供给发布器。
11.如权利要求10所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述设备信息数据包括5个字段,分别为设备ID、设备名称、设备广商名、设备型号和设备描述,是构建虚拟AllJoyn设备、在AllJoyn网络上发布所需要的设备信息,所述AboutData数据对象包括与所述5个字段一一适配的5个字段。
12.如权利要求10所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述ControlPanelControllee数据对象包括设备单元的数据结构和设备能力的数据结构,且两个数据结构为树形结构。
13.如权利要求10所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S3中,发布器初始化,在AllJoyn总线上注册BusAttachment对象BA300,读取适配器传递来的数据对象,若为设备上线数据对象,获取其中的AboutData数据对象和ControlPanelControllee数据对象;将AboutData数据对象通过BusAttachment对象BA300构建虚拟AllJoyn设备,通过AboutService发布在AllJoyn网络上;同时,将ControlPanelControllee数据对象通过BusAttachment对象BA300初始化,并通过ControlPanelService发布到AllJoyn网络上。
14.如权利要求6所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S2中,适配器初始化,读取对应连接器传递的数据,若为设备下线数据,解析设备信息数据,根据其中的设备ID,适配得到AllJoyn About子协议对应的DeviceId数据对象,将其封装成设备下线数据对象,提供给发布器。
15.如权利要求14所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S3中,发布器初始化,在AllJoyn总线上注册BusAttachment对象BA300,读取适配器传递来的数据对象,若为设备下线数据对象,获取其中的DeviceId数据对象,查找对应的虚拟AllJoyn设备AboutData和ControlPanelControllee数据对象,完成设备信息的注销和设备能力的注销,最后注销BusAttachment对象BA300。
16.如权利要求6所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S2中,适配器初始化,读取对应连接器传递的数据,若为设备能力变化的数据,适配得到AllJoyn ControlPanel子协议Widget数据对象,封装成设备能力变化数据对象,提供给发布器。
17.如权利要求16所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述S3中,发布器初始化,在AllJoyn总线上注册BusAttachment对象BA300,读取适配器传递来的数据对象,若为设备能力变化数据对象,获取其中Widget数据对象,查找并获取对应的ControlPanelControllee中节点,完成设备能力的更新。
18.如权利要求13、15或17所述的基于AllJoyn协议的物联网桥接适配方法,其特征在于:所述BusAttachment对象BA300是AllJoyn协议中网络交互的核心数据对象,等同一个虚拟AllJoyn设备与AllJoyn网络交互的代理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710167712.6A CN106888216B (zh) | 2017-03-20 | 2017-03-20 | 基于AllJoyn协议的物联网桥接适配系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710167712.6A CN106888216B (zh) | 2017-03-20 | 2017-03-20 | 基于AllJoyn协议的物联网桥接适配系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106888216A CN106888216A (zh) | 2017-06-23 |
CN106888216B true CN106888216B (zh) | 2019-11-05 |
Family
ID=59180767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710167712.6A Active CN106888216B (zh) | 2017-03-20 | 2017-03-20 | 基于AllJoyn协议的物联网桥接适配系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106888216B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912866B (zh) * | 2018-09-18 | 2022-10-28 | 深圳市鸿合创新信息技术有限责任公司 | 一种多设备网桥方法及装置、电子设备 |
WO2022120545A1 (zh) * | 2020-12-07 | 2022-06-16 | Oppo广东移动通信有限公司 | 设备桥接映射的方法和桥接设备 |
WO2024011367A1 (zh) * | 2022-07-11 | 2024-01-18 | Oppo广东移动通信有限公司 | 设备发现方法、装置、设备、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103901844A (zh) * | 2014-03-13 | 2014-07-02 | 惠州Tcl移动通信有限公司 | 一种基于Alljoyn技术的智能家居控制方法及系统 |
CN104113602A (zh) * | 2014-07-30 | 2014-10-22 | 无锡航天飞邻测控技术有限公司 | 一种基于物名的物联网设备访问管理系统及方法 |
CN105187306A (zh) * | 2015-09-25 | 2015-12-23 | 苏州艾联智能科技有限公司 | 一种基于异构无线网络多通道融合的设备互联装置及方法 |
CN105207811A (zh) * | 2015-08-28 | 2015-12-30 | 青岛海尔智能家电科技有限公司 | 一种替换非AllJoyn设备的方法及装置 |
CN105676655A (zh) * | 2015-12-29 | 2016-06-15 | 青岛海尔智能家电科技有限公司 | 一种非AllJoyn设备之间的联动方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170019853A1 (en) * | 2015-07-14 | 2017-01-19 | Intel Corporation | Power saving architectures and techniques in wireless networks |
-
2017
- 2017-03-20 CN CN201710167712.6A patent/CN106888216B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103901844A (zh) * | 2014-03-13 | 2014-07-02 | 惠州Tcl移动通信有限公司 | 一种基于Alljoyn技术的智能家居控制方法及系统 |
CN104113602A (zh) * | 2014-07-30 | 2014-10-22 | 无锡航天飞邻测控技术有限公司 | 一种基于物名的物联网设备访问管理系统及方法 |
CN105207811A (zh) * | 2015-08-28 | 2015-12-30 | 青岛海尔智能家电科技有限公司 | 一种替换非AllJoyn设备的方法及装置 |
CN105187306A (zh) * | 2015-09-25 | 2015-12-23 | 苏州艾联智能科技有限公司 | 一种基于异构无线网络多通道融合的设备互联装置及方法 |
CN105676655A (zh) * | 2015-12-29 | 2016-06-15 | 青岛海尔智能家电科技有限公司 | 一种非AllJoyn设备之间的联动方法及装置 |
Non-Patent Citations (1)
Title |
---|
《Alljoyn在物联网环境的应用研究》;王宁;《中国优秀硕士学位论文全文数据库信息科技辑》;20170215;1-61 * |
Also Published As
Publication number | Publication date |
---|---|
CN106888216A (zh) | 2017-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alaya et al. | Toward semantic interoperability in oneM2M architecture | |
CN106374439B (zh) | 基于智能变电站保护控制系统的软件定义实现方法 | |
CN103516541B (zh) | 基于智能化变电站的配置信息自动管理方法 | |
CN103501254B (zh) | 一种多用途航电中继网络拓扑配置管理方法及系统 | |
CN110351257A (zh) | 一种分布式物联网安全接入系统 | |
US20030208527A1 (en) | Method for smart device network application infrastructure (SDNA) | |
CN106888216B (zh) | 基于AllJoyn协议的物联网桥接适配系统及方法 | |
CN109922150A (zh) | 虚拟设备信息处理方法、装置、物联网关和物联通信系统 | |
CN104660596B (zh) | 异构网络协议标准智件、云监控管理系统和方法 | |
CN104038414A (zh) | 一种多协议智能家庭网关装置及其系统 | |
CN110401568A (zh) | 一种网络拓扑发现方法及设备 | |
CN106790222B (zh) | 一种modbus/全互联制造网络信息服务适配器及其实现方法 | |
CN109889416A (zh) | 一种基于微服务架构的智能家居系统及构建方法 | |
CN102571795B (zh) | 基于BACnet和EIB协议的楼宇自控系统 | |
CN111064627A (zh) | 一种电力物联终端即插即用管理系统 | |
CN101635645A (zh) | 一种网络拓扑的管理方法及装置 | |
CN102438017B (zh) | 基于路由功能的Modbus和BACnet Ethernet协议转化装置及转化方法 | |
CN106534067A (zh) | 一种基于物联网的智能控制方法及系统 | |
Alaya et al. | Towards semantic data interoperability in oneM2M standard | |
Xiao et al. | A hybrid task crash recovery solution for edge computing in IoT-based manufacturing | |
CN110111523A (zh) | 一种消防物联网信号模拟传输系统 | |
CN104063227B (zh) | 一种基于物联网的指令学习方法 | |
CN103763325B (zh) | 构建ip安防产品开发环境的方法 | |
CN207115725U (zh) | 基于ZigBee技术的智能家居系统 | |
CN108881455A (zh) | 低容量存储节点的异构云存储系统中数据封装与传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |