一种基于特征值比对的智能家居设备识别方法与流程

文档序号:17738475发布日期:2019-05-22 03:28阅读:250来源:国知局
一种基于特征值比对的智能家居设备识别方法与流程

本发明属于智能家居设备网络信息交互技术领域,具体涉及一种基于特征值比对的智能家居设备识别方法。



背景技术:

随着物联网技术在近几年的高速发展,为了便捷人们的日常生活,采用物联网技术的智能家居设备深受人们的喜爱;智能家居是以住宅为平台,综合利用自动控制系统、计算机网络、物联网和安全防范等技术,将智能安防设备、智能灯光设备、智能窗帘控制设备、智能家电等与家居生活有关的各个智能家居设备有机地结合在一起,形成了一体的智能化、网络化的家居控制系统。通过网络化综合智能控制和管理,构建高效的家居设施与家庭日程事物的综合管理系统,提升家居安全性、便利性和舒适性,随着智能家居在智慧城市中扮演者越来越重要的角色,智能家居势必会给人们带来一种全新的生活体验。

当前市面上的智能家居设备厂商及产品种类繁多,在大多数情况下用户或单位会根据功能需求采购多个厂商智能家居或智能家电设备的可能性,如某厂商在视频领域占有较大的优势,用户便会采购该厂商的智能视频监控设备;同样,若某厂商在语音方面拥有深厚的技术底蕴,用户便会倾向采购该厂商的智能语音控制设备。这样用户家中便有多个厂商的智能家居设备,而不同智能家居设备厂商的智能家居接入技术标准和通信协议是不一样的,使得智能家居设备管理变得比较复杂。因此,需要识别出众多智能家居设备中的某一设备的型号以便于管理与控制。本发明通过提取智能家居设备的特征信息进行比对分析,从而达到识别的目的,以便于进行其他智能家居的管理等操作。



技术实现要素:

本发明提供一种基于特征值比对的智能家居设备识别方法,包括通过无线抓包工具抓取智能家居与路由器之间通信的数据包,对数据包进行过滤并将过滤后的数据包进行解析得到多条数据,提取每条数据的特征值,包括ip地址、目的端口号以及心跳包,通过与数据库中的特征值比对分析来判断智能家居设备的具体信息,并将识别结果传递给操作系统或后台系统,具体操作包括:

s1:建立智能家居主机与路由器通信的wifi通信链路;

s2:预先采集智能家居设备的特征值,并将其写入数据库中;

s3:根据每个智能家居主机的情况,给不同型号的智能家居的ip地址、端口号以及心跳包赋予相应的权值与阈值;

s4:搭建智能家居设备识别的平台,通过智能家居设备识别的平台抓取智能家居主机与路由器之间通信的数据包,将数据包进行过滤与解析;

s5:将解析后得到的特征值与数据库中的特征值进行比对分析,得出识别结果,将识别结果传输给智能家居设备识别的平台,若识别成功,则将识别出的设备型号上报。

优选的,步骤s1具体包括:

s11:搭建路由器的上网环境,并将智能家居主机连接到路由器上;

s12:将装有无线网卡的设备识别终端中开启网卡的monitor模式,使其能够抓取周围无线环境的数据包;

s13:通过抓包工具抓取智能家居主机与路由器之间的数据包。

优选的,步骤s2具体包括:

s21:通过数据包过滤工具过滤出抓取到的数据包的tcp/udp数据包;

s22:提取传输层的目的端口号信息,根据数据包时间间隔提取心跳包,网络层的目的ip地址信息。

优选的,步骤s3具体包括:根据每个智能家居主机的情况,给不同型号的智能家居的ip地址、端口号以及心跳包赋予相应的权值与阈值;根据智能家居设备的特征值是否变化设置权值,若智能家居设备的特征值信息变化,则将该智能家居的特征值的权值设定为0;若智能家居设备的特征值信息不变化,则将该智能家居的特征值的权值设定为非0数值;并将所有特征值信息不变化的智能家居设备的权值的累加和设置为阈值。

优选的,搭建智能家居设备的识别平台包括向搭建智能家居设备的识别平台移植抓取数据包工具和过滤数据工具,并为智能家居设备的识别平台提供无线网卡抓取数据包时所需的权限。

