CN110347396A - ***构建方法、控制方法、装置、控制***及计算设备 - Google Patents

***构建方法、控制方法、装置、控制***及计算设备 Download PDF

Info

Publication number
CN110347396A
CN110347396A CN201810290597.6A CN201810290597A CN110347396A CN 110347396 A CN110347396 A CN 110347396A CN 201810290597 A CN201810290597 A CN 201810290597A CN 110347396 A CN110347396 A CN 110347396A
Authority
CN
China
Prior art keywords
program
code
equipment
electrical equipment
service end
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
Application number
CN201810290597.6A
Other languages
English (en)
Other versions
CN110347396B (zh
Inventor
石进
曲奎林
李辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810290597.6A priority Critical patent/CN110347396B/zh
Publication of CN110347396A publication Critical patent/CN110347396A/zh
Application granted granted Critical
Publication of CN110347396B publication Critical patent/CN110347396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例提供一种***构建方法、控制方法、装置、控制***及计算设备。其中,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序,所述第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序分别部署在各自对应的设备中以构成对至少一个电器设备进行控制的控制***;本申请实施例提供的技术方案降低了开发难度和开发成本,提高了开发效率。

Description

***构建方法、控制方法、装置、控制***及计算设备
技术领域
本申请实施例涉及计算机应用技术领域,尤其涉及一种***构建方法、一种控制方法、一种***构建装置、一种控制***及一种计算设备。
背景技术
智能家居是在互联网影响之下物联化的体现,其通过物联网技术将家中的各种电器设备连接到一起,通过对各种电器设备进行控制,为用户提供安全性、便利性以及舒适性等的居住环境。
为了方便对家中的电器设备进行控制,需要开发智能家居控制***,但是目前的智能家居控制***开发过程比较复杂,导致开发成本较高、开发时间也较慢。
发明内容
本申请实施例提供一种***构建方法、控制方法、装置及控制***,用以解决现有技术中控制***开发过程复杂、开发成本高且开发时间慢的技术问题。
第一方面,本申请实施例中提供了一种***构建方法,包括:
采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序;
部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中,以构成控制***;
其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
可选地,所述采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
利用第一预配置代码框架生成第一服务端初始代码、第一消息代理初始代码、第一控制中心初始代码及第一用户端初始代码;
基于分别针对所述第一服务端初始代码、所述第一消息代理初始代码以及所述第一用户端初始代码的修改操作或确认操作,获得第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码。
可选地,所述采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码包括:
基于消息队列遥测传输MQTT通信协议,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
其中,所述第一消息代理程序分别与所述第一服务端程序、所述第一用户端程序及所述第一控制中心程序按照所述MQTT通信协议通信。
可选地,还包括:
接收针对所述至少一个电器设备的控制需求;
所述采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码包括:
基于所述至少一个电器设备的控制需求,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码。
可选地,所述第一用户端程序为网页web控制页面;所述第一服务端程序为web服务程序;
所述web控制页面与所述web服务程序部署在同一web服务器中,所述web服务器用以向web客户端提供所述web控制页面。
第二方面,本申请实施例中提供了一种***构建方法,包括:
采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序;
部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自对应设备中,以构成控制***;
其中,所述第二消息程序用以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
可选地,所述采用同一程序语言编写的第二服务端代码、第二消息代理代码及第二用户端代码;
利用预配置代码框架生成服务端初始代码、消息代理初始代码及用户端初始代码;
基于分别针对所述服务端初始代码、所述消息代理初始代码以及所述用户端初始代码的修改操作或确认操作,获得第二服务端代码、第二消息代理代码及第二用户端代码。
可选地,所述采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码包括:
基于MQTT通信协议,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
其中,所述第二消息代理程序分别与所述第二服务端程序、所述第二用户端程序及所述至少一个电器设备按照所述MQTT通信协议通信。
可选地,还包括:
接收针对所述至少一个电器设备的控制需求;
所述采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码包括:
基于所述至少一个电器设备的控制需求,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码。
可选地,所述第二用户端程序为web控制页面;所述第二服务端程序为web服务程序;
所述web控制页面与所述web服务程序部署在同一web服务器中,所述web服务器用以向web客户端提供所述web控制页面。
第三方面,本申请实施例中提供了一种控制***,包括采用同一程序语言开发的第一服务器、第一消息代理设备、第一控制中心设备及第一用户设备;其中,至少一个电器设备通过局域网连接所述第一控制中心设备;
所述第一服务器用于从所述第一消息代理设备获取所述第一控制中心设备发布的所述至少一个电器设备各自的状态信息;
所述第一消息代理设备用于接收所述第一控制中心设备发布的所述至少一个电器设备各自的第一状态信息;接收所述第一用户设备针对任一电器设备发布的第一控制信息;
所述第一用户设备用于从所述第一服务器获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理设备;
所述第一控制中心设备用于接收所述至少一个电器设备分别发送的第一状态信息,并将所述至少一个电器设备各自的第一状态信息发布至所述第一消息代理设备;从所述第一消息代理设备获取所述第一用户设备发布所述第一控制信息;将所述第一控制信息发送至所述任一个电器设备,以供所述任一个电器设备依据所述第一控制信息执行控制操作。
可选地,所述第一服务器还用于根据所述至少一个电器设备各自的第二状态信息,判断所述至少一个电器设备是否满足各自对应的处理条件;针对满足其对应处理条件的第一目标电器设备,发布相应的第一处理指令至所述第一消息代理设备;
所述第一控制中心设备还用于从所述第一消息代理设备获取所述第一目标电器设备对应的处理指令,并将所述第一处理指令发送至所述第一目标电器设备,以供所述第一目标电器设备执行所述第一处理指令以实现相应的控制处理。
可选地,所述第一服务器为web服务器,提供web控制页面;
所述第一用户设备通过运行所述web控制页面,以从所述第一服务器获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理设备。
可选地,所述第一消息代理设备分别与所述第一控制中心设备、所述第一用户设备及所述第一服务器基于MQTT通信协议建立通信连接。
可选地,所述第一控制中心设备为基于Ruff的电子设备。
第四方面,本申请实施例中提供了一种控制***,包括采用同一程序语言开发的第二服务器、第二消息代理设备及第二用户设备;其中,所述第二消息代理设备连接至少一个电器设备;
所述第二消息代理设备用于接收所述至少一个电器设备分别发布的第二状态信息;接收所述第二用户设备针对任一电器设备发布的第二控制信息;
所述第二服务器用于从所述第二消息代理设备获取所述至少一个电器设备分别发布的第二状态信息;
所述第二用户设备用于从所述服务器获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理设备,以供所述任一电器设备从所述第二消息代理设备获取所述第二控制信息,依据所述第二控制信息执行控制操作。
可选地,所述第二服务器还用于根据所述至少一个电器设备各自的第二状态信息,判断所述至少一个电器设备是否满足各自对应的处理条件;针对满足其对应处理条件的第二目标电器设备,发布对应的第二处理指令至所述第二消息代理设备,以供所述第二目标电器设备从所述第二消息代理设备获得所述第二处理指令并执行所述第二处理指令。
可选地,所述第二服务器为web服务器,提供web控制页面;
所述第二用户设备通过运行所述web控制页面,以从所述第二服务器获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述消息代理设备。
可选地,所述第二消息代理设备分别与所述至少一个电器设备、所述第二用户设备及所述第二服务器基于MQTT通信协议建立通信连接。
第五方面,本申请实施例中提供了一种控制方法,应用于采用同一程序语言开发的控制***中,所述方法包括:
第一控制中心设备获取至少一个电器设备各自的状态信息,并将所述至少一个电器设备各自的状态信息发布至第一消息代理设备;
第一服务器从所述第一消息代理设备获取所述至少一个电器设备各自的状态信息;
第一用户设备从所述第一服务端获取任一电器设备的状态信息,并发布针对所述任一电器设备的第一控制信息至所述第一消息代理设备;
所述第一控制中心设备从所述第一消息代理设备获取所述第一控制信息并发送至所述任一电器设备,以供所述任一电器设备获取并执行。
第六方面,本申请实施例中提供了一种控制方法,应用于采用同一程序语言开发的控制***中,所述方法包括:
第二消息代理设备接收至少一个电器设备各自发布的第二状态信息;
第二服务器从所述第二消息代理设备获取所述至少一个电器设备各自的状态信息;
第二用户设备从所述第二服务端获取任一电器设备的状态信息,并发布针对所述任一电器设备的第二控制信息至所述第二消息代理设备,以供所述任一电器设备获取并执行。
第七方面,本申请实施例中提供了一种***构建装置,包括:
第一代码确定模块,用于基于针对至少一个电器设备的控制需求,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
第一代码编译模块,用于将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序;
第一***构建模块,用于部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中,以构成控制***;
其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
第八方面,本申请实施例中提供了一种***构建装置,包括:
第二代码确定模块,用于基于针对至少一个电器设备的控制需求,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
第二代码编译模块,用于将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序;
第二***构建模块,用于部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自对应设备中,以构成控制***;
其中,所述第二消息程序用以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
第九方面,本申请实施例中提供了一种计算设备,包括存储组件以及处理组件;
所述存储组件存储一条或多条计算机程序指令,所述一条或多条计算机程序指令以供所述处理组件调用并执行;
所述处理组件用于:
采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序;
部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中,以构成控制***;
其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
第十方面,本申请实施例中提供了一种计算设备,包括存储组件以及处理组件;
所述存储组件存储一条或多条计算机程序指令,所述一条或多条计算机程序指令以供所述处理组件调用并执行;
所述处理组件用于:
采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序;
部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自设备中,以构成控制***;
其中,所述第二消息程序用以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
本申请实施例中,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序,所述第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序分别部署在各自对应的设备中以构成对至少一个电器设备进行控制的控制***;本申请实施例提供的技术方案降低了开发难度和开发成本,提高了开发效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种***构建方法一个实施例的流程图;
图2示出了本申请提供的一种控制***一个实施例的结构示意图;
图3示出了本申请提供的一种***构建方法又一个实施例的流程图;
图4示出了本申请提供的一种控制***又一个实施例的结构示意图;
图5示出了本申请提供的一种控制方法一个实施例的流程图;
图6示出了本申请提供的一种控制方法又一个实施例的流程图;
图7示出了本申请提供的一种***构建装置一个实施例的结构示意图;
图8示出了本申请提供的一种计算设备一个实施例的结构示意图;
图9示出了本申请提供的一种***构建装置又一个实施例的结构示意图;
图10示出了本申请提供的一种计算设备又一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案可以适用于针对至少一个电器设备进行控制处理的应用场景中,例如对住宅中的至少一个电器设备进行控制处理,以实现智能家居的目的,本申请实施例提供的控制***为物联网***,在一个实际应用中即可以是指智能家居控制***。
以智能家居控制***为例,目前的智能家居控制***通常由服务端以及用户端构成,采用传统的嵌入式技术和服务端技术搭建,例如服务端通常采用java语言开发服务端程序,用户端涉及app(application,应用程序),由于app依赖移动设备的操作***,如ios、android(安卓)等,涉及采用操作***语言开发app,因此传统的智能开发成本很高、需要多种掌握不同技能的开发人员,开发时间较慢、开发成本也高。
为了节省了开发成本,提高开发效率,简化控制***的开发,发明人经过一系列研究提出了本申请的技术方案,在本申请实施例中,采用同一程序语言编写服务端代码、消息代理代码、控制中心代码及用户端代码;将所述服务端代码、所述消息代理代码、所述控制中心代码及所述用户端代码分别进行编译,以分别获得服务端程序、消息代理程序、控制中心程序及用户端程序;从而部署所述服务端程序、所述消息代理程序、所述控制中心程序及所述用户端程序至各自对应设备中,即可以构成控制***,其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备。本申请实施例提供的控制***服务端以及硬件端均采用同一程序语言开发获得,技术栈统一,降低了开发难度,且可以提高开发效率,使得开发人员可以快速上手,降低了开发成本。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种***构建方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码。
可选地,该同一个程序语言可以为JavaScript。
其中,代码编写可以由开发人员执行,当然也可以采用其它方式实现,在下面实施例中会详细进行介绍。
可选地,可以基于所述至少一个电器设备的控制需求,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码。
因此,该方法还可以包括:
接收针对所述至少一个电器设备的控制需求。从而通过本申请实施例搭建的控制***即可以实现对至少一个电器设备的控制需求。
102:将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序。
第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码均为源代码,需要进行编译处理转换为目标代码,也即机器语言,以便于设备识别并运行。
由于第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码均采用同一程序语言编写,因此可以同一个编译器进行编译,避免交叉编译,极大了提升开发效率。
103:部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中。
从而基于所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序分别对应设备,即可以构建控制***;该控制***可以至少包括分别部署第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序的设备。
其中,所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序在各自对应设备中运行,使得所述第一控制中心程序可以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序可以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
其中,第一状态信息可以包括运行状态以及采集的环境数据等,该运行状态例如可以是指启动、关闭、休眠或者故障等,采集的环境数据例如可以包括温度、湿度或者光强等。
第一控制信息可以是用户触发的,其包括控制指令,电器设备执行该控制指令即可以实现自动控制,例如启动运行等。
第一用户端程序也可以是基于用户请求从所述第一服务端程序获取任一电器设备的第一状态信息。
此外,所述第一服务端程序还可以对至少一个电器设备各自的第一状态信息进行数据分析,判断所述至少一个电器设备是否满足各自对应的处理条件,针对满足其对应处理条件的第一目标电器设备,发布相应的处理指令至供第一消息代理程序,第一控制中心程序即可以获取并发送至所述第一目标电器设备,以供所述第一目标电器设备执行所述处理指令实现对自身的控制处理。
该第一状态信息例如可以包括温度数据,该处理条件例如可以温度数据高于设定阈值等。
其中,对电器设备的控制处理与现有技术相同,在此不再赘述。
由于第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序用以实现对至少一个电器设备的控制需求,例如至少一个电器设备为家居设备时,即为了智能家居的目的,为了进一步提高开发效率,降低开发成本和开发难度,在某些实施例中,所述采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码可以包括:
利用预配置代码框架生成服务端初始代码、消息代理初始代码、控制中心初始代码及用户端初始代码;
基于分别针对所述服务端初始代码、所述消息代理初始代码、所述控制中心初始代码以及所述用户端初始代码的修改操作或确认操作,获得第一服务端代码、第一消息代理代码、第一控制信息代码及第一用户端代码。
其中,该预配置代码框架即可以基于针对至少一个电器设备的控制需求预先配置获得,其可以包括预配置的服务端初始代码、消息代理初始代码、第一控制中心代码及用户端初始代码。
作为一种可选方式,该服务端初始代码、消息代理初始代码、第一控制中心代码或者用户端初始代码即可以作为各自对应的第一服务端代码、第一消息代理代码、第一控制信息代码及第一用户端代码。
此外,开发人员还可以基于开发需求,对该服务端初始代码、消息代理初始代码、第一控制中心代码或者用户端初始代码进行修改,以获得第一服务端代码、第一消息代理代码、第一控制信息代码及第一用户端代码。
因此,基于分别针对所述服务端初始代码、所述消息代理初始代码、所述控制中心初始代码以及所述用户端初始代码的修改操作或确认操作,即可以获得第一服务端代码、第一消息代理代码、第一控制信息代码及第一用户端代码。
为降低通信成本,降低运行开销,在某些实施例中,所述采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码包括:
基于MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)通信协议,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
从而使得所述第一消息代理程序可以分别与所述第一服务端程序、所述第一用户端程序及所述第一控制中心程序按照所述MQTT通信协议通信。
第一消息代理程序即为MQTT broker(代理)程序。
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT是一个即时通信协议,具有轻量、简单、开放和易于实现等有限,且小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以可以降低网络流量。其中用发布/订阅消息模式,提供一对多的消息发布。
其中,在实际应用中,第一服务端程序部署在其对应设备中获得服务器;第一消息代理程序部署在其对应设备中获得消息代理设备;第一控制中心程序部署在其对应设备中获得控制中心设备。在实际应用中,该控制中心设备可以与至少一个电器设备部署在同一局域网中,其可以作为路由设备,负责连接至少一个电器设备,并接入互联网。
作为一种可选方式,该第一用户端程序可以为app,则第一用户端程序具体用以被用户设备下载并安装,以第一用户端程序实现相应功能。
作为另一种可选方式,该第一用户端程序可以为web(网页)控制页面,因此第一用户端程序与第一服务端程序部署在同一个web服务器中,所述web服务器用以web客户端提供所述web控制页面。
其中,该web客户端例如可以是浏览器(browser),以作为web控制页面的展现工具。
第一用户端程序为web控制页面时,采用JavaScript开发,利用web控制页面作为控制展现层,由于web页面开发可以提供丰富的UI组件,从而可以丰富web控制页面的展现形式。
与图1提供的***构建方法相对应,本申请实施例还提供了一种控制***,如图2中所示,该控制***可以包括采用同一程序语言开发的第一服务器201、第一消息代理设备202、第一控制中心设备203及第一用户设备204;其中,至少一个电器设备205通过局域网连接所述第一控制中心设备203;
该第一控制中心设备203可以具有路由功能,至少一个电器设备205与该第一控制中心设备203位于同一局域网中,可以通过第一控制中心设备203接入互联网,第一服务器201以及第一消息代理设备202部署在网络端。
在实际应用中,该控制***可以为智能家居控制***,该至少一个电器设备即可以是指家居设备,例如冰箱、电视、空调、洗衣机、微波炉、窗帘控制设备等等。
其中,所述第一服务器201用于从所述第一消息代理设备202获取所述第一控制中心设备203发布的所述至少一个电器设备各自的第一状态信息;
所述第一消息代理设备202用于接收所述第一控制中心设备203发布的所述至少一个电器设备205各自的第一状态信息;接收所述第一用户设备针对任一电器设备发布的第一控制信息;
所述第一用户设备204用于从所述第一服务器201获取任一电器设备205的第一状态信息;发布针对所述任一电器设备205的第一控制信息至所述第一消息代理设备202;
所述第一控制中心设备203用于接收所述至少一个电器设备205分别发送的第一状态信息,并将所述至少一个电器设备205各自的第一状态信息发布至所述第一消息代理设备202;从所述第一消息代理设备202获取所述第一用户设备发布的针对任一个电器设备205的第一控制信息;将所述第一控制信息发送至所述任一个电器设备205,以供所述任一个电器设备205从所述第一消息代理设备202获取所述第一控制信息,依据所述第一控制信息执行控制操作。
可选地,第一服务器还用于根据所述至少一个电器设备各自的第一状态信息,判断所述至少一个电器设备是否满足各自对应的处理条件;针对满足其对应处理条件的第一目标电器设备,发布对应的第一处理指令至第一消息代理设备;
所述第一控制中心设备还用于从所述第一消息代理设备获取所述第一目标电器设备对应第一处理指令;将所述第一处理指令发送至所述第一目标电器设备,以供所述第一目标电器设备执行所述第一处理指令以实现相应的控制处理。
此外,第一服务器还可以基于所述至少一个电器设备各自的状态信进行大数据分析,并将分析结果发送至第一用户设备。
在一个实际应用中,所述第一服务器为web服务器,提供web控制页面;所述第一用户设备通过运行所述web控制页面,以从所述第一服务器获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理设备。
具体的,可以是第一用户设备运行所述web控制页面,响应于用户通过web控制页面触发的控制请求时,发布针对所述任一电器设备的第一控制信息至所述第一消息代理设备。
在某些实施例中,所述第一消息代理设备可以分别与所述第一控制中心设备、所述第一用户设备及所述第一服务器基于MQTT通信协议建立通信连接。
该第一消息代理设备也即为MQTT broker设备。
第一控制中心设备可以将所述至少一个电器设备各自的第一状态信息发布至第一订阅主题中,第一服务器通过在所述第一消息代理设备监听所述第一订阅主题,即可以获得该至少一个电器设备各自的第一状态信息。
第一用户设备可以将针对任一个电器设备的第一控制信息发布至第二订阅主题中;第一控制中心设备通过监听该第二订阅主题即可以获得针对该任一个电器设备的第一控制信息。
采用MQTT进行通信,协议简洁、小巧、可扩展性强,可以节省流量、节省电量,以此提高各设备性能。
可选地,该同一程序语言可以为JavaScript。
该第一控制中心设备可以为基于Ruff的电子设备,Ruf是一种支持javascript开发应用的操作***,其可以提供JavaScript运行时环境,专为硬件开发而设计。它对硬件进行了抽象,使用了基于事件驱动、异步I/O的模型,使硬件开发变得轻量而且高效,可以采用JavaScript作为开发语言。
其中,至少一个电器设备如果为智能型设备,其可以自主连接互联网,采用相应通信协议可以与服务端通信,则也可以无需设置控制中心设备。
因此,如图3所示,为本申请实施例提供的一种***构建方法又一个实施例的流程图,该方法可以包括以下几个步骤:
301:采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码。
可选地,该同一程序语言可以为JavaScript。
其中,代码编写可以由开发人员执行,当然也可以采用其它方式实现,在下面实施例中会详细进行介绍。
可选地,可以基于所述至少一个电器设备的控制需求,采用同一程序语言编写第二服务端代码、第二消息代理代码、第二控制中心代码及第二用户端代码。
因此,该方法还可以包括:
接收针对所述至少一个电器设备的控制需求。从而通过本申请实施例搭建的控制***即可以实现对至少一个电器设备的控制需求。
302:将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序。
303:部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自设备中,以构成控制***。
该控制***中即可以至少包括所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序各自对应设备。
其中,所述第二服务端程序、第二消息代理程序及第二用户端程序在各自对应的设备中运行,使得所述第二消息程序可以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
其中,第二状态信息可以包括运行状态以及采集的环境数据等,该运行状态例如可以是指启动、关闭、休眠或者故障等,采集的环境数据例如可以包括温度、湿度或者光强等。
第二控制信息可以是用户触发的,其包括控制指令,电器设备执行该控制指令即可以实现自动控制,例如启动运行等。
此外,所述第二服务端程序还可以对至少一个电器设备各自的第二状态信息进行数据分析,判断所述至少一个电器设备是否满足各自对应的处理条件,针对满足其对应处理条件的目标电器设备,发布相应的第二处理指令至供第二消息代理程序,目标电器设备即可以从第二消息代理程序中获得该第二处理指令,通过执行所述第二处理指令实现对自身的控制处理。
该第二状态信息例如可以包括温度数据,该处理条件例如可以温度数据高于设定阈值等。
为了进一步提高开发效率,降低开发成本和开发难度,在某些实施例中,所述采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码可以包括:
利用预配置代码框架生成服务端初始代码、消息代理初始代码及用户端初始代码;
基于分别针对所述服务端初始代码、所述消息代理初始代码以及所述用户端初始代码的修改操作或确认操作,获得第二服务端代码、第二消息代理代码及第二用户端代码。
其中,该预配置代码框架即可以基于针对至少一个电器设备的控制需求预先配置获得,其可以包括预配置的服务端初始代码、消息代理初始代码及用户端初始代码。
作为一种可选方式,该服务端初始代码、消息代理初始代码或者用户端初始代码即可以作为各自对应的第二服务端代码、第二消息代理代码及第二用户端代码。
此外,开发人员还可以基于开发需求,对该服务端初始代码、消息代理初始代码或者用户端初始代码进行修改,以获得第二服务端代码、第二消息代理代码、第二控制信息代码及第二用户端代码。
因此,基于分别针对所述服务端初始代码、所述消息代理初始代码以及所述用户端初始代码的修改操作或确认操作,即可以获得第二服务端代码、第二消息代理代码、第二控制信息代码及第二用户端代码。
为降低通信成本,降低运行开销,在某些实施例中,所述采用同一程序语言编写第二服务端代码、第二消息代理代码、控制中心代码及第二用户端代码包括:
基于MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)通信协议,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
从而使得所述第二消息代理程序可以分别与所述第二服务端程序、所述第二用户端程序及所述至少一个电器设备按照所述MQTT通信协议通信。
第二消息代理程序即为MQTT broker(代理)程序。
采用MQTT进行通信,协议简洁、小巧、可扩展性强,可以节省流量、节省电量,以此提高各设备性能。
此外,在某些实施例中,所述方法还可以包括:
部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自对应设备中,即可以据此获得控制***。
其中,第二服务端程序部署在其对应设备中获得服务器;第二消息代理程序部署在其对应设备中获得消息代理设备。
作为一种可选方式,该第二用户端程序可以为app,则第二用户端程序具体用以被用户设备下载并安装,以第二用户端程序实现相应功能。
作为另一种可选方式,该第二用户端程序可以为web控制页面,因此第二用户端程序与第二服务端程序部署在同一个服务器中,所述服务器用以用户设备提供所述web控制页面。
其中,用户设备中可以运行web客户端,例如浏览器(browser),以作为web控制页面的展现工具。
第二用户端程序为web控制页面时,采用JavaScript开发,利用web控制页面作为控制展现层,由于web页面开发可以提供丰富的UI组件,因此可以丰富web控制页面的展现形式。
与图3提供的***构建方法相对应,本申请实施例还提供了一种控制***,如图4所示,为本申请实施例提供的一种控制***又一个实施例的结构示意图,该***可以包括采用同一程序语言开发的第二服务器401、第二消息代理设备402及第二用户设备403;其中,所述第二消息代理设备402连接至少一个电器设备404。
在实际应用中,该控制***可以为智能家居控制***,该至少一个电器设备即可以是指家居设备,例如冰箱、电视、空调等。
所述第二消息代理设备402用于接收所述至少一个电器设备404分别发布的第二状态信息;接收所述第二用户设备403针对任一电器设备发布的第二控制信息;
所述第二服务器401用于从所述第二消息代理设备402获取所述至少一个电器设备404分别发布的第二状态信息;
所述第二用户设备403用于从所述服务器401获取任一电器设备404的第二状态信息;发布针对所述任一电器设备404的第二控制信息至所述第二消息代理设备402,以供所述任一个电器设备404从所述第二消息代理设备402监听获得所述第二控制信息,依据所述第二控制信息执行控制操作。
可选地,所述第二服务器还用于根据所述至少一个电器设备各自的第二状态信息,判断所述至少一个电器设备是否满足各自对应的处理条件;针对满足其对应处理条件的第二目标电器设备,发布对应的第二处理指令至所述第二消息代理设备,以供所述第二目标电器设备从所述第二消息代理设备获得所述第二处理指令并执行所述第二处理指令。
此外,第二服务器还可以基于所述至少一个电器设备各自的状态信进行大数据分析,并将分析结果发送至第二用户设备。
在一个实际应用中,所述第二服务器为web服务器,提供web控制页面;
所述第二用户设备通过运行所述web控制页面,以从所述第二服务器获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述消息代理设备。
具体的,可以是第二用户设备运行所述web控制页面,响应于用户通过web控制页面触发的控制请求时,发布针对所述任一电器设备的第二控制信息至所述第二消息代理设备。
该第二用户设备具体通过web客户端运行所述web控制页面,该web客户端可以为浏览器,该第二用户设备可以为手机、平板电脑等便携式设备。
在某些实施例中,所述第二消息代理设备可以分别与所述至少一个电器设备、所述用户设备及所述服务器基于MQTT通信协议建立通信连接。
该第二消息代理设备也即为MQTT broker设备。
至少一个电器设备可以将各自的第二状态信息发送至相应订阅主题中,第一服务器通过监听这些订阅主题,即可以从中获得至少一个电器设备各自对应的第二状态信息。
第二用户设备可以将针对任一个电器设备的第二控制信息也发布至相应订阅主题中,该任一个电器设备通过订阅该订阅主题,即可以监听获得该第二控制信息。
采用MQTT进行通信,协议简洁、小巧、可扩展性强,可以节省流量、节省电量,以此提高各设备性能。
可选地,该同一程序语言可以为JavaScript。
与图2所示的控制***对应,本申请实施例还提供了一种控制方法,如图5中所示,该方法可以包括以下几个步骤:
501:第一控制中心设备获取至少一个电器设备各自的状态信息,并将所述至少一个电器设备各自的状态信息发布至第一消息代理设备。
502:第一服务器从所述第一消息代理设备获取所述至少一个电器设备各自的状态信息。
503:第一用户设备从所述第一服务端获取任一电器设备的状态信息,并发布针对所述任一电器设备的第一控制信息至所述第一消息代理设备。
504:所述第一控制中心设备从所述第一消息代理设备获取所述第一控制信息并发送至所述任一电器设备,以供所述任一电器设备获取并执行。
与图4所示的控制***对应,本申请实施例还提供了一种控制方法,如图6中所示,该方法可以包括以下几个步骤:
601:第二消息代理设备接收至少一个电器设备各自发布的第二状态信息。
602:第二服务器从所述第二消息代理设备获取所述至少一个电器设备各自的状态信息。
603:第二用户设备从所述第二服务端获取任一电器设备的状态信息,并发布针对所述任一电器设备的第二控制信息至所述第二消息代理设备,以供所述任一电器设备获取并执行。
图7为本申请实施例提供的一种***构建装置一个实施例的结构示意图,该装置可以包括:
第一代码确定模块701,用于基于针对至少一个电器设备的控制需求,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
第一代码编译模块702,用于将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序;
第一***构建模块703,用于部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中,以构成控制***;
其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
在某些实施例中,所述第一代码确定模块具体用于利用第一预配置代码框架生成第一服务端初始代码、第一消息代理初始代码、第一控制中心初始代码及第一用户端初始代码;
基于分别针对所述第一服务端初始代码、所述第一消息代理初始代码以及所述第一用户端初始代码的修改操作或确认操作,获得第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码。
在某些实施例中,所述第一代码确定模块具体用于基于MQTT通信协议,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
其中,所述第一消息代理程序分别与所述第一服务端程序、所述第一用户端程序及所述第一控制中心程序按照所述MQTT通信协议通信。
在某些实施例中,所述第一用户端程序为web控制页面;所述第一服务端程序为web服务程序;
所述web控制页面与所述web服务程序部署在同一服务器中,所述服务器用以用户设备提供所述web控制页面。
可选地,所述同一程序语言可以为JavaScript。
在一个可能的设计中,图7所示实施例的***构建装置可以实现为一计算设备,如图8所示,该计算设备可以包括存储组件801以及处理组件802;
所述存储组件801存储一条或多条计算机程序指令,所述一条或多条计算机程序指令以供所述处理组件调用并执行;
所述处理组件802用于:
采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序;
部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中,以构成控制***;
其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
其中,处理组件802可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件801被配置为存储各种类型的数据以支持在计算设备的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等等,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图1所示实施例的***构建方法。
图9为本申请实施例提供的一种***构建装置又一个实施例的结构示意图,该装置可以包括:
第二代码确定模块901,用于基于针对至少一个电器设备的控制需求,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
第二代码编译模块902,用于将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序;
第二***构建模块,用于部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自对应设备中,以构成控制***;
其中,所述第二消息程序用以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
在某些实施例中,所述第二代码确定模块可以具体用于利用预配置代码框架生成服务端初始代码、消息代理初始代码及用户端初始代码;
基于分别针对所述服务端初始代码、所述消息代理初始代码以及所述用户端初始代码的修改操作或确认操作,获得第二服务端代码、第二消息代理代码及第二用户端代码。
在某些实施例中,所述第二代码确定模块可以具体用于基于MQTT通信协议,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
其中,所述第二消息代理程序分别与所述第二服务端程序、所述第二用户端程序及所述至少一个电器设备按照所述MQTT通信协议通信。
在某些实施例中,所述第二用户端程序为web控制页面;所述第二服务端程序为web服务程序;
所述web控制页面与所述web服务程序部署在同一服务器中,所述服务器用以向web客户端提供所述web控制页面。
可选地,该同一程序语言可以为JavaScript。
在一个可能的设计中,图9所示实施例的***构建装置可以实现为一计算设备,如图10所示,该计算设备可以包括存储组件1001以及处理组件1002;
所述存储组件1001存储一条或多条计算机程序指令,所述一条或多条计算机程序指令以供所述处理组件调用并执行;
所述处理组件1002用于:
基于针对至少一个电器设备的控制需求,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序;
部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自设备中,以构成控制***;
其中,所述第二消息程序用以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
其中,处理组件1002可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件1001被配置为存储各种类型的数据以支持在计算设备的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等等,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图3所示实施例的***构建方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (18)

