CN115550391A - 设备控制方法和电子设备 - Google Patents
设备控制方法和电子设备 Download PDFInfo
- Publication number
- CN115550391A CN115550391A CN202210191357.7A CN202210191357A CN115550391A CN 115550391 A CN115550391 A CN 115550391A CN 202210191357 A CN202210191357 A CN 202210191357A CN 115550391 A CN115550391 A CN 115550391A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- service
- state
- electronic
- control channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2814—Exchanging control software or macros for controlling appliance services in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供了一种设备控制方法和电子设备,该方法由第一电子设备执行,包括:根据用户输入的第一操作生成控制指令,该第一操作请求控制第二电子设备;若第二电子设备处于上线状态,则根据第二电子设备的上线状态确定发送控制指令的控制通道,上线状态包括远场上线状态和/或近场上线状态;通过控制通道,向第二电子设备发送上述控制指令。该方法可以提高设备控制的成功率。
Description
技术领域
本申请涉及物联网技术领域,具体涉及一种设备控制方法和电子设备。
背景技术
当前,物联网(internet of things,IoT)技术为人们的生活提供了极大的便利,智能家居设备的种类也越来越多,例如智能电视、智能音箱、智能冰箱等都可以进行联网,用户可使用电子设备(如手机)对这些智能家居设备进行统一的管理、控制。
通常,用户可以通过电子设备上安装的应用程序(application,APP)对智能家居设备进行控制。以智能电视为例,用户通过手机上的APP可控制智能电视的开启、关闭或者音量大小等。那么,就需要一种高效的设备控制方法,以提高控制成功率。
发明内容
本申请提供了一种设备控制方法和电子设备,可以提高设备控制的成功率。
第一方面,本申请提供一种设备控制方法,该方法由第一电子设备执行,包括:根据用户输入的第一操作生成控制指令,该第一操作请求控制第二电子设备;若第二电子设备处于上线状态,则根据第二电子设备的上线状态确定发送控制指令的控制通道,上线状态包括远场上线状态和/或近场上线状态;通过控制通道,向第二电子设备发送上述控制指令。
其中,第二电子设备也可称为被控设备,第一操作可以为用户在第一电子设备的智慧空间APP上输入的对第二电子设备的控制操作,比如开启、关闭、调节音量等操作。在第二电子设备处于远场上线状态的情况下,第一电子设备可以通过远场控制通道向第二电子设备发送控制指令;在第二电子设备处于近场上线状态的情况下,第一电子设备可以通过近场控制通道向第二电子设备发送控制指令;在第二电子设备同时处于远场上线状态和近场上线状态的情况下,为提高控制成功率,电子设备优先使用近场控制通道发送控制命令。
上述实现方式,电子设备可以根据被控设备的上线状态类型选择对应的控制通道,以提高设备控制的成功率。
结合第一方面,在第一方面的有些实现方式中,上述根据第二电子设备的上线状态确定发送控制指令的控制通道,包括:若第二电子设备处于远场上线状态和近场上线状态,则将第一通道确定为控制通道,所述第一通道为:第二电子设备在近场上线状态下与第一电子设备之间通过短距连接进行通信时所使用的通道。
其中,在第二电子设备同时处于远场上线状态和近场上线状态的情况下,可以将上述近场控制通道(即第一通道)确定为控制通道,以发送上述控制指令。该第一通道即第二电子设备在近场上线状态下与第一电子设备进行通信时所使用的通道,因第二电子设备的近场上线通常是与第一电子设备处于同一局域网下,或者两者之间的距离较近,因此,此时的通信方式可以为短距连接的通信方式,比如通过近场协议进行通信。
可选地,若通过上述控制通道未将控制指令发送成功,则上述方法还包括:将第二通道确定为控制通道,重新向第二电子设备发送控制指令,第二通道为:第二电子设备在远场上线状态下与第一电子设备之间通过云服务器进行通信时所使用的通道。
也即是说,若上述近场控制通道没有将控制指令发送成功,则第一电子设备重新再通过远场控制通道(即第二通道)发送上述控制指令。该第二通道即第二电子设备在远场上线状态下与第一电子设备进行通信时所使用的通道,因第二电子设备的远场上线通常是与第一电子设备不处于同一局域网下,或者两者之间的距离较远,因此,此时第二电子设备与第一电子设备需要依靠云服务器进行数据转发来进行通信。
上述实现方式,电子设备根据被控设备的上线状态类型选择控制通道时,若被控设备同时处于远场上线状态和近场上线状态,则优先选择近场控制通道发送控制指令;在使用近场控制通道未将控制指令发送成功时,再重新选择远场控制通道发送控制指令,以提高设备控制的成功率。
结合第一方面,在第一方面的有些实现方式中,在通过控制通道,向第二电子设备发送控制指令之前,上述方法还包括:从第一电子设备的缓存中获取控制通道;若缓存中不存在发送控制指令的控制通道,上述方法还包括:创建控制通道。
可选地,在创建控制通道之后,上述方法还包括:将创建的控制通道存入缓存中。
其中,因电子设备控制被控设备时,通常需要创建控制通道,但为了避免频繁创建控制通道而导致传输时延较长,此实现方式中可以将控制通道存入缓存中,以减少创建控制通道的次数。那么,若当前缓存中没有控制通道,则电子设备可以创建一个控制通道并存入缓存中。
结合第一方面,在第一方面的有些实现方式中,若缓存中存在发送控制指令的控制通道,上述通过控制通道,向第二电子设备发送控制指令,包括:若控制通道在缓存中的存储时长小于或者等于预设时长,则通过控制通道向第二电子设备发送控制指令。
其中,为避免控制通道在缓存中的时间较长而占用缓存空间,第一电子设备还可以设置一个时长(例如3分钟)。若上述控制通道在缓存中的存储时长未超过该预设时长,则可以通过控制通道向第二电子设备发送上述控制指令。若上述控制通道在缓存中的存储时长超过该预设时长,则可以删除该控制通道,以释放缓存空间。
结合第一方面,在第一方面的有些实现方式中,在根据用户输入的第一操作生成控制指令之前,上述方法还包括:获取第二电子设备的当前状态,该当前状态包括上线状态或下线状态。
可选地,上述获取第二电子设备的当前状态,包括:通过云服务器获取第二电子设备的远场状态,以及通过短距连接获取第二电子设备的近场状态,远场状态包括远场上线状态或远场下线状态,近场状态包括近场上线状态或近场下线状态。
其中,因上述的控制指令是第二电子设备处于上线状态时才发送的,因此,第一电子设备还需要先获取第二电子设备的当前状态。对于远场状态,因第二电子设备可以将自身的状态上传至云服务器,那么第一电子设备可以通过云服务器获取第二电子设备的远场状态。对于近场状态,则第一电子设备可以通过短距连接获取第二电子设备的近场状态。由此,第一电子设备便可以根据第二电子设备的上线状态选择对应的控制通道,以提高设备控制的成功率。
结合第一方面,在第一方面的有些实现方式中,在获取到第二电子设备的当前状态之后,上述方法还包括:根据第二电子设备的当前状态,刷新第一电子设备中存储的第二电子设备的状态信息,以及将第二电子设备的状态信息显示在第一应用的界面上。
其中,第一应用可以为上述智慧空间APP。第一电子设备在获取到第二电子设备的当前状态后,可以随之刷新自身存储的第二电子设备的状态信息,并展示在第一应用的界面上,以方便用户查看并对第二电子设备进行控制。
结合第一方面,在第一方面的有些实现方式中,上述方法还包括:从云服务器获取第二电子设备的设备信息,并将设备信息存储于缓存中;在第二电子设备的设备信息发生变更的情况下,根据云服务器发送的变更记录,更新缓存中的设备信息。
可选地,在从云服务器获取第二电子设备的设备信息之前,上述方法还包括:获取第二电子设备上用户的标识信息,向云服务器发送该标识信息,进行第二电子设备的注册,并在注册完成后向服务器上传第二电子设备的设备信息。
其中,任意电子设备在登录了用户账号(即标识信息)后,可将该标识信息发送至云服务器进行设备注册。在设备注册完成后,电子设备还可以将设备信息(包括支持的服务信息)上传至服务器,以供其他电子设备获取并缓存。那么,之前若有电子设备的设备信息发生变更,则云服务器可以将变更记录同步到其他电子设备上,以提高电子设备之间的感知能力。
第二方面,本申请提供一种设备控制系统,包括第一电子设备和第二电子设备,第一电子设备执行上述第一方面的技术方案中任意一种方法,第二电子设备接收第一电子设备发送的控制指令,并执行相应动作。
可选地,该系统还可以包括云服务器,使得第二电子设备在远场上线状态下与第一电子设备之间通过云服务器进行通信。
第三方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第四方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第五方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选地,芯片还包括通信接口。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第七方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例智能家居设备被控制的过程示意图;
图2是本申请实施例提供的一例电子设备的结构示意图;
图3是本申请实施例提供的一例设备控制方法的适用场景示意图;
图4是本申请实施例提供的一例电子设备的软件结构框图;
图5是本申请实施例提供的另一例电子设备的软件结构框图;
图6是本申请实施例提供的一例产品模型描述的服务示意图;
图7是本申请实施例提供的一例设备注册过程的流程示意图;
图8是本申请实施例提供的一例用户账号登录的界面示意图;
图9是本申请实施例提供的一例电子设备扫描发现智能家居设备的界面示意图;
图10是本申请实施例提供的一例服务注册及变更过程的流程示意图;
图11是本申请实施例提供的一例查询服务的流程示意图;
图12是本申请实施例提供的一例智慧空间APP的展示界面示意图;
图13是本申请实施例提供的一例监听设备上下线过程的流程示意图;
图14是本申请实施例提供的一例智慧空间APP提示设备上线的示意图;
图15是本申请实施例提供的一例设备控制过程的流程示意图;
图16是本申请实施例提供的另一例设备控制过程的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
当前智能家居设备的种类越来越多,例如智能电视、路由器、智能冰箱、智能音箱等等,用户可以使用电子设备中的APP对智能家居设备进行控制。通常情况下,如图1所示,智能家居设备被控制的过程可以包括设备发现、设备注册、设备上线、设备控制、设备状态变化等阶段。
其中,设备发现阶段即智能家居设备被其他电子设备所发现,例如电子设备通过蓝牙信号或无线保真(wireless fidelity,Wi-Fi)信号搜索发现智能家居设备。在设备发现之后,智能家居设备便可注册在电子设备上,或者注册在对应的云服务器上。那么,当智能家居设备上线时,其设备状态会从下线变化为上线,进而可由电子设备通过APP对其进行控制。除了智能家居设备之外,其他的如平板电脑等设备,也可由电子设备进行控制。这一过程涉及多个阶段及多种数据传输通道,存在时延或控制失败的问题。
针对上述过程,本申请实施例提供一种设备控制方法,在对设备进行控制时,动态选择数据传输通道,使得能够选择最优的数据传输通道,减少传输时延、提高控制成功率以及用户的使用体验。应当明确,上述设备控制方法可以应用于手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等可以安装APP的电子设备上,该电子设备可以实现对智能家居等设备的控制,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图2是本申请实施例提供的一例电子设备100的结构示意图,该电子设备100可以为手机或平板电脑等,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identificationmodule,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,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),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例提供的设备控制方法可以适用于图3所示的场景,电子设备可以对智能家居设备进行控制,在一个实现方式中,电子设备与智能家居设备都可与云服务器进行通信,一个电子设备可以通过云服务器对其他设备进行管理和控制,例如用户使用手机控制智能电视时,手机会通过云服务器向智能电视发送控制指令(比如调高音量的指令),智能电视对控制指令进行解析,以执行相应的指令动作。在另一个实现方式中,电子设备与智能家居设备距离较近时,可以直接通过Wi-Fi或蓝牙等方式控制智能家居是被饿。为实现本申请实施例提供的设备控制方法,如图4所示,电子设备至少应包括以下软件架构:
在一些实施例中,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构,例如图4所示,可以将Android系统分为应用程序层、应用程序框架层、安卓运行时(Android runtime)、系统库、内核层以及底层协议层。
其中,应用程序层可以包括一系列应用程序包,应用程序包可以包括相机401,图库402,日历403,通话404,地图405,导航406,WLAN407,蓝牙408,音乐409,视频410,短信息411,智慧空间APP412等应用程序。应用程序可以指为完成某项或多项特定工作的计算机程序,可以运行在用户模式和用户进行交互,具有可视的用户界面。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架,可以包括一些预先定义的函数。本申请实施例中,应用程序框架层可以包括设备管理服务框架413,窗口管理器414,内容提供器415,视图系统416,电话管理器417,资源管理器418,通知管理器419等。
窗口管理器414用于管理窗口程序,可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器415用来存放和获取数据,并使这些数据可以被应用程序访问,例如数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统416包括可视控件,例如显示文字的控件,显示图片的控件等,视图系统416还可用于构建应用程序。电话管理器417用于提供电子设备100的通信功能,例如通话状态的管理(包括接通,挂断等)。资源管理器418为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器419使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互,比如通知管理器419被用于告知下载完成,消息提醒等。通知管理器419还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知;还可以是以对话窗口形式出现在屏幕上的通知,例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
设备管理服务框架413(可简称为设备管理服务413)用于为管理设备提供服务,例如为智慧空间APP412的运行提供数据和功能支持。如图5所示,设备管理服务框架413具体可以包括设备能力感知模块501、设备控制模块502、产品模型管理模块503、设备上下线感知模块504和设备自注册管理模块505等。
其中,设备能力感知模块501主要负责感知被控设备(例如智能家居设备或其他电子设备)的服务能力,设备的服务能力可以包括服务属性(property)、服务方法(action)和服务事件(event)等。这里的设备(device)可以指任意应用终端,通过不同的服务集合来描述其功能集;服务能力(service)可以指一个独立而有意义的功能组,该功能组可以在不同类型的设备间复用;服务属性可以指描述设备的状态和功能的最小单位;服务方法可以指用以实现服务的特定功能,这类功能不能通过单个属性的读写来完成,服务方法是应用操作设备的信息;服务事件可以指设备主动上报的特定信息,例如上报给应用的信息。以智能音箱为例,智能音箱具有点播歌曲、语音播报、版本更新等服务能力,对于点播歌曲这一服务能力,其服务属性可以包括开始播放和暂停播放属性,若智能音箱正在播放歌曲,则播放歌曲这一事件即对应的是服务事件;对于版本更新这一服务能力,智能音箱进行版本检查可以为一种服务方法。
在电子设备与被控设备需要通过云服务器传递消息的实现方式中,电子设备与被控设备之间可以采用消息队列遥测传输协议(message queuing telemetry transport,MQTT)实现机制,过程可以为:电子设备与被控设备可以在MQTT服务器上注册,注册后MQTT服务器为各设备对应一个ID;然后被控设备在MQTT服务器上订阅一个主题1,若电子设备向MQTT服务器发布一个包括主题1的标识和被控设备的ID的消息,MQTT服务器会向数据库或云服务器查询该电子设备是否有发布主题的权限,若有,则MQTT服务器将主题1的消息发送给被控设备。此处的MQTT服务器和云服务器可以为同一个服务器,也可以是不同的服务器。同理,被控设备也可以发布如服务变更类主题的消息,若电子设备接收到此消息,可以将变化通知到上层业务,例如通知到应用程序层的APP。
示例性地,当用户通过手机控制路由器时,路由器可以在MQTT服务器上注册。手机在向路由器发布指令时,可以先将该指令以主题的形式发送给MQTT服务器,然后MQTT服务器向订阅该主题的路由器发送该指令。
设备控制模块502主要负责基于各种协议的设备控制,包括接收上层业务传入的控制指令,通过数据传输通道发给被控设备。例如通过底层协议层提供的协议向被控设备发送控制指令,所采用的协议包括不限于Coap(constrained application protocol)协议、Wi-Fi协议、MQTT协议以及蓝牙Profile控制协议等。
产品模型管理模块503主要负责从云服务器提取产品模型,并在本地数据库缓存,在上层业务请求产品模型时,从本地缓存返回给上层业务;这里的产品模型(productmodel)是某一类型产品的静态描述信息,例如图6所示,产品模型描述了设备有哪些服务能力(或原子能力),以及每个服务能力有哪些服务属性、支持哪些服务方法、上报哪些服务事件等。其中,一个设备可以具有一个或多个服务能力,例如智能音箱具有点播歌曲、语音播报、版本更新等服务能力,智能电视具有播放视频、在线直播、版本更新等服务能力;服务能力可以对应有0个或多个服务属性、0个或多个服务方法、0个或多个服务事件,例如,对于智能音箱的点播歌曲这一服务能力,其服务属性可以包括开始播放和暂停播放属性,若智能音箱正在播放歌曲,则播放歌曲这一事件即对应的是服务事件;对于版本更新这一服务能力,智能音箱进行版本检查可以为一种服务方法。
设备上下线感知模块504主要负责感知被控设备的上下线,提供上下线订阅和查询能力。设备自注册管理模块505主要负责监听用户帐号的登录或登出事件,并在帐号登录时完成本设备向云服务器的自注册,在帐号登出时完成本设备从云服务器的注销等。
应用程序框架层除了包括上述框架外,还可以包括通信服务420,用于向电子设备与外部设备数据交互提供通信能力,例如通过上述协议将设备控制模块的控制指令发送给被控设备。应用程序框架层还可以包括通用密钥库系统(universal keystore,HUKS)(图中未示出),用于向应用提供密钥库能力,包括密钥管理及密钥的密码学操作等功能。
系统库可以包括多个功能模块。例如:表面管理器421(surface manager),媒体库422(media libraries),三维图形处理库423(例如:OpenGL ES),二维图形引擎424(例如:SGL)等。
表面管理器421用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库422支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库422可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库423用于实现三维图形绘图,图像渲染、合成和图层处理等。二维图形引擎424是2D绘图的绘图引擎。
Android runtime425包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
内核层是硬件和软件之间的层。内核层至少包含显示驱动426,摄像头驱动427,音频驱动428,传感器驱动429。
在上述图4和图5中电子设备的软件架构的基础上,下面结合附图和应用场景,对本申请实施例提供的设备控制方法进行具体阐述,但需要说明的是,图4和图5是其中的一种示例,下面实施例中所用到的模块可能多于或少于图中示出的模块。基于上述图1,该方法可以包括设备注册过程、服务注册及变更过程、服务查询过程、监听设备上下线过程以及设备控制过程等。图7是设备注册过程的流程示意图,具体可以包括:
S1,电子设备的设备管理服务413注册账号广播接收器。
其中,账号广播接收器用于接收被广播的账号信息。在Android系统中,通常允许每个应用对自己感兴趣的广播进行注册,这样该应用就会收到自己所关心的广播内容,Android广播分为两个方面:广播发送者和广播接收者,本申请实施例中,智慧空间APP可以作为广播发送者,设备管理服务可以作为广播接收者,则设备管理服务就会收到智慧空间APP的广播内容。本申请实施例以智慧空间APP为例进行说明,但并不限于此APP。
S2,设备管理服务413向智慧空间APP412发送获取账号信息的请求。
设备管理服务注册了账号广播接收器后,可以向智慧空间APP请求用户的账号信息,但此时,用户账号可能已在智慧空间APP上登录,也可能还未在智慧空间APP上登录。那么,若用户账号已在智慧空间APP上登录,则可执行S3至S6的步骤;若用户账号还未在智慧空间APP上登录,则需要先登录用户账号,可执行S7至S13的步骤。
S3,设备管理服务413从智慧空间APP412获取账号信息。
账号信息可以包括但不限于账号标识(userID)和账号密钥(即访问令牌,accesstoken)等,此处的账号标识和账号密钥可以为用户注册用户账号后,电子设备为该用户账号分配的标识和密钥,用于标识该用户。在用户通过用户账号和密码的登录方式进行登录时,或用户通过用户手机号和验证码的登录方式进行登录时,电子设备检测到用户账号已登录,则可以查找到该用户账号对应的账号标识和账号密钥。可以理解,用户账号在智慧空间APP上首次登陆后,便会触发设备管理服务获取账号信息,以进行设备注册。
S4,设备管理服务413将账号信息发送至通信服务420。
在一些实施例中,通信服务可以称为Magic Link Svc。
其中,通信服务可以理解为向电子设备与外界设备(如云服务器或其他电子设备)进行通信提供能力的服务。例如,通信服务可以为软总线,软总线可以是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力。
S5,通信服务420将账号信息发送至云服务器,完成设备自注册。
此处的云服务器可以为设备云服务器。通信服务接收到设备管理服务发送的账号信息后,可以向云服务器发送注册请求,该注册请求携带账号信息,请求进行设备注册。云服务器接收到账号信息后,以用户账号为例,云服务器可以为该用户账号分配一个注册ID,并通过通信服务返回至电子设备的设备管理服务,然后设备管理服务再获取电子设备的设备信息,例如从电子设备的系统文件中获取设备名称、设备型号、版本号等设备信息,将设备信息与注册ID再发送至云服务器。云服务器接收到这些信息后,通过注册ID将设备信息与上述用户账号进行对应以及存储,即与该用户账号对应的设备的设备信息都可存储在该用户账号下,由此完成电子设备在云服务器的注册过程。这里的自注册可以理解为电子设备自身向云服务器进行注册的过程,对于电子设备自身无法进行注册的场景,可见下述实施例的描述。
可选地,云服务器存储了电子设备的上述信息后,可向通信服务发送注册结果,用于表征电子设备已注册成功。可选地,在注册阶段中,通信服务与云服务器之间的数据传输可以通过事先建立的连接通道来进行。
S6,通信服务420将注册结果返回至设备管理服务413,完成设备自注册回调(deviceID)。
通信服务将注册成功的结果发回设备管理服务后,设备管理服务可记录该结果,即完成设备自注册回调(callback)。
S2-S5的步骤是用户账号已在智慧空间APP上登录的情况下的执行过程,下面S6-S12的步骤是用户账号还未在智慧空间APP上登录的情况下的执行过程:
S7,用户在智慧空间APP412上登录用户账号。
示例性地,用户可以通过图8所示的登录界面登录用户账号,当电子设备检测到用户在智慧空间APP上输入用户账号和密码后,可以将用户账号和密码发送至账号服务器进行验证,若账号服务器对用户账号和密钥验证成功,则账号服务器向智慧空间APP返回验证成功的消息,即用户账号登录成功。那么,后续智慧空间APP可以广播账号信息,若设备管理服务注册了账号广播接收器,便可自动接收到该账号信息。
示例性地,用户在图8所示的界面上登录用户账号时,可以采用用户账号(可以为用户手机号、邮箱或其他账号名)和密码的登录方式进行登录(如图8中的(a)图所示),也可以采用用户手机号和验证码的登录方式进行登录(如图8中的(b)图所示)。
S8,智慧空间APP412将用户账号登录至云服务器。
此处的云服务器可以为账号云服务器。此处需要说明的是,本步骤的云服务器可以和上述S4中的云服务器是同一个服务器,也可以是两个不同的服务器。用户在智慧空间APP上本地登录用户账号后,还可将此用户账号登录至账号云服务器,用于云服务器记录该用户账号的登录状态。
S9,智慧空间APP412广播账号登录通知。
智慧空间APP上登录用户账号后,便可作为广播发送者广播账号登录通知,以使设备管理服务接收到该通知,并获取登录的账号信息。
S10,设备管理服务413获取账号信息。
S11,设备管理服务413将账号信息发送至通信服务420。
S12,通信服务420将账号信息发送至云服务器,完成设备自注册。
S13,通信服务420将注册结果返回至设备管理服务413,完成设备自注册回调(deviceId)。
其中,S10-S13的执行过程可参见上述S3-S6,在此不再赘述。
可选地,上述设备管理服务所执行的操作可以由设备自注册管理模块来执行。
对于上述设备注册的过程,是由电子设备自身登录用户账号以完成设备注册,但是有些设备(如智能家居设备中的智能音箱等)并不具备登录用户账号的能力,那么这些设备要完成设备注册过程的话,可以借助电子设备来执行,以智能家居设备为例,具体过程可以为:
第一步,电子设备扫描发现智能家居设备,并与智能家居设备建立连接。
其中,根据是否具有联网能力,智能家居设备包括可自主联网和不可自主联网两种类型。对于可自主联网的智能家居设备,例如智能电视、路由器等,其与电子设备处于同一局域网下,例如处于一个家庭的局域网下,那么电子设备可以通过Wi-Fi信号扫描发现这些智能家居设备。对于不可自主联网的智能家居设备,例如智能音箱、智能冰箱等,若该智能家居设备具有蓝牙功能,则电子设备可以通过蓝牙信号扫描发现该智能家居设备;若该智能家居设备具有接入点(access point,AP)模式,则可以作为模拟热点(SoftAP),电子设备打开Wi-Fi功能便可以连接到智能家居设备提供的SoftAP上,即发现该智能家居设备。
在电子设备扫描发现智能家居设备后,便可获取到其设备信息。其中,所获取的设备信息包括但不限于设备名称、互联网协议地址(internet protocol address,IP地址)、媒体存取控制地址(media access control address,MAC地址)等。这些设备信息可以显示给用户查看,例如显示在智慧空间APP的页面上。然后,用户可以选择其中的一个智能家居设备,以使电子设备与该智能家居设备建立连接。示例性地,若用户在上述智慧空间APP的界面上选中了一个智能家居设备,电子设备便可根据该智能家居设备的设备信息生成对应的PIN码,再基于该PIN码与智能家居设备协商密钥、建立连接。
示例性地参见图9,图9中的(a)图是智慧空间APP的显示界面,显示界面上有“添加设备”控件,当用户点击该控件,可以跳转至图9中的(b)图所示的界面,即电子设备开始扫描发现智能家居设备。在电子设备扫描到智能家居设备后,可以获取智能家居设备的设备信息,并显示在当前界面上,如图9中的(c)图中显示了扫描到的智慧屏,但此时是未连接状态。若用户选中该智能家居设备,则电子设备便可以根据其设备信息生成PIN码,并执行连接过程。
第二步,电子设备基于已登录的用户账号,向云服务器申请注册信息,并将申请的注册信息和云服务器的访问地址发送给智能家居设备。
其中,电子设备申请的注册信息可以包括注册ID和验证码(verify code)。电子设备将用户账号上报给云服务器后,云服务器可以为该用户账号分配一个注册ID及对应的验证码,然后云服务器将注册ID和验证码返回给电子设备,并由电子设备发送至智能家居设备。可选地,该注册ID可以为云服务器生成的随机数,任意电子设备通过用户账号向云服务器申请注册信息时,都可得到一个对应的注册ID。
由上述描述可知,智能家居设备包括可自主联网和不可自主联网两种类型。那么,对于可自主联网的智能家居设备,电子设备可再将上述注册信息以及云服务器的访问地址发送给智能家居设备,以供智能家居设备根据自身的联网能力将注册信息发送至云服务器进行注册。对于不可自主联网的智能家居设备,电子设备除了将注册信息以及云服务器的访问地址发给智能家居设备以外,还需将电子设备已连接的Wi-Fi账号和密码信息发送给智能家居设备,用于使智能家居设备进行网络配置,并在配网之后将注册信息发送云服务器进行注册。
第三步,智能家居设备根据云服务器的访问地址,向云服务器上传注册信息,完成注册过程。
其中,智能家居设备可以根据接收到的云服务器的访问地址,将注册信息上传至服务器。可选地,智能家居设备在向云服务器注册登录时,还可以将自身的设备信息(比如设备名称、认证PIN码、型号以及设备升级信息等)也发送至云服务器。云服务器接收到智能家居设备上传的注册信息后,可以根据注册信息中的注册ID查找其属于哪个用户账号,进而将智能家居设备也与上述用户账号关联起来,并将这些信息进行存储;那么,云服务器后续可根据用户账号查找到已注册的智能家居设备。可选地,智能家居设备向云服务器注册完成后,云服务器还可以为智能家居设备分配一个设备ID(devID),用来标识该智能家居设备,那么智能家居设备也完成了在云服务器的注册过程。
综上,对于自身具备登录用户账号能力的电子设备(例如手机、平板电脑等)和不具备登录用户账号能力的电子设备(例如智能家居设备等),都可完成设备注册到云服务器的过程,并且都是基于用户账号进行注册的。若后续有其他电子设备登录了同一个用户账号,便可从云服务器上获取该账号下的所有设备的信息。此处需要说明的是,本申请实施例以相同用户账号下的电子设备为例进行说明,但并不限于相同用户账号,也可以为同一个家庭网下的电子设备等。
在电子设备注册到云服务器之后,便可进行服务能力的注册及变更过程,具体可参见图10,图10是服务注册及变更过程的流程示意图,当相同用户账号下的一个电子设备服务发生变更时,另一个电子设备可以感知到其变更记录,本申请实施例以电子设备A的服务发生变更,电子设备B感知到该变更的场景为例进行说明,具体可以包括:
S21,电子设备A通过通信服务420与云服务器建立连接。
S22,电子设备B通过通信服务420与云服务器建立连接。
其中,电子设备在云服务器上注册之后,电子设备可以向云服务器发送连接请求,请求与云服务器之间建立数据通道,用于后续电子设备与云服务器之间传输数据;云服务器接收到连接请求后,可以向电子设备发送确认信息,完成连接的建立。可选地,电子设备可以基于MQTT协议与云服务器建立连接,也可以基于其他协议与云服务器建立连接,本申请实施例对此不做限制。
S23,电子设备B的智慧空间APP412向设备管理服务413订阅服务变更通知。
其中,本申请实施例中,电子设备B的智慧空间APP可以订阅服务变更通知,若有其他设备的服务发生变化时,便可以由设备管理服务通知给智慧空间APP。可选地,智慧空间APP还可以将变化的服务展示给用户查看,以便用户及时了解各设备的服务变化。
在一个实现方式中,电子设备B的智慧空间APP可以通过subscribe接口向设备管理服务订阅服务变更通知,那么若设备管理服务接收到本设备或其他设备的服务发生变更,都可将对应的变更通知发送给智慧空间APP。例如,以电子设备B是手机为例,若手机自身的GPS系统检测到手机位置发生变化,则可以将定位信息发送至设备管理服务,进而由设备管理服务通知给智慧空间APP。
再例如,电子设备B的设备管理服务还可以接收云服务器发送的其他设备的服务变更通知,具体过程如下:
S24,电子设备A的智慧空间APP412向设备管理服务413发送注册或修改服务(service info)的通知。
其中,注册服务可以为电子设备增加一个新的服务,比如增加版本升级通知的服务,修改服务可以为修改原服务的服务属性,比如电子设备A进行了版本升级等。可选地,注册或修改服务可以由用户在智慧空间APP上进行操作,并由智慧空间APP根据用户的操作内容生成对应的通知形式,然后将该通知发送给设备管理服务。
示例性地,以电子设备A为平板电脑为例,用户在平板电脑的智慧空间APP上操作了版本升级,则智慧空间APP检测到这一操作后,可以根据平板电脑的设备标识和新版本的版本号生成通知,并将该通知发送给设备管理服务。
需要说明的是,对于一些没有安装智慧空间APP或无法安装智慧空间APP的电子设备,也可以由相应的设置应用或其他应用执行S23和S24的步骤,以下实施例中也都以智慧空间APP为例进行说明。
S25,电子设备A的设备管理服务413对接收到的通知进行鉴权后,修改本地记录。
通常,当设备管理服务接收到注册或修改服务的通知后,设备管理服务需要先对该通知进行鉴权,例如确认是针对本设备进行的有效的服务变更。
在一个实现方式中,设备管理服务可以对接收到的通知内容进行鉴权,也可以对发送通知的应用进行鉴权。示例性地,若用户通过智慧空间APP要手动修改电子设备A的版本号,而不是通过版本升级的方式,那么设备管理服务收到手动修改版本号的通知后,与版本号的读写权限进行对比,发现版本号不能手动修改,则可以鉴定用户的本次修改操作权限不通过。
再示例性地,若用户通过智慧空间APP对电子设备A进行了版本升级,然后智慧空间APP将电子设备A的设备标识和新版本的版本号发送至设备管理服务,设备管理服务读取智慧空间APP的权限,确定智慧空间APP有升级设备版本的权限,则可以鉴定本次操作权限通过。若有另一个APP也向设备管理服务发送了升级设备版本的通知,但经鉴定该APP没有升级设备版本的权限,则可以鉴定本次操作权限不通过。
S26,设备管理服务413进行修改回调。
在经过鉴权后确定是有效的通知的情况下,则设备管理服务可以修改本地缓存的记录,例如将本地缓存中的电子设备A的版本号修改为通知中携带的版本号,并将修改通知再返回至智慧空间APP。
S27,电子设备A的设备管理服务413将注册或修改服务(service info)的记录上报至云服务器。
其中,设备管理服务所上报的记录可以为注册服务或修改服务的内容,例如,电子设备A为平板电脑,平板电脑进行了版本升级,则设备管理服务可以将平板电脑的设备标识和新版本的版本号上报至云服务器。
S28,云服务器将注册或修改服务(service info)的通知发送至电子设备B的设备管理服务413。
其中,电子设备A与云服务器的数据通信以及云服务器与电子设备B的数据通信即是基于上述S21和S22中的远场连接进行的。云服务器接收到电子设备A的注册或修改服务的记录后,可以向电子设备B的设备管理服务发送通知,该通知可以携带所注册或修改服务的记录。例如,该通知携带电子设备A的设备标识和新版本的版本号。可选地,此处的云服务器可以为设备云服务器。
例如,若电子设备A和电子设备B是通过MQTT协议通信的,则电子设备B可以在MQTT服务器上订阅一个关于服务变更的主题。当电子设备A向MQTT服务器发布一个包括服务变更主题的标识的消息时,MQTT服务器会向数据库或云服务器查询该电子设备A是否有发布该主题的权限,若有,则MQTT服务器将该主题的消息发送给电子设备B。
或者,电子设备A的设备管理服务可以将注册或修改服务的记录发送至通信服务,由通信服务将该记录经过云服务器发送至电子设备B的通信服务,进而再由电子设备B的通信服务发送至设备管理服务。
S29,电子设备B的设备管理服务413修改本地记录。
通常,设备管理服务除了会将电子设备已有的服务记录到本地缓存之外,还可以将相同用户账号下其他电子设备的服务也记录到本地缓存。那么,若电子设备B与电子设备A是归属于同一用户账号的话,电子设备B的缓存中也存储有电子设备A的服务记录。当电子设备B的设备管理服务接收到电子设备A的服务变更通知后,便可以修改自身的本地记录。示例性地,电子设备B(如手机)的缓存中存储有电子设备A(如平板电脑)的设备标识与版本号的对应关系,那么若电子设备B接收到云服务器发送的上述通知后,可以根据电子设备A的设备标识找到其版本号,并将该版本号修改为新的版本号。
S30,电子设备B的设备管理服务413向智慧空间APP412发送服务变更通知。
在设备管理服务修改了本地记录后,因上述智慧空间APP已订阅了服务变更通知,则设备管理服务便可以向智慧空间APP发送服务变更通知,以使智慧空间将新的服务信息显示在界面上,供用户查看。例如,用户可以在电子设备B的智慧空间APP上查看电子设备A的版本信息。
可选地,上述设备管理服务所执行的操作可以由设备能力感知模块来执行。
示例性地,以电子设备A为智能电视,电子设备B为手机为例,手机和智能电视都已注册到MQTT服务器,且手机在MQTT服务器上订阅了一个关于版本升级的主题。当智能电视的系统版本升级之后,可向MQTT服务器发布一个包括版本升级主题的标识的消息,MQTT服务器查询云服务器后确认智能电视具有发布该主题的权限,则可以向该主题发送至订阅了该主题的手机。手机接收到该主题消息后,可以更新本地存储的智能电视的版本号,并通知到智慧空间APP,那么用户再在智慧空间APP查询时,便可查询到智能电视的最新版本号。
需要说明的是,上述是以电子设备B订阅服务变更通知,电子设备A发生注册或修改服务事件,由云服务器同步到电子设备B为例进行说明的,但也可以是电子设备A订阅服务变更通知,电子设备B发生注册或修改服务事件,由云服务器同步到电子设备A,即电子设备之间的这种能力是相互的。
综上,电子设备可以将服务能力的注册及修改同步至云服务器,并通过云服务器的同步能力同步至其他电子设备上,这样其他电子设备便能感知到电子设备的服务能力。
由上述描述可知,电子设备可以将已有的服务和其他电子设备的服务记录到本地缓存,通常情况下,若有电子设备注册到云服务器后,便可将自身的服务等信息上传至云服务器,以供其他电子设备查询及缓存。下面将详细描述这一过程,如图11所示,该过程具体可以包括:
S41,电子设备A的设备管理服务413注册服务订阅的功能。
也即是说,电子设备注册到云服务器后,可以再向云服务器注册服务订阅的功能,这样后续若云服务器接收到其他电子设备的服务变更信息,都可发送至电子设备A的设备管理服务。例如,电子设备A在MQTT服务器上注册后,电子设备A可以在MQTT服务器上订阅一个关于服务信息的主题,若其他电子设备发布了服务信息主题的消息,MQTT服务器便可将该消息发送至电子设备A。
S42,设备管理服务413从云服务器获取已注册的电子设备列表。
其中,由上述描述可知,电子设备注册到云服务器后,云服务器可以将电子设备的设备信息与注册时的用户账号进行关联存储,若同一用户账号下有多个电子设备已注册,则这些电子设备都归属于该账号。可选地,云服务器存储这些信息的形式可以为列表形式。那么,电子设备A登录了用户账号后,便可从云服务器中获取该用户账号下的电子设备列表,所获取的电子设备列表可以包括电子设备的基本信息(如设备名称、型号等信息)和支持的服务信息(例如手机支持语音、视频、显示等服务,智能音箱支持播放等服务)。
S43,设备管理服务413根据获取的电子设备列表更新本地缓存中的记录。
因电子设备A中之前已存储有电子设备列表,那么,当再次获取了电子设备列表后,可以对已存储的电子设备列表进行更新。比如,之前存储的电子设备列表中仅有智能音箱的信息,现获取的新的电子设备列表中还包括了智能电视的信息,则电子设备A可以将智能电视的信息也存储到本地缓存中。可选地,电子设备所获取的电子设备列表可以展示在智慧空间APP中,供用户查看当前已注册的电子设备。
S44,设备管理服务413判断本设备服务是否需要更新,若是,执行S45。
S45,设备管理服务413上报本设备服务至云服务器。
其中,本申请实施例对S44-S45步骤和下述S46-S49步骤的执行顺序不做限制。S44-S45的过程是在电子设备A自身的服务有变更的情况下,可主动上报至云服务器,以便其他电子设备更新本地缓存的记录。例如,电子设备A可在自身服务发生变更的情况下,向MQTT服务器发布一个包括服务变更主题的标识的消息,以供其他电子设备接收到消息,并更新自身的缓存记录。
在其他电子设备(如电子设备B)的服务有变更的情况下,可执行下述S46至S49的步骤:
S46,电子设备B的设备管理服务413向通信服务420发送注册或修改服务(serviceinfo)的记录。
S47,通信服务420向云服务器发送注册或修改服务(service info)的通知。
S48,云服务器将注册或修改服务(service info)的通知发送至电子设备A的设备管理服务413。
其中,S46-S48的过程可以参见上述S27-S28,即例如,电子设备B进行了版本升级,则设备管理服务可以通过通信服务将电子设备B的设备标识和新版本的版本号上报至云服务器,云服务器接收到电子设备B上报的记录后,可以向电子设备A的设备管理服务发送通知,该通知可以携带电子设备B的设备标识和新版本的版本号。
S49,电子设备A的设备管理服务413根据接收的通知更新本地缓存中的电子设备列表。
因电子设备A中的电子设备列表中包括电子设备B的服务信息,那么为保证电子设备A中存储信息的实时性,电子设备A可以根据接收到的通知更新自身缓存中的电子设备列表的内容。例如,电子设备A的本地缓存中存储的电子设备B的版本号为1.0,当接收到电子设备B的版本升级至2.0的通知后,则可将本地缓存中电子设备B的版本号修改为2,0。那么,经过S46至S49的过程,只要有电子设备的服务发生变更,其他电子设备便可以及时获取并更新本地缓存中的记录,提升了电子设备的感知能力。可选地,上述设备管理服务所执行的操作可由产品模型管理模块执行。
然后,在用户需要查询其他电子设备的服务信息时,可以通过电子设备中的应用(如智慧空间APP)进行查询,具体如下:
S50,用户在电子设备A的智慧空间APP412上输入查询操作。
S51,智慧空间APP412将查询设备服务的指令发送至设备管理服务413。
其中,智慧空间APP接收到用户的查询操作后,可以根据该操作生成查询设备服务的指令,该查询设备服务的指令中可以携带所要查询的设备标识和服务的标识,如设备名称或设备ID、服务名称等。
S52,设备管理服务413从本地缓存中查询设备服务信息。
S53,设备管理服务413将设备服务信息返回至智慧空间APP412。
其中,用户可以在智慧空间APP上针对一个设备查询其服务信息,智慧空间APP接收到查询操作后,可向设备管理服务发送查询设备服务的指令,那么设备管理服务便可以根据该指令携带的设备标识和服务的标识从本地缓存中查询对应的设备服务信息,并返回至智慧空间APP,以供用户查看。
在一种实现方式中,电子设备B可以在服务发生变更的情况下主动执行上述S46-S47的过程,也可以在用户查询电子设备B的服务信息时再执行该过程。
示例性地,假设当前已注册的电子设备已展示在智慧空间APP中,如图12所示,包括智慧屏和路由器两个设备。当用户点击路由器图标时,即是输入了上述查询操作,则可由设备管理服务查询服务信息,并将查询到的服务信息展示在智慧空间APP的页面上。例如,图12所示的界面上路由器的下载速率和上传速率是其中的一种服务信息,还有其他服务信息可以从设置控件(::)中查看。在此示例中,因路由器的下载速率和上传速率是实时变化的,那么用户打开了图12的界面后,电子设备可以以一定频率(如1秒一次)向云服务器发送查询该服务的请求,云服务器再从路由器获取其实时速率,并返回至电子设备进行展示。
需要说明的是,电子设备本地缓存中的设备服务信息是从云服务器所获取的,但是已注册的设备中可能有一些信息并没有上传至云服务器,比如IP地址、MAC地址等。若电子设备要查询这些未在云服务器中的服务信息,则需要通过与电子设备之间的短距连接通道从其他电子设备中获取。
综上,电子设备的设备管理服务可将本设备和其他电子设备的服务信息缓存至本地,以方便对注册设备的信息进行查询。
另外,电子设备除了可以查询其他电子设备的服务信息之外,还可以监听设备的上下线状态,图13是监听设备上下线过程的流程示意图,具体可以包括:
S61,电子设备A的设备管理服务413注册设备上下线监听的功能。
也即是说,电子设备注册到云服务器后,可以再注册设备上下线监听的功能,这样可后续监听设备的上下线状态。例如,电子设备A在MQTT服务器上注册后,电子设备A可以在MQTT服务器上订阅一个关于设备上下线监听的主题,若其他电子设备发布了设备上下线主题的消息,MQTT服务器便可将该消息发送至电子设备A。
S62,设备管理服务413从通信服务420获取电子设备列表。
此处所获取的电子设备列表可以包括已注册到云服务器的其他电子设备的设备信息,这些电子设备可以与电子设备A通过服务器进行通信。电子设备注册到云服务器后,云服务器可以将电子设备的设备信息与注册时的用户账号进行关联存储,若同一用户账号下有多个电子设备已注册,则这些电子设备都归属于该账号。可选地,云服务器存储这些信息的形式可以为列表形式。那么,电子设备A登录了用户账号后,便可从云服务器中获取该用户账号下的电子设备列表,该电子设备列表中还可以包括电子设备的上下线状态信息。
S63,智慧空间APP412注册设备上下线监听的功能。
若智慧空间APP也注册了设备上下线监听的功能,则设备管理服务所监听到的设备上下线状态可回调至智慧空间APP,由智慧空间APP进行展示。
S64,当电子设备B上线时,通信服务420向设备管理服务413发送设备上线通知。
需要说明的是,此处的电子设备B不具体指某个电子设备,可以是对除电子设备A之外的其他电子设备的统称,电子设备B已在云服务器上注册。当电子设备B上线后,可以向云服务器上报上线状态,云服务器便可以将电子设备B的上线状态发送至电子设备A的通信服务,进而由通信服务向设备管理服务发送电子设备B的上线通知。其中,通信服务向设备管理服务发送的设备上线通知可以用于指示设备管理服务刷新电子设备列表,以更新电子设备B的状态信息。
S65,通过通信服务420近场扫描发现电子设备B。
此处电子设备B上线时,除了可以向云服务器上报上线状态,还具有广播上线消息的能力,以供电子设备A也近场发现该电子设备B,即电子设备B可同时远场上线和近场上线。
以电子设备A为手机,电子设备B为智能音箱为例,若手机和智能音箱都已注册在云服务器,则手机登录了用户账号后,可从云服务器上获取智能音箱的信息,包括智能音箱的当前状态。在用户将智能音箱开机后,智能音箱可以主动向云服务器上报自身的上线状态,以由云服务器将该上线状态发送至手机,手机将智能音箱的该上线状态进行标记记录,例如可以标记为2,表征是远场上线。与此同时,智能音箱还可以广播自身已开机的信号,若手机接收到该广播信号,则可以向智能音箱发送连接请求,以与智能音箱建立短距连接,此时手机还可以记录智能音箱的上线状态为近场上线,例如可以标记为1。
S66,通过通信服务420与电子设备B进行认证组网。
其中,因电子设备B包括远场的电子设备和近场的电子设备,因此需要分别进行认证组网。对于远场的电子设备,电子设备A可以基于MQTT协议,通过云服务器转发协商密钥等数据,以与电子设备B进行认证。对于近场的电子设备,电子设备A可以通过近场协议(如Coap协议)与电子设备B进行认证组网。
S67,设备管理服务413刷新电子设备列表。
其中,这里刷新电子设备列表可以理解为将该列表中设备的状态进行修改,比如电子设备B之前是下线状态,现修改为上线状态。
S68,设备管理服务413将设备上线通知回调至智慧空间APP412。
其中,电子设备B上线可以包括远场上线和近场上线,远场上线可以是电子设备B与电子设备A不处于同一局域网下,或者两者之间的距离较远,电子设备A可以用上述的标记1记录此上线状态;近场上线可以是电子设备B与电子设备A处于同一局域网下,或者两者之间的距离较近,电子设备A可以用上述的标记2记录此上线状态。那么,电子设备A的设备管理服务便可以根据各标记对电子设备列表中的电子设备B的状态信息进行刷新。
通过上述过程,设备管理服务可以通过记录的电子设备B的上线标记(如1为近场上线,2为远场上线),确定电子设备B的上线状态,然后设备管理服务还可以将设备上线通知回调至智慧空间APP,例如图14所示,智慧空间APP中弹出“智能音箱已上线”的通知框,以提示用户智能音箱已上线,用户便可以对智能音箱进行操作控制。
S69,设备管理服务413从云服务器获取电子设备B的服务信息。
S70,设备管理服务413刷新电子设备B的服务信息。
其中,电子设备B上线之后,用户有可能会对电子设备B进行一些服务变更,那么为了使电子设备A及时获取到电子设备B的最新服务信息,电子设备A在刷新了电子设备列表之后,还可以重新从云服务器获取电子设备B的服务信息,以刷新本地存储的服务信息,保证所存储的服务信息是实时准确的。
针对上述电子设备A为手机,电子设备B为智能音箱的示例,智能音箱上线后,若其与云服务器已连接,则可以定时(例如1分钟一次)向云服务器发送心跳信号;若手机和智能音箱也已短距连接,则也可以向手机发送心跳信号。云服务器和手机若能定时接收到智能音箱的心跳信号,即是可以确认智能音箱一直在线。若云服务器和手机在一定的时长内(例如3分钟)已接收不到智能音箱的心跳信号,则可以确认智能音箱已下线,便可以再将智能音箱的当前状态更新为下线。
S71,当电子设备B下线时,通信服务420发现设备下线。
其中,通信服务发现电子设备B下线的方式可以为上述的在3分钟内接收不到电子设备B的心跳信号。
S72,通信服务420向设备管理服务413发送设备下线通知。
其中,通信服务向设备管理服务发送的设备下线通知也可以用于指示设备管理服务刷新电子设备列表,以更新电子设备B的状态信息。但需要说明的是,此通知和上述S66中的设备上线通知可以携带不同的通知标识(例如up标识代表设备上线,down标识代表设备下线),以使设备管理服务获知需要将电子设备B的状态信息更新为哪种状态。
S73,设备管理服务413刷新电子设备列表。
其中,这里刷新电子设备列表也即将该列表中设备的状态进行修改,比如之前电子设备B是上线状态,现修改为下线状态。
S74,设备管理服务413将设备下线通知回调至智慧空间APP412。
设备管理服务监听设备下线的过程与监听设备上线的过程类似,在此不再赘述。可选地,上述设备管理服务所执行的操作可由设备上下线感知模块执行。
综上,电子设备的设备管理服务可实时监听其他电子设备的上下线状态,具有良好的感知能力。
在本申请实施例中,电子设备不仅可以查询感知其他电子设备的上述信息,还可以对其他电子设备(以下称为被控设备)进行控制,图15是设备控制过程的流程示意图,具体可以包括:
S81,接收用户输入的控制操作,生成控制指令。
其中,用户可以在智慧空间APP对被控设备输入控制操作,例如可以是对智能电视的音量进行控制的操作。
S82,判断被控设备是否上线,若是,执行S83。
其中,由上述描述可知,设备上线可分为近场上线和远场上线,示例性地,此实施例中可以将近场上线的上线类型记为1,远场上线的上线类型记为2。
在电子设备接收到用户的控制操作后,可以通过设备管理服务获取电子设备列表,若被控设备已经上线,则说明设备管理服务已执行上述S67的步骤,那么电子设备列表中会记录有被控设备的上线类型,便可执行S83的步骤。若通过电子设备列表发现被控设备未上线,则电子设备可以不对控制指令进行处理,结束当前流程。
S83,对控制指令进行数据编码,存入传输队列。
若被控设备已上线,则电子设备可以对控制指令进行数据编码,并存入传输队列准备传输。
S84,判断被控设备的上线类型是否为空,若不为空,执行S85。
示例性地,若被控设备的上线类型为1或2,则其上线类型不为空,即可以执行后续发送控制指令的过程。若通过上述电子设备列表发现被控设备的上线类型为空,则电子设备不确定其是何种类型的上线状态,无法执行后续流程,便可以结束当前流程。
S85,判断缓存中是否存在控制通道,若否,执行S86-S87,若是,执行S88。
其中,因电子设备控制被控设备时,通常需要创建控制通道(此处的控制通道可以为传输指令的数据通信通道),但为了避免频繁创建控制通道而导致传输时延较长,本申请实施例可以将控制通道存入缓存中,减少创建控制通道的次数。在被控设备已上线的情况下,电子设备可以向被控设备发送控制指令,但是需要确定发送该控制指令的控制通道,以及确定该控制通道是否在缓存中。若被控设备的上线类型为近场上线,则后续便通过近场控制通道发送控制命令。若被控设备的上线类型为远场上线,则后续便通过远场控制通道发送控制命令。若近场上线和远场上线同时存在,则为提高控制成功率,电子设备优先使用近场控制通道发送控制命令;在近场控制通道未将控制命令发送成功的情况下,再次通过远场控制通道发送控制命令。那么,电子设备在确定了所要使用的控制通道后,可以在判断该控制通道是否在缓存中,若没有则需要创建该控制通道,若有则便可以发送控制指令。
S86,创建控制通道。
S87,将控制通道存入缓存。
其中,电子设备创建控制通道的过程可以为:电子设备与被控设备之间建立一个session通道,例如通过调用opensession函数接口,将被控设备的设备ID、上线类型以及预先定义的通道名传入该接口,即创建了电子设备与被控设备之间的session通道。示例性地,对于智能音箱的远场上线状态来说,电子设备可以根据智能音箱的设备ID,上线标识(例如标记2)以及定义的通道名(例如session1)作为参数,传入opensession函数,即创建了电子设备与智能音箱之间的session通道。
然后,电子设备可以将被控设备的设备ID以及通道名作为所创建的session通道的属性,并存入缓存中。
S88,判断控制通道在缓存中的时长是否超过预设时长,若是,执行S89,若否,执行S90。
S89,删除控制通道。
S90,通过控制通道,将传输队列中的控制命令发送至被控设备。
在缓存中存在控制通道的情况下,电子设备判断该控制通道在缓存中的存储时长是否超过预设时长(例如,3分钟),例如可以以通道名作为通道标识,查看该通道在缓存中的存储时长,若已超过,则说明该控制通道占用缓存的时间已较长,需要将其删除以释放缓存,例如将上述存储的session通道的属性删除。若还未超过,则电子设备将上述控制命令发送给被控设备。此处,若被控设备是远场上线,则电子设备调用上述session通道发送控制指令时,电子设备中的通信服务可以将该控制指令发送至云服务器,由云服务器转发至被控设备;若被控设备是近场上线,则电子设备调用上述session通道发送控制指令时,电子设备中的通信服务可以直接将控制指令发送至被控设备。
在一个实现方式中,电子设备在将控制通道存入缓存时,即可开启一个计时器,用来对控制通道在缓存中的时间进行计时,可选地,在缓存中存在多个控制通道的情况下,可以采用多个计时器分别计时。而在控制通道在缓存中的时长超过了预设时长后,电子设备除了删除对应的控制通道,还需将其对应的计时器归零。
对于控制指令,电子设备在发送之前,还可使用上述协商的密钥进行加密,可选地,电子设备对控制指令进行加密的方法包括但不限于DES(data encryption standard)算法、RC2算法、RC4算法等。
S91,判断控制命令是否发送成功,若否,则返回重新执行S84。
其中,若上述控制通道已被删除,则控制命令是不会发送成功的,电子设备可以重新执行发送控制命令的过程。或者,在同时存在近场控制通道和远场控制通道的情况下,通过近场控制通道没有将控制命令发送成功,则电子设备可以再通过远场控制通道进行发送。在一个实现方式中,若被控设备接收到了控制指令,则可以向电子设备发送一个回复消息,以表示其已成功接收到该控制指令;那么,若电子设备接收到被控设备的回复消息,则说明控制指令已发送成功,若电子设备未接收到被控设备的回复消息,则说明控制指令未发送成功。
可选地,上述设备管理服务所执行的操作可由设备控制模块执行。
上述实现方式中,电子设备可以根据被控设备的上线类型选择对应的控制通道,以提高设备控制的成功率;另外,还可以将控制通道存入缓存中,减少创建控制通道的次数,减少传输时延。
对于上述设备控制过程,下面再以一个实施例对其进行描述,图16是设备控制过程的另一流程示意图,该过程可以由电子设备执行,具体可以包括:
S101,根据用户输入的控制操作生成控制指令,该控制操作请求控制被控设备。
S102,若被控设备处于上线状态,则根据被控设备的上线状态确定发送控制指令的控制通道,上线状态包括远场上线状态和/或近场上线状态。
S103,通过对应的控制通道,向被控设备发送上述控制指令。
示例性地,电子设备可以是手机,被控设备可以是智能音箱,手机上可以安装智慧空间APP。用户在该智能空间APP上打开智能音箱的控制界面,点击暂停控件,手机可以根据该操作生成控制指令,以请求控制被控设备暂停播放。然后手机可以从本地存储的智能音箱的信息中获取其上线状态,并根据上线状态确定对应的控制通道;例如,若是近场上线,则通过近场控制通道发送控制命令,若是远场上线,则通过远场控制通道发送控制命令,若同时近场上线和远场上线,则优先使用近场控制通道发送控制命令。智能音箱接收到该暂停播放的控制指令后,便可暂停播放当前播放的内容。
关于该实施例中各步骤的实现过程可参见上述实施例的描述,其实现过程和技术原理类似,在此不再赘述。
上文详细介绍了本申请实施例提供的设备控制方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述设备控制方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图2所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的设备控制方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的设备控制方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的设备控制方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种设备控制方法,其特征在于,所述方法由第一电子设备执行,包括:
根据用户输入的第一操作生成控制指令,所述第一操作请求控制第二电子设备;
若所述第二电子设备处于上线状态,则根据所述第二电子设备的上线状态确定发送所述控制指令的控制通道,所述上线状态包括远场上线状态和/或近场上线状态;
通过所述控制通道,向所述第二电子设备发送所述控制指令。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二电子设备的上线状态确定发送所述控制指令的控制通道,包括:
若所述第二电子设备处于远场上线状态和近场上线状态,则将第一通道确定为所述控制通道,所述第一通道为:所述第二电子设备在近场上线状态下与所述第一电子设备之间通过短距连接进行通信时所使用的通道。
3.根据权利要求2所述的方法,其特征在于,若通过所述控制通道未将所述控制指令发送成功,所述方法还包括:
将第二通道确定为所述控制通道,重新向所述第二电子设备发送所述控制指令,所述第二通道为:所述第二电子设备在远场上线状态下与所述第一电子设备之间通过云服务器进行通信时所使用的通道。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述通过所述控制通道,向所述第二电子设备发送所述控制指令之前,所述方法还包括:
从所述第一电子设备的缓存中获取所述控制通道;
若所述缓存中不存在发送所述控制指令的控制通道,所述方法还包括:
创建控制通道。
5.根据权利要求4所述的方法,其特征在于,在所述创建控制通道之后,所述方法还包括:
将创建的所述控制通道存入所述缓存中。
6.根据权利要求4或5所述的方法,其特征在于,若所述缓存中存在发送所述控制指令的控制通道,所述通过所述控制通道,向所述第二电子设备发送所述控制指令,包括:
若所述控制通道在所述缓存中的存储时长小于或者等于预设时长,则通过所述控制通道向所述第二电子设备发送所述控制指令。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述根据用户输入的第一操作生成控制指令之前,所述方法还包括:
获取所述第二电子设备的当前状态,所述当前状态包括上线状态或下线状态。
8.根据权利要求7所述的方法,其特征在于,所述获取所述第二电子设备的当前状态,包括:
通过云服务器获取所述第二电子设备的远场状态,以及通过短距连接获取所述第二电子设备的近场状态,所述远场状态包括远场上线状态或远场下线状态,所述近场状态包括近场上线状态或近场下线状态。
9.根据权利要求7或8所述的方法,其特征在于,在获取到所述第二电子设备的当前状态之后,所述方法还包括:
根据所述第二电子设备的当前状态,刷新所述第一电子设备中存储的所述第二电子设备的状态信息,以及将所述第二电子设备的状态信息显示在第一应用的界面上。
10.一种设备控制系统,其特征在于,包括第一电子设备和第二电子设备,所述第一电子设备执行如权利要求1至9中任一项所述的方法,所述第二电子设备接收所述第一电子设备发送的控制指令。
11.根据权利要求10所述的系统,其特征在于,所述系统还包括云服务器,所述第二电子设备在远场上线状态下与所述第一电子设备之间通过所述云服务器进行通信。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述存储器存储有一个或多个程序,当所述一个或者多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210191357.7A CN115550391B (zh) | 2022-02-28 | 2022-02-28 | 设备控制方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210191357.7A CN115550391B (zh) | 2022-02-28 | 2022-02-28 | 设备控制方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115550391A true CN115550391A (zh) | 2022-12-30 |
CN115550391B CN115550391B (zh) | 2023-08-11 |
Family
ID=84723345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210191357.7A Active CN115550391B (zh) | 2022-02-28 | 2022-02-28 | 设备控制方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115550391B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010219794A (ja) * | 2009-03-16 | 2010-09-30 | Toshiba Corp | 無線機器 |
CN103200070A (zh) * | 2013-03-29 | 2013-07-10 | Tcl集团股份有限公司 | 一种控制终端及其控制方法 |
CN103237056A (zh) * | 2013-03-29 | 2013-08-07 | Tcl集团股份有限公司 | 一种设备终端、控制终端和服务器及其控制方法 |
CN103561087A (zh) * | 2013-10-30 | 2014-02-05 | 乐视致新电子科技(天津)有限公司 | 一种设备互连方法及装置 |
CN104363151A (zh) * | 2014-10-31 | 2015-02-18 | 广东康宝电器股份有限公司 | 无线物联家居系统及其联网方法和远程访问控制方法 |
US20150048924A1 (en) * | 2012-08-13 | 2015-02-19 | Crestron Electronics, Inc. | Initiating Remote Control Using Near Field Communications |
CN106789468A (zh) * | 2016-12-22 | 2017-05-31 | Tcl集团股份有限公司 | 一种基于智能终端的家电设备控制方法及系统 |
CN106789475A (zh) * | 2016-12-29 | 2017-05-31 | Tcl集团股份有限公司 | 家电控制方法及装置 |
US20170364716A1 (en) * | 2014-12-22 | 2017-12-21 | Smartrac Investment B.V. | Method for retrieving a shut state and/or a location of a closable container and well as closable containers |
CN107645567A (zh) * | 2017-11-14 | 2018-01-30 | 中国科学院声学研究所 | 一种远程控制智能终端设备的方法 |
US20190265831A1 (en) * | 2018-02-23 | 2019-08-29 | Cirrus Logic International Semiconductor Ltd. | Method and system for an electronic device |
CN110366152A (zh) * | 2019-07-09 | 2019-10-22 | 重庆科赛孚科技有限公司 | 基于近场通讯身份识别实现设备远场通讯连接方法及系统 |
-
2022
- 2022-02-28 CN CN202210191357.7A patent/CN115550391B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010219794A (ja) * | 2009-03-16 | 2010-09-30 | Toshiba Corp | 無線機器 |
US20150048924A1 (en) * | 2012-08-13 | 2015-02-19 | Crestron Electronics, Inc. | Initiating Remote Control Using Near Field Communications |
CN103200070A (zh) * | 2013-03-29 | 2013-07-10 | Tcl集团股份有限公司 | 一种控制终端及其控制方法 |
CN103237056A (zh) * | 2013-03-29 | 2013-08-07 | Tcl集团股份有限公司 | 一种设备终端、控制终端和服务器及其控制方法 |
CN103561087A (zh) * | 2013-10-30 | 2014-02-05 | 乐视致新电子科技(天津)有限公司 | 一种设备互连方法及装置 |
CN104363151A (zh) * | 2014-10-31 | 2015-02-18 | 广东康宝电器股份有限公司 | 无线物联家居系统及其联网方法和远程访问控制方法 |
US20170364716A1 (en) * | 2014-12-22 | 2017-12-21 | Smartrac Investment B.V. | Method for retrieving a shut state and/or a location of a closable container and well as closable containers |
CN106789468A (zh) * | 2016-12-22 | 2017-05-31 | Tcl集团股份有限公司 | 一种基于智能终端的家电设备控制方法及系统 |
CN106789475A (zh) * | 2016-12-29 | 2017-05-31 | Tcl集团股份有限公司 | 家电控制方法及装置 |
CN107645567A (zh) * | 2017-11-14 | 2018-01-30 | 中国科学院声学研究所 | 一种远程控制智能终端设备的方法 |
US20190265831A1 (en) * | 2018-02-23 | 2019-08-29 | Cirrus Logic International Semiconductor Ltd. | Method and system for an electronic device |
CN110366152A (zh) * | 2019-07-09 | 2019-10-22 | 重庆科赛孚科技有限公司 | 基于近场通讯身份识别实现设备远场通讯连接方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115550391B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021023220A1 (zh) | 一种内容接续方法、系统及电子设备 | |
WO2021017894A1 (zh) | 一种使用远程sim模块的方法及电子设备 | |
WO2021147406A1 (zh) | 一种音频输出方法及终端设备 | |
CN111221845A (zh) | 一种跨设备信息搜索方法及终端设备 | |
KR20210011027A (ko) | 애플리케이션 기능 구현 방법 및 전자 디바이스 | |
CN114125354A (zh) | 一种智能音箱与电子设备协作的方法及电子设备 | |
EP4187872A1 (en) | Task processing method and related electronic device | |
WO2022179443A1 (zh) | Nfc通信方法、电子设备及系统 | |
WO2024037032A1 (zh) | 账号登录的方法及电子设备 | |
CN113395364B (zh) | 一种应用服务器的访问方法及终端 | |
CN113703849B (zh) | 投屏应用打开方法和装置 | |
US11695841B2 (en) | Cross-domain discovery between service layer systems and web of Things systems | |
CN114124980B (zh) | 一种启动应用的方法、设备、系统、终端及存储介质 | |
CN114915618A (zh) | 升级包下载方法及装置 | |
CN115550391B (zh) | 设备控制方法和电子设备 | |
CN114567871A (zh) | 文件共享的方法、装置、电子设备以及可读存储介质 | |
CN114071652A (zh) | 一种绑定关系的建立方法以及相关设备 | |
CN114268931A (zh) | 一种IoT设备的管理方法及终端 | |
CN114007202A (zh) | 一种绑定关系的建立方法以及相关设备 | |
CN115550415B (zh) | 设备连接方法和电子设备 | |
CN114172925B (zh) | 配网方法及设备 | |
WO2023142941A1 (zh) | 播放记录显示方法及相关设备 | |
CN116033592B (zh) | 蜂窝通信功能的使用方法和装置 | |
CN117216428B (zh) | 一种网页资源请求方法、终端设备及计算机可读存储介质 | |
WO2023231963A1 (zh) | 一种设备控制方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |