一种消息传输方法及设备转让专利

申请号 : CN202110296606.4

文献号 : CN113207122B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱冲

申请人 : 华为技术有限公司

摘要 :

本申请实施例公开了一种消息传输方法及设备,涉及物联网领域,可降低设备响应对方发来的消息时的时延,使消息的交互过程简单安全,提高用户体验。该方法包括:在第一设备未接入第二设备所在的局域网时,第二设备可接收第一设备发送的广播消息,该广播消息中包括第一设备的标识和被加密的第一指令内容;第二设备使用与第一设备的标识对应的解密算法对第一指令内容进行解密;若第一指令内容被成功解密,则第二设备控制第三设备实现第一指令内容,该第三设备已接入该局域网。

权利要求 :

1.一种消息传输方法,其特征在于,包括:

在第一设备未接入第二设备所在的局域网时,所述第二设备接收所述第一设备发送的广播消息,所述广播消息中包括所述第一设备的标识和被加密的第一指令内容;

所述第二设备使用与所述第一设备的标识对应的解密算法对所述第一指令内容进行解密;

若所述第一指令内容被成功解密,则所述第二设备控制第三设备实现所述第一指令内容,所述第三设备已接入所述局域网。

2.根据权利要求1所述的方法,其特征在于,所述广播消息中还包括所述第二设备的标识;

其中,在所述第二设备接收所述第一设备发送的广播消息之后,还包括:所述第二设备根据所述第二设备的标识确定所述广播消息的接收方是否为所述第二设备;

其中,所述第二设备使用与所述第一设备的标识对应的解密算法对所述第一指令内容进行解密,包括:若所述广播消息的接收方是所述第二设备,则所述第二设备使用与所述第一设备的标识对应的解密算法对所述第一指令内容进行解密。

3.根据权利要求1所述的方法,其特征在于,在所述第二设备接收所述第一设备发送的广播消息之前,还包括:所述第二设备接收所述第一设备发送的注册信息,所述注册信息中包括所述第一设备的标识和解密算法;

所述第二设备建立所述第一设备的标识与所述解密算法之间的对应关系。

4.根据权利要求1‑3中任一项所述的方法,其特征在于,所述第一设备具有Wi‑Fi连接功能,所述第二设备为无线路由器,所述局域网为所述第二设备提供的Wi‑Fi局域网。

5.一种消息传输方法,用于第一设备,所述第一设备包括至少一个按键,所述至少一个按键包括第一按键,其特征在于,所述方法包括:在所述第一设备未接入第二设备所在的局域网时,所述第一设备接收用户对所述第一按键的输入操作;

响应于所述输入操作,所述第一设备使用预设的加密算法对所述第一按键的第一指令内容加密,所述第一指令内容用于控制第三设备执行对应的功能,所述第三设备已连接入所述局域网;

所述第一设备将所述第一设备的标识和加密后的第一指令内容添加在广播消息中;

所述第一设备发送所述广播消息。

6.根据权利要求5所述的方法,其特征在于,在所述第一设备接收用户对所述第一按键的输入操作之前,还包括:所述第一设备向所述第二设备发送注册信息,所述注册信息中包括所述第一设备的标识以及与所述加密算法对应的解密算法。

7.一种消息传输设备,所述消息传输设备为第一设备,其特征在于,所述第一设备包括:通信接口;

一个或多个按键;

一个或多个处理器;

一个或多个存储器;

以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述一个或多个存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述第一设备执行时,使得所述第一设备执行如权利要求1‑4中任一项所述的消息传输方法。

8.一种消息传输设备,所述消息传输设备为第二设备,其特征在于,所述第二设备包括:通信接口;

一个或多个处理器;

一个或多个存储器;

以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述一个或多个存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述第二设备执行时,使得所述第二设备执行如权利要求5‑6中任一项所述的消息传输方法。

9.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在消息传输设备上运行时,使得所述消息传输设备执行如权利要求1‑4或权利要求5‑6中任一项所述的消息传输方法。

说明书 :

一种消息传输方法及设备

技术领域

[0001] 本申请涉及物联网领域,尤其涉及一种消息传输方法及设备。

背景技术

[0002] 设备与设备交互之前通常需要先建立相应的通信链路。例如,手机作为站点(station,STA)接入Wi‑Fi网络时需要与接入点(例如路由器)之间先建立Wi‑Fi连接。为了保证手机与路由器交互时的信息安全性,在建立Wi‑Fi连接时要求用户向手机输入路由器预先设置的接入密码,手机将用户输入的密码发送给路由器后由路由器对请求接入的手机进行身份认证。如果用户输入的密码不正确,则路由器不允许手机接入其Wi‑Fi网络。如果用户输入的密码是正确的,则路由器允许手机接入其Wi‑Fi网络,后续手机才可以基于该Wi‑Fi网络向路由器发送各类消息。
[0003] 也就是说,一个设备与另一个设备建立通信链路时,首先需要完成身份认证才能建立较为安全的通信链路。这样,当用户使用其中一个设备向另一个设备发送消息时,需要等待双方设备进行身份认证后,对方设备才能响应该消息,使得设备响应对方发来的消息时的时延增大,用户体验降低。

发明内容

[0004] 本申请提供一种消息传输方法及设备,可降低设备响应对方发来的消息时的时延,使消息的交互过程简单安全,提高用户体验。
[0005] 为达到上述目的,本申请采用如下技术方案:
[0006] 第一方面,本申请提供一种消息传输方法,包括:在第一设备未接入第二设备所在的局域网时,第二设备可接收第一设备发送的身份验证请求,该身份验证请求中包含与第一按键(第一按键位于第一设备上)对应的第一指令密码,第一指令密码是根据第一按键的第一指令内容和第一设备接入该局域网的接入密码生成的;第二设备根据第一指令密码对第一设备进行身份验证;若身份验证通过,则第二设备控制第三设备实现与第一指令密码对应的第一指令内容,该第三设备已接入该局域网。
[0007] 也就是说,本申请中第一设备与第二设备进行身份验证时,第一设备可以在身份验证请求中一并将用于验证身份的接入密码和用户需要执行的指令内容以指令密码的形式发送给第二设备。这样,第二设备基于该指令密码不仅可以验证第一设备的身份,还可以确定出用户需要执行的指令内容,从而可快速响应用户点击第一按键的操作,减少了因建立通信连接、进行身份验证等过程导致的消息响应的时延,并减少了用户的等待时间。
[0008] 在一种可能的设计方法中,第二设备根据第一指令密码对第一设备进行身份验证,包括:第二设备查询预先存储的指令密码中是否包含第一指令密码;若包含第一指令密码,则第二设备确定第一设备的身份验证通过;否则,第二设备确定第一设备的身份验证未通过。
[0009] 在一种可能的设计方法中,第二设备根据第一指令密码对第一设备进行身份验证,包括:第二设备对第一指令密码进行解析,得到与第一指令密码对应的接入密码和第一指令内容;若该接入密码正确,则第二设备确定第一设备的身份验证通过;否则,第二设备确定第一设备的身份验证未通过。
[0010] 在一种可能的设计方法中,若身份验证通过,则该方法还包括:第二设备与第一设备建立通信连接。
[0011] 在一种可能的设计方法中,第二设备中预先存储有指令密码与指令内容之间的对应关系;其中,第二设备控制第三设备实现与第一指令密码对应的第一指令内容,包括:第二设备根据该对应关系确定与第一指令密码对应的第一指令内容;第二设备向该第三设备发送与第一指令内容对应的控制指令。
[0012] 在一种可能的设计方法中,在第二设备接收第一设备发送的身份验证请求之前,还包括:第二设备接收第一设备发送的第一按键的按键消息,该按键消息中包括与第一按键对应的第一指令内容;所述第二设备根据第一指令内容和第一设备接入上述局域网的接入密码生成第一指令密码,建立第一指令内容和第一指令密码之间的对应关系。
[0013] 在一种可能的设计方法中,在第二设备接收第一设备发送的身份验证请求之前,还包括:第二设备接收第一设备发送的第一按键的按键消息,该按键消息中包括与第一按键对应的第一指令内容和第一按键对应的第一指令密码。
[0014] 在一种可能的设计方法中,上述第一设备具有Wi‑Fi连接功能,第二设备可以为无线路由器,上述局域网为第二设备提供的Wi‑Fi局域网。
[0015] 第二方面,本申请提供一种消息传输方法,可用于第一设备,第一设备包括至少一个按键(例如第一按键),该方法包括:在第一设备未接入第二设备所在的局域网时,第一设备可接收用户对第一按键的输入操作;响应于该输入操作,第一设备将与第一按键对应的第一指令密码添加在身份验证请求中,第一指令密码是根据第一按键的第一指令内容和第一设备接入该局域网的接入密码生成的,所述第一指令内容用于控制第三设备执行对应的功能,第三设备已连接入所述局域网;第一设备向第二设备发送该身份验证请求。
[0016] 在一种可能的设计方法中,在第一设备接收用户对第一按键的输入操作之前,还包括:响应于用户输入的接入密码,第一设备与第二设备建立通信连接;第一设备向第二设备发送第一按键的按键消息,该按键消息中包括第一按键的第一指令内容。
[0017] 在一种可能的设计方法中,该按键消息中还包括与第一按键对应的第一指令密码;其中,在第一设备向第二设备发送第一按键的按键消息之前,还包括:第一设备根据该接入密码以及第一按键的第一指令内容生成第一指令密码。
[0018] 在一种可能的设计方法中,第一设备根据该接入密码以及第一按键的第一指令内容生成第一指令密码,包括:第一设备将该接入密码与第一按键的第一指令内容拼接后得到第一指令密码。
[0019] 在一种可能的设计方法中,上述第一设备具有Wi‑Fi连接功能,第二设备可以为无线路由器,上述局域网为第二设备提供的Wi‑Fi局域网。
[0020] 第三方面,本申请提供一种消息传输方法,包括:在第一设备未接入第二设备所在的局域网时,第二设备可接收第一设备发送的广播消息,该广播消息中包括第一设备的标识和被加密的第一指令内容;第二设备使用与第一设备的标识对应的解密算法对第一指令内容进行解密;若第一指令内容被成功解密,则第二设备控制第三设备实现第一指令内容,该第三设备已接入该局域网。
[0021] 也就是说,在第一设备与第二设备之间没有建立连接的情况下,第一设备可通过与第二设备预先约定的对指令内容的加密和解密方式,向第二设备发送加密的指令内容。如果第二设备能够成功解密出该指令内容,则说明第一设备为合法设备,且第二设备在验证第一设备合法性的同时也获得了需要响应的指令内容,从而可快速响应用户点击第一设备中按键的操作。
[0022] 在一种可能的设计方法中,该广播消息中还包括第二设备的标识;其中,在第二设备接收第一设备发送的广播消息之后,还包括:第二设备根据第二设备的标识确定该广播消息的接收方是否为第二设备;其中,第二设备使用与第一设备的标识对应的解密算法对第一指令内容进行解密,包括:若该广播消息的接收方是第二设备,则第二设备使用与第二设备的标识对应的解密算法对第一指令内容进行解密。
[0023] 在一种可能的设计方法中,在第二设备接收第一设备发送的广播消息之前,还包括:第二设备接收第一设备发送的注册信息,该注册信息中包括第一设备的标识和解密算法;第二设备建立第一设备的标识与该解密算法之间的对应关系。
[0024] 其中,上述第一设备具有Wi‑Fi连接功能,第二设备可以为无线路由器,上述局域网为第二设备提供的Wi‑Fi局域网。
[0025] 第四方面,本申请提供一种消息传输方法,可用于第一设备,第一设备包括至少一个按键(例如第一按键),该方法包括:在第一设备未接入第二设备所在的局域网时,第一设备接收用户对第一按键的输入操作;响应于该输入操作,第一设备使用预设的加密算法对第一按键的第一指令内容加密,第一指令内容用于控制第三设备执行对应的功能,第三设备已连接入该局域网;第一设备将第一设备的标识和加密后的第一指令内容添加在广播消息中;第一设备发送该广播消息。
[0026] 在一种可能的设计方法中,在第一设备接收用户对第一按键的输入操作之前,还包括:第一设备向第二设备发送注册信息,该注册信息中包括第一设备的标识以及与该加密算法对应的解密算法。
[0027] 第五方面,本申请提供一种消息传输设备,所述消息传输设备为第一设备,第一设备包括:通信单元、输入单元以及处理单元,在所述第一设备未接入第二设备所在的局域网时,所述输入单元用于接收用户对所述第一按键的输入操作;响应于所述输入操作,所述处理单元用于将与所述第一按键对应的第一指令密码添加在身份验证请求中,所述第一指令密码是根据所述第一按键的第一指令内容和所述第一设备接入所述局域网的接入密码生成的,所述第一指令内容用于控制第三设备执行对应的功能,所述第三设备已连接入所述局域网;所述通信单元用于向所述第二设备发送所述身份验证请求。
[0028] 在一种可能的设计方法中,在接收用户对第一按键的输入操作之前,所述通信单元还用于响应于用户输入的接入密码,与所述第二设备建立通信连接;以及向所述第二设备发送所述第一按键的按键消息,所述按键消息中包括所述第一按键的第一指令内容。
[0029] 在一种可能的设计方法中,所述按键消息中还包括与所述第一按键对应的第一指令密码;其中,在向所述第二设备发送所述第一按键的按键消息之前,所述处理单元还用于根据所述接入密码以及所述第一按键的第一指令内容生成所述第一指令密码。
[0030] 例如,所述处理单元可具体用于将所述接入密码与所述第一按键的第一指令内容拼接后得到所述第一指令密码。
[0031] 在一种可能的设计方法中,上述第一设备具有Wi‑Fi连接功能,第二设备可以为无线路由器,上述局域网为第二设备提供的Wi‑Fi局域网。
[0032] 第六方面,本申请提供一种消息传输设备,所述消息传输设备为第一设备,第一设备包括:通信单元、输入单元以及处理单元,在所述第一设备未接入第二设备所在的局域网时,所述输入单元用于接收用户对所述第一按键的输入操作;响应于所述输入操作,所述处理单元用于使用预设的加密算法对所述第一按键的第一指令内容加密,所述第一指令内容用于控制第三设备执行对应的功能,所述第三设备已连接入所述局域网;以及将所述第一设备的标识和加密后的第一指令内容添加在广播消息中;所述通信单元用于发送所述广播消息。
[0033] 在一种可能的设计方法中,在接收用户对所述第一按键的输入操作之前,所述通信单元还用于向所述第二设备发送注册信息,所述注册信息中包括所述第一设备的标识以及与所述加密算法对应的解密算法。
[0034] 第七方面,本申请提供一种消息传输设备,所述消息传输设备为第二设备,第二设备包括处理单元和通信单元,在第一设备未接入第二设备所在的局域网时,所述通信单元用于接收所述第一设备发送的身份验证请求,所述身份验证请求中包含与第一按键对应的第一指令密码,所述第一按键位于所述第一设备上,所述第一指令密码是根据所述第一按键的第一指令内容和所述第一设备接入所述局域网的接入密码生成的;进而,所述处理单元用于根据所述第一指令密码对所述第一设备进行身份验证;若身份验证通过,则控制第三设备实现与所述第一指令密码对应的第一指令内容,所述第三设备已接入所述局域网。
[0035] 在一种可能的设计方法中,所述处理单元具体用于:查询预先存储的指令密码中是否包含所述第一指令密码;若包含所述第一指令密码,则确定所述第一设备的身份验证通过;否则,所述第二设备确定所述第一设备的身份验证未通过。
[0036] 在一种可能的设计方法中,所述处理单元具体用于:对所述第一指令密码进行解析,得到与所述第一指令密码对应的接入密码和第一指令内容;若所述接入密码正确,则确定所述第一设备的身份验证通过;否则,所述第二设备确定所述第一设备的身份验证未通过。
[0037] 在一种可能的设计方法中,若身份验证通过,则所述通信单元还用于与所述第一设备建立通信连接。
[0038] 在一种可能的设计方法中,所述第二设备中预先存储有指令密码与指令内容之间的对应关系;此时,控制第三设备实现与所述第一指令密码对应的第一指令内容,是指:处理单元根据所述对应关系确定与所述第一指令密码对应的第一指令内容;通信单元向所述第三设备发送与所述第一指令内容对应的控制指令。
[0039] 在一种可能的设计方法中,在接收第一设备发送的身份验证请求之前,所述通信单元还用于接收所述第一设备发送的所述第一按键的按键消息,所述按键消息中包括与所述第一按键对应的第一指令内容;所述处理单元还用于根据所述第一指令内容和所述第一设备接入所述局域网的接入密码生成所述第一指令密码,建立所述第一指令内容和所述第一指令密码之间的对应关系。
[0040] 在一种可能的设计方法中,在接收第一设备发送的身份验证请求之前,所述通信单元还用于接收所述第一设备发送的所述第一按键的按键消息,所述按键消息中包括与所述第一按键对应的第一指令内容和所述第一按键对应的所述第一指令密码。
[0041] 第八方面,本申请提供一种消息传输设备,所述消息传输设备为第二设备,第二设备包括处理单元和通信单元,在第一设备未接入第二设备所在的局域网时,所述通信单元用于接收所述第一设备发送的广播消息,所述广播消息中包括所述第一设备的标识和被加密的第一指令内容;所述处理单元用于使用与所述第一设备的标识对应的解密算法对所述第一指令内容进行解密;若所述第一指令内容被成功解密,则控制第三设备实现所述第一指令内容,所述第三设备已接入所述局域网。
[0042] 在一种可能的设计方法中,所述广播消息中还包括所述第二设备的标识;其中,在接收所述第一设备发送的广播消息之后,所述处理单元还用于根据所述第二设备的标识确定所述广播消息的接收方是否为所述第二设备;其中,所述处理单元使用与所述第一设备的标识对应的解密算法对所述第一指令内容进行解密,是指:若所述广播消息的接收方是所述第二设备,则所述处理单元使用与所述第一设备的标识对应的解密算法对所述第一指令内容进行解密。
[0043] 在一种可能的设计方法中,在接收所述第一设备发送的广播消息之前,所述通信单元还用于接收所述第一设备发送的注册信息,所述注册信息中包括所述第一设备的标识和解密算法;所述处理单元还用于建立所述第一设备的标识与所述解密算法之间的对应关系。
[0044] 第九方面,本申请提供一种消息传输设备,所述消息传输设备为第一设备,第一设备包括:一个或多个按键、通信接口、一个或多个处理器、存储器、以及一个或多个程序;其中,处理器与存储器耦合,上述一个或多个程序被存储在存储器中,当第一设备运行时,该处理器执行该存储器存储的一个或多个程序,以使第一设备执行上述任一项所述的消息传输方法。
[0045] 第十方面,本申请提供一种消息传输设备,所述消息传输设备为第二设备,第二设备包括:通信接口、一个或多个处理器、存储器、以及一个或多个程序;其中,处理器与存储器耦合,上述一个或多个程序被存储在存储器中,当第二设备运行时,该处理器执行该存储器存储的一个或多个程序,以使第二设备执行上述任一项所述的消息传输方法。
[0046] 上述第一设备可以具有Wi‑Fi连接功能,第二设备可以为无线路由器,上述局域网为第二设备提供的Wi‑Fi局域网。
[0047] 第十一方面,本申请提供一种计算机存储介质,包括计算机指令,当计算机指令在消息传输设备上运行时,使得消息传输设备执行上述任一项所述的消息传输方法。
[0048] 第十二方面,本申请提供一种计算机程序产品,当计算机程序产品在消息传输设备上运行时,使得消息传输设备执行上述任一项所述的消息传输方法。
[0049] 可以理解地,上述提供的第五方面至第十方面所述的终端、第十一方面所述的计算机存储介质,以及第十二方面所述的计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

