一种社区设备及实现对讲和开锁的方法与流程

文档序号:13590061阅读:219来源:国知局

本发明涉及智慧社区技术领域,尤其涉及一种社区设备及实现对讲和开锁的方法。



背景技术:

随着数字化技术和网络技术飞速发展,安防对讲系统已能满足家庭用户的对讲和开锁需求。而且,在组建社区网络时,所有社区设备在分配ip地址后,都会将自身的uuid和ip地址发送至社区服务器进行注册,这样,社区服务器中便存储了每个社区设备的uuid及其对应的ip地址。当实现对讲和开锁功能时,源端社区设备需要向社区服务器请求发送目标端社区设备的ip地址,这样就对社区服务器的稳定性要求很高,一旦社区服务器出现异常,社区设备的对讲和开锁功能便不能实现。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述对社区服务器稳定性要求过高的缺陷,提供一种社区设备及实现对讲和开锁的方法,即使社区服务器异常也能实现对讲和开锁的功能。

本发明解决其技术问题所采用的技术方案是:构造一种实现对讲和开锁的方法,第一社区设备进行以下步骤:

s101.第一社区设备接收用户输入的第二社区设备的房间号,并根据所述房间号生成第二社区设备的uuid;

s102.第一社区设备根据所述uuid生成第一udp包,并广播所述第一udp包,所述第一udp包包括第二社区设备的uuid、第一社区设备的uuid和ip地址;

s103.第一社区设备接收第二社区设备所返回的第二udp包,其中,第二社区设备在接收到第一udp包,且判断自身的uuid与第一udp包中的第二社区设备的uuid一致时,根据自身的uuid和ip地址生成第二udp包;

s104.第一社区设备根据所述第二udp包获取第二社区设备的ip地址,并根据所获取的ip地址向第二社区设备发送对讲或开锁信息。

优选地,在所述步骤s104之后,还包括:

s105.第一社区设备在本地表中存储第二社区设备的uuid及ip地址;

而且,在所述步骤s101和步骤s102之间还包括:

s106.第一社区设备判断本地表中是否存储有第二社区设备的uuid及ip地址,若是,则执行步骤s107;若否,则执行步骤s102;

s107.从本地表中获取第二社区设备的ip地址,并根据所获取的ip地址向第二社区设备发送对讲或开锁信息。

优选地,在所述步骤s107之后,还包括:

s108.第一社区设备判断第一预设时间内是否收到第二社区设备发送的响应信息,若否,则执行步骤s109;

s109.第一社区设备在本地表中删除第二社区设备的uuid及ip地址,然后执行步骤s102。

优选地,在所述步骤s102和所述步骤s103之间,还包括:

s110.第一社区设备判断第二预设时间内是否收到第二社区设备所返回的第二udp包,若是,则执行步骤s103;若否,则执行步骤s111;

s111.第一社区设备重新广播所述第一udp包。

优选地,在所述步骤s102之后,还包括:

所有收到所述第一udp包的社区设备在自身的本地表中存储第一社区设备的uuid和ip地址。

本发明还构造一种实现对讲和开锁的方法,第二社区设备进行以下步骤:

s201.第二社区设备接收第一社区设备所广播的第一udp包,其中,第一社区设备在接收到用户输入的第二社区设备的房间号后,根据所述房间号生成第二社区设备的uuid,并根据所述uuid生成第一udp包,所述第一udp包包括第二社区设备的uuid、第一社区设备的uuid和ip地址;

s202.第二社区设备判断自身的uuid是否与第一udp包中的第二社区设备的uuid一致,若是,则执行步骤s203;

s203.第二社区设备根据自身的uuid和ip地址所生成第二udp包,并将其发送至第一社区设备,以使第一社区设备根据所述第二udp包获取第二社区设备的ip地址,并根据所获取的ip地址向第二社区设备发送对讲或开锁信息。

优选地,在所述步骤s201之后,还包括:

s204.第二社区设备根据所接收的第一udp包,在自身的本地表中存储第一社区设备的uuid和ip地址。

优选地,还包括:

s205.第二社区设备在接收到第一社区设备发送的对讲或开锁信息后,根据所述对讲或开锁信息更新自身的本地表中所存储的第一社区设备的uuid和ip地址。

本发明还构造一种社区设备,包括第一存储器和第一处理器,所述第一存储器中存储有计算机程序,所述第一处理器用于执行所述第一存储器中存储的计算机程序并实现以上任意一项所述的方法。

本发明还构造一种社区设备,包括第二存储器和第二处理器,所述第二存储器中存储有计算机程序,所述第二处理器用于执行所述第二存储器中存储的计算机程序并实现以上任意一项所述的方法。

实施本发明的技术方案,当第一社区设备需要向第二社区设备发送对讲或开锁信息时,第一社区设备构造并发出第一udp包,该第一udp包用于查询第二社区设备的ip地址,第二社区设备收到该第一udp包后,构造第二udp包,该第二udp包用于回应查询请求,并且发送至第一社区设备,这样,第一社区设备便可根据所接收的第二udp包获取第二社区设备的ip地址,然后,便可与第二社区设备进行对讲或开锁的通讯。所以,本发明的实现对讲和开锁的方法不需要向社区服务器请求查询第二社区设备的ip设备,即使社区服务器异常也能实现对讲和开锁的功能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:

图1是本发明实现对讲和开锁的方法实施例一的流程图;

图2是本发明实现对讲和开锁的方法实施例二的流程图;

图3是本发明实现对讲和开锁的方法实施例三的流程图。

具体实施方式

图1是本发明实现对讲和开锁的方法实施例一的流程图,首先说明的是,一个社区网络包括处于同一局域网下的多个社区设备,例如有:设置在住户房内的室内机、设置在楼栋单元门口/小区大门门口的门口机、设置在管理中心的管理机等。该实施例的实现对讲和开锁方法应用在主叫方的第一社区设备中,在该实施例中,第一社区设备进行以下步骤:

s101.第一社区设备接收用户输入的第二社区设备的房间号,并根据所述房间号生成第二社区设备的uuid;

在该步骤中,首先说明的是,在社区网络组建后,每个社区设备都被分配一ip地址。而且,每个社区设备中存储有相同的uuid运算规则。当第一社区设备想要呼叫第二社区设备时,用户可在第一社区设备上输入第二社区设备的房间号,第一社区设备便可根据预先设置好的uuid运算规则,计算出该房间号计算出相应的uuid号。

s102.第一社区设备根据所述uuid生成第一udp包,并广播所述第一udp包,所述第一udp包包括第二社区设备的uuid、第一社区设备的uuid和ip地址;

在该步骤中,第一社区设备在获取到第二社区设备的uuid后,若社区服务器异常或与社区服务器之间的网络不通,此时,第一社区设备可产生一用于查询ip地址的udp广播包(第一udp包),该广播包中包括自身的uuid、自身的ip地址及第二社区设备的uuid。在此需说明的是,由于第一社区设备此时并不知晓第二社区设备的ip地址,所以,只能以广播的形式发送该ip地址查询包。

s103.第一社区设备接收第二社区设备所返回的第二udp包,其中,第二社区设备在接收到第一udp包,且判断自身的uuid与第一udp包中的第二社区设备的uuid一致时,根据自身的uuid和ip地址生成第二udp包;

在该步骤中,当第一社区设备广播了第一udp包后,处于本局域网内的所有社区设备都可接收到该第一udp包。当这些社区设备接收到该第一udp包后,首先判断自身的uuid是否与第一udp包中第二社区设备的uuid一致。

对于第二社区设备,其可判断自身的uuid与第一udp包中第二社区设备的uuid一致,便认为该第一udp包是发给自己的,此时可构造一用于回应查询的udp包(第二udp包),该udp包中包括第二社区设备的uuid和ip地址,然后,向第一社区设备返回该udp包。在此需说明的是,在第二社区设备发送第二udp包时,由于已知晓第一社区设备的ip地址,所以可以单播的形式发该第二udp包。

对于其它的社区设备,其判断自身的uuid与第一udp包中第二社区设备的uuid并不一致,便认为该第一udp不是发给自己的,此时可丢弃该第一udp包。同时,可根据第一udp包在自身的本地表中存储第一社区设备的uuid和ip地址,若之前已存储第一社区设备的uuid和ip地址,则判断当前收到的是否与之前存储的一致,若不一致,则对本地表中第一社区设备的uuid和ip地址进行更新。

s104.第一社区设备根据所述第二udp包获取第二社区设备的ip地址,并根据所获取的ip地址向第二社区设备发送对讲或开锁信息。

在该步骤中,当第二社区设备向第一社区设备发送第二udp包后,第一社区设备便可获取到第二社区设备的ip地址,然后,可根据该ip地址向第二社区设备发送对讲或开锁信息。

在该实施例的技术方案中,当第一社区设备需要向第二社区设备发送对讲或开锁信息时,第一社区设备构造并发出第一udp包,该第一udp包用于查询第二社区设备的ip地址,第二社区设备收到该第一udp包后,构造第二udp包,该第二udp包用于回应查询请求,并且发送至第一社区设备,这样,第一社区设备便可根据所接收的第二udp包获取第二社区设备的ip地址,然后,便可与第二社区设备进行对讲或开锁的通讯。所以,本发明的实现对讲和开锁的方法不需要向社区服务器请求查询第二社区设备的ip设备,即使社区服务器异常也能实现对讲和开锁的功能。

图2是本发明实现对讲和开锁的方法实施例二的流程图,该实施例的方法相比图1所示的实施例一,所不同的仅是:

在步骤s104之后,还包括:

s105.第一社区设备在本地表中存储第二社区设备的uuid及ip地址;

而且,在步骤s101和步骤s102之间还包括:

s106.第一社区设备判断本地表中是否存储有第二社区设备的uuid及ip地址,若是,则执行步骤s107;若否,则执行步骤s102;