1.一种***构建方法,其特征在于,包括:
采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序;
部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中,以构成控制***;
其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
2.根据权利要求1所述的方法,其特征在于,所述采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
利用第一预配置代码框架生成第一服务端初始代码、第一消息代理初始代码、第一控制中心初始代码及第一用户端初始代码;
基于分别针对所述第一服务端初始代码、所述第一消息代理初始代码以及所述第一用户端初始代码的修改操作或确认操作,获得第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码。
3.根据权利要求1所述的方法,其特征在于,所述采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码包括:
基于消息队列遥测传输MQTT通信协议,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
其中,所述第一消息代理程序分别与所述第一服务端程序、所述第一用户端程序及所述第一控制中心程序按照所述MQTT通信协议通信。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收针对所述至少一个电器设备的控制需求;
所述采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码包括:
基于所述至少一个电器设备的控制需求,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码。
5.根据权利要求1所述的方法,其特征在于,所述第一用户端程序为网页web控制页面;所述第一服务端程序为web服务程序;
所述web控制页面与所述web服务程序部署在同一web服务器中,所述web服务器用以向web客户端提供所述web控制页面。
6.一种***构建方法,其特征在于,包括:
采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序;
部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自对应设备中,以构成控制***;
其中,所述第二消息程序用以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
7.根据权利要求6所述的方法,其特征在于,所述采用同一程序语言编写的第二服务端代码、第二消息代理代码及第二用户端代码;
利用预配置代码框架生成服务端初始代码、消息代理初始代码及用户端初始代码;
基于分别针对所述服务端初始代码、所述消息代理初始代码以及所述用户端初始代码的修改操作或确认操作,获得第二服务端代码、第二消息代理代码及第二用户端代码。
8.根据权利要求6所述的方法,其特征在于,所述采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码包括:
基于MQTT通信协议,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
其中,所述第二消息代理程序分别与所述第二服务端程序、所述第二用户端程序及所述至少一个电器设备按照所述MQTT通信协议通信。
9.根据权利要求6所述的方法,其特征在于,还包括:
接收针对所述至少一个电器设备的控制需求;
所述采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码包括:
基于所述至少一个电器设备的控制需求,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码。
10.根据权利要求6所述的方法,其特征在于,所述第二用户端程序为web控制页面;所述第二服务端程序为web服务程序;
所述web控制页面与所述web服务程序部署在同一web服务器中,所述web服务器用以向web客户端提供所述web控制页面。
11.一种控制***,其特征在于,包括采用同一程序语言开发的第一服务器、第一消息代理设备、第一控制中心设备及第一用户设备;其中,至少一个电器设备通过局域网连接所述第一控制中心设备;
所述第一服务器用于从所述第一消息代理设备获取所述第一控制中心设备发布的所述至少一个电器设备各自的状态信息;
所述第一消息代理设备用于接收所述第一控制中心设备发布的所述至少一个电器设备各自的第一状态信息;接收所述第一用户设备针对任一电器设备发布的第一控制信息;
所述第一用户设备用于从所述第一服务器获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理设备;
所述第一控制中心设备用于接收所述至少一个电器设备分别发送的第一状态信息,并将所述至少一个电器设备各自的第一状态信息发布至所述第一消息代理设备;从所述第一消息代理设备获取所述第一用户设备发布所述第一控制信息;将所述第一控制信息发送至所述任一个电器设备,以供所述任一个电器设备依据所述第一控制信息执行控制操作。
12.一种控制***,其特征在于,包括采用同一程序语言开发的第二服务器、第二消息代理设备及第二用户设备;其中,所述第二消息代理设备连接至少一个电器设备;
所述第二消息代理设备用于接收所述至少一个电器设备分别发布的第二状态信息;接收所述第二用户设备针对任一电器设备发布的第二控制信息;
所述第二服务器用于从所述第二消息代理设备获取所述至少一个电器设备分别发布的第二状态信息;
所述第二用户设备用于从所述服务器获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理设备,以供所述任一电器设备从所述第二消息代理设备获取所述第二控制信息,依据所述第二控制信息执行控制操作。
13.一种控制方法,其特征在于,应用于采用同一程序语言开发的控制***中,所述方法包括:
第一控制中心设备获取至少一个电器设备各自的状态信息,并将所述至少一个电器设备各自的状态信息发布至第一消息代理设备;
第一服务器从所述第一消息代理设备获取所述至少一个电器设备各自的状态信息;
第一用户设备从所述第一服务端获取任一电器设备的状态信息,并发布针对所述任一电器设备的第一控制信息至所述第一消息代理设备;
所述第一控制中心设备从所述第一消息代理设备获取所述第一控制信息并发送至所述任一电器设备,以供所述任一电器设备获取并执行。
14.一种控制方法,其特征在于,应用于采用同一程序语言开发的控制***中,所述方法包括:
第二消息代理设备接收至少一个电器设备各自发布的第二状态信息;
第二服务器从所述第二消息代理设备获取所述至少一个电器设备各自的状态信息;
第二用户设备从所述第二服务端获取任一电器设备的状态信息,并发布针对所述任一电器设备的第二控制信息至所述第二消息代理设备,以供所述任一电器设备获取并执行。
15.一种***构建装置,其特征在于,包括:
第一代码确定模块,用于基于针对至少一个电器设备的控制需求,采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
第一代码编译模块,用于将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序;
第一***构建模块,用于部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中,以构成控制***;
其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
16.一种***构建装置,其特征在于,包括:
第二代码确定模块,用于基于针对至少一个电器设备的控制需求,采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
第二代码编译模块,用于将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序;
第二***构建模块,用于部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自对应设备中,以构成控制***;
其中,所述第二消息程序用以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
17.一种计算设备,其特征在于,包括存储组件以及处理组件;
所述存储组件存储一条或多条计算机程序指令,所述一条或多条计算机程序指令以供所述处理组件调用并执行;
所述处理组件用于:
采用同一程序语言编写第一服务端代码、第一消息代理代码、第一控制中心代码及第一用户端代码;
将所述第一服务端代码、所述第一消息代理代码、所述第一控制中心代码及所述第一用户端代码分别进行编译,以分别获得第一服务端程序、第一消息代理程序、第一控制中心程序及第一用户端程序;
部署所述第一服务端程序、所述第一消息代理程序、所述第一控制中心程序及所述第一用户端程序至各自对应设备中,以构成控制***;
其中,所述第一控制中心程序用以连接至少一个电器设备,并将所述至少一个电器设备各自的第一状态信息发布至第一消息代理程序;所述第一状态信息发用以被所述第一服务端程序获取;所述第一用户端程序用以从所述第一服务端程序获取任一电器设备的第一状态信息;发布针对所述任一电器设备的第一控制信息至所述第一消息代理程序;所述第一控制信息用以被第一控制中心程序获取并提供给所述任一电器设备,由所述任一电器设备执行。
18.一种计算设备,其特征在于,包括存储组件以及处理组件;
所述存储组件存储一条或多条计算机程序指令,所述一条或多条计算机程序指令以供所述处理组件调用并执行;
所述处理组件用于:
采用同一程序语言编写第二服务端代码、第二消息代理代码及第二用户端代码;
将所述第二服务端代码、所述第二消息代理代码及所述第二用户端代码分别进行编译,以分别获得第二服务端程序、第二消息代理程序及第二用户端程序;
部署所述第二服务端程序、所述第二消息代理程序及所述第二用户端程序至各自设备中,以构成控制***;
其中,所述第二消息程序用以接入至少一个电器设备并接收所述至少一个电器设备分别发布的第二状态信息;所述第二状态信息用以被第二服务端程序获取;所述第一用户端程序用以从所述第二服务端程序获取任一电器设备的第二状态信息;发布针对所述任一电器设备的第二控制信息至所述第二消息代理程序;所述第一控制信息用以被所述任一电器设备获取并执行。
CN201810290597.6A 2018-04-03 2018-04-03 ***构建方法、控制方法、装置、控制***及计算设备 Active CN110347396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810290597.6A CN110347396B (zh) 2018-04-03 2018-04-03 ***构建方法、控制方法、装置、控制***及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810290597.6A CN110347396B (zh) 2018-04-03 2018-04-03 ***构建方法、控制方法、装置、控制***及计算设备