附图说明

[0050] 图1为本申请实施例提供的一种消息传输方法的系统架构图;
[0051] 图2为现有技术中Wi‑Fi网络的接入流程示意图;
[0052] 图3为本申请实施例提供的一种Wi‑Fi网络的接入流程示意图;
[0053] 图4为本申请实施例提供的一种消息传输设备的结构示意图一;
[0054] 图5为本申请实施例提供的一种消息传输方法的流程示意图一;
[0055] 图6为本申请实施例提供的一种消息传输方法的场景示意图一;
[0056] 图7为本申请实施例提供的一种消息传输方法的场景示意图二;
[0057] 图8为本申请实施例提供的一种消息传输方法的场景示意图三;
[0058] 图9为本申请实施例提供的一种消息传输方法的场景示意图四;
[0059] 图10为本申请实施例提供的一种消息传输方法的流程示意图二;
[0060] 图11为本申请实施例提供的一种探测请求帧的帧结构示意图;
[0061] 图12为本申请实施例提供的一种消息传输设备的结构示意图二;
[0062] 图13为本申请实施例提供的一种消息传输设备的结构示意图三;
[0063] 图14为本申请实施例提供的一种消息传输设备的结构示意图四;
[0064] 图15为本申请实施例提供的一种消息传输设备的结构示意图五。

具体实施方式

