app控制多个设备的实现方法与状态同步方法与流程

文档序号:13882399阅读:5932来源:国知局

本发明涉及智能家电技术领域,具体涉及一种实现单个手机app应用对多个智能家电(空调,冰箱等)的操作控制,状态管理等。



背景技术:

现在的智能家电设备越来越多,空调,洗衣机,冰箱电视等,这些设备都可以通过手机app去控制。但每一个设备都有一个单独的手机应用去控制,对于用户手机安装的应用太多,对开发者新增加一个设备或一个功能也需要重新去更新手机端的代码。原来的开发模式是为各个手机平台分别开设各个手机的客户端。比如空调的开发一个空调的手机客户端,冰箱的开发一个冰箱的客户端。添加新的智能设备,新增加功能需要重新发布手机客户端应用才能使用。这样造成开发成本高,维护任务大。



技术实现要素:

本发明克服了现有技术的不足,提供一种app控制多个设备的实现方法与状态同步方法,用于实现对不同功能的多个家用电器设备(冰箱,空调,洗衣机)可以在同一个手机应用管理控制的目的。

一种app控制多个设备的实现方法,包括:

将设备的控制界面和控制指令打包到zip包里,以及将zip包上传到服务器;

用户在使用新设备或新功能的时候通过移动终端的app根据设备的型号下载相应的zip包,并解压,展示出ui的zip包;

在新增设备或功能时,通过修改所述zip包,在移动终端上不增加新代码的情况下而实现相应控制功能。

为了更好地实现本发明,进一步的技术方案是:

根据本发明的一个实施方案,所述设备的控制界面和控制指令通过html5+javascrip+css技术实现并打包。

根据本发明的另一个实施方案,所述控制界面采用cordova+ionic+angularjs技术实现。

根据本发明的另一个实施方案,所述cordova提供一组与设备相关的api,移动应用能够以javascript访问原生的设备功能。

根据本发明的另一个实施方案,所述cordova提供一组统一的javascript类库,以及为所述类库提供所用的设备相关的原生后台代码,实现js代码和本地代码通信。

根据本发明的另一个实施方案,所述控制命令用javascript封装到h5包。

根据本发明的另一个实施方案,用户在界面上操作的时候将命令通过javascript代码传递给移动终端应用的本地代码,本地代码再发送给设备端。

根据本发明的另一个实施方案,控制设备成功后设备响应的数据也传给移动终端应用,移动终端应用在转发给h5实现的ui层,ui界面呈现数据给用户。

本发明还可以是:

一种保障设备与客户端的状态同步的方法,包括:

每次打开手机app从设备端获取更新一次当前设备的状态信息;

每次从设备获取数据和状态做缓存;

移动终端给设备发送控制指令的情况下,设备响应返回给客户当前全部的状态的字符串,更新移动终端控制界面;

在用户没有通过移动终端控制设备的情况下,设备通过发送心跳数据来更新设备的状态;

设备返回的数据为设备当前的全部状态。

考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:

与现有技术相比,本发明的有益效果之一是:

本发明的一种app控制多个设备的实现方法与状态同步方法,客户端开发好之后,每发布一款新设备,就只需要新增加的h5包,就不需要去改动各个手机平台app的代码,用户下载h5包后即可使用,一个h5包可以适用anroid和ios苹果系统。

附图说明

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

图1示出了根据本发明一个实施例的app控制多个设备的实现示意图。

具体实施方式

下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。

一种app控制多个设备的实现方法,其对不同功能的多个家用电器设备(冰箱,空调,洗衣机)可以在同一个手机应用管理控制,以及新增加一个设备或一个功能只需要下载更新zip包就可以继续使用。参见图1所示,具体地:

在新增加设备或新功能的时候。将设备的控制界面和控制指令并使用web编程(html5+javascrip+css技术实现)的方式实现并打包到一个zip包里,将开发的zip包上传到服务器。用户在使用新设备或新功能的时候通过手机端的app根据设备的型号去下载相应的zip包,并解压,展示出ui的zip包。用户即可使用该新设备或新功能。新增加一个设备就新增加一个h5界面的zip包,修改或新增加功能也修改原来的设备的zip包。就不需要在在手机客户端在增加代码,下面就是本发明的核心设备界面和控制命令的zip包实现的技术详细介绍。

控制界面实现可以选择cordova+ionic+angularjs技术,这套技术可以实现复杂,漂亮的h5界面。可以很好的适应现在流行的手机操作系统(android,ios)。cordova提供了一组设备相关的api,移动应用能够以javascript访问原生的设备功能,如摄像头、麦克风等。cordova还提供了一组统一的javascript类库,以及为这些类库所用的设备相关的原生后台代码,可以很好的实现js代码和本地代码(java,objective-c)通信。ionic是一个强大的html5应用程序开发框架(html5hybridmobileappframework)。可以帮助您使用web技术,比如html、css和javascript构建接近原生体验的移动应用程序。ionic主要关注外观和体验,以及和你的应用程序的ui交互,特别适合用于基于hybird模式的html5移动应用程序开发。angularjs一款优秀的前端js框架,最为核心的是:mvc、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

控制命令用javascript封装到h5包里面。用户在界面上操作的时候(比如按下某个按钮)将命令通过javascript代码传递给手机应用的本地代码(java或objective-c),本地代码再发送给设备端。控制设备成功后设备响应的数据也传给手机应用,手机应用在转发给h5实现的ui层。ui界面呈现数据给用户。手机app就是一个zip包和设备之间的数据命令传输的通道,可以和手机应用和设备实现解耦合。设备每次应该返回数据包含当前设备的全部状态。可以解决设备和客户端数据同步的情况。比如通过直接操作设备上的按钮(而不是通过手机app控制设备的状态)后的状态也能过呈现在手机ap上面。数据的传输采用十六进制编码的数据,可以提高效率。

通过web编程技术实现的h5ui包的优点还可以让ios和android共用一个界面。不用在单独为某种系统的手机单独开发。在增加设备或功能的时候就不需要在改动手机端应用的代码。

本发明的实施条件,包括:

1.需要开发一个管理设备zip包的服务器(提供上传,下载以及管理zip包的功能)可以通过java或php等技术实现。

2.需要开发一个及时通讯的服务器可以选择xmpp或mqtt等成熟的通信方案,用来传递设备和手机客户端的数据。

3.需要开发一个基础的手机端app应用,实现下载ui包、能展示ui包、转发ui包里面的数据的功能。

实施步骤,包括:

1.开发设备控制界面和控制指令的zip包。

2.上传zip包到服务器。

3.在手机端开发一个基于浏览器引擎webkit的基础app可以下载、解压、展示zip包。如电脑浏览器打开网页原理一样,但zip包封装的内容都下载到了本地所以加载速度比较快。

4.用户操作app里面的设备,app发送控制命令到设备。

5.设备返回当前的全部状态到手机客户端并展示到zip包里的界面。

为了保障设备与客户端的状态同步问题,可以采用一下一些方法。

1.每次打开手机app从设备端获取更新一次当前设备的状态信息。

2.每次从设备获取数据和状态做缓存,可以让再次使用时数据,提高用户体验。

3.控制设备某一个功能时(手机给设备发送控制指令的时候,设备响应返回给客户的16进制的设备当前全部的状态的字符串,来更新手机控制界面)。

4.在用户没有通过手机控制设备的情况下,设备通过发送心跳数据来更新设备的状态。

5.设备返回的数据应该是设备当前的全部状态。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。

尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

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