优选的,步骤s4具体包括:

s41:通过智能家居设备识别的平台扫描周围wifi信息,并选择智能家居主机接入的wifi节点;

s42:通过智能家居设备识别的平台中移植的抓包工具抓取智能家居主机与路由器之间通信的数据包;

s43:通过智能家居设备识别的平台中数据包过滤工具过滤出数据包中tcp/udp数据包。

优选的,步骤s5包括:

s501:逐条提取数据包中的数据,并解析每条数据中的目的地址、目的端口以及心跳包;

s502:将每条数据中的目的地址、目的端口以及心跳包与数据库中的特征值进行比对,并将比对一致的特征值的权值进行累加;

s503:判断该数据包各个特征值权值的累加和是否超过阈值,若是则识别成功,从数据库中提取该特征值所对应的智能家居设备型号,并将识别的结果传递给所搭建的智能家居识别平台上;

s504:否则判断该条数据中的所有特征值是否比对完成,若未完成,则返回步骤s502;若完成则进行步骤s505;

s505:判断该数据包中的所有数据是否完比对完成,若未完成,则返回步骤s501;若完成则进行步骤s506;

s506:否则识别失败,并将识别的结果传递给所搭建的智能家居识别平台上。

优选的,解析每条数据得到的特征值与数据库中的特征信息进行比对时,令ip地址、端口号以及心跳包所对应的权值分别为:x1,x2,x3,阈值设置为y;将解析的特征值与数据库中的特征值进行比对并将比对后一致的特征信息的权值进行累加,若累加和不小于阈值,即x1+x2+x3≥y,则认为识别成功。

本发明针对不同的智能家居设备,对不同的特征值赋予不同的权值,通过权值的累加和与阈值的大小进行比较得出识别结果,而且识别的准确率高,该种方法可以应用在多套智能家居设备管理与控制上。

附图说明

图1为本发明所述整体环境搭建图;

图2为本发明所述特征值采集流程图;

图3为本发明所述数据包格式图;

图4为本发明中所抓取的数据包图;

图5为本发明所述智能家居识别整体流程图;

图6为本发明所述具体数据比对流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1,本发明通过无线抓包工具抓取智能家居与路由器之间通信的数据包,然后对数据包进行过滤并将过滤后的数据包进行解析,得到多条数据,提取每条数据的特征值,包括ip地址、目的端口号以及心跳包,通过与数据库中的特征值比对分析来判断智能家居设备的具体信息,并将识别结果传递给操作系统或后台系统,具体操作包括:

s1:建立智能家居主机与路由器通信的wifi通信链路;

s2:预先采集智能家居设备的特征值并将其写入数据库中;

s3:根据每个智能家居主机的情况,给不同型号的智能家居的ip地址、端口号以及心跳包赋予相应的权值与阈值;

s4:搭建智能家居设备识别的平台,通过智能家居设备识别的平台抓取智能家居主机与路由器之间通信的数据包,将数据包进行过滤与解析;

s5:将解析后得到的特征值与数据库中的特征值进行比对分析,得出识别结果,将识别结果传输给智能家居设备识别的平台,若识别成功,则将识别出的设备型号上报。

实施例1

在本实施例中,采集智能家居设备的特征信息,并将其写入数据库中的过程进行具体实施,如图2,该过程包括以下步骤:

s201:抓取数据包,并通过数据包过滤工具过滤出抓取到的数据包的tcp/udp数据包;其中可以选择wireshark进行抓包操作以及过滤操作;

s202:提取传输层的目的端口号信息,根据数据包时间间隔提取心跳包,网络层的目的ip地址信息;提取传输层的目的端口号信息与心跳包,网络层的目的ip地址信息;为了避免数据的偶然因素,因此要多抓取几次数据包,并且要隔一段时间,以保证抓取到的数据的可用性;

s203:判断是否达到预先设置的采集次数,若未达到则返回步骤s201;

s204:根据采集的特征值信息给各个特征值赋予相应的权值;

s205:将智能家居设备的型号、目的ip地址、目的端口号、心跳包、阈值还有其各自对应的权值写入到数据库中。