Publications (2)

Publication Number Publication Date
CN110347396A true CN110347396A (zh) 2019-10-18
CN110347396B CN110347396B (zh) 2023-05-26

Family

ID=68173782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810290597.6A Active CN110347396B (zh) 2018-04-03 2018-04-03 ***构建方法、控制方法、装置、控制***及计算设备

Country Status (1)

Country Link
CN (1) CN110347396B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190147A (zh) * 2022-06-29 2022-10-14 北京奕斯伟计算技术股份有限公司 一种智能设备控制方法、装置及***

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013767A1 (en) * 2011-07-05 2013-01-10 International Business Machines Corporation System and method for managing software provided as cloud service
CN103238137A (zh) * 2010-11-24 2013-08-07 国际商业机器公司 在连接的消息传递网络中的交易消息传递支持
CN103593173A (zh) * 2012-10-29 2014-02-19 百度在线网络技术(北京)有限公司 一种应用程序的一体化开发***、方法及装置
CN103916442A (zh) * 2013-01-07 2014-07-09 阿里巴巴集团控股有限公司 消息推送实现方法、移动终端及消息推送***
CN105376589A (zh) * 2015-10-27 2016-03-02 上海斐讯数据通信技术有限公司 基于mqtt的智能电视消息的推送装置及方法
US20160117162A1 (en) * 2014-07-07 2016-04-28 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
CN106686074A (zh) * 2016-12-20 2017-05-17 深圳矽递科技股份有限公司 一种快速构建物联网应用的***及方法
CN107066255A (zh) * 2017-03-03 2017-08-18 海尔优家智能科技(北京)有限公司 一种共用物联设备逻辑的物联设备控制方法及装置
US20170277521A1 (en) * 2016-03-23 2017-09-28 FogHorn Systems, Inc. Tools and Methods for Real-Time Dataflow Programming Language

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103238137A (zh) * 2010-11-24 2013-08-07 国际商业机器公司 在连接的消息传递网络中的交易消息传递支持
US20130013767A1 (en) * 2011-07-05 2013-01-10 International Business Machines Corporation System and method for managing software provided as cloud service
CN103593173A (zh) * 2012-10-29 2014-02-19 百度在线网络技术(北京)有限公司 一种应用程序的一体化开发***、方法及装置
CN103916442A (zh) * 2013-01-07 2014-07-09 阿里巴巴集团控股有限公司 消息推送实现方法、移动终端及消息推送***
US20160117162A1 (en) * 2014-07-07 2016-04-28 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
CN105376589A (zh) * 2015-10-27 2016-03-02 上海斐讯数据通信技术有限公司 基于mqtt的智能电视消息的推送装置及方法
US20170277521A1 (en) * 2016-03-23 2017-09-28 FogHorn Systems, Inc. Tools and Methods for Real-Time Dataflow Programming Language
CN106686074A (zh) * 2016-12-20 2017-05-17 深圳矽递科技股份有限公司 一种快速构建物联网应用的***及方法
CN107066255A (zh) * 2017-03-03 2017-08-18 海尔优家智能科技(北京)有限公司 一种共用物联设备逻辑的物联设备控制方法及装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
刘峰;陈朴;贾军营;: "WebSocket与MQTT在Web即时通信***中的应用", 计算机***应用 *
唐门教主: "使用JavaScript和MQTT开发物联网应用", 《HTTPS://BLOG.CSDN.NET/TANGXIAOYIN/ARTICLE/DETAILS/73743166》 *
唐门教主: "基于JavaScript语言的快速物联网开发架构", 《HTTPS://BLOG.CSDN.NET/TANGXIAOYIN/ARTICLE/DETAILS/73933106》 *
姚丹: "基于 MQTT 协议的物联网通信***的研究与实现", 《信息通信》 *
江鹏;冯永强;钟良骥;: "关于物联网云平台的技术探讨与实施", 湖北科技学院学报 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190147A (zh) * 2022-06-29 2022-10-14 北京奕斯伟计算技术股份有限公司 一种智能设备控制方法、装置及***
CN115190147B (zh) * 2022-06-29 2024-03-22 北京奕斯伟计算技术股份有限公司 一种智能设备控制方法、装置及***

