基于物联网的zigbee智能家居设备管理方法及装置与流程

文档序号:16276163发布日期:2018-12-14 22:35阅读:236来源:国知局
本发明涉及物联网
技术领域
:,具体地涉及一种基于物联网的zigbee智能家居设备管理方法及装置。
背景技术
:伴随着智慧家居给人们生活带来的极大的便利,物联网技术得到了飞速的发展。因zigbee网络无线技术具有短距离、低功耗的通信特点,其被作为常应用于智能家居的无线数据传输的方式。在zigbee设备在入网的过程中,需要有很多的数据认证以及交互,如果丢失了其中的某一交互数据,其会影响这一次的组网成功率。所以,对于新设备入网流程,除了zigbee协议栈实现的流程,还需要稳定的实现设备入网。在应用zigbee网络的智能家居中,需要一个智能设备网关对所有的设备进行优化管理,目前市场上的设备管理,大多是使用记载了网关下的智能家居设备(例如开关或灯具等)的设备信息的配置文件,并基于这些配置文件进行本地管理。但是,本申请的发明人在实践本申请的过程中发现上述的用于实现zigbee智能家居设备管理的方案中至少存在以下的缺陷:一方面,因为嵌入式设备经常性地会进行上下电,如果在设备管理的时候,网关突然断电会导致管理设备的信息丢失或设备文件损坏,导致设备丢失和设备管理稳定性差的问题;另一方面,传统的文本配置文件的管理机制针对每一设备存储配置文件,使得每次读取设备,都需要读取全部的存储文件,当网关下设备很多,存储文件很大的时候,严重的影响到了网关设备管理的效率和性能。技术实现要素:本发明实施例的目的是提供一种基于物联网的zigbee智能家居设备管理方法及装置,用以提高设备管理的可靠性及网关设备管理的效率和性能。为了实现上述目的,本发明实施例一方面提供一种基于物联网的zigbee智能家居设备管理方法,应用于网关,该方法包括:基于网关启动信号,检测是否存在设备结构链表,其中所述设备结构链表包括网关下的智能家居设备信息和其对应的属性信息;若存在所述设备结构链表,则读取所述设备结构链表中的各个智能家居设备信息和对应的属性信息;以及基于所读取的所述各个智能家居设备信息和对应的属性信息,初始化所述网关下的智能家居设备。进一步的,在检测是否存在设备结构链表之后,该方法还包括:若不存在所述设备结构链表,则创建所述设备结构链表,其中所述创建所述设备结构链表包括:接收自所述网关下的各个智能家居设备分别上传的设备信息和属性信息;基于所接收的设备信息和属性信息,创建设备结构链表。进一步的,基于所接收的设备信息和属性信息,创建设备结构链表包括:将所接收到的对应zigbee协议数据格式的设备信息转换为对应于所述设备结构链表的表格数据格式的设备信息表;将所接收到的对应zigbee协议数据格式的属性信息转换为对应于所述设备结构链表的表格数据格式的属性信息表;基于所述设备信息表和所述属性信息表,创建设备结构链表。进一步的,在初始化所述网关下的智能家居设备之后,该方法还包括:监测与网关所交互的智能家居设备的设备信息和属性信息;基于所监测的设备信息和/或属性信息来判断是否存在数据变化工况,其中所述数据变化工况指示包括以下中的一者或多者:设备退网、设备状态更新和新设备入网;当存在所述数据变化工况时,更新所述设备结构链表;以及当不存在所述数据变化工况时,不更新所述设备结构链表。进一步的,基于所监测的设备信息和/或属性信息来判断是否存在数据变化工况包括:获取由待入网的新设备所发送的响应于网关密钥的密钥验证信息;当所述密钥验证信息的验证成功并接收到新设备入网信息时,基于所接收的新设备入网信息触发所述数据变化工况,其中所述新设备入网信息包括所述待入网的新设备的设备信息和属性信息。进一步的,所述更新所述设备结构链表包括以下中的一者或多者:当所述数据变化工况指示新设备入网时,在所述设备结构链表中补充新设备的设备信息和属性信息;当所述数据变化工况指示设备退网时,在所述设备结构链表中删除退网设备的设备信息和属性信息;以及当所述数据变化工况指示设备状态更新时,在所述设备结构链表中更新状态更新设备的设备信息和属性信息。本发明实施例另一方面提供一种基于物联网的zigbee智能家居设备管理装置,包括:设备结构链表检测单元,用于基于网关启动信号,检测是否存在设备结构链表,其中所述设备结构链表包括网关下的智能家居设备信息和其对应的属性信息;信息读取单元,用于若存在所述设备结构链表,则读取所述设备结构链表中的各个智能家居设备信息和对应的属性信息;以及初始化单元,用于基于所读取的所述各个智能家居设备信息和对应的属性信息,初始化所述网关下的智能家居设备。进一步的,该装置还包括设备结构链表创建单元,用于在检测是否存在设备结构链表之后,若不存在所述设备结构链表,则创建所述设备结构链表,其中所述设备结构链表创建单元包括:信息接收模块,用于接收自所述网关下的各个智能家居设备分别上传的设备信息和属性信息;创建模块,用于基于所接收的设备信息和属性信息,创建设备结构链表。进一步的,所述创建模块包括:设备信息表转换组件,用于将所接收到的对应zigbee协议数据格式的设备信息转换为对应于所述设备结构链表的表格数据格式的设备信息表;属性信息表转换组件,用于将所接收到的对应zigbee协议数据格式的属性信息转换为对应于所述设备结构链表的表格数据格式的属性信息表;表创建组件,用于基于所述设备信息表和属性信息表,创建设备结构链表。进一步的,该装置还包括:监测单元,用于在初始化所述网关下的智能家居设备之后,监测与网关所交互的智能家居设备的设备信息和属性信息;工况判断单元,用于基于所监测的设备信息和/或属性信息来判断是否存在数据变化工况,其中所述数据变化工况指示包括以下中的一者或多者:设备退网、设备状态更新和新设备入网;更新判断单元,用于当存在所述数据变化工况时,更新所述设备结构链表,以及当不存在所述数据变化工况时,不更新所述设备结构链表。通过上述技术方案,提出了在网关启动时检测记录有智能家居设备的设备信息和其对应的属性信息的设备结构链表,并在存在该设备结构链表时,以读表的方式得到网关下的各个智能家居设备的设备信息和其对应的属性信息,从而实现对网关下的智能家居设备的初始化处理。由此,替代了目前相关技术中利用针对设备的本地配置文件存储管理的方式,避免了进程性的导致文件存储的损坏,提高了设备管理的可靠性;另外,在设备管理时不需要从数据库繁多的配置文件中查找目标配置文件,提高了设备管理的处理效率和性能。本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:图1是本发明一实施例的基于物联网的zigbee智能家居设备管理方法的流程图;图2是图1中的设备结构链表的创建过程的流程图;图3是本发明一实施例的基于物联网的zigbee智能家居设备管理方法的流程图;图4是本发明一实施例的基于物联网的zigbee智能家居设备管理方法的原理流程图;图5是图4中设备入网管理过程的流程图;图6是本发明一实施例的网关数据管理方法的流程图;图7是本发明一实施例的基于物联网的zigbee智能家居设备管理装置的结构框图。具体实施方式以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。如图1所示,本发明一实施例的基于物联网的zigbee智能家居设备管理方法,该方法包括:s11、基于网关启动信号,检测是否存在设备结构链表,其中设备结构链表包括网关下的各个智能家居设备的设备信息和其对应的属性信息。关于本发明实施例方法的实施主体,其可以是用于管理zigbee网络中的众多智能家居设备的网关。关于该网关启动信号,其可以是在网关上电启动时所自动生成的,并且在网关上电之后需要对其所管理设备做一个初始化的过程,在本实施例方法中是自动检测是否存在设备结构链表;目前相关技术中针对每一智能家居设备对应在网关设置本地配置文件,每次初始化都需要从数据库中找寻所有的配置文件并执行,导致处理过程缓慢和用户体验低下,并且由于本地配置文件在多次重复性上电掉电的过程中容易损坏,也会严重影响设备管理的可靠性。s12、若存在设备结构链表,则读取设备结构链表中的各个设备信息和对应的属性信息。示例性的,设备信息可以是包括设备mac地址、网络地址、设备id、设备端点等,以及属性信息可以是包括设备协议版本、硬件版本号、软件版本号和属性值等。s13、基于所读取的所述各个智能家居设备信息和对应的属性信息,初始化所述网关下的智能家居设备。在本发明实施例方法中,通过对包括网关下的各个智能家居设备的设备信息和其对应的属性信息的设备结构链表的读取查询,能够获得网关下的各个智能家居设备的设备信息和属性信息,实现了对网关下的智能家居设备的初始化操作,提高了处理的效率,并避免了配置文件的进程性损坏,提高了设备配置的可靠性。在一些优选实施方式中,还可以是在检测到不存在设备结构链表时,自动创建设备结构链表。如图2示出了设备结构链表的创建过程,其包括:s21、接收自网关下的各个智能家居设备分别上传的设备信息和属性信息;s22、基于所接收的设备信息和属性信息,创建设备结构链表。其中,在网关上电之后,当发现不存在设备结构链表时,能够自动收集网关下的各个智能家居设备的设备信息和属性信息,从而实现对设备结构链表的创建。更优选的,在设备结构链表创建的过程中,还可以是将zigbee协议数据格式的数据信息转换为简单的数据结构,并将简单的数据结构存储至链表中。具体的,可以是首先,将所接收到的对应zigbee协议数据格式的设备信息转换为对应于设备结构链表的表格数据格式的设备信息表;然后,将所接收到的对应zigbee协议数据格式的属性信息转换为对应于设备结构链表的表格数据格式的属性信息表;之后,基于设备信息表和属性信息表,创建设备结构链表。由此,在网关收到下属子设备所发送的设备信息和属性信息时,能够通过两张简单结构的表格对其进行统计,即设备信息表和属性信息表,进而实现在设备结构链表中进行结合,操作方便有效。可以理解的是,当需要从设备结构链表中调用数据并下发给子设备时,可以是先将查表数据转换为zigbee格式的数据,然后再在zigbee网络中传输该数据。更优选地,在智能家居设备完成初始化之后,还需要根据zigbee网络工作过程执行相应的设备管理措施;如图3所示,本发明一优选实施例基于物联网的zigbee智能家居设备管理方法,包括:s31、在网关下的智能家居设备完成初始化之后,监测与网关所交互的智能家居设备的设备信息和属性信息。其中,可以是监测到存在哪些或哪个设备信息和属性信息新添加进网关了,或哪些或哪个设备信息和属性信息从网关中被移除了。s32、基于所监测的设备信息和/或属性信息来判断是否存在数据变化工况,其中数据变化工况指示包括以下中的一者或多者:设备退网、设备状态更新和新设备入网。示例性的,在数据变化工况指示新设备入网时,可以是网关从待入网的新设备接收到了其响应于网关密钥的密钥验证信息,当网关针对密钥验证信息的验证成功时,接收新设备入网信息,该新设备入网信息包括待入网的新设备的设备信息和属性信息,进而基于所接收的新设备入网信息触发指示新设备入网的数据变化工况。示例性的,在数据变化工况指示设备退网时,可以是网关在与设备交互的过程中发现所接收到的设备信息缺失了,此时可以将所缺失的设备确定为退网设备,并基于退网设备的设备信息和属性信息触发指示设备退网的数据变化工况。示例性的,在数据变化工况指示设备状态更新时,可以是网关在与设备交互的过程中发现所接收到的属性信息增加、删除或修改了,此时可以将变更属性的设备确定为状态更新设备,并基于状态更新设备的设备信息和属性信息触发指示设备状态更新的数据变化工况。s33、当存在数据变化工况时,更新设备结构链表。示例性的,当数据变化工况指示新设备入网时,在设备结构链表中补充新设备的设备信息和属性信息。示例性的,当数据变化工况指示设备退网时,在设备结构链表中删除退网设备的设备信息和属性信息。示例性的,当数据变化工况指示设备状态更新时,在设备结构链表中更新状态更新设备的设备信息和属性信息。s34、当不存在数据变化工况时,不更新设备结构链表。在目前相关的技术中,每接收到一次数据都会存储到数据库中,并在需要使用时对数据库进行查询和遍历。相比之下,在本实施例中,实现了在物联网通信工作的过程中,并不会因为已有配置信息而更新设备结构链表,节省了cpu的运行时间,不需要每次收到数据都存储到数据库中,只需要对变化的数据进行存储和上报。由此,对于嵌入式设备特别重要,极大的发挥了网关的性能,提高了运行效率。如图4所示,本发明一实施例的基于物联网的zigbee智能家居设备管理方法的原理流程,zigbees设备协议转换成简单结构以及进行存储方式,其具体流程包括:1)对zigbee网络中的每个zigbeedevice,都转换成以下结构。包含了设备的mac地址,网络地址,是否在线,心跳时间及设备的全部端点的链表(zigbee单个设备,可以有多个端点(endpoint))。2)端点(endpoint)的结构,包含了设备的mac地址,协议版本,设备id,以及软件版本号,硬件版本号以及设备的全部属性;3)设备属性,结构体,用于存储zigbee设备某一cluster下的所有设备属性,结构定义如下:4)将上述所有zigbee的属性,全部转换成sqlite数据库的两个表devicetable以及attributetable。其中devicetable,用于存储设备的基础信息,如mac地址,设备id,设备端点等等。5)设备attributes表:主要包含了设备的cluster(属性集合),以及attribute(设备属性),以及attributevalue(设备属性值);6)网关上电,数据恢复:只需要从devicetable以及attributetable中,取出数据,存放到device结构链表中;接收数据:每当设备接收到设备上报的数据时。只需要在device结构体中,保存相应属性,如果有数据变化的时候,存储到sqlite数据库中。(这样就不用收到所有数据,都保存到数据库一遍,节省了cup运行时间);7)发送数据:将需要发送的数据,解析成zibee协议中的cluster和attribute属性,发送出去;8)获取zigbee设备全部信息:只需要将从deivce结构中,取出全部数据,发送给用户。(不用读取数据库)节省了读取以及加载数据库的时间;9)这样,复杂的zigbee设备协议的设备定义以及设备属性管理。就转换成了简单的sqlite中的数据库两张数据表的存储结构,提高了网关的运行效率以及稳定性。如图5所示,在设备入网管理过程中,可以是采用设备状态机,对于获取信息失败的数据,进行重新发送,该方法具体包括:1)网关传送密钥至设备。2)验证密钥是否成功。3)当验证密钥成功时,读取设备属性表,查看是否还有其他数据网关需要与设备进行交互。4)当存在还有其他数据网关需要与设备进行交互,将需要读取的设备信息放入到消息列表读取设备信息。5)判断是否成功读取设备属性。6)在成功读取了设备属性之后,检测是否有剩余属性进行读取,直到所有的设备属性都成功读取之后才结束读取。如图6所示,对于网关数据管理,采用数据库sqlite3的方式。建立嵌入式数据库。管理zigbee网关,以及wif、蓝牙等等的子设备,该基于物联网的zigbee智能家居设备管理方法包括:1)从数据库中获取网关下的所有子设备。2)判断数据库是否存在。3)当不存在数据库时,创建数据库;以及,当存在数据库时,创建网关自设备管理的数据。4)从数据库中读取属性信息加载到内存中。5)检测是否有新设备入网,以及设备退网,或者设备状态更新。6)当检测到设备入网,添加设备信息到内存中,并且存储到数据库;当检测到设备退网,删除内存中的设备信息;当检测到状态更新,可以更新数据信息;由此,确保数据稳定性,不需要每次安装传统仅t全部读取设备信息再写文件,确保读取的靠靠性。在本发明实施例中,通过sqlite数据库的软件,联合查看数据库代码的实现评估方案的有效性,实现了对设备管理的高效管理。其中,在网关启动的时候,启用守护脚本,确保程序稳定性;在运行的时候,首先初始化数据库,当数据库建立的时候,那么就打开它,无需再建立的数据库;初始化网关下所有的自设备,读取出来,存储在内存中;设备入网退网,对设备管理数据库表进行增删改查,而不需要从浩瀚的本地配置文件中进行处理,操作方便有效。如图7所示,本发明一实施例的基于物联网的zigbee智能家居设备管理装置70,包括:设备结构链表检测单元701,用于基于网关启动信号,检测是否存在设备结构链表,其中所述设备结构链表包括网关下的智能家居设备信息和其对应的属性信息;信息读取单元702,用于若存在所述设备结构链表,则读取所述设备结构链表中的各个智能家居设备信息和对应的属性信息;以及初始化单元703,用于基于所读取的所述各个智能家居设备信息和对应的属性信息,初始化所述网关下的智能家居设备。在一些实施方式中,该装置还包括设备结构链表创建单元(未示出),用于在检测是否存在设备结构链表之后,若不存在所述设备结构链表,则创建所述设备结构链表,其中所述设备结构链表创建单元包括:信息接收模块,用于接收自所述网关下的各个智能家居设备分别上传的设备信息和属性信息;创建模块,用于基于所接收的设备信息和属性信息,创建设备结构链表。在一些实施方式中,所述创建模块包括:设备信息表转换组件,用于将所接收到的对应zigbee协议数据格式的设备信息转换为对应于所述设备结构链表的表格数据格式的设备信息表;属性信息表转换组件,用于将所接收到的对应zigbee协议数据格式的属性信息转换为对应于所述设备结构链表的表格数据格式的属性信息表;表创建组件,用于基于所述设备信息表和属性信息表,创建设备结构链表。在一些实施方式中,该装置还包括:监测单元,用于在初始化所述网关下的智能家居设备之后,监测与网关所交互的智能家居设备的设备信息和属性信息;工况判断单元,用于基于所监测的设备信息和/或属性信息来判断是否存在数据变化工况,其中所述数据变化工况指示包括以下中的一者或多者:设备退网、设备状态更新和新设备入网;更新判断单元,用于当存在所述数据变化工况时,更新所述设备结构链表,以及当不存在所述数据变化工况时,不更新所述设备结构链表。关于本发明实施例的基于物联网的zigbee智能家居设备管理装置的细节,可以参照上文基于物联网的zigbee智能家居设备管理方法实施例的描述,从而实现与上述基于物联网的zigbee智能家居设备管理方法实施例相同或相似的技术效果,故在此便不再赘述。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1