如图3所示,本发明中的数据包括以太网头部、ip头部、tcp头部和数据,其中ip头部中的数据信息包括版本、首部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议号、首部校验和、源ip地址、目的ip地址和可选字段;tcp头部中的数据信息包括源端口号,目的端口号、序号、确认号、头部长度、保留、标志、窗口大小、tcp校验和、紧急指针、可选字段等信息;本发明使用的数据包结构,能够清楚的知道目的ip地址、目的端口号以及心跳包在包中所处的位置,从而可以方便的从数据包的数据中提取所需的这些特征值的信息。

根据每个智能家居主机的情况,给不同型号的智能家居的ip地址、端口号以及心跳包赋予相应的权值与阈值。本实施例使用一款名为夜狼的智能家居设备,根据抓取的数据包情况,如图4,发现其目的ip地址与目的端口号一直不变,而其心跳包每次都不相同,因此给其ip地址的权值设为2,端口号的权值设为1,心跳包的权值设为0,阈值设为3;并将智能家居设备的型号、目的ip地址、目的端口号、心跳包、阈值还有其各自对应的权值写入到数据库中。

在搭建智能家居设备识别的平台,向其移植后续所需的抓取数据包的工具(例如:airodump-ng)与过滤数据包的工具(例如:tcpdump),并要获取无线网卡能够抓取数据包的权限,使所搭建的平台具备在无线环境下抓取数据包和过滤数据包的能力。

实施例2

本实施例在实施例1的基础上,通过搭建的智能家居识别平台,抓取智能家居主机设备与路由器之间通信的数据包,并对数据包进行过滤与解析,将抓取到的数据包中ip地址、端口号与心跳包与数据库中的数据进行比对分析,得出识别结果;其中使用搭建的智能家居识别的平台进行识别的整体流程如图5所示,包括以下步骤:

s41:通过智能家居设备识别平台扫描周围wifi信息,并选择智能家居主机接入的那个wifi节点;

s42:通过智能家居设备识别平台中移植的抓包工具抓取智能家居主机与路由器之间通信的数据包;

s43:通过智能家居设备识别平台中数据包过滤工具过滤出数据包中tcp/udp数据包,逐条提取数据包中的目的ip地址、目的端口号与心跳包等特征值,并逐条与数据库中的特征信息进行比对。

其中具体的比对数据库的流程如图6所示,包括以下步骤:

s501:逐条提取数据包中的数据,并解析每条数据中的目的地址、目的端口以及心跳包;

s502:将每条数据中的目的地址、目的端口以及心跳包与数据库中的特征值进行比对,并将比对一致的特征值的权值进行累加;

s503:判断该数据包各个特征值权值的累加和是否超过阈值,若是则识别成功,从数据库中提取该特征值所对应的智能家居设备型号,并将识别的结果传递给所搭建的智能家居识别平台上;

s504:否则判断该条数据中的所有特征值是否比对完成,若未完成,则返回步骤s502;若完成则进行步骤s505;

s505:判断该数据包中的所有数据是否完比对完成,若未完成,则返回步骤s501;若完成则进行步骤s506;

s506:识别失败,并将识别的结果传递给所搭建的智能家居识别平台上。

多条智能家居主机与其远程服务器交互的数据,所以需要对其进行逐一比对,若其中有一条数据中的目的ip地址、目的端口号以及心跳包其中的权值累加和达到阈值,则认为其识别成功;本实施例仍以实施例1中的一款名为夜狼的智能家居设备的数据为例,由于ip地址与端口号与数据库中的数据吻合,而数据库中没有与心跳包相吻合的数据,则得出其特征值所对应的权值累加和为:

x1+x2+x3=2+1+0=3

正好等于其阈值,所以判定其识别成功。然后从数据库中提取该特征值所对应的智能家居设备型号,将其作为识别结果;若所有数据都比对完成都没有特征值累积和超过阈值的数据,则认为识别失败,结束识别流程。

将识别结果传递给搭建的智能家居识别平台时,若识别成功,则显示识别到的具体智能家居设备的型号,以便下一步要对智能家居进行的管理等操作。在本实施例中,由于之前采集的数据充分,所以一经数据库中比对就得出其识别结果。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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