[0065] 下面将结合附图对本申请实施例的实施方式进行详细描述。
[0066] 本申请实施例提供的一种消息传输方法可应用于图1所示的传输系统中。该传输系统中包括第一设备11和第二设备12。第一设备11可以向第二设备12发送各类消息,也可以接收第二设备12发来的各类消息。同样,第二设备12可以向第一设备11发送各类消息,也可以接收第一设备11发来的各类消息。为方便描述,后续实施例中以第一设备11为消息的发送端,以第二设备12为消息的接收端举例说明。
[0067] 示例性的,第一设备11向第二设备12发送消息之前,可以先建立二者之间的通信连接。该通信连接可以是有线连接,也可以是无线连接(例如Wi‑Fi连接、蓝牙连接或者5G连接等)。
[0068] 以第一设备11为站点(station,STA),第二设备12为接入点(access point,AP)举例,第一设备11开启无线局域网功能后,如图2所示,第一设备11可通过与第二设备12交互发现第二设备12创建的Wi‑Fi网络。例如,第二设备12可以广播的形式发送beacon消息,该beacon消息中携带有无线局域网的服务集标识(Service Set Identifier,SSID),即Wi‑Fi网络的名称。第一设备11获取到上述beacon消息后,可以探测到包括第二设备12提供的无线局域网。又例如,第一设备11开启无线局域网功能后可发送探测请求(probe request)帧,该探测请求帧中可以不携带SSID。第二设备12获取到第一设备11发送的探测请求帧后,可将其Wi‑Fi网络的SSID添加在探测响应(probe response)中发送给第一设备11,使得第一设备11探测到第二设备12提供的无线局域网。
[0069] 进而,仍如图2所示,第一设备11可以向第二设备12发送携带有接入密码的身份验证请求(Authentication Request)。其中,上述接入密码可以是用户向第一设备11中输入的,也可以是其他设备向第一设备11发送的,本申请实施例对此不做任何限制。这样,第二设备12接收到身份验证请求后,可根据身份验证请求中的接入密码对第一设备11进行身份验证。当第一设备11发送的接入密码正确时,第二设备12可向第二设备12发送身份验证通过响应(Authentication Response),完成对第一设备11的身份验证。
[0070] 后续,仍如图2所示,第一设备11可以向第二设备12发送连接请求(Association Request),当接收到第二设备12发送的连接完成响应(Association Response)后,第一设备11与第二设备12建立Wi‑Fi连接。基于该Wi‑Fi连接,第一设备11可向第二设备12发送各类消息。例如,当第二设备12为路由器,第一设备11为智能遥控器时,第一设备11可以向第二设备12发送打开电视、关闭空调等指令或请求。第二设备12接收到第一设备11发送的消息后可控制相关的被控设备响应该消息。
[0071] 可以看出,第二设备12作为消息的接收端需要先对第一设备11进行身份验证,才能响应第一设备11发来的消息,从而延长了第二设备12对第一设备11的响应时延,也增加了用户的等待时间。
[0072] 对此,在本申请实施例中,在第一设备11与第二设备12进行身份验证时,如图3所示,第一设备11探测到第二设备12创建的Wi‑Fi网络之后,第一设备11可在身份验证请求中携带准备发送给第二设备12的消息。以第一设备11发送的消息为打开电视的指令举例,第一设备11可以在向第二设备12发送身份验证请求时,将用户输入的接入密码和打开电视的指令一同携带在该身份验证请求中。这样,当第二设备12确定第一设备11发来的接入密码正确后,便可执行身份验证请求中携带的打开电视的指令,即将身份验证和消息发送这两个步骤合二为一,在保证安全性的同时简化了消息的传输过程,提高用户体验。
[0073] 其中,第一设备11将接入密码和待发送的消息一同添加至身份验证请求中的具体方法,以及第二设备解析该身份验证请求的方法将在后续实施例中详细阐述。
[0074] 示例性的,上述第一设备11具体可以为手机、智能家居产品(例如智能遥控器、智能电视、智能空调等)、平板电脑、笔记本电脑、超级移动个人计算机(Ultra‑mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、虚拟现实设备等。上述第二设备12具体可以为路由器、hub(集线器)、服务器或交换机等具有消息解析能力的设备,本申请实施例中对第一设备或第二设备的具体形式不做特殊限制。
[0075] 示例性的,图4是上述第一设备11的结构框图。
[0076] 第一设备11可以包括处理器110,外部存储器接口120,内部存储器121,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,射频模块150,通信模块
160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及SIM卡接口195等。其中传感器模块可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
[0077] 处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural‑network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0078] 控制器可以是指挥第一设备11的各个部件按照指令协调工作的决策者。是第一设备11的神经中枢和指挥中心。控制器根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0079] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器中的存储器为高速缓冲存储器,可以保存处理器刚用过或循环使用的指令或数据。如果处理器需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器的等待时间,因而提高了系统的效率。
[0080] 在一些实施例中,处理器110可以包括接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
[0081] I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器可以包含多组I2C总线。处理器可以通过不同的I2C总线接口分别耦合触摸传感器,充电器,闪光灯,摄像头等。例如:处理器可以通过I2C接口耦合触摸传感器,使处理器与触摸传感器通过I2C总线接口通信,实现第一设备11的触摸功能。
[0082] I2S接口可以用于音频通信。在一些实施例中,处理器可以包含多组I2S总线。处理器可以通过I2S总线与音频模块耦合,实现处理器与音频模块之间的通信。在一些实施例中,音频模块可以通过I2S接口向通信模块传递音频信号,实现通过蓝牙耳机接听电话的功能。
[0083] PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块与通信模块可以通过PCM总线接口耦合。在一些实施例中,音频模块也可以通过PCM接口向通信模块传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信,两种接口的采样速率不同。
[0084] UART接口是一种通用串行数据总线,用于异步通信。该总线为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器与通信模块160。例如:处理器通过UART接口与蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块可以通过UART接口向通信模块传递音频信号,实现通过蓝牙耳机播放音乐的功能。
[0085] MIPI接口可以被用于连接处理器与显示屏,摄像头等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器和摄像头通过CSI接口通信,实现第一设备11的拍摄功能。处理器和显示屏通过DSI接口通信,实现第一设备11的显示功能。
[0086] GPIO接口可以通过软件配置。GPIO接口可以配置为控制信号,也可配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器与摄像头,显示屏,通信模块,音频模块,传感器等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
[0087] USB接口130可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为第一设备11充电,也可以用于第一设备11与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。还可以用于连接其他电子设备,例如AR设备等。
[0088] 本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对第一设备11的结构限定。第一设备11可以采用本发明实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0089] 充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块可以通过USB接口接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块可以通过第一设备11的无线充电线圈接收无线充电输入。充电管理模块为电池充电的同时,还可以通过电源管理模块141为终端设备供电。
[0090] 电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块接收所述电池和/或充电管理模块的输入,为处理器,内部存储器,外部存储器,显示屏,摄像头,和通信模块等供电。电源管理模块还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在一些实施例中,电源管理模块141也可以设置于处理器110中。在一些实施例中,电源管理模块141和充电管理模块也可以设置于同一个器件中。
[0091] 第一设备11的无线通信功能可以通过天线模块1,天线模块2射频模块150,通信模块160,调制解调器以及基带处理器等实现。
[0092] 天线1和天线2用于发射和接收电磁波信号。第一设备11中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将蜂窝网天线复用为无线局域网分集天线。在一些实施例中,天线可以和调谐开关结合使用。
[0093] 射频模块150可以提供应用在第一设备11上的包括2G/3G/4G/5G等无线通信的解决方案的通信处理模块。射频模块可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(Low Noise Amplifier,LNA)等。射频模块由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调器进行解调。射频模块还可以对经调制解调器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,射频模块150的至少部分功能模块可以被设置于处理器150中。在一些实施例中,射频模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0094] 调制解调器可以包括调制器和解调器。调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器,受话器等)输出声音信号,或通过显示屏显示图像或视频。在一些实施例中,调制解调器可以是独立的器件。在一些实施例中,调制解调器可以独立于处理器,与射频模块或其他功能模块设置在同一个器件中。
[0095] 通信模块160可以提供应用在第一设备11上的包括无线局域网(wireless local area networks,WLAN),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案的通信处理模块。通信模块160可以是集成至少一个通信处理模块的一个或多个器件。通信模块经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器。通信模块160还可以从处理器接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0096] 在一些实施例中,第一设备11的天线1和射频模块耦合,天线2和通信模块耦合,使得第一设备11可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time‑division code division multiple access,TD‑SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi‑zenith satellite system,QZSS))和/或星基增强系统(satellite based augmentation systems,SBAS)。
[0097] 第一设备11通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0098] 显示屏194用于显示图像,视频等。显示屏包括显示面板。显示面板可以采用LCD(liquid crystal display,液晶显示屏),OLED(organic light‑emitting diode,有机发光二极管),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light‑emitting diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,第一设备11可以包括1个或N个显示屏,N为大于1的正整数。
[0099] 第一设备11可以通过ISP,摄像头193,视频编解码器,GPU,显示屏以及应用处理器等实现拍摄功能。
[0100] ISP用于处理摄像头反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
[0101] 摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal‑oxide‑semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,第一设备11可以包括1个或N个摄像头,N为大于1的正整数。
[0102] 另外,数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当第一设备11在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0103] 视频编解码器用于对数字视频压缩或解压缩。第一设备11可以支持一种或多种视频编解码器。这样,第一设备11可以播放或录制多种编码格式的视频,例如:MPEG1,MPEG2,MPEG3,MPEG4等。
[0104] NPU为神经网络(neural‑network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现第一设备11的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0105] 外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展第一设备11的存储能力。外部存储卡通过外部存储器接口与处理器通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0106] 内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行第一设备11的各种功能应用以及数据处理。存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储第一设备11使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,其他易失性固态存储器件,通用闪存存储器(universal flash storage,UFS)等。
[0107] 第一设备11可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0108] 音频模块用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块还可以用于对音频信号编码和解码。在一些实施例中,音频模块可以设置于处理器110中,或将音频模块的部分功能模块设置于处理器110中。
[0109] 扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。第一设备11可以通过扬声器收听音乐,或收听免提通话。
[0110] 受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当第一设备11接听电话或语音信息时,可以通过将受话器靠近人耳接听语音。
[0111] 麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风发声,将声音信号输入到麦克风。第一设备11可以设置至少一个麦克风。在一些实施例中,第一设备11可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在一些实施例中,第一设备11还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
[0112] 耳机接口170D用于连接有线耳机。耳机接口可以是USB接口,也可以是3.5mm的开放移动终端平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
[0113] 压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏。压力传感器的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器,电极之间的电容改变。第一设备11根据电容的变化确定压力的强度。当有触摸操作作用于显示屏,第一设备11根据压力传感器检测所述触摸操作强度。第一设备11也可以根据压力传感器的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
[0114] 陀螺仪传感器180B可以用于确定第一设备11的运动姿态。在一些实施例中,可以通过陀螺仪传感器确定第一设备11围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器检测第一设备11抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消第一设备11的抖动,实现防抖。陀螺仪传感器还可以用于导航,体感游戏场景。
[0115] 气压传感器180C用于测量气压。在一些实施例中,第一设备11通过气压传感器测得的气压值计算海拔高度,辅助定位和导航。
[0116] 磁传感器180D包括霍尔传感器。第一设备11可以利用磁传感器检测翻盖皮套的开合。在一些实施例中,当第一设备11是翻盖机时,第一设备11可以根据磁传感器检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
[0117] 加速度传感器180E可检测第一设备11在各个方向上(一般为三轴)加速度的大小。当第一设备11静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖屏切换,计步器等应用。
[0118] 距离传感器180F,用于测量距离。第一设备11可以通过红外或激光测量距离。在一些实施例中,拍摄场景,第一设备11可以利用距离传感器测距以实现快速对焦。
[0119] 接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。通过发光二极管向外发射红外光。使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定第一设备11附近有物体。当检测到不充分的反射光时,可以确定第一设备11附近没有物体。第一设备11可以利用接近光传感器检测用户手持第一设备11贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器也可用于皮套模式,口袋模式自动解锁与锁屏。
[0120] 环境光传感器180L用于感知环境光亮度。第一设备11可以根据感知的环境光亮度自适应调节显示屏亮度。环境光传感器也可用于拍照时自动调节白平衡。环境光传感器还可以与接近光传感器配合,检测第一设备11是否在口袋里,以防误触。
[0121] 指纹传感器180H用于采集指纹。第一设备11可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0122] 温度传感器180J用于检测温度。在一些实施例中,第一设备11利用温度传感器检测的温度,执行温度处理策略。例如,当温度传感器上报的温度超过阈值,第一设备11执行降低位于温度传感器附近的处理器的性能,以便降低功耗实施热保护。
[0123] 触摸传感器180K,也称“触控面板”。可设置于显示屏。用于检测作用于其上或附近的触摸操作。可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,并通过显示屏提供相应的视觉输出。
[0124] 骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器可以获取人体声部振动骨块的振动信号。骨传导传感器也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器也可以设置于耳机中。音频模块170可以基于所述骨传导传感器获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器获取的血压跳动信号解析心率信息,实现心率检测功能。
[0125] 按键190包括开机键,音量键等。按键可以是机械按键。也可以是触摸式按键。第一设备11接收按键输入,产生与第一设备11的用户设置以及功能控制有关的键信号输入。
[0126] 马达191可以产生振动提示。马达可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏不同区域的触摸操作,也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
[0127] 指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0128] SIM卡接口195用于连接用户标识模块(subscriber identity module,SIM)。SIM卡可以通过插入SIM卡接口,或从SIM卡接口拔出,实现和第一设备11的接触和分离。第一设备11可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口也可以兼容不同类型的SIM卡。SIM卡接口也可以兼容外部存储卡。第一设备11通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,第一设备11采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在第一设备11中,不能和第一设备11分离。
[0129] 本发明实施例示意的上述结构并不构成对第一设备11的限定。第一设备11可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0130] 示例性的,当第一设备11为智能遥控器时,第一设备11中可以包括上述处理器110、内部存储器121、通信模块160以及按键190等部件。
[0131] 另外,第二设备12也可以包括图4中所示的一个或多个部件,本申请实施例对此不做任何限制。例如,当第二设备12为路由器时,第二设备12中可以包括上述处理器110、内部存储器121、通信模块160等部件。
[0132] 为了便于理解,以下结合附图对本申请实施例提供的一种消息传输方法进行具体介绍。
[0133] 示例性的,图5为本申请实施例提供的一种消息传输方法的交互示意图,本实施例中以Wi‑Fi场景为例,其中,第一设备11为消息的发送端,第二设备12为创建该Wi‑Fi网络的接入点。
[0134] S601、第一设备11根据用户输入的接入密码,建立与第二设备12之间的Wi‑Fi连接。
[0135] 用户首次使用第一设备11时,第一设备11可按照现有的Wi‑Fi接入流程(例如图2所示的接入流程),使用用户输入的接入密码加入第二设备12创建的Wi‑Fi网络。
[0136] 假设第一设备11为智能遥控器,第二设备12为路由器。用户打开智能遥控器的Wi‑Fi功能后,智能遥控器可以接收到路由器发送的beacon消息,该beacon消息中携带有Wi‑Fi网络的SSID,即Wi‑Fi网络的名称。那么,如果智能遥控器上集成有触摸屏,则智能遥控器可将检测到的SSID显示出来。当检测到用户选中该SSID时,智能遥控器可提示用户向触摸屏中输入该Wi‑Fi网络的接入密码,例如:123456。进而,智能遥控器可将该接入密码携带在身份验证请求中发送给路由器,由路由器对智能遥控器进行身份验证。如果用户输入的接入密码是正确的,则路由器可与智能遥控器建立Wi‑Fi连接。如果用户输入的接入密码不正确,则路由器可拒绝智能遥控器接入其Wi‑Fi网络。
[0137] 又或者,还可以预先在智能遥控器上设置一个二维码,用于从其他设备获取接入上述Wi‑Fi网络的接入密码。示例性的,用户可以使用已经接入上述Wi‑Fi网络的手机扫描智能遥控器的二维码,进而,手机可获知智能遥控器希望加入手机所在Wi‑Fi网络的意图。那么,手机可将已接入的Wi‑Fi网络的SSID和接入密码发送给智能遥控器,由智能遥控器使用该接入密码接入路由器创建的Wi‑Fi网络。
[0138] 又或者,如图6所示,用户可以在手机中安装智能家居类APP,该APP可用于管理同一局域网内的各个设备。手机也是第二设备12创建的Wi‑Fi网络中的一个成员。用户打开第一设备11后,第一设备11可先作为接入点广播beacon消息,该beacon消息携带有第一设备11的标识。例如,可以将第一设备11的标识作为SSID添加在beacon消息中。手机检测到第一设备11发送的beacon消息后,可识别出等待加入当前第一设备11的设备为第一设备11。进而,手机可在APP中提示用户将探测到的第一设备11加入第二设备12创建的Wi‑Fi网络。当检测到用户指示将第一设备11加入该Wi‑Fi网络后,手机可该Wi‑Fi网络的SSID和接入密码发送给第二设备12,或者,手机可提示用户输入该Wi‑Fi网络的SSID的接入密码,并使用该接入密码将第一设备11接入第二设备12创建的Wi‑Fi网络。后续,用户可通过操作第一设备
11上的各个按键,向第二设备12发送用于控制一个或多个被控设备13的消息。第二设备12解析出第一设备11发送的消息中的指令内容后,可控制相关的被控设备13执行相应的操作。
[0139] 另外,第一设备11成功接入第二设备12创建的Wi‑Fi网络后,第一设备11可记录该Wi‑Fi网络的SSID和接入密码123456之间的对应关系,以便后续使用该接入密码再次接入第二设备12创建的Wi‑Fi网络。第二设备12可以记录第一设备11的设备标识,比如MAC地址等,以便后续收到消息时,可以识别出是第一设备11发送的消息。
[0140] S602、第一设备11向第二设备12注册与第一按键对应的按键消息,第一设备11包括至少一个按键。
[0141] 第一设备11首次与第二设备12建立Wi‑Fi连接后,为了后续第二设备12能够成功实现用户触发第一设备11上的各个按键时希望的功能,第一设备11需要向第二设备12注册这些按键。以注册第一按键为例,第一设备11可以将与第一按键对应的按键消息发送给第二设备12,该按键消息中包括第一按键的指令内容。
[0142] 例如,如图7所示,第一设备11中包括按键701和按键702,按键701和按键702对应于不同的指令内容。其中,按键701对应的指令内容为0021,对应的功能是用于打开和关闭卧室的空调;按键702对应的指令内容为0022,对应的功能是用于打开和关闭客厅的灯具。那么,在注册按键701时,第一设备11可以将按键701的指令内容0021发送给第二设备12;在注册按键702时,第一设备11可以将按键702的指令内容0022发送给第二设备12。
[0143] 第二设备12接收到第一设备11发送的按键消息中的指令内容后,可以根据该指令内容和接入上述Wi‑Fi网络时的接入密码生成新的接入密码(本申请实施例中称为指令密码)。该指令密码既能反映出上述Wi‑Fi网络的接入密码,还可以反映出相关按键对应的指令内容(例如上述0021、0022等)。
[0144] 也就是说,第二设备12中可以存储指令密码的生成策略。例如,第二设备12可以将上述Wi‑Fi网络的接入密码123456与按键701的指令内容0021拼接后得到按键701的指令密码:1234560021。又例如,第二设备12可以将上述Wi‑Fi网络的接入密码123456与按键701的指令内容0021求和后得到按键701的指令密码,即123456+0021=123477。又例如,第二设备12可以将上述Wi‑Fi网络的接入密码123456中的每一位都加1(即234567),再将234567与按键701的指令内容0021拼接后得到按键701的指令密码:2345670021。其中,上述指令密码的生成策略可以由本领域技术人员根据实际经验或实际应用场景进行设置,本申请实施例对此不做任何限制。
[0145] 这样,第二设备12可以得到第一设备11中每个按键所对应的指令内容和指令密码,从而在第二设备12中建立各个指令内容和指令密码之间的对应关系。示例性的,如表1所示,第二设备12可以维护其接入密码,各个按键的指令内容以及指令密码之间的对应关系。需要说明的是,第二设备12的接入密码可以为一个或多个。例如,对于安全等级较低的设备,第二设备12可将其接入Wi‑Fi网络的接入密码设置的较为简单;对于安全等级较高的设备,第二设备12可将其接入Wi‑Fi网络的接入密码设置的较为复杂。
[0146] 另外,如表2所示,第二设备12中还可以存储不同指令内容与不同控制功能之间的对应关系。后续,第二设备12可根据表1所示的对应关系对请求接入的设备进行身份验证,并确定合法设备发送的具体指令内容。进而,第二设备12可根据表2所示的对应关系确定出该指令内容对应的控制功能,使得第二设备12能够控制相应的设备实现该控制功能。
[0147] 表1
[0148] 接入密码 指令内容 指令密码123456 0021 1234560021
111222 0022 1112220022
[0149] 表2
[0150]指令内容 控制功能
0021 打开和关闭卧室的空调
0022 打开和关闭客厅的灯具
[0151] 另外,对于第一设备11上的同一个按键,第一设备11也可以为其设置多个指令内容。例如,第一设备11支持用户对按键701执行单击操作或双击操作。其中,单击操作用于打开卧室的空调,双击操作用户打开客厅的空调。那么,当用户对按键701执行单击操作时,对应的指令内容可以为0021a;当用户对按键701执行双击操作时,对应的指令内容可以为0021b。第一设备11向第二设备12注册时,可将与按键701对应的两个指令内容均携带在按键消息中发送给第二设备12。此时,第二设备12可分别生成与指令内容0021a对应的指令密码以及与指令内容0021b对应的指令密码。
[0152] 在本申请的另一些实施例中,仍以注册第一按键为例,第一设备11向第二设备12发送的按键消息中除了第一按键的指令内容,还可以包括第一按键所对应的指令密码。也就是说,在向第二设备12发送第一按键的按键消息之前,第一设备11可以先根据步骤S601中接入Wi‑Fi网络的接入密码和第一按键的指令内容,使用预设的指令密码的生成策略生成与第一按键对应的指令密码。进而,第一设备11可将第一按键的指令内容和指令密码携带在按键消息中发送给第二设备12。第一设备11和第二设备12对于同一个指令内容使用相同的指令密码的生成策略生成指令密码。
[0153] 可以理解的是,当第一设备11上有多个按键时,第一设备11(或第二设备12)可以按照预设的指令密码的生成策略为每个按键生成对应的指令密码。又或者,第一设备11(或第二设备12)内可存储多种指令密码的生成策略(例如策略1和策略2)。第一设备11(或第二设备12)可使用策略1生成按键701的指令密码,使用策略2生成按键702的指令密码,本申请实施例对此不做任何限制。
[0154] 那么,第二设备12接收到上述按键消息后,可根据按键消息中携带的指令内容和指令密码建立如表1所示的指令内容和指令密码之间的对应关系。又或者,在表1所示的对应关系的基础上,如表3所示,由于第一设备11向第二设备12注册时还可在按键消息中携带自己的设备标识,那么,第二设备12还可以维护不同指令密码与不同设备标识之间的对应关系。这样,即使不同设备发来的指令内容是相同的,第二设备12也可以根据表3所示的对应关系确定出本次接收到的指令具体是哪个设备发来的。可以理解地,表1或表3中可以不用保存接入密码。
[0155] 表3
[0156]设备标识(MAC地址) 接入密码 指令内容 指令密码
00:11:22:33:44:55 123456 0021 1234560021
00:aa:bb:cc:dd:ee 111222 0022 1112220022
[0157] 需要说明的是,第一设备11为各个按键生成指令密码,以及第二设备12生成表1(或表3)中相关对应关系的过程,可以是第一设备11首次和第二设备12建立Wi‑Fi连接时向第二设备12注册每个按键时执行的,也可以是后续第一设备11再次与第二设备12建立Wi‑Fi连接时进行身份验证时执行的,本申请实施例对此不做任何限制。
[0158] 第一设备11在出厂时可以预先为各个按键设置了默认功能。例如,按键701的默认功能为打开和关闭卧室的空调,按键702的默认功能为打开和关闭客厅的灯具。也就是说,第一按键的指令内容可以是预先设置好的。那么。第一设备11首次接入第二设备12提供的Wi‑Fi网络后,可自动向第二设备12发送用于注册上述第一按键的按键消息。
[0159] 又或者,用户也可以手动触发第一设备11向第二设备12注册各个按键。例如,第一设备11(例如智能遥控)加入第二设备12创建的Wi‑Fi网络时,如果用户打开手机中的智能家居类APP,该APP可提示用户注册智能遥控中的各个按键。例如,可以在该APP中显示出按键701的功能为打开和关闭卧室的空调,即按键701的指令内容为0021。如果用户确认按键701的功能,则用户可点击对应的注册按钮。此时,手机可以按照上述注册方法生成按键701的按键消息并发送给第二设备12。又或者,手机也可以将用户确认的按键701的指令内容
0021发送给第一设备11,进而由第一设备11按照上述注册方法生成按键701的按键消息并发送给第二设备12,本申请实施例对此不做任何限制。
[0160] 另外,用户进入上述智能家居类APP后可以手动设置或修改智能遥控中各个按键的功能。如图8所示,假设第一设备11向第二设备12注册时发送的与按键701对应的指令内容为0021,其功能是用于打开和关闭卧室的空调。如果检测到用户在该APP上将按键701的功能修改为用于调节卧室空调的温度,手机可将指令内容0021与调节卧室空调的温度这一功能之间的对应关系发送给第二设备12。后续,当第二设备12解析出第一设备11发送的指令内容为0021后,可控制卧室空调执行调节温度的操作。
[0161] 又或者,可预先设置每一条指令内容对应的功能是一定的。例如,当指令内容为0021时,对应的功能为打开和关闭卧室的空调,当指令内容为0023时,对应的功能为调节卧室空调的温度。这些对应关系可预先存储在手机和第二设备12中。如果检测到用户在该APP上将按键701的功能修改为用于调节卧室空调的温度,其对应的指令内容为0023,则手机可将按键701与指令内容0023的对应关系发送给第一设备11进行保存。后续,当检测到用户点击按键701时,第一设备11可将包含指令内容0023的消息发送给第二设备12,由第二设备12根据上述对应关系解析出用户点击按键701的意图为调节卧室空调的温度。
[0162] S603、第一设备11与第二设备12之间的Wi‑Fi连接断开。
[0163] 第一设备11向第二设备12注册完各个按键后,可进入休眠模式。在休眠模式下,第一设备11可断开与第二设备12之间的Wi‑Fi连接,从而降低第一设备11和第二设备12的功耗。例如,第一设备11向第二设备12注册完各个按键后,如果在预设时间内没有检测到用户点击任何按键,则第一设备11可断开与第二设备12之间的Wi‑Fi连接进入休眠模式。
[0164] 至此,通过步骤S601‑S603,用户首次使用第一设备11时完成了接入Wi‑Fi网络和注册按键等步骤。后续,参见下述步骤S604‑S609,用户可触发第一设备11中的按键向第二设备12发送已注册的按键。
[0165] S604、第一设备11接收用户对第一按键的输入操作。
[0166] 其中,该输入操作可以是单击操作、双击操作、重压操作或滑动操作等,本申请实施例对此不做任何限制。对于同一个按键(例如第一按键),用户在执行不同输入操作时第一按键所对应的指令内容可以是不相同的。
[0167] S605、响应于上述输入操作,第一设备11根据上述接入密码和第一按键的指令内容生成身份验证请求。
[0168] 示例性的,用户回家后如果想打开客厅的灯具,如图9所示,用户可以向第一设备11的按键702(即第一按键)输入一个单击操作。第一设备11检测到该单击操作后,如果第一设备11与第二设备12之间的Wi‑Fi连接已经断开,则第一设备11需要与第二设备12重新建立Wi‑Fi连接。在建立Wi‑Fi连接之前,第二设备12需要对请求接入的第一设备11进行身份验证。与现有技术中使用接入密码对第一设备11进行身份验证不同的是,在本申请实施例中,如图9所示,第一设备11可将按键702的指令密码携带在准备发送给第二设备12的身份验证请求中。由于按键702的指令密码是根据Wi‑Fi网络的接入密码和按键702对应的指令内容生成的,因此,将按键702的指令密码携带在身份验证请求后,该身份验证请求既能向第二设备反映出Wi‑Fi网络的接入密码,还可以反映出按键702对应的指令内容。
[0169] 具体的,如果第一设备11在向第二设备12注册(即执行步骤S602)时已经存储了按键702的指令密码,则第一设备11检测到用户点击按键702后,可将按键702的指令密码添加在身份验证请求的第一字段中,得到待发送的身份验证请求(Authentication Request)。该第一字段在现有的Wi‑Fi接入流程中用于记录Wi‑Fi网络的接入密码,在本申请实施例中用于记录用户触发的相应按键的指令密码。
[0170] 相应的,如果第一设备11在向第二设备12注册(即执行步骤S602)时没有存储按键702的指令密码,则第一设备11检测到用户点击按键702后,由于第一设备11之前已经接入过第二设备12的Wi‑Fi网络,即第一设备11中记录有该Wi‑Fi网络的接入密码,因此,第一设备11可根据该Wi‑Fi网络的接入密码和按键702对应的指令内容按照预设指令密码的生成策略生成按键702的指令密码。并且,第一设备11可将按键702的指令密码添加在身份验证请求的第一字段中,得到待发送的身份验证请求。第一设备11生成按键702的指令密码使用的指令密码的生成策略与第二设备12在注册时根据第一设备11发送指令内容生成指令密码使用的指令密码的生成策略是一样的。
[0171] 可以看出,本申请提供的消息传输方法在接入Wi‑Fi网络时并没有改变现有的接入流程,而是在执行接入流程中的身份验证过程时,第一设备11(被验证方)将能够反映Wi‑Fi网络的接入密码和按键对应的指令内容一并携带在身份验证请求进行身份验证。使得第二设备12(验证方)能够根据该身份验证请求同时确定出第一设备11的合法性和第一设备11发来的指令。从而在不改变现有Wi‑Fi接入流程的前提下简化消息的发送过程,提高消息的响应速度。
[0172] S606、第一设备11将上述身份验证请求发送给第二设备12。
[0173] S607、第二设备12根据上述身份验证请求对第一设备11进行身份验证。
[0174] 在步骤S606‑S607中,第一设备11生成上述身份验证请求后,可将该身份验证请求发送给第二设备12,由第二设备12根据上述身份验证请求对第一设备11进行身份验证。
[0175] 由于此时第一设备11与第二设备12之间还未建立Wi‑Fi连接,因此第一设备11在向第二设备12发送身份验证请求时,还可以将第二设备12的标识或上述Wi‑Fi网络的SSID携带在身份验证请求中,以便第二设备12能够根据第二设备12的标识或上述Wi‑Fi网络的SSID识别出该身份验证请求是发送给自己的。或者,由于第一设备11首次与第二设备12连接时可以获取到第二设备12的MAC地址,因此,第一设备11可按照第二设备12的MAC地址以单播的形式向第二设备12发送身份验证请求。
[0176] 在一些实施例中,如图9所示,结合上述表1或表3,由于第二设备12中存储有各个注册设备中各个按键的指令密码。因此,第二设备12接收到第一设备11发送的身份验证请求后,可将该身份验证请求中携带的指令密码(例如1112220022)与已经存储的各条指令密码进行匹配。如果身份验证请求中携带的指令密码与某一条已经存储的指令密码相同,则说明该指令密码反映出的Wi‑Fi网络的接入密码和指令内容都是正确的,则第二设备12可确定第一设备11为合法设备。
[0177] 相应的,如果身份验证请求中携带的指令密码与已经存储的每一条指令密码均不相同,则说明可能是第一设备11生成该指令密码时使用的接入密码错误,也可能是生成该指令密码时使用的指令内容错误,当然也可能是生成该指令密码时使用的接入密码和指令内容均错误。无论是哪一种情况,第二设备12均可认为第一设备11此时为非法设备。
[0178] 可以看出,在本申请实施例中,设备每次接入Wi‑Fi网络时的合法性可以是动态变化的。例如,第一设备11第一次发送的身份验证请求中携带的指令密码为1234560020,由于1234560020与第二设备12中预先存储的各条指令密码均不相同,则第二设备12可认为第一设备11此时为非法设备。后续,如果第一设备11第二次发送的身份验证请求中携带的指令密码为1234560021,由于指令密码1234560021与表1中存储的指令密码1234560021相同,则第二设备12可认为第一设备11此时为合法设备。
[0179] 在另一些实施例中,如果第二设备12也存储有第一设备11生成各按键的指令密码使用的指令密码的生成策略,则第二设备12接收到第一设备11发来的身份验证请求后,还可以根据该生成策略的逆过程解析出生成该身份验证请求中的指令密码时使用的接入密码和指令内容。
[0180] 例如,第一设备11生成指令密码使用的指令密码的生成策略为:将6位接入密码与指令内容进行拼接。那么,如果第二设备12接收到的身份验证请求中的指令密码为1234560021,第二设备12可以通过读取1234560021中的前6位(即123456)确定第一设备11使用的接入密码是否正确,并通过读取1234560021中的后4位(即0021)确定第一设备11使用的指令内容是否正确。如果前6位:123456是第二设备12预设的正确的接入密码,且后4位:0021是第二设备12在步骤S602中注册的指令内容,则第二设备12可认为第一设备11为合法设备。相应的,如果1234560021中的前6位不是正确的接入密码,和/或,1234560021中的后4位不是第一设备11注册过的指令内容,则第二设备12可确定第一设备11为非法设备。
[0181] 另外,第一设备11向第二设备12发送上述身份验证请求前,为了保证传输过程中的安全性,第一设备11还可以通过一定加密算法对上述身份验证请求或身份验证请求中的指令密码进行加密,再将加密后的身份验证请求发送给第二设备12。第二设备12接收到加密的身份验证请求后,也可通过相应的解密算法对上述身份验证请求或身份验证请求中的指令密码进行解密,本申请实施例对此不做任何限制。
[0182] S608、若身份验证通过,则第二设备12执行上述第一按键对应的指令内容。
[0183] 如果第二设备12对第一设备11进行的身份验证通过,即第一设备11为合法设备,则第二设备12可按照上述表1(或表3)所示的对应关系,确定与第一设备11本次发送的指令密码对应的指令内容,进而实现该指令内容对应的控制功能。例如,第一设备11本次发送的指令密码为1112220022,在表1中与该指令密码对应的指令内容为0022,在表2中与指令内容0022对应的功能为打开客厅的灯具。那么,仍如图9所示,第二设备12可向客厅的灯具(即第三设备)发送打开指令,使得客厅的灯具执行该打开指令,即实现第一按键对应的指令内容0022。
[0184] 可以看出,本申请实施例中第一设备11与第二设备12进行身份验证时,第一设备11可以在身份验证请求中一并将用于验证身份的接入密码和用户需要执行的指令内容以指令密码的形式发送给第二设备12。这样,第二设备12基于该指令密码不仅可以验证第一设备11的身份,还可以确定出用户需要执行的指令内容,从而可快速响应用户点击第一按键的操作,减少了因建立通信连接、进行身份验证等过程导致的消息响应的时延,并减少了用户的等待时间。
[0185] 另外,第二设备12对第一设备11进行的身份验证通过后,第一设备11还可以继续按照Wi‑Fi接入流程接入第二设备12创建的Wi‑Fi网络,建立与第二设备12之前的Wi‑Fi连接。
[0186] 当然,如果第二设备12对第一设备11进行的身份验证没有通过,即第一设备11为非法设备,则第二设备12可丢弃第一设备11本次发来的身份验证请求,拒绝第一设备11与第二设备12建立Wi‑Fi连接。如果第一设备11多次发来的身份验证请求均未通过身份验证,则第二设备12还可以通过发声或发光等方式进行告警,或者,如果用户的手机也加入了第二设备12创建的Wi‑Fi网络,则第二设备12还可以向用户的手机发送告警消息,避免第一设备11非法接入第二设备12创建的Wi‑Fi网络。
[0187] S609、第一设备11与第二设备12之间的Wi‑Fi连接断开。
[0188] 由于每次第一设备11向第二设备12发送消息时,均可按照上述步骤S604‑S608所述的方法,在接入第二设备12创建的Wi‑Fi网络时,一并将用于验证身份的接入密码和用户需要执行的指令内容以指令密码的形式发送给第二设备12。因此,第一设备11无需通过维持与第二设备12之间的Wi‑Fi连接向第二设备12发送消息。
[0189] 仍如图9所示,如果第一设备11接收到第二设备12发送的消息完成响应,说明第二设备12已经实现了第一设备11发出的指令内容所对应的控制功能,则第一设备11可断开与第二设备12之间的Wi‑Fi连接进入休眠状态,从而降低第一设备11和第二设备12的功耗。
[0190] 又或者,当第一设备11接收到第二设备12发送的消息完成响应后,第一设备11可以继续与第二设备12保持一段时间(例如30s)的Wi‑Fi连接。如果在这30s内没有检测到用户触发第一设备11中的按键,则第一设备11可断开与第二设备12之间的Wi‑Fi连接进入休眠状态。
[0191] 当然,第二设备12也可以在确认第一设备11的身份验证通过后便向第一设备11发送指令接收响应,以告知第一设备11在身份验证请求中携带的指令内容被第二设备12正确接收。进而,第一设备11可断开与第二设备12之间的Wi‑Fi连接进入休眠状态,从而降低第一设备11和第二设备12的功耗。
[0192] 后续,第一设备11进入休眠状态后,如果检测到用户触发第一设备11中的某一按键,则可继续按照上述步骤S604‑S609所述的方法,在向第二设备12发送身份验证请求时携带能够反映对应指令内容的指令密码。
[0193] 另外,如果在第一设备11进入休眠状态之前,第一设备11检测到用户触发第一按键701,即此时第一设备11与第二设备12之间的Wi‑Fi连接没有断开。由于在建立该Wi‑Fi连接第二设备12已经完成了对第一设备11的身份验证,因此,第一设备11可基于该Wi‑Fi连接向第二设备12发送按键701的指令内容,例如0022。第二设备12接收到该指令内容后可确定出用户发出的指令内容对应的功能为打开客厅的灯具。进而,第二设备12可向客厅的灯具发送相应的控制指令,使得客厅的灯具响应该控制指令执行打开操作。
[0194] 可以看出,本申请实施例中第一设备11首次加入第二设备12的网络后,将第一设备11上的按键在第二设备12上进行了注册,使得第二设备12中建立了指令内容和指令密码之间的对应关系。那么,第一设备11和第二设备12断开连接后,如果第一设备11接收到用户对某一按键的操作,第一设备11可将用于验证身份的接入密码和用户需要执行的指令内容以指令密码的形式携带在身份验证请求中发送给第二设备12。这样,第二设备12基于该指令密码不仅可以验证第一设备11的身份,还可以确定出用户需要执行的指令内容,从而可快速响应用户点击第一按键的操作,减少了因建立通信连接、进行身份验证等过程导致的消息响应的时延,并减少了用户的等待时间。
[0195] 在另一些实施例中,除了将采用指令密码的形式,还可以在注册时,第一设备通知第二设备第一设备的按键的指令内容,第一设备或第二设备不需要生成指令密码,第二设备中维护有指令内容和功能的对应关系。当用户操作第一设备11的按键时,第一设备11可以分别将第一按键的指令内容和接入上述Wi‑Fi网络时的接入密码添加在身份验证请求中发送给第二设备12。例如,可以在身份验证请求中设置第一字段和第二字段,第一字段中包含了第一按键的指令内容(例如0021),第二字段中包含了首次接入上述Wi‑Fi网络时的接入密码(例如123456)。这样,第二设备12接收到该身份验证请求后,可从身份验证请求的第一字段中获取到第一设备11发来的指令内容,从身份验证请求的第二字段中获取到第一设备11发来的接入密码。那么,如果第一设备11发来的接入密码正确,则第二设备12可认为第一设备11此时为合法设备,执行指令内容对应的功能,否则,第二设备12可认为第一设备11此时为非法设备。
[0196] 示例性的,图10为本申请实施例提供的一种消息传输方法的交互示意图,本实施例中仍以Wi‑Fi场景为例,其中,第一设备11为消息的发送端,第二设备12为创建该Wi‑Fi网络的接入点。不同的是,上述实施例中是以第一设备11沿用现有Wi‑Fi接入流程中的身份验证步骤向第二设备12发送消息举例说明的,本实施例中提供的消息传输方法可应用在第一设备11与第二设备12在没有Wi‑Fi连接时的任意交互过程中。该方法包括:
[0197] S1001、第一设备11根据用户输入的接入密码,建立与第二设备12之间的Wi‑Fi连接。
[0198] 用户首次使用第一设备11时,第一设备11可按照现有的Wi‑Fi接入流程(例如图2所示的接入流程),使用用户输入的接入密码接入第二设备12创建的Wi‑Fi网络。第一设备11接入该Wi‑Fi网络的方法可参见上述步骤S601的相关描述,故此处不再赘述。
[0199] S1002、第一设备11向第二设备12注册第一设备11的相关信息,第一设备11包括至少一个按键。
[0200] 第一设备11首次与第二设备12建立Wi‑Fi连接后,第一设备11可以将自己的设备标识(例如MAC地址等)发送给第二设备12进行注册。
[0201] 并且,第一设备11可与第二设备12约定后续交互时使用的加密和解密方式。例如,第一设备11后续向第二设备12发送消息时可使用加密算法A进行加密,那么,第一设备11首次与第二设备12建立Wi‑Fi连接后,还可以将与加密算法A对应的解密算法B发送给第二设备12,以便后续第二设备12使用该解密算法B解密出第一设备11发送的消息内容。又例如,第一设备11后续向第二设备12发送消息时可使用私钥1进行加密,那么,第一设备11首次与第二设备12建立Wi‑Fi连接后,还可以将与私钥1对应的公钥2发送给第二设备12,以便后续第二设备12使用公钥2解密出第一设备11发送的消息内容。第二设备12中可以存储有第一设备11的设备标识和解密算法(如公钥2)的对应关系,以便后续收到第一设备11的消息时,可以找到对应的算法进行解密。
[0202] 另外,第一设备11向第二设备12注册时还可以将第一设备11中各个按键对应的指令内容也发送给第二设备12。仍如图7所示,第一设备11可将按键701对应的指令内容0021和按键702对应的指令内容0022发送给第二设备12。第二设备12中可以维护不同指令内容与不同功能之间的对应关系。例如,当指令内容为0021时,对应的功能为打开和关闭卧室的空调,当指令内容为0023时,对应的功能为调节卧室空调的温度。后续第二设备12可以根据解析出的指令内容实现相应的功能。
[0203] S1003、第一设备11与第二设备12之间的Wi‑Fi连接断开。
[0204] 与步骤S603类似的,第一设备11向第二设备12注册完第一设备11的相关信息后,可断开与第二设备12之间的Wi‑Fi连接,进入休眠模式,以降低第一设备11和第二设备12的功耗。
[0205] S1004、第一设备11接收用户对第一按键的输入操作。
[0206] 当用户希望使用第一设备11控制其他设备实现在步骤S1002中注册的指令内容时,可对第一设备11中相应的按键输入相应的操作。例如,如果用户希望打开卧室的空调,可点击第一设备11上的按键701;如果用户希望打开客厅的灯具,可点击第一设备11上的按键702。
[0207] S1005、响应于上述输入操作,第一设备11发送广播消息,该广播消息中包括上述Wi‑Fi网络的SSID以及与第一按键对应的指令内容,该指令内容已被加密。
[0208] 第一设备11检测到上述输入操作后,如果此时第一设备11与第二设备12之间没有建立Wi‑Fi连接,第一设备11可以以广播的形式发送探测请求(Probe Request)帧。此时,上述广播消息即为Probe Request帧。
[0209] 示例性的,图11示出了本申请提供的一种Probe Request帧的帧结构实例示意图。Probe Request帧中可以包括:帧头(即MAC头)221、帧实体(Frame Body)222和帧校验(Frame Check Sequence,FCS)域223。
[0210] 其中,上述MAC头221中具体可以包括帧控制域(Frame Control)、持续时间/标识(Duration/ID)、地址域(Address)和序列控制域(Sequence Control)等。帧控制域中可以包括协议版本域(Protocol Version)和类型域。协议版本域用于指示Probe Request帧220所遵循的协议版本,该协议版本通常为0。类型域可以包括Type和Subtype,Type用于指示对应帧为管理帧、数据帧或者控制帧,Subtype用于指示帧的子类型,例如,当Type=00时,可以指示对应帧为管理帧。地址域中可以包括源地址、目的地址、传输工作站地址、接收工作站地址等地址信息,其中,目的地址可以为单播地址(Unicast address)、多播地址(Multicast address)、广播地址(Broadcast address)中的任一个。
[0211] 帧实体222中具体可以包括SSID字段2221、支持速率(Supported Rates)2222和扩展支持速率(Extended Supported Rates)2223。其中,SSID字段2221中携带有无线局域网的服务集标识;支持速率2222和扩展支持速率2223用于指示手机或者无线路由器所支持的速率集合。
[0212] 在本申请实施例中,第一设备11向第二设备12发送上述Probe Request帧时,可以将第二设备12的标识携带在Probe Request帧中。这样,当第二设备12接收到该Probe Request帧时,如果判断出该Probe Request帧中包含自身的标识,则第二设备12可确定该Probe Request帧的接收方是自己。
[0213] 示例性的,第二设备12的标识可以是第二设备12创建的Wi‑Fi网络的SSID。此时,第一设备11向第二设备12发送的Probe Request帧的SSID字段2221中包括第二设备12创建的Wi‑Fi网络的SSID。由于在步骤S1001中,用户首次使用第一设备11时已经接入了第二设备12创建的Wi‑Fi网络,因此,第一设备11内保存有该Wi‑Fi网络的SSID。那么,第一设备11可将该SSID添加在准备发送给第二设备12的Probe Request帧中。这样,当第二设备12接收到该Probe Request帧时,可以根据其携带的SSID确定该Probe Request帧的接收方是自己。
[0214] 另外,第一设备11还可以在上述Probe Request帧中添加与用户触发的第一按键所对应的指令内容。例如,第一设备11可将第一按键的指令内容添加在Probe Request帧的帧实体222中。但由于Probe Request帧是以广播的形式发送的,因此,为了保证指令内容的安全性,第一设备11可以对第一按键对应的指令内容进行加密。例如,第一按键对应的指令内容为0021,那么,第一设备11可使用在步骤S1002中的私钥对该指令内容进行签名,并将签名后的指令内容添加在准备发送给第二设备12的Probe Request帧中。
[0215] 另外,第一设备11还可以在上述Probe Request帧添加第一设备11的设备标识。例如可以将第一设备11的MAC地址携带在Probe Request帧中。这样,当第二设备12接收到该Probe Request帧时,可以根据第一设备11的设备标识找到对应的解密算法。
[0216] 当然,除了上述Probe Request帧之外,第一设备11还可以基于Wi‑Fi协议在管理(action)帧、数据帧或者控制帧等广播消息中携带加密后的指令内容,并发送给第二设备12,使得第二设备12能够获取到第一设备11希望执行的指令内容。
[0217] S1006、第二设备12接收到上述广播消息后,对广播消息中的指令内容进行解密。
[0218] 示例性的,第二设备12接收到第一设备11广播的Probe Request帧后,可根据该Probe Request帧中的SSID字段确定这条Probe Request帧是不是发送给自己的。如果SSID字段中记录的SSID是第二设备12创建的Wi‑Fi网络的SSID,则第二设备12可确定该Probe Request帧的接收方是自己。
[0219] 进而,第二设备12可根据第一设备11的设备标识找到对应的解密算法,即步骤S1002中与第一设备11约定的解密算法,对Probe Request帧中携带的指令内容进行解密。例如,如果第一设备11在注册时向第二设备12发送了用于解密的公钥,则第二设备可使用该公钥对加密的指令内容进行签名认证。如果签名认证通过,则说明本次向第二设备12发送指令内容的第一设备11是已经注册的合法设备。这样,第二设备12完成对第一设备进行身份验证的同时,也获取到了第一设备11发送的指令内容。
[0220] S1007、第二设备12执行上述第一按键对应的指令内容。
[0221] 第二设备12成功解密出上述广播消息中的指令内容后,便可控制Wi‑Fi网络中相关的第三设备实现与上述指令内容对应的控制功能。例如,如果第二设备12解密出的指令内容为0022,则说明用户希望打开客厅的灯具。那么,第二设备12可向客厅的灯具发送打开指令,使得客厅的灯具执行该打开指令,完成对指令内容为0022的响应。
[0222] 可以看出,在第一设备11与第二设备12之间没有建立连接的情况下,第一设备11可通过与第二设备12预先约定的指令内容的加密和解密方式,向第二设备12发送加密的指令内容。如果第二设备12能够成功解密出该指令内容,则说明第一设备11为合法设备,第二设备12在验证第一设备11合法性的同时也获得了需要响应的指令内容,从而可快速响应用户点击第一按键的操作。
[0223] S1008、第一设备11进入休眠状态。
[0224] 第二设备12执行完上述指令内容后,可以向第一设备11发送一个消息完成响应,即告知第一设备11本次发出的广播消息已被响应。进而,第一设备11可进入功耗较低的休眠模式以降低第一设备11的功耗。
[0225] 相应的,如果在预设时间内第一设备11没有接收到第二设备12发送的消息完成响应,则第一设备11可重复向第二设备发送携带有上述按键消息的Probe Request帧,直至接收到第二设备12发送的消息完成响应后,进入功耗较低的休眠状态。
[0226] 后续,第一设备11进入休眠状态后,如果检测到用户触发第一设备11中的某一按键,则可继续按照上述步骤S1004‑S1008所述的方法向第二设备12发送对应的广播消息。
[0227] 需要说明的是,上述实施例S601‑S609以及S1001‑S1008中均以Wi‑Fi场景举例说明,可以理解的是,在其他无线通信场景下也可以使用上述实施例中的方法传输消息,本发明实施例对此不作任何限制。例如,在蓝牙场景下,第一设备11可基于蓝牙协议,在与第二设备12进行配对时,将能够反映配对码和按键对应的按键消息一并携带在验证请求中发送给第二设备12,使得第二设备12能够根据该验证请求同时确定出第一设备11的合法性和第一设备11发来的指令,提高消息的响应速度。
[0228] 上述实施例中若第二设备是云服务器,则第一设备(如智能遥控器,智能开关等)和被控的第三设备(如空调,灯具等)以及一个路由器处在一个局域网中,第一设备和被控的第三设备通过路由器与云服务器交互,如第一设备通过路由器在云服务器上注册自身的设备标识,注册第一设备上的按键,后续第一设备通过路由器发送指令密码或加密的指令内容给云服务器,云服务器对第一设备进行身份验证或对加密内容解密后,通过路由器控制第三设备执行指令内容。
[0229] 在本申请的一些实施例中,本申请实施例公开了一种消息传输设备,该消息传输设备为第一设备。具体的,该第一设备可以包括处理器,以及与处理器相连的存储器、至少一个按键、通信接口、输入设备和输出设备。其中,输入设备和输出设备可集成为一个设备,例如,可将触敏表面作为输入设备,将显示屏作为输出设备,并将触敏表面和显示屏集成为触摸屏。例如,如图12所示,上述第一设备可以包括:至少一个按键1200;通信接口1201;一个或多个处理器1202;存储器1203;以及一个或多个计算机程序1204,上述各器件可以通过一个或多个通信总线1205连接。其中该一个或多个计算机程序1204被存储在上述存储器1203中并被配置为被该一个或多个处理器1202执行,该一个或多个计算机程序1204包括指令,上述指令可以用于执行如图5或图10中与第一设备相关实施例中的各个步骤。
[0230] 在本申请的另一些实施例中,本申请实施例公开了一种消息传输设备,该消息传输设备为第二设备。具体的,该第二设备可以包括处理器,以及与处理器相连的存储器、通信接口、输入设备和输出设备。其中,输入设备和输出设备可集成为一个设备,例如,可将触敏表面作为输入设备,将显示屏作为输出设备,并将触敏表面和显示屏集成为触摸屏。例如,如图13所示,上述第二设备可以包括:通信接口1301;一个或多个处理器1302;存储器1303;以及一个或多个计算机程序1304,上述各器件可以通过一个或多个通信总线1305连接。其中该一个或多个计算机程序1304被存储在上述存储器1303中并被配置为被该一个或多个处理器1302执行,该一个或多个计算机程序1304包括指令,上述指令可以用于执行如图5或图10中与第二设备相关实施例中的各个步骤。
[0231] 在本申请的一些实施例中,本申请实施例公开了一种消息传输设备,该消息传输设备为第一设备,如图14所示,该第一设备用于实现以上各个方法实施例中记载的方法,其包括:通信单元1401、输入单元1402以及处理单元1403。其中,通信单元1401用于支持第一设备执行图5中的过程S601‑S603、S606、S609,以及图10中的过程S1001‑S1003、S1005;输入单元1402用于支持第一设备执行图5中的过程S604,以及图10中的过程S1004以及其他的接收用户输入操作;处理单元1403用于支持第一设备执行图5中的过程S605,以及图10中的过程S1008。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0232] 在本申请的一些实施例中,本申请实施例公开了一种消息传输设备,该消息传输设备为第二设备,如图15所示,该第二设备用于实现以上各个方法实施例中记载的方法,其包括:通信单元1501和处理单元1502。其中,通信单元1401用于支持第二设备执行图5中的过程S601‑S603、S606、S609,以及图10中的过程S1001‑S1003、S1005;处理单元1502用于支持第二设备执行图5中的过程S607‑S608,以及图10中的过程S1006‑S1007。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0233] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0234] 在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0235] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0236] 以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。