Also Published As

Publication number Publication date
CN110347396B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
EP3479218B1 (en) Dynamic user interface in machine-to-machine systems
Kodali et al. IoT based home automation using node-red
CN105093945A (zh) 基于智能云安全地控制智能家居设备的***和方法
Zhou et al. Toward the Internet of Things application and management: A practical approach
Masek et al. Remote networking technology for iot: Cloud-based access for alljoyn-enabled devices
CN109120716A (zh) 设备控制方法、装置、存储介质以及设备机组
Yamanoue et al. A m2m system using arduino, android and wiki software
CN106209996A (zh) 通信处理方法和装置
Yalçınkaya et al. IoT based smart home testbed using MQTT communication protocol
De Troyer et al. Building IoT systems using distributed first-class reactive programming
Cecilio et al. Architecture for uniform (re) configuration and processing over embedded sensor and actuator networks
Niranjana et al. Effectual home automation using ESP32 NodeMCU
CN110347396A (zh) ***构建方法、控制方法、装置、控制***及计算设备
CN104243252B (zh) 一种支持igrs协议的智能家居***
Schinle et al. A modular approach for smart home system architectures based on Android applications
Swathi et al. Home automation based on IoT using Google assistant
KR20090039904A (ko) 무선 네트워크 시스템 및 그에 따른 디바이스 제어 방법
Ejigu et al. IoT based comprehensive autonomous home automation and security system using M2M communication
CN114281563A (zh) 应用程序重构方法及装置
Padilla Self-adaptation for Internet of things applications
Akbar et al. Home appliance control with publish subscribe in Social Media
Goud et al. Spectate home appliances by internet of things using MQTT and IFTTT through Google Assistant
Agarwal et al. Internet of Things (IoT) based switchbox using MQTT Protocol
KR101810243B1 (ko) 센서 제어 시스템
Gaur et al. Extending t-res with mobility for context-aware iot

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