1.本发明涉及设备控制技术领域,具体涉及一种物联网设备控制方法、装置、电子设备和存储介质。
背景技术:2.目前,多数物联网设备控制是通过mqtt协议或者socket协议甚至是http协议发送相应的控制指令到设备端,然后设备响应指令,做出相应的动作。前端应用多数是小程序/app等,通过调用云端服务,下发控制指令,进而做到控制设备。但是其云端服务多数是没有把设备属性能力和属性值区分开。
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.本发明的有益效果是:本发明涉及一种物联网设备控制方法、装置、电子设备和存储介质,应用于包括:物联网设备、服务器端和移动终端组成的系统中,包括:移动终端发送控制指令到物联网设备;当物联网设备在线时,物联网设备发送属性值到服务器端的设备影子;物联网设备根据控制指令中的属性值和设备影子中的属性值更新物联网设备的属性值到控制指令中的属性值。本技术服务器端的设备影子是一个json文档,可以存储物联网设备发送的属性值以及控制指令中的属性值,可以方便的将物联网设备的属性值,以及各属性真实值分开,便于查询统计控制指令都是发送到设备影子,设备影子存储各属性的当前属性值以及控制指令中的属性值。如果设备在线,则可以直接发送到物联网设备,并更新物联网设备的属性值到控制指令中的属性值。
附图说明
35.图1为本发明实施例提供的一种物联网设备控制方法图一;
36.图2为本发明实施例提供的一种物联网设备控制方法图二;
37.图3为本发明实施例提供的一种物联网设备控制方法图三;
38.图4为本发明实施例提供的一种物联网设备控制装置图;
39.图5为本发明实施例提供的一种电子设备的示意性框图。
具体实施方式
40.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
41.为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本技术的限定。基于所描述的本技术的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
42.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
43.图1为本发明实施例提供的一种物联网设备控制方法图一。
44.第一方面,结合图1,本技术实施例提供一种物联网设备控制方法,应用于包括:物联网设备、服务器端和移动终端组成的系统中,包括s101到s103三个步骤:
45.s101:移动终端发送控制指令到物联网设备。
46.具体的,本技术实施例中,移动终端可以是手机、平板等,发送控制指令到物联网设备可以是通过移动终端的应用程序、小程序等发送控制指令到物联网设备,物联网设备可以是空调、冰箱等设备,从而通过移动终端远程控制物联网设备。
47.s102:当物联网设备在线时,物联网设备发送属性值到服务器端的设备影子。
48.具体的,本技术实施例中,在网络良好的情况下,即物联网设备在线时,物联网设备接收到移动终端发送的控制指令,物联网设备发送属性值到服务器端的设备影子,如空调发送当前的温度、时间戳到服务器端的设备影子,服务器端的设备影子是一个json文档,可以存储物联网设备发送的属性值以及控制指令中的属性值。
49.应理解,通过增加设备影子,每个物联网设备都有各自的属性特征,通过把每个物联网设备以及属性映射为设备影子,从而记录真实的属性值以及控制指令中的属性值。可以方便的将物联网设备的属性特征,以及各属性特征的真实值分开,便于查询统计等。
50.s103:物联网设备根据控制指令中的属性值和设备影子中的属性值更新物联网设备的属性值到控制指令中的属性值。
51.具体的,本技术实施例中,控制指令都是发送到设备影子,设备影子存储各属性的当前属性值以及控制指令中的属性值。如果设备在线,则可以直接发送到物联网设备,并更新物联网设备的属性值到控制指令中的属性值。
52.上文通过s101到s103三个步骤介绍了在网络良好的情况下控制物联网设备,下文通过s201到s202两个步骤介绍在网络不良的情况下控制物联网设备。
53.图2为本发明实施例提供的一种物联网设备控制方法图二。
54.在一些实施例中,结合图2,上述物联网设备控制方法还包括s201到s202两个步骤:
55.s201:当所述物联网设备不在线时,所述物联网设备再次上线后,所述服务器端的设备影子获取物联网设备的属性值。
56.具体的,本技术实施例中,如果网络不良,设备不在线,设备影子只会更新控制指
令中的属性值,等到网络良好时,物联网设备在线,服务器端的设备影子主动获取物联网设备的最新属性值。
57.s202:所述物联网设备根据控制指令中的属性值和所述设备影子中的属性值确定是否更新物联网设备的属性值到控制指令中的属性值。
58.具体的,本技术实施例中,因为控制指令发送到物联网设备的同时,也会更新到服务器端的设备影子,物联网设备在弱网或者无网的环境下,即使控制指令没有及时发送到物联网设备;等到物联网设备网络环境通畅时,可以同步物联网设备的属性值到设备影子的属性值,从而根据控制指令中的属性值以及时间戳,来判断是否需要执行控制指令更新物联网设备的属性值到控制指令中的属性值。
59.图3为本发明实施例提供的一种物联网设备控制方法图三。
60.在一些实施例中,上述物联网设备控制方法还包括s301到s303三个步骤:
61.s301:所述移动终端发送期望属性值到服务器端的设备影子。
62.具体的,本技术实施例中,用户通过移动终端的应用程序或小程序发送期望属性值到服务器端的设备影子,如发送空调期望的温度值是28摄氏度,制冷到服务器端的设备影子。
63.s302:所述服务器端的设备影子发送所述期望属性值到所述物联网设备。
64.具体的,本技术实施例中,用户通过移动终端的应用程序或小程序发送期望属性值到服务器端的设备影子,服务器端的设备影子继续发送期望属性值到物联网设备。
65.s303:所述物联网设备根据所述期望属性值以及真实属性值,更新所述真实属性值到所述期望属性值。
66.具体的,本技术实施例中,服务器端的设备影子发送期望属性值到物联网设备,物联网设备根据期望属性值以及真实属性值对属性值进行更新。
67.在一些实施例中,上述物联网设备控制方法还包括:
68.发送更新后的期望属性值到设备影子;
69.清除失效的期望属性值。
70.具体的,本技术实施例,在更新物联网设备的到期望属性值后,还可以更新期望属性值到设备影子,设备影子对一些失效的期望属性值进行清除,例如对时间比较久的期望属性值进行清除。
71.在一些实施例中,上述物联网设备控制方法还包括:
72.所述物联网设备向所述服务器端的设备影子发送删除属性值的信息;
73.所述服务器端的设备影子删除所述属性值。
74.具体的,本技术实施例中,若物联网设备端的属性值已经是最新状态,物联网设备可以发送指令,删除设备影子中保存的某条属性值,从而通过物联网设备就可以删除设备影子中的某条属性值。
75.本技术中的设备影子通过topic进行流转控制,物联网设备发送属性值到设备影子,移动终端更改物联网设备的属性值,物联网设备离线再上线后主动获取设备影子的信息,并且可以在物联网设备请求删除设备影子中的属性值。
76.在一些实施例中,上述物联网设备控制方法还包括:
77.在移动终端显示所述物联网设备的属性值。
78.具体的,本技术实施例中,在移动终端显示物联网设备的属性值,用户可以直观的看到物联网设备的属性值,提升了用户体验。
79.在一些实施例中,上述物联网设备控制方法中:
80.所述移动终端发送控制指令到所述物联网设备,通过消息队列的异步消息同步到服务器端的设备影子。
81.具体的,本技术实施例中,移动终端发送控制指令到物联网设备,首先是发送到设备影子,并且是通过消息队列的异步消息同步到设备影子,这样即使物联网设备量大的时候,也能够满足一定的吞吐量。
82.图4为本发明实施例提供的一种物联网设备控制装置图;
83.第二方面,本发明实施例还提供一种物联网设备控制装置,应用于包括:物联网设备、服务器端和移动终端组成的系统中,结合图4,包括第一发送模块401、第二发送模块402和更新模块403。
84.第一发送模块401:用于移动终端发送控制指令到物联网设备。
85.具体的,本技术实施例中,移动终端可以是手机、平板等,第一发送模块401发送控制指令到物联网设备可以是通过移动终端的应用程序、小程序等发送控制指令到物联网设备,物联网设备可以是空调、冰箱等设备,从而通过移动终端远程控制物联网设备。
86.第二发送模块402:用于当物联网设备在线时,物联网设备发送属性值到服务器端的设备影子。
87.具体的,本技术实施例中,在网络良好的情况下,即物联网设备在线时,物联网设备接收到移动终端发送的控制指令,物联网设备中的第二发送模块402发送属性值到服务器端的设备影子,如空调发送当前的温度、时间戳到服务器端的设备影子,服务器端的设备影子是一个json文档,可以存储物联网设备发送的属性值以及控制中的属性值。
88.应理解,通过增加设备影子,每个物联网设备都有各自的属性特征,通过把每个物联网设备以及属性映射为设备影子,从而记录真实的属性值以及控制指令中的属性值。可以方便的将物联网设备的属性特征,以及各属性特征的真实值分开,便于查询统计等。
89.更新模块403:用于物联网设备根据控制指令中的属性值和所述设备影子中的属性值更新物联网设备的属性值到控制指令中的属性值。
90.具体的,本技术实施例中,控制指令都是发送到设备影子,设备影子存储各属性的当前属性值以及控制指令中的属性值。如果设备在线,则可以直接下发到物联网设备,更新模块403更新物联网设备的属性值到控制指令中的属性值。
91.第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器;
92.所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述一种物联网设备控制方法。
93.第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述任一项所述一种物联网设备控制方法。
94.图5是本公开实施例提供的一种电子设备的示意性框图。
95.如图5所示,电子设备包括:至少一个处理器501、至少一个存储器502和至少一个通信接口503。电子设备中的各个组件通过总线系统504耦合在一起。通信接口503,用于与
外部设备之间的信息传输。可理解,总线系统504用于实现这些组件之间的连接通信。总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但为了清楚说明起见,在图5中将各种总线都标为总线系统504。
96.可以理解,本实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
97.在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序。
98.其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序,包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。实现本技术实施例提供的一种物联网设备控制方法中任一方法的程序可以包含在应用程序中。
99.在本技术实施例中,处理器501通过调用存储器502存储的程序或指令,具体的,可以是应用程序中存储的程序或指令,处理器501用于执行本技术实施例提供的一种物联网设备控制方法各实施例的步骤。
100.所述移动终端发送控制指令到所述物联网设备;
101.当所述物联网设备在线时,所述物联网设备发送属性值到服务器端的设备影子;
102.所述物联网设备根据控制指令中的属性值和所述设备影子中的属性值更新物联网设备的属性值到控制指令中的属性值。
103.本技术实施例提供的一种物联网设备控制方法中任一方法可以应用于处理器501中,或者由处理器501实现。处理器501可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
104.本技术实施例提供的一种物联网设备控制方法中任一方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成一种物联网设备控制方法的步骤。
105.本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。
106.本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
107.虽然结合附图描述了本技术的实施方式,但是本领域技术人员可以在不脱离本技术的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
108.以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。