智能设备的控制方法、终端及服务器与流程

文档序号:30841791发布日期:2022-07-23 00:43阅读:197来源:国知局
智能设备的控制方法、终端及服务器与流程

1.本技术涉及物联网技术领域,特别涉及一种智能设备的控制方法、终端及服务器。


背景技术:

2.目前,对于电视、烤箱、空调等智能设备来说,用户可以采用终端中的app(application,应用程序)、网页、小程序等方式对智能设备进行远程控制,并且终端还可以显示智能设备的状态。
3.相关技术中,终端对智能设备进行远程控制时,可以向服务器发送远程控制指令。服务器接收该远程控制指令之后,将该远程控制指令发送给智能设备。在智能设备执行该远程控制指令后,智能设备会将执行控制指令后的状态通过服务器发送给终端进行显示。
4.由于服务器将远程控制指令发送给智能设备的过程中,可能会由于网络延迟,丢包等情况导致远程控制指令未下发给智能设备,进而终端就无法接收到智能设备执行控制指令后的状态,从而导致终端显示的状态无法进行更新。


技术实现要素:

5.本技术提供了一种智能设备的控制方法、装置及存储介质,可以解决相关技术中终端显示的状态可能与智能设备的实际状态不一致的问题。所述技术方案如下:
6.一方面,提供了一种智能设备的控制方法,应用于终端,所述方法包括:
7.向服务器发送远程控制指令,所述远程控制指令用于远程控制智能设备,且所述远程控制指令是通过所述终端所触发的指令;
8.接收所述服务器发送的预期数据包,所述预期数据包携带预期状态,所述预期状态是指所述智能设备执行所述远程控制指令之后预期达到的状态;
9.将所述预期状态作为所述智能设备的当前状态进行显示,并开始对所述预期状态进行计时;
10.在计时时间结束时未接收到所述服务器发送的实际数据包的情况下,向所述服务器发送状态获取请求,所述状态获取请求用于从所述服务器中获取所述智能设备的最新实际状态,所述实际数据包是所述智能设备向所述服务器发送的,所述实际数据包用于携带所述智能设备的实际状态;
11.接收所述服务器发送的所述最新实际状态,将所述最新实际状态作为所述智能设备的当前状态进行显示。
12.另一方面,提供了一种智能设备的控制方法,应用于服务器,所述方法包括:
13.接收终端发送的远程控制指令,所述远程控制指令用于远程控制智能设备,且所述远程控制指令是通过所述终端所触发的指令;
14.基于所述智能设备的最新实际状态和所述远程控制指令,确定所述智能设备的预期状态,所述预期状态是指所述智能设备执行所述远程控制指令之后预期达到的状态;
15.向所述终端发送预期数据包,以及向所述智能设备发送所述远程控制指令,所述
预期数据包携带所述预期状态,所述预期数据包用于指示所述终端将所述预期状态作为所述智能设备的当前状态进行显示,并开始对所述预期状态进行计时;
16.接收所述终端发送的状态获取请求,将存储的所述智能设备的最新实际状态发送给所述终端,以使所述终端将所述最新实际状态作为所述智能设备的当前状态进行显示,所述状态获取请求是所述终端在计时时间结束时未接收到所述服务器发送的实际数据包的情况下发送的,所述实际数据包是所述智能设备向所述服务器发送的,所述实际数据包用于携带所述智能设备的实际状态。
17.另一方面,提供了一种终端,所述终端包括通信模块和处理器;
18.所述通信模块用于向服务器发送远程控制指令,所述远程控制指令用于远程控制智能设备,且所述远程控制指令是通过所述终端所触发的指令;
19.所述通信模块用于接收所述服务器发送的预期数据包,所述预期数据包携带预期状态,所述预期状态是指所述智能设备执行所述远程控制指令之后预期达到的状态;
20.所述处理器用于将所述预期状态作为所述智能设备的当前状态进行显示,并开始对所述预期状态进行计时;
21.所述通信模块用于在计时时间结束时未接收到所述服务器发送的实际数据包的情况下,向所述服务器发送状态获取请求,所述状态获取请求用于从所述服务器中获取所述智能设备的最新实际状态,所述实际数据包是所述智能设备向所述服务器发送的,所述实际数据包用于携带所述智能设备的实际状态;
22.所述通信模块还用于接收所述服务器发送的所述最新实际状态,将所述最新实际状态作为所述智能设备的当前状态进行显示。
23.另一方面,提供了一种服务器,所述服务器包括通信模块和处理器;
24.所述通信模块用于接收终端发送的远程控制指令,所述远程控制指令用于远程控制智能设备,且所述远程控制指令是通过所述终端所触发的指令;
25.所述处理器用于基于所述智能设备的最新实际状态和所述远程控制指令,确定所述智能设备的预期状态,所述预期状态是指所述智能设备执行所述远程控制指令之后预期达到的状态;
26.所述通信模块用于向所述终端发送预期数据包,以及向所述智能设备发送所述远程控制指令,所述预期数据包携带所述预期状态,所述预期数据包用于指示所述终端将所述预期状态作为所述智能设备的当前状态进行显示,并开始对所述预期状态进行计时;
27.所述通信模块还用于接收所述终端发送的状态获取请求,将存储的所述智能设备的最新实际状态发送给所述终端,以使所述终端将所述最新实际状态作为所述智能设备的当前状态进行显示,所述状态获取请求是所述终端在计时时间结束时未接收到所述服务器发送的实际数据包的情况下发送的,所述实际数据包是所述智能设备向所述服务器发送的,所述实际数据包用于携带所述智能设备的实际状态。
28.另一方面,提供了一种智能设备的控制装置,所述装置包括:
29.第一发送模块,用于向服务器发送远程控制指令,所述远程控制指令用于远程控制智能设备,且所述远程控制指令是通过所述终端所触发的指令;
30.第一接收模块,用于接收所述服务器发送的预期数据包,所述预期数据包携带预期状态,所述预期状态是指所述智能设备执行所述远程控制指令之后预期达到的状态;
31.第一显示模块,用于将所述预期状态作为所述智能设备的当前状态进行显示,并开始对所述预期状态进行计时;
32.第二发送模块,用于在计时时间结束时未接收到所述服务器发送的实际数据包的情况下,向所述服务器发送状态获取请求,所述状态获取请求用于从所述服务器中获取所述智能设备的最新实际状态,所述实际数据包是所述智能设备向所述服务器发送的,所述实际数据包用于携带所述智能设备的实际状态;
33.第二接收模块,用于接收所述服务器发送的所述最新实际状态,将所述最新实际状态作为所述智能设备的当前状态进行显示。
34.另一方面,提供了一种智能设备的控制装置,所述装置包括:
35.第一接收模块,用于接收终端发送的远程控制指令,所述远程控制指令用于远程控制智能设备,且所述远程控制指令是通过所述终端所触发的指令;
36.第一确定模块,用于基于所述智能设备的最新实际状态和所述远程控制指令,确定所述智能设备的预期状态,所述预期状态是指所述智能设备执行所述远程控制指令之后预期达到的状态;
37.第一发送模块,用于向所述终端发送预期数据包,以及向所述智能设备发送所述远程控制指令,所述预期数据包携带所述预期状态,所述预期数据包用于指示所述终端将所述预期状态作为所述智能设备的当前状态进行显示,并开始对所述预期状态进行计时;
38.第二接收模块,用于接收所述终端发送的状态获取请求,将存储的所述智能设备的最新实际状态发送给所述终端,以使所述终端将所述最新实际状态作为所述智能设备的当前状态进行显示,所述状态获取请求是所述终端在计时时间结束时未接收到所述服务器发送的实际数据包的情况下发送的,所述实际数据包是所述智能设备向所述服务器发送的,所述实际数据包用于携带所述智能设备的实际状态。
39.另一方面,提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的计算机程序,以实现上述所述的智能设备的控制方法的步骤。
40.另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述智能设备的控制方法的步骤。
41.另一方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述所述的智能设备的控制方法的步骤。
42.本技术提供的技术方案至少可以带来以下有益效果:
43.服务器接收到终端发送的远程控制指令之后,可以基于智能设备的最新实际状态和该远程控制指令,确定该智能设备的预期状态,并将该预期状态发送给终端。这样,终端可以直接将该预期状态作为智能设备的当前状态进行显示,从而无需等待智能设备实际执行该远程控制指令后返回的状态,提高了状态显示的效率。其次,终端接收到该预期状态之后,可以对该预期状态进行计时,从而判断在计时时间结束之前是否接收到服务器发送的实际数据包,进而确定该远程控制指令是否成功下发给智能设备,或者该智能设备是否处于断网状态。在计时时间结束之前终端未接收到服务器发送的实际数据包的情况下,通过本技术实施例的方法可以使终端显示的状态进行更新,从而保证终端显示的状态与智能设备的实际状态一致或者使终端显示的状态与智能设备断网前的实际状态一致,虽然断网前
的状态与智能设备的实际状态不一致,但是相对来说也比较符合用户的心理预期。
附图说明
44.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1是本技术实施例提供的一种实施环境的示意图;
46.图2是本技术实施例提供的一种服务器的结构示意图;
47.图3是本技术实施例提供的一种智能设备的控制方法的流程图;
48.图4是本技术实施例提供的另一种智能设备的控制方法的流程图;
49.图5是本技术实施例提供的另一种智能设备的控制方法的流程图;
50.图6是本技术实施例提供的另一种智能设备的控制方法的流程图;
51.图7是本技术实施例提供的一种终端的结构示意图;
52.图8是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
53.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
54.在对本技术实施例提供的智能设备的控制方法进行详细地解释说明之前,先对本技术实施例涉及的实施环境进行介绍。
55.请参考图1,图1是根据一示例性实施例示出的一种实施环境的示意图。该实施环境包括终端101、服务器102和智能设备103,终端101可以与服务器102进行通信连接,服务器102可以与智能设备103进行通信连接。该通信连接可以为有线或者无线连接,本技术实施例对此不做限定。
56.在对智能设备103进行控制的过程中,终端101用于向服务器102发送远程控制指令,该远程控制指令用于远程控制智能设备103。服务器102用于接收终端101发送的远程控制指令,并且基于该远程控制指令和服务器102中存储的智能设备103的最新实际状态确定智能设备103的预期状态。服务器102还用于向终端101发送预期数据包,以及向智能设备103发送远程控制指令,该预期数据包携带智能设备103的预期状态。终端101接收服务器102发送的预期数据包,并将该预期数据包中携带的预期状态作为智能设备103的当前状态进行显示,并开始对预期状态进行计时。如果智能设备103接收到服务器102发送的远程控制指令,则执行该远程控制指令,并在执行该远程控制指令之后,向服务器102发送实际数据包,该实际数据包携带智能设备103的实际状态,该实际状态是指该智能设备103执行该远程控制指令之后的状态。
57.如果服务器102接收到智能设备103发送的实际数据包,则将该实际数据包发送给终端101。对于终端101来说,在计时时间结束时未接收到服务器102发送的实际数据包的情况下,终端101向服务器102发送状态获取请求,该状态获取请求用于获取服务器中存储的智能设备103的最新实际状态。服务器102接收终端101发送的状态获取请求,并将存储的智
能设备103的最新实际状态发送给终端101。终端101接收服务器102发送的智能设备103的最新实际状态,并将该最新实际状态作为智能设备103的当前状态进行显示。在计时时间结束之前接收到服务器102发送的实际数据包的情况下,终端101将该实际数据包携带的实际状态作为智能设备103的当前状态进行显示,并结束计时。
58.请参考图2,服务器102可以包括设备控制服务、设备影子服务、设备对接服务和状态推送服务。设备控制服务用于接收终端101发送的远程控制指令,并将该远程控制指令发送给设备影子服务和设备对接服务。设备影子服务接收设备控制服务发送的远程控制指令,基于该远程控制指令和智能设备103的最新实际状态确定智能设备103的预期状态,并且将该预期状态发送给设备控制服务。设备控制服务还用于基于该预期状态生成预期数据包,并将该预期数据包发送给终端101。设备对接服务接收设备控制服务发送的远程控制指令,并将该远程控制指令发送给智能设备103。在智能设备103执行该远程控制指令之后,设备对接服务接收智能设备103发送的实际数据包,并将该实际数据包发送给状态推送服务,状态推送服务用于将该实际数据包发送给终端101。
59.其中,终端101可以采用app、网页、小程序等方式对智能设备进行远程控制。终端101可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如pc(personal computer,个人计算机)、手机、智能手机、pda(personal digital assistant,个人数字助手)、可穿戴设备、掌上电脑ppc(pocket pc)、平板电脑、智能车机、智能电视、智能音箱等。
60.服务器102可以是一台独立的服务器,也可以是由多台物理服务器组成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,或者是一个云计算服务中心。
61.智能设备103可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如空调、台灯、音箱等。
62.本领域技术人员应能理解上述终端101、服务器102和智能设备103仅为举例,其他现有的或今后可能出现的终端、服务器或智能设备如可适用于本技术实施例,也应包含在本技术实施例保护范围以内,并在此以引用方式包含于此。
63.需要说明的是,本技术实施例描述的应用场景以及实施环境是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着实施环境的演变,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
64.接下来对本技术实施例提供的智能设备的控制方法进行详细地解释说明。
65.图3是本技术实施例提供的一种智能设备的控制方法的流程图。请参考图3,该方法包括如下步骤。
66.步骤301:终端向服务器发送远程控制指令,该远程控制指令用于远程控制智能设备,且该远程控制指令是通过终端所触发的指令。
67.该远程控制指令为终端检测到用户的控制动作时触发的。比如,远程控制指令可以是用户在终端上采用app、网页、小程序等方式,通过语音、点击、滑动等动作触发的。
68.在一些实施例中,该远程控制指令中还携带该智能设备的设备标识,该设备标识用于唯一标识该智能设备,而且该设备标识可以为该智能设备的mac(media access control,媒体接入控制)地址、名称、编号等信息,或者是通过这些信息的组合得到。也就是说,通过该设备标识可以确定该远程控制指令对应的智能设备。
69.步骤302:服务器接收终端发送的远程控制指令,基于该智能设备的最新实际状态和远程控制指令,确定该智能设备的预期状态,该预期状态是指该智能设备执行远程控制指令之后预期达到的状态。
70.在一些实施例中,该智能设备可以周期性地将自身的实际状态上报给服务器。而且,除了周期性上报之外,如果该智能设备的实际状态一旦发生变化,该智能设备也会立即将自身的实际状态上报给服务器。所以,服务器中基本存储有智能设备的最新实际状态。另外,服务器中还存储有该智能设备的实际状态、控制指令与预期状态之间的对应关系,也就是说,对于该智能设备的实际状态来说,服务器中存储有该智能设备执行该控制指令之后预期达到的状态。例如,空调的实际状态为制冷模式、风速2级、设定温度24摄氏度,控制指令为设定温度为26摄氏度,则该空调的预期状态为制冷模式、风速2级、设定温度26摄氏度。在这种情况下,服务器接收到终端发送的远程控制指令之后,可以基于自身存储的该智能设备的最新实际状态和该远程控制指令,从该智能设备的实际状态、控制指令与预期状态之间的对应关系中确定该智能设备的预期状态。
71.需要说明的是,远程控制指令只是对智能设备的某一个功能进行控制,但对该智能设备的某一个功能进行控制之后,不仅会使该功能的状态改变,还可能会导致其他功能的状态改变。例如,远程控制指令是将空调的模式变为制冷模式,在这种情况下,空调模式的改变不仅会使空调模式改变为制冷模式,还会导致空调的设定温度、风速和风向的改变。因此,为了保证该智能设备执行该远程控制指令后,该智能设备的各个功能的状态是准确的,上述最新实际状态和预期状态是该智能设备所有功能的状态,而非远程控制指令所对应的某一个功能的状态。
72.在一些实施例中,终端可能会在短时间内对该智能设备的同一状态进行多次控制,比如,对空调的温度进行多次控制。在这种情况下,终端最后一次发送的远程控制指令可能才是用户期望该智能设备所执行的指令,但是,终端在短时间内对该智能设备的同一状态进行多次控制会产生大量无用的远程控制指令,从而导致智能设备的状态频繁变化。因此,请参考图4,服务器接收到终端发送的远程控制指令后,还可以将该远程控制指令加入消息队列中,确定该远程控制指令对应的状态指示信息,状态指示信息用于指示该远程控制指令控制该智能设备的状态。在缓存记录中的状态指示信息与该远程控制指令对应的状态指示信息不同的情况下,将缓存记录中的状态指示信息更新为该远程控制指令对应的状态指示信息。在缓存记录中的状态指示信息与该远程控制指令对应的状态指示信息相同的情况下,如果消息队列中包括缓存记录中的状态指示信息所对应的远程控制指令,则删除消息队列中与该缓存记录中的状态指示信息所对应的远程控制指令。
73.在缓存记录中的状态指示信息与该远程控制指令对应的状态指示信息不同的情况下,说明终端没有在短时间内对该智能设备的同一状态进行多次控制,该远程控制指令为有效控制指令。在这种情况下,不仅需要将该远程控制指令加入消息队列,还需要将缓存记录中的状态指示信息更新为该远程控制指令对应的状态指示信息。即,将缓存记录中的
状态指示信息替换为该远程控制指令对应的状态指示信息。
74.在缓存记录中的状态指示信息与该远程控制指令对应的状态指示信息相同的情况下,说明终端在短时间内对该智能设备的同一状态进行多次控制,而且上一次的远程控制指令可能为无效控制指令。在这种情况下,将本次的远程控制指令加入消息队列之后,还需要确定上一次的远程控制指令是否还处于消息队列中,也即是,确定消息队列中是否包括缓存记录中的状态指示信息所对应的远程控制指令。如果消息队列中包括缓存记录中的状态指示信息所对应的远程控制指令,说明上一次对该智能设备的同一状态进行控制的远程控制指令还未发送给智能设备,此时,删除消息队列中与缓存记录中的状态指示信息所对应的远程控制指令,也即是,删除上一次的远程控制指令,等待执行后续步骤。如果消息队列中不包括缓存记录中的状态指示信息所对应的远程控制指令,说明上一次对该智能设备的同一状态进行控制的远程控制指令已经发送给智能设备,此时,直接等待执行后续步骤即可。
75.基于上文描述可知,缓存记录中存储有最后一次的远程控制指令所对应的状态指示信息,通过将缓存记录中的状态指示信息与本次的远程控制指令对应的状态指示信息进行比对,可以确定终端是否在短时间内对该智能设备的同一状态进行多次控制。在确定出终端在短时间内对该智能设备的同一状态进行多次控制的情况下,删除消息队列中上一次的远程控制指令,从而有效减少服务器向智能设备发送的无用的远程控制指令,进而减少服务器与智能设备之间的交互次数,降低资源消耗。而且,智能设备也可以减少执行无用的远程控制指令,降低处理资源的消耗。
76.在一些实施例中,服务器可能需要在同一时间对多个智能设备进行控制,为了能够确定出某个终端是否在短时间内对同一个智能设备的同一状态进行多次控制,缓存记录中需要存储有每个智能设备对应的状态指示信息,也即是,缓存记录中存储有每个智能设备的设备标识与状态指示信息之间的对应关系。这样,服务器接收到终端发送的远程控制指令之后,可以确定该远程控制指令对应的设备标识和状态指示信息。然后,基于该设备标识,从缓存记录中的设备标识与状态指示信息之间的对应关系中,获取该设备标识对应的状态指示信息,进而按照上述方式将缓存记录中该设备标识对应的状态指示信息与远程控制指令对应的状态指示信息进行比对。
77.在一些实施例中,智能设备可能具有多种功能,并且智能设备的一个或者多个功能可能对应同一种状态。例如,对于空调来说,空调的功能包括开、关、制冷模式、制热模式、升高设定温度、降低设定温度、增大风速、降低风速等等。其中,开和关对应同一种状态,制冷模式和制热模式对应同一种状态,升高设定温度和降低设定温度对应同一种状态,增大风速和降低风速对应同一种状态。在这种情况下,服务器存储有功能名称与状态指示信息的对应关系。这样,在服务器接收到终端发送的远程控制指令之后,服务器可以基于该远程控制指令所要控制的功能名称,从存储的功能名称与状态指示信息的对应关系中确定该远程控制指令对应的状态指示信息。
78.步骤303:服务器向终端发送预期数据包,以及向该智能设备发送远程控制指令,该预期数据包携带该智能设备的预期状态。
79.在一些实施例中,该预期数据包中还携带该智能设备的设备标识、时间戳等等。该时间戳用于标识该预期数据包的发送时间。
80.步骤304:终端接收服务器发送的预期数据包,将该预期数据包携带的预期状态作为该智能设备的当前状态进行显示,并开始对该预期状态进行计时。
81.由于终端已经将预期状态作为该智能设备的当前状态进行显示,但此时智能设备可能还未接收到远程控制指令,并且服务器向智能设备发送该远程控制指令的过程中,还可能会因为网络延迟、丢包等原因导致远程控制指令下发失败,从而导致智能设备的实际状态和终端显示的状态不一致。为了避免上述情况发生,需要对该预期状态进行计时,从而能够及时确定该智能设备的实际状态与终端显示的状态是否一致。
82.需要说明的是,上述计时的时长是事先设置的,该时长可以按照不同的需求进行调整。而且针对不同的远程控制指令,该时长可以相同,也可以不同。
83.在一些实施例中,终端向服务器发送该远程控制指令之前,可能还向服务器发送过其他远程控制指令,而且当前可能正在对其他预期状态进行计时。为了保证该智能设备的最终状态与最后一个远程控制指令对应一致,终端在对其他预期状态进行计时的过程中检测到该远程控制指令的情况下,需要将其他预期状态的计时时间清零,并执行步骤301。
84.步骤305:在计时时间结束时未接收到服务器发送的实际数据包的情况下,终端向服务器发送状态获取请求,该状态获取请求用于从服务器中获取该智能设备的最新实际状态,实际数据包是该智能设备向服务器发送的,该实际数据包用于携带该智能设备的实际状态。
85.在服务器向该智能设备发送远程控制指令后,如果智能设备成功接收并执行该远程控制指令,会向服务器发送实际数据包。如果服务器接收到该智能设备发送的实际数据包,服务器会向终端发送该实际数据包。如果在计时时间结束时终端未接收到服务器发送的实际数据包,则说明网络不稳定导致该智能设备没有接收到该远程控制指令,或者该智能设备成功接收并执行该远程控制指令后,向服务器发送实际数据包的链路中断。
86.基于上文描述,该智能设备会周期性地将自身的实际状态上报给服务器,而且在该智能设备的实际状态发生变化时也会立即将自身的实际状态上报给服务器。如果是因为网络不稳定导致该智能设备没有接收到该远程控制指令,说明该智能设备没有执行该远程控制指令,进而说明终端显示的状态与智能设备的实际状态不一致。在这种情况下,服务器中存储的该智能设备的最新实际状态与该智能设备当前的实际状态保持一致,所以终端可以获取服务器中存储的该智能设备的最新实际状态,保证终端显示的状态与智能设备的实际状态一致,从而解决网络不稳定导致终端显示的状态与智能设备的实际状态不一致的问题。如果是因为该智能设备向服务器发送实际数据包的链路中断而导致终端未接收到服务器发送的实际数据包,说明该智能设备处于断网状态。在这种情况下,服务器中存储的该智能设备的最新实际状态为该智能设备断网前的实际状态,虽然服务器中存储的该智能设备的最新实际状态与智能设备的实际状态不一致,但是相对来说也比较符合用户的心理预期,所以,终端也可以获取服务器中存储的该智能设备的最新实际状态。
87.需要说明的是,服务器向终端发送实际数据包的方式有多种。例如,服务器可以通过长连接的方式向终端发送实际数据包。本技术实施对此不做限定。
88.另外,智能设备在断网之后重新连接网络后,该智能设备会重新向服务器发送该智能设备的实际数据包。此时服务器在接收到该实际数据包后,会将该实际数据包发送给终端,终端接收服务器发送的实际数据包,并将该实际数据包中的实际状态作为该智能设
备的当前状态进行显示。也即是,智能设备在断网之后重新连接网络后,通过重新向服务器发送该智能设备的实际数据包,最终会使终端显示的状态与智能设备的实际状态一致。
89.在计时时间结束之前接收到服务器发送的实际数据包的情况下,将实际数据包中的实际状态与预期状态进行比较。如果实际数据包中的实际状态与预期状态不同,则基于实际数据包,确定实际数据包中的实际状态是该智能设备执行实体控制指令后达到的状态,还是执行远程控制指令后达到的状态,实体控制指令是指通过直接操作该智能设备所触发的指令。若实际数据包中的实际状态是该智能设备执行远程控制指令后达到的状态,则丢弃实际数据包,并继续对预期状态进行计时。若实际数据包中的实际状态是该智能设备执行实体控制指令后达到的状态,则将实际数据包中的实际状态作为该智能设备的当前状态进行显示,并继续对预期状态进行计时。
90.在实际应用中,除了可以通过终端对该智能设备进行远程控制之外,还可以对该智能设备进行实体控制,也即是,用户通过直接操作该智能设备来触发实体控制指令,进而通过该实体控制指令对该智能设备进行控制。在这种情况下,该智能设备在执行完实体控制指令后,会向服务器发送实际数据包,服务器也会将该实际数据包发送给终端。因此,请参考图5,如果服务器接收到的实际数据包中的实际状态与预期状态不同,说明终端接收的实际数据包可能是终端在历史时间向服务器发送的其他远程控制指令所对应的实际数据包,也可能是智能设备执行实体控制指令后向服务器发送的实际数据包。所以,服务器可以基于实际数据包,确定实际数据包中的实际状态是该智能设备执行实体控制指令后达到的状态,还是执行远程控制指令后达到的状态,若实际数据包中的实际状态是该智能设备执行远程控制指令后达到的状态,则说明终端接收的实际数据包是终端在历史时间向服务器发送的其他远程控制指令所对应的实际数据包,该实际数据包已经失去了时效性,不能准确表示智能设备的当前状态,此时还需要继续等待本次远程控制指令所对应的实际数据包,因此丢弃该实际数据包,并继续对预期状态进行计时。若实际数据包中的实际状态是该智能设备执行实体控制指令后达到的状态,则说明终端接收的实际数据包是智能设备执行实体控制指令后向服务器发送的实际数据包,该实际数据包能够准确表示智能设备的当前状态,因此,需要将该实际数据包中的实际状态作为该智能设备的当前状态进行显示,但是服务器基于该实际数据包并不能确定本次远程控制指令是否成功发送给智能设备并执行,此时需要继续等待远程控制指令所对应的实际数据包,因此需要继续对预期状态进行计时。
91.如果服务器接收到的实际数据包中的实际状态与预期状态相同,则说明该智能设备成功执行本次的远程控制指令,在这种情况下,将实际状态作为智能设备的当前状态进行显示,并结束对该预期状态的计时。
92.在一些实施例中,实际数据包携带控制标志位,该控制标志位用于指示实际数据包对应的控制指令的类型。此时,可以通过控制标志位的取值来确定实际数据包中的实际状态是该智能设备执行实体控制指令后达到的状态,还是执行远程控制指令后达到的状态。即,若控制标志位为第一数值,则确定实际数据包中的实际状态是该智能设备执行实体控制指令后达到的状态。若控制标志位为第二数值,则确定实际数据包中的实际状态是该智能设备执行历史的远程控制指令后达到的状态。
93.其中,第一数值和第二数值是事先设置的,例如,第一数值可以设置为0,第二数值
可以设置为1。而且在不同的情况下,还可以按照不同的需求进行调整。
94.在一些实施例中,一个智能设备可能会绑定多个终端,也即是,该多个终端都可以对该智能设备进行控制。在某些情况下,可能当前只有一个终端对该智能设备进行控制,此时,服务器可以将预期数据包发送给该终端,但是,由于该多个终端都需要显示该智能设备的状态。在这种情况下,服务器接收到智能设备发送的实际数据包之后,可以将智能设备发送的实际数据包发送给各个终端。这样,对于其他未进行控制的终端来说,这些终端接收到服务器发送的实际数据包之后,可以直接将该实际数据包中的实际状态作为该智能设备的当前状态进行显示。
95.步骤306:服务器接收终端发送的状态获取请求,将存储的该智能设备的最新实际状态发送给终端。
96.基于上文描述,智能设备会周期性地将自身的实际状态上报给服务器,而且在该智能设备的实际状态发生变化时也会立即将自身的实际状态上报给服务器,所以,服务器可以将距离当前时间最近一次接收到的该智能设备的实际状态作为该智能设备的最新实际状态,并发送给终端。
97.步骤307:终端接收服务器发送的最新实际状态,将最新实际状态作为该智能设备的当前状态进行显示。
98.在一些实施例中,终端可能对该智能设备的不同状态进行频繁地控制,在这种情况下,服务器向终端发送的预期数据包、智能设备向服务器发送的实际数据包、以及服务器向终端发送的实际数据包可能都会因为网络延迟而导致乱序。因此,服务器向终端发送预期数据包之前,还可以生成预期版本号,此时,服务器向终端发送的预期数据包还携带预期版本号。而且,服务器向该智能设备发送远程控制指令时,还可以发送预期版本号。这样,终端接收到服务器发送的预期数据包之后,将该预期状态作为该智能设备的当前状态进行显示,并开始对该预期状态进行计时,终端还会存储预期数据包中携带的预期版本号。该智能设备接收到服务器发送的远程控制指令和预期版本号之后,执行该远程控制指令,然后,将该预期版本号作为实际版本号,向服务器发送实际数据包,该实际数据包中携带该智能设备的实际状态以及实际版本号。服务器接收该智能设备发送的实际数据包,并将该实际数据包发送给终端。
99.请参考图6,在计时时间结束之前终端接收到服务器发送的实际数据包的情况下,终端将实际版本号与预期版本号进行比较。如果实际版本号大于或等于预期版本号,则将实际状态作为该智能设备的当前状态进行显示,并结束对预期状态进行计时。如果实际版本号小于预期版本号,则丢弃实际数据包,并继续对预期状态进行计时。
100.如果实际版本号等于预期版本号,则说明该实际版本号与预期版本号对应同一个远程控制指令,此时该智能设备已经成功执行该远程控制指令。如果实际版本号大于预期版本号,则说明该实际版本号对应的远程控制指令是最新的下发的,此时终端还没有接收到最新远程控制指令对应的预期数据包。在这两种情况下,该实际数据包能够准确表示智能设备的当前状态,并且服务器能够确定最新的远程控制指令已经成功发送给智能设备并执行,因此将实际状态作为该智能设备的当前状态进行显示,并结束对预期状态进行计时。如果实际版本号小于预期版本号,说明该实际数据包是终端在历史时间向服务器发送的其他远程控制指令所对应的实际数据包,此时,实际数据包的上报已发生乱序,也即是,智能
设备向服务器发送的实际数据包或者服务器向终端发送实际数据包产生了乱序。在这种情况下,该实际数据包已经失去了时效性,不能准确表示该智能设备的当前状态,此时还需要继续等待本次远程控制指令所对应的实际数据包,因此丢弃接收到的实际数据包,并继续对预期状态进行计时。
101.在计时时间结束之前未接收到服务器发送的实际数据包的情况下,则说明网络不稳定导致该智能设备没有接收到该远程控制指令,或者该智能设备成功接收并执行该远程控制指令后,向服务器发送实际数据包的链路中断,也即是,该智能设备处于断网状态。由于出现该情况的原因与上文执行305步骤的原因一致,在这种情况下,为了使终端显示的状态与智能设备实际状态一致,或者,使终端显示该智能设备断网前的最新状态,则可以执行上述步骤305-307。
102.其中,预期版本号用于唯一标识一个预期数据包,该预期版本号可以基于远程控制指令的接收时间来确定。例如,该远程控制指令的接收时间为2022年4月20日15时45分27秒,则该预期版本号为20220420154527。当然,该预期版本号也可以基于其他规则确定,本技术实施例对此不做限定。
103.基于上文描述,通过判断计时时间结束之前终端是否接收到服务器发送的实际数据包,可以确定该远程控制指令是否成功下发给智能设备。在终端没有接收到实际数据包的情况下,终端获取服务器中存储的该智能设备的最新实际状态,可以保证终端显示的状态与智能设备实际状态一致,或者使终端显示该智能设备断网前的最新状态。在终端接收到实际数据包的情况下,服务器通过将实际版本号与预期版本号进行比对,可以准确判断终端接收的实际数据包是否存在上报乱序的情况,并且还能够确定是否出现由于网络不稳定而导致终端没有接收到最新远程控制指令对应的预期数据包的情况,进而使终端显示的状态与智能设备实际状态一致。
104.基于上文描述,智能设备会周期性地将自身的实际状态上报给服务器。但是,在终端上一次对该智能设备进行远程控制之后,再未对该智能设备进行远程控制的情况下,智能设备周期性向服务器发送的实际数据包中携带的版本号为上一次确定的实际版本号。也即是,在这种情况下,该智能设备的实际状态并未发生变化。
105.需要说明的是,如果服务器向智能设备发送远程控制指令时不需要携带预期版本号,那么服务器在接收到终端发送的远程控制指令之后,可以直接将该远程控制指令发送给智能设备,也可以如步骤303所述,在向终端发送预期数据包时,向该智能设备发送远程控制指令。如果服务器向智能设备发送远程控制指令时还需要携带预期版本号,那么服务器需要在生成预期版本号之后,向智能设备发送预期版本号和远程控制指令。也即是,在不同的情况下,服务器向该智能设备发送远程控制指令的时机不同。
106.在本技术实施例中,服务器接收到终端发送的远程控制指令之后,可以基于智能设备的最新实际状态和该远程控制指令,确定该智能设备的预期状态,并将该预期状态发送给终端。这样,终端可以直接将该预期状态作为智能设备的当前状态进行显示,从而无需等待智能设备实际执行该远程控制指令后返回的状态,提高了状态显示的效率。
107.其次,终端接收到该预期状态之后,可以对该预期状态进行计时,从而判断在计时时间结束之前是否接收到服务器发送的实际数据包,进而确定该远程控制指令是否成功下发给智能设备,或者该智能设备是否处于断网状态。在计时时间结束之前终端未接收到服
务器发送的实际数据包的情况下,通过本技术实施例的方法可以确定该远程控制指令是否成功下发给智能设备,并且使终端显示的状态进行更新。在该远程控制指令未下发给智能设备的情况下,服务器中存储的该智能设备的最新实际状态与该智能设备的当前状态一致,此时,通过显示服务器中存储的该智能设备的最新实际状态,可以保证终端显示的状态与智能设备的实际状态一致。在该远程控制指令成功下发给智能设备,但是终端未接收到该智能设备上报的实际状态的情况下,也即是,该智能设备处于断网状态的情况下,服务器中存储的最新实际状态为该智能设备断网前的状态,虽然断网前的状态与智能设备的实际状态不一致,但是相对来说也比较符合用户的心理预期。
108.此外,对于上报乱序的情况下,在终端接收到实际数据包的情况下,服务器通过将实际版本号与预期版本号进行比对,可以准确判断终端接收的实际数据包是否存在上报乱序的情况,并且还能够确定是否出现由于网络不稳定而导致终端没有接收到最新远程控制指令对应的预期数据包的情况,进而使终端显示的状态与智能设备实际状态一致。
109.最后,通过将缓存记录中的状态指示信息与本次的远程控制指令对应的状态指示信息进行比对,可以确定终端是否在短时间内对该智能设备的同一状态进行多次控制。在确定出终端在短时间内对该智能设备的同一状态进行多次控制的情况下,删除消息队列中上一次的远程控制指令,从而有效减少服务器向智能设备发送的无用的远程控制指令,进而减少服务器与智能设备之间的交互次数,降低资源消耗。而且,智能设备也可以减少执行无用的远程控制指令,降低处理资源的消耗。
110.本技术实施例还提供了一种智能设备的控制装置,该智能设备的控制装置可以由软件、硬件或者两者的结合实现成为上述终端的部分或者全部。该装置包括:第一发送模块、第一接收模块、第一显示模块、第二发送模块和第二接收模块。
111.第一发送模块,用于向服务器发送远程控制指令,该远程控制指令用于远程控制智能设备,且该远程控制指令是通过终端所触发的指令。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
112.第一接收模块,用于接收服务器发送的预期数据包,该预期数据包携带预期状态,该预期状态是指智能设备执行该远程控制指令之后预期达到的状态。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
113.第一显示模块,用于将预期状态作为智能设备的当前状态进行显示,并开始对该预期状态进行计时。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
114.第二发送模块,用于在计时时间结束时未接收到服务器发送的实际数据包的情况下,向服务器发送状态获取请求,该状态获取请求用于从服务器中获取智能设备的最新实际状态,该实际数据包是智能设备向服务器发送的,该实际数据包用于携带智能设备的实际状态。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
115.第二接收模块,用于接收服务器发送的最新实际状态,将该最新实际状态作为智能设备的当前状态进行显示。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
116.可选地,该装置还包括:
117.比较模块,用于在计时时间结束之前接收到服务器发送的实际数据包的情况下,将该实际数据包中的实际状态与预期状态进行比较;
118.确定模块,用于如果实际状态与预期状态不同,则基于实际数据包,确定实际状态是智能设备执行实体控制指令后达到的状态,还是执行远程控制指令后达到的状态,该实体控制指令是指通过直接操作智能设备所触发的指令;
119.第一丢弃模块,用于若实际状态是智能设备执行远程控制指令后达到的状态,则丢弃该实际数据包,并继续对预期状态进行计时;
120.第二显示模块,用于若实际状态是智能设备执行实体控制指令后达到的状态,则将该实际状态作为智能设备的当前状态进行显示,并继续对预期状态进行计时。
121.可选地,实际数据包携带控制标志位,该控制标志位用于指示实际数据包对应的控制指令的类型;
122.确定模块具体用于:
123.若控制标志位为第一数值,则确定实际状态是智能设备执行实体控制指令后达到的状态;
124.若控制标志位为第二数值,则确定实际状态是智能设备执行历史的远程控制指令后达到的状态。
125.可选地,该装置还包括:
126.清零模块,用于在对其他预期状态进行计时的过程中检测到远程控制指令的情况下,将该其他预期状态的计时时间清零,并执行向服务器发送远程控制指令的步骤。
127.可选地,预期数据包还携带预期版本号,实际数据包还携带实际版本号;
128.该装置还包括:
129.比较模块,用于在计时时间结束之前接收到服务器发送的实际数据包的情况下,将实际版本号与预期版本号进行比较;
130.第三显示模块,用于如果实际版本号大于或等于预期版本号,则将该实际状态作为智能设备的当前状态进行显示,并结束对该预期状态进行计时;
131.第二丢弃模块,用于如果实际版本号小于预期版本号,则丢弃该实际数据包,并继续对该预期状态进行计时。
132.在本技术实施例中,服务器接收到终端发送的远程控制指令之后,可以基于智能设备的最新实际状态和该远程控制指令,确定该智能设备的预期状态,并将该预期状态发送给终端。这样,终端可以直接将该预期状态作为智能设备的当前状态进行显示,从而无需等待智能设备实际执行该远程控制指令后返回的状态,提高了状态显示的效率。
133.其次,终端接收到该预期状态之后,可以对该预期状态进行计时,从而判断在计时时间结束之前是否接收到服务器发送的实际数据包,进而确定该远程控制指令是否成功下发给智能设备,或者该智能设备是否处于断网状态。在计时时间结束之前终端未接收到服务器发送的实际数据包的情况下,通过本技术实施例的方法可以确定该远程控制指令是否成功下发给智能设备,并且使终端显示的状态进行更新。在该远程控制指令未下发给智能设备的情况下,服务器中存储的该智能设备的最新实际状态与该智能设备的当前状态一致,此时,通过显示服务器中存储的该智能设备的最新实际状态,可以保证终端显示的状态与智能设备的实际状态一致。在该远程控制指令成功下发给智能设备,但是终端未接收到该智能设备上报的实际状态的情况下,也即是,该智能设备处于断网状态的情况下,服务器中存储的最新实际状态为该智能设备断网前的状态,虽然断网前的状态与智能设备的实际
状态不一致,但是相对来说也比较符合用户的心理预期。
134.此外,对于上报乱序的情况下,在终端接收到实际数据包的情况下,服务器通过将实际版本号与预期版本号进行比对,可以准确判断终端接收的实际数据包是否存在上报乱序的情况,并且还能够确定是否出现由于网络不稳定而导致终端没有接收到最新远程控制指令对应的预期数据包的情况,进而使终端显示的状态与智能设备实际状态一致。
135.最后,通过将缓存记录中的状态指示信息与本次的远程控制指令对应的状态指示信息进行比对,可以确定终端是否在短时间内对该智能设备的同一状态进行多次控制。在确定出终端在短时间内对该智能设备的同一状态进行多次控制的情况下,删除消息队列中上一次的远程控制指令,从而有效减少服务器向智能设备发送的无用的远程控制指令,进而减少服务器与智能设备之间的交互次数,降低资源消耗。而且,智能设备也可以减少执行无用的远程控制指令,降低处理资源的消耗。
136.本技术实施例还提供了一种智能设备的控制装置,该智能设备的控制装置可以由软件、硬件或者两者的结合实现成为上述服务器的部分或者全部。该装置包括:第一接收模块、第一确定模块、第一发送模块和第二接收模块。
137.第一接收模块,用于接收终端发送的远程控制指令,该远程控制指令用于远程控制智能设备,且该远程控制指令是通过终端所触发的指令。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
138.第一确定模块,用于基于智能设备的最新实际状态和远程控制指令,确定该智能设备的预期状态,该预期状态是指智能设备执行该远程控制指令之后预期达到的状态。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
139.第一发送模块,用于向终端发送预期数据包,以及向智能设备发送远程控制指令,该预期数据包携带预期状态,该预期数据包用于指示终端将该预期状态作为智能设备的当前状态进行显示,并开始对该预期状态进行计时。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
140.第二接收模块,用于接收终端发送的状态获取请求,将存储的智能设备的最新实际状态发送给该终端,以使该终端将最新实际状态作为智能设备的当前状态进行显示,该状态获取请求是终端在计时时间结束时未接收到服务器发送的实际数据包的情况下发送的,该实际数据包是智能设备向服务器发送的,该实际数据包用于携带智能设备的实际状态。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
141.可选地,该装置还包括:
142.生成模块,用于生成预期版本号,该预期数据包还携带预期版本号;
143.第二发送模块,用于向智能设备发送该预期版本号;
144.第三接收模块,用于接收智能设备发送的实际数据包,该实际数据包括还携带实际版本号。
145.可选地,该装置还包括:
146.加入模块,用于将远程控制指令加入消息队列中;
147.第二确定模块,用于确定远程控制指令对应的状态指示信息,该状态指示信息用于指示该远程控制指令控制智能设备的状态;
148.更新模块,用于在缓存记录中的状态指示信息与远程控制指令对应的状态指示信
息不同的情况下,将该缓存记录中的状态指示信息更新为远程控制指令对应的状态指示信息;
149.删除模块,用于在缓存记录中的状态指示信息与远程控制指令对应的状态指示信息相同的情况下,如果消息队列中包括缓存记录中的状态指示信息所对应的远程控制指令,则删除该消息队列中与缓存记录中的状态指示信息所对应的远程控制指令。
150.在本技术实施例中,服务器接收到终端发送的远程控制指令之后,可以基于智能设备的最新实际状态和该远程控制指令,确定该智能设备的预期状态,并将该预期状态发送给终端。这样,终端可以直接将该预期状态作为智能设备的当前状态进行显示,从而无需等待智能设备实际执行该远程控制指令后返回的状态,提高了状态显示的效率。
151.其次,终端接收到该预期状态之后,可以对该预期状态进行计时,从而判断在计时时间结束之前是否接收到服务器发送的实际数据包,进而确定该远程控制指令是否成功下发给智能设备,或者该智能设备是否处于断网状态。在计时时间结束之前终端未接收到服务器发送的实际数据包的情况下,通过本技术实施例的方法可以确定该远程控制指令是否成功下发给智能设备,并且使终端显示的状态进行更新。在该远程控制指令未下发给智能设备的情况下,服务器中存储的该智能设备的最新实际状态与该智能设备的当前状态一致,此时,通过显示服务器中存储的该智能设备的最新实际状态,可以保证终端显示的状态与智能设备的实际状态一致。在该远程控制指令成功下发给智能设备,但是终端未接收到该智能设备上报的实际状态的情况下,也即是,该智能设备处于断网状态的情况下,服务器中存储的最新实际状态为该智能设备断网前的状态,虽然断网前的状态与智能设备的实际状态不一致,但是相对来说也比较符合用户的心理预期。
152.此外,对于上报乱序的情况下,在终端接收到实际数据包的情况下,服务器通过将实际版本号与预期版本号进行比对,可以准确判断终端接收的实际数据包是否存在上报乱序的情况,并且还能够确定是否出现由于网络不稳定而导致终端没有接收到最新远程控制指令对应的预期数据包的情况,进而使终端显示的状态与智能设备实际状态一致。
153.最后,通过将缓存记录中的状态指示信息与本次的远程控制指令对应的状态指示信息进行比对,可以确定终端是否在短时间内对该智能设备的同一状态进行多次控制。在确定出终端在短时间内对该智能设备的同一状态进行多次控制的情况下,删除消息队列中上一次的远程控制指令,从而有效减少服务器向智能设备发送的无用的远程控制指令,进而减少服务器与智能设备之间的交互次数,降低资源消耗。而且,智能设备也可以减少执行无用的远程控制指令,降低处理资源的消耗。
154.需要说明的是:上述实施例提供的智能设备的控制装置在进行智能设备的控制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的智能设备的控制装置与智能设备的控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
155.图7是本技术实施例提供的一种终端700的结构框图。该终端700可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端
700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
156.通常,终端700包括有:处理器701和存储器702。
157.处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
158.存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本技术中方法实施例提供的智能设备的控制方法。
159.在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
160.外围设备接口703可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
161.射频电路704用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术实施例对此不加以限定。
162.显示屏705用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或
软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
163.摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
164.音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
165.定位组件708用于定位终端700的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件708可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
166.电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
167.在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
168.加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
169.陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3d动作。处理器701根据陀螺仪传感器712
采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
170.压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
171.指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商logo时,指纹传感器714可以与物理按键或厂商logo集成在一起。
172.光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
173.接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
174.本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
175.图8是本技术实施例提供的一种服务器的结构示意图。服务器800包括中央处理单元(cpu)801、包括随机存取存储器(ram)802和只读存储器(rom)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
176.基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
177.大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,大容量存储设备807可以包括诸如硬盘或者cd-rom驱动器之类的
计算机可读介质(未示出)。
178.不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
179.根据本技术的各种实施例,服务器800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器800可以通过连接在系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
180.上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。
181.在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中智能设备的控制方法的步骤。例如,所述计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘和光数据存储设备等。
182.值得注意的是,本技术实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
183.应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
184.也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的智能设备的控制方法的步骤。
185.应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
186.需要说明的是,本技术实施例所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术实施例中涉及到的终端向服务器发送的远程控制指令和智能设备向服务器发送的实际数据包都是在充分授权的情况下获取的。
187.以上所述为本技术提供的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1