s107.从本地表中获取第二社区设备的ip地址,并根据所获取的ip地址向第二社区设备发送对讲或开锁信息。

在该实施例中,若第一社区设备有获取第二社区设备ip地址的需求,可首先在自身的本地表中查询,若能查询到,则优先根据本地表查询第二社区设备的ip地址。只有在查询不到时,才通过udp广播的方式查询第二社区设备的ip地址,而且,在每次通过udp广播的方式查询到第二社区设备的ip地址后,可将该第二社区设备的uuid和ip地址存储在本地表中,下次再有通讯需求时,直接查询本地表即可。

进一步地,在实际应用中,会发生某个或某些社区设备的ip地址发生变化的情况,此时,其它社区设备的本地表中存储的该社区设备的uuid与ip地址的关系就会不正确,若要通过查询本地表的方式获取这些社区设备的ip地址,并向其发送对讲或开锁信息,这些社区设备便无法正常接收。此时,本申请还建立一套自动优化本地表的机制。具体地:

在步骤s107之后,还包括:

s108.第一社区设备判断第一预设时间内是否收到第二社区设备发送的响应信息,若否,则执行步骤s109;

s109.第一社区设备在本地表中删除第二社区设备的uuid及ip地址,然后执行步骤s102。

在该实施例中,若第一社区设备向第二社区设备发送了对讲或开锁信息,但是,并无收到对方的响应信息,说明第二社区设备有可能并无接收到该对讲或开锁信息,即,所查询到的第二社区设备的ip地址有可能是错误的。此时,可将本地表中的第二社区设备的记录删除,并重新开始执行步骤s102,即,重新通过udp广播的方式查询第二社区设备的ip地址。

另外,在实际应用中,由于udp报文传输的不可靠性,所以,当第一社区设备发送udp广播包后,第二社区设备有可能接收不到,或者,虽然第二社区设备返回了udp包,但第一社区设备并无接收到,此时,可启动超时等待重发机制。具体地:

在步骤s102和步骤s103之间,还包括:

s110.第一社区设备判断第二预设时间内是否收到第二社区设备所返回的第二udp包,若是,则执行步骤s103;若否,则执行步骤s111;

s111.第一社区设备重新广播所述第一udp包。

进一步地,还可设置重发的最大次数,若重发的次数未达到最大次数,则等待一延时时间后重发,直到达到最大重发次数。

图3是本发明实现对讲和开锁的方法实施例三的流程图,该实施例的实现对讲和开锁方法应用在被叫方的第二社区设备中,在该实施例中,第二社区设备进行以下步骤:

s201.第二社区设备接收第一社区设备所广播的第一udp包,其中,第一社区设备在接收到用户输入的第二社区设备的房间号后,根据所述房间号生成第二社区设备的uuid,并根据所述uuid生成第一udp包,所述第一udp包包括第二社区设备的uuid、第一社区设备的uuid和ip地址;

s202.第二社区设备判断自身的uuid是否与第一udp包中的第二社区设备的uuid一致,若是,则执行步骤s203;

s203.第二社区设备根据自身的uuid和ip地址所生成第二udp包,并将其发送至第一社区设备,以使第一社区设备根据所述第二udp包获取第二社区设备的ip地址,并根据所获取的ip地址向第二社区设备发送对讲或开锁信息。

进一步地,由于第一社区设备所广播的第一udp包中带有自身的uuid和ip地址,所以,所有收到该第一udp广播包的社区设备均可在自身的本地表中存储第一社区设备的uuid和ip地址,当然,也包括第二社区设备。具体地:

在步骤s201之后,还包括:

s204.第二社区设备根据所接收的第一udp包,在自身的本地表中存储第一社区设备的uuid和ip地址。

在一个具体的实施例中,若第一社区设备是根据查询本地表的方式获取到了第二社区设备的ip地址,即,没有通过udp广播的方式查询第二社区设备的ip地址,而且,第二社区设备的本地表中也未存储第一社区设备的uuid和ip地址。当第一社区设备向第二社区设备发送了对讲或开锁信息后,而对讲或开锁信息也是通过udp包的形式发送的,该udp包中肯定包括第一社区设备的uuid和ip地址,所以,第二社区设备还可根据该udp来获取第一社区设备的uuid和ip地址。具体地:本发明的实现对讲和开锁的方法还包括:

s205.第二社区设备在接收到第一社区设备发送的对讲或开锁信息后,根据所述对讲或开锁信息更新自身的本地表中所存储的第一社区设备的uuid和ip地址。

本发明还构造一种社区设备,该社区设备为主叫方设备,其包括第一存储器和第一处理器,第一存储器中存储有计算机程序,其特征在于,第一处理器用于执行第一存储器中存储的计算机程序并实现主叫方的第一社区设备实现对讲和开锁的方法。

本发明还构造一种社区设备,该社区设备为被叫方设备,其包括第二存储器和第二处理器,第二存储器中存储有计算机程序,其特征在于,第二处理器用于执行第二存储器中存储的计算机程序并实现被叫方的第二社区设备实现对讲和开锁的方法。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何纂改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

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