发明内容
针对现有技术的不足,本发明提供一种物联网设备连接组网方法、物联网设备系统及信息接入与传输的方法。
本发明解决技术问题采用如下技术方案:
一种物联网设备连接组网方法,所述物联网设备具有数据交互功能并以设备节点执行组网步骤,每个所述设备节点匹配设置信息库,所述信息库中设有信任设备清单和连接设备清单,
所述组网方法至少执行设备节点的添加、设备节点的控制、设备节点的删除和信息更新中的一个步骤;
所述设备节点的添加包括以下步骤:
待组网设备节点接入一个已组网设备节点;
添加所述待组网设备节点至该已组网设备节点的信任设备清单和连接设备清单,同时添加该已组网设备节点的信任设备清单至待组网设备节点的信任设备清单;
所述待组网设备节点依次尝试连接其信任设备清单中的设备节点,若成功连接,则将该设备节点添加至所述待组网设备节点的连接设备清单中;
所述已组网设备节点依次按照其连接设备清单广播所述待组网设备节点信息,同时该连接设备清单中的设备节点依次添加所述待组网设备节点至其信任设备清单,并同步尝试连接所述待组网设备节点,若成功连接,则将所述待组网设备节点添加至该设备节点的连接设备清单中;以连接设备清单为索引从所述已组网设备节点开始对设备节点依次递进重复执行本步骤,直至该设备节点再次收到广播的所述待组网设备节点信息;
所述设备节点的删除包括以下步骤:
待删除设备节点按照其连接设备清单依次广播所述待删除设备节点信息;
该连接设备清单中的设备节点依次从其信任设备清单和连接设备清单中删除所述待删除设备节点;
同步的该连接设备清单中的设备节点按照其连接设备清单依次广播所述待删除设备节点信息;
以连接设备清单为索引从所述待删除设备节点开始对设备节点依次递进重复执行上述步骤,直至该设备节点再次收到广播的所述待删除设备节点信息;
所述设备节点的控制包括以下步骤:
接入任意一个已组网设备节点作为主控设备节点;
遍历主控设备节点的信任设备清单,若存在被控设备节点,则继续遍历主控设备节点的连接设备清单,若存在被控设备节点,则直接发送控制指令至被控设备节点,否则按照主控设备节点的连接设备清单依次广播所述被控设备节点信息和控制指令信息;
以连接设备清单为索引从所述主控设备节点开始对设备节点依次递进重复执行上述步骤,直至所述设备节点再次收到广播的所述被控设备节点信息和控制指令信息;
所述信息更新包括以下步骤:
已组网的每个设备节点按照设定触发条件依次对其信任设备清单中的设备节点进行连接确认,并根据确认结果实时更新其连接设备清单。
优选地,所述控制指令在主控设备节点发出时配有可以校验指令唯一性的设置,用于被控设备节点校验以剔除重复命令。
优选地,所述触发条件为按照固定时间间隔或者更新信任节点时设置。
优选地,所述物联网设备具有唯一身份标识,在设备节点接入前基于加密机制对唯一身份标识进行校验,确认身份。
优选地,所述设备节点间连接方式包括蓝牙、WiFi、zigbee和自有协议。
本发明还提供一种对物联网设备系统进行信息接入与传输的方法,将控制端作为一个设备节点,采用如前述物联网设备连接组网方法加入到物联网设备系统网络中,并进行控制及信息传输。
本发明还提供一种对物联网设备系统进行信息接入与传输的方法,包括:
在物联网系统网络中的设备节点设置对外开放接口以供外部调用;
将控制端接入任意一个外开放接口;
采用如前述物联网设备连接组网方法,通过某一节点自对其他节点进行查找和控制,并进行信息传输。
本发明还提供一种物联网设备系统,采用如前述物联网设备连接组网方法进行设备管理。
本发明还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述的物联网设备连接组网方法。
与现有技术相比,本发明具有如下的有益效果:
本发明的一种物联网设备连接组网方法,同时提供了一种自组网络、大量物联网设备负载均衡的解决方案以及去中心化的物联网设备管理解决方案,能够实现多路径连接,避免中心平台或者某些核心设备掉线,整个设备网络瘫痪、无法使用的问题,同时降低中心节点如小米路由、apple home kit等设备的采购成本,此外本发明还避免了负载不均衡等安全问题。
关于本发明相对于现有技术,其他突出的实质性特点和显著的进步在实施例部分进一步详细介绍。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在说明书及权利要求书当中使用了某些名称来指称特定组件。应当理解,本领域普通技术人员可能会用不同名称来指称同一个组件。本申请说明书及权利要求书并不以名称的差异作为区分组件的方式,而是以组件在功能上的实质性差异作为区分组件的准则。如在本申请说明书和权利要求书中所使用的“包含”或“包括”为一开放式用语,其应解释为“包含但不限定于”或“包括但不限定于”。具体实施方式部分所描述的实施例为本发明的较佳实施例,并非用以限定本发明的范围。
此外,所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为软硬件结合的形式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个微控制器可读介质中的计算机程序产品的形式,该微控制器可读介质中包含微控制器可读的程序代码。
实施例1
本实施例的一种物联网设备连接组网方法,其中物联网设备具有数据交互功能并以设备节点执行组网步骤,每个所述设备节点匹配设置信息库,信息库中设有信任设备清单和连接设备清单,
组网方法至少执行设备节点的添加、设备节点的控制、设备节点的删除和信息更新中的一个步骤;
设备节点的添加包括以下步骤:
待组网设备节点接入一个已组网设备节点;
添加所述待组网设备节点至该已组网设备节点的信任设备清单和连接设备清单,同时添加该已组网设备节点的信任设备清单至待组网设备节点的信任设备清单;
所述待组网设备节点依次尝试连接其信任设备清单中的设备节点,若成功连接,则将该设备节点添加至所述待组网设备节点的连接设备清单中;
所述已组网设备节点依次按照其连接设备清单广播所述待组网设备节点信息,同时该连接设备清单中的设备节点依次添加所述待组网设备节点至其信任设备清单,并同步尝试连接所述待组网设备节点,若成功连接,则将所述待组网设备节点添加至该设备节点的连接设备清单中;以连接设备清单为索引从所述已组网设备节点开始对设备节点依次递进重复执行本步骤,直至该设备节点再次收到广播的所述待组网设备节点信息;
请参照图1,例如只有1台设备A,那么设备节点A自己维护自己的一个信息库,里面记录了信任的设备清单(信任list)和与其连接激活的设备清单(ACTIVE LIST),其中信任设备清单中只有A本身,而连接设备清单为空;
参照图2,例如要添加一台新设备节点B,那么加入过程,首先是设备节点B连接到设备A,因为B是通过A连接进入的,所以首先A更新自己的信任设备清单,同时更新自己连接设备清单,随后新的设备节点B同步更新自己的信任设备清单和连接设备清单。
参照图3例如在图2中的基础上额外要添加一台新设备节点C,那么加入过程,首先是设备节点C连接到设备A,由于C连接到A,所以更新A的信任设备清单和连接设备清单,同时A广播给自己的连接节点B,告诉B有新的信任节点C,同步的因为首次C连接到A,所以添加A中信任设备清单到C自己的信任设备清单,并尝试所有信任连接,更新自己的连接设备清单,B收到广播信息,将C加入到自己的信任设备清单,并同步试图连接C,若有连接则把C加入到自己的连接设备清单,并广播给自己的信任设备清单,此外A节点收到广播,发现C已经在信任设备清单中,结束广播。
参照图4,在图3的基础上再额外添加一台新设备节点D,那么加入过程,首先是设备节点D连接到B,所以更新B的信任设备清单和连接设备清单,添加D,B广播给自己的连接节点AC,告诉他们新的信任节点D,同步的因为首次连接D已经连接B,所以添加B所有信任设备清单到D自己信任设备清单,并尝试所有信任节点连接,更新自己连接设备清单;A收到广播,添加D到信任设备清单,尝试连接D,无法直接连接,不添加到自己的连接清单;C收到广播,添加D到信任设备清单,尝试连接D,有连接,添加D到自己的连接设备清单;A因为有新的信任D,所以广播给连接设备清单的BC,有新的D加入;C因为有新的信任D,所以广播给连接设备清单的AB,有新的D加入,上述中ABC都发现已经有D存在,结束广播。
为了进一步举例说明组网的各种情形,请参照图5,新加入设备节点E,那么加入过程,首先是设备节点E连接到A,所以更新A的信任设备清单和连接设备清单,添加E,并广播给自己的连接节点B,通知B有新的信任设备节点E加入,同步E更新信任设备清单,添加ABCD,并试图连接,在这里更新AB到自己的连接设备清单;B节点收到广播,添加E到自己的信任设备清单,并试图连接E,连接成功,添加E到连接设备清单,并广播E节点信任到所有连接设备清单中节点ACD;A收到广播,发现E已经在信任设备清单,结束广播;C收到B节点发来的广播,添加E到信任设备清单,试图连接E,失败,不更新其连接设备清单,并广播该信任E节点给C的连接节点BD;D收到B节点发来的广播,添加E到信任设备清单,试图连接E,失败,不更新其连接设备清单,并广播该信任E节点给D的连接节点BC,BCD再次收到广播,因为E已经在信任设备清单,广播结束。
所述设备节点的删除包括以下步骤:
待删除设备节点按照其连接设备清单依次广播所述待删除设备节点信息;
该连接设备清单中的设备节点依次从其信任设备清单和连接设备清单中删除所述待删除设备节点;
同步的该连接设备清单中的设备节点按照其连接设备清单依次广播所述待删除设备节点信息;
以连接设备清单为索引从所述待删除设备节点开始对设备节点依次递进重复执行上述步骤,直至该设备节点再次收到广播的所述待删除设备节点信息;
请参照图6,在这里已删除设备节点E为例,删除设备节点E,首先广播删除设备节点E信息给E的连接设备清单AB,A收到广播,从信任设备清单和连接设备清单删除E,并广播给自己的连接设备清单B,通知其需要删除E,B收到广播,从信任和连接设备清单删除E,并广播给自己的连接设备清单ACD;A收到广播,发现E已经不在信任设备清单,结束广播;C收到广播,从自己的信任设备清单移除E,并广播给BD;D收到广播,从自己信任设备清单移除E,并广播给BC;BCD节点收到删除广播,因为E已经不在自己信任设备清单,所以结束广播;
所述设备节点的控制包括以下步骤:
接入任意一个已组网设备节点作为主控设备节点;
遍历主控设备节点的信任设备清单,若存在被控设备节点,则继续遍历主控设备节点的连接设备清单,若存在被控设备节点,则直接发送控制指令至被控设备节点,否则按照主控设备节点的连接设备清单依次广播所述被控设备节点信息和控制指令信息;
以连接设备清单为索引从所述主控设备节点开始对设备节点依次递进重复执行上述步骤,直至所述设备节点再次收到广播的所述被控设备节点信息和控制指令信息;
请参照图7,以A为主控设备节点区,C为被控设备节点为例,首先在A的信任设备清单查询是否有C节点,如有,查询连接设备清单是否有C,如有,直接发送控制C命令,结束,在这里因为没有,所以将控制信息发送给连接设备清单中BE两个节点;B收到对C的控制命令,寻找连接设备清单是否有C,若有,直接发送命令给C,否则发送给自己的所有连接设备清单中节点,在这里因为有所以直接将控制指令信息直接发送至设备节点C,每一次控制命令都有一个校验方式,比如nonce来保证C如果执行过该命令,就不在执行,丢弃重复命令,如果节点收到的控制命令自己已经转发给连接设备清单过一次,如nonce重复出现,则不再转发该控制命令,当然也可以采用证书校验或者其他校验方法。
所述信息更新包括以下步骤:
已组网的每个设备节点按照设定触发条件依次对其信任设备清单中的设备节点进行连接确认,并根据确认结果实时更新其连接设备清单,在这里触发条件可以按照固定时间间隔或者更新信任节点时设置;
请参照图8此处设备节点A与C仅为断开连接,并没有删除C节点,所以不清除信任设备清单,只清除连接设备清单。
本实施例中物联网设备具有唯一身份标识,在设备节点接入前基于加密机制对唯一身份标识进行校验,确认身份。
本实施例中设备节点间连接方式包括蓝牙、WiFi、zigbee和自有协议。
实施例2
本实施例提供一种对物联网设备系统进行信息接入与传输的方法,将控制端作为一个设备节点,采用如实施例1中物联网设备连接组网方法加入到物联网设备系统网络中,并进行控制及信息传输。
实施例3
本实施例提供一种对物联网设备系统进行信息接入与传输的方法,包括:
在物联网系统中的设备节点设置对外开放接口以供外部调用;
将控制端接入任意一个外开放接口;
采用如实施例1所述物联网设备连接组网方法通过某一节点自对其他节点进行查找和控制,并进行信息传输。
实施例4
本实施例提供一种物联网设备系统,采用如实施例1所述物联网设备连接组网方法进行设备管理。
实施例5
本实施例提供一种存储介质,存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如实施例1所述的物联网设备连接组网方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方。或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)。随机存取存 储器(RAM,Random,Access,Memory)、磁碟或者光盘等各种可以存储程序校验码的介质。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。