CN104991452A - 一种在面向对象编程中用于家电控制框架的设计方法 - Google Patents
一种在面向对象编程中用于家电控制框架的设计方法 Download PDFInfo
- Publication number
- CN104991452A CN104991452A CN201510240813.2A CN201510240813A CN104991452A CN 104991452 A CN104991452 A CN 104991452A CN 201510240813 A CN201510240813 A CN 201510240813A CN 104991452 A CN104991452 A CN 104991452A
- Authority
- CN
- China
- Prior art keywords
- class
- mode
- subclass
- household electrical
- home
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000004891 communication Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims abstract description 8
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2642—Domotique, domestic, home control, automation, smart house
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种在面向对象编程中用于家电控制框架的设计方法,其特征在于:使用面向对象的编程语言编写家电控制程序,形成多层用于家电控制框架;1)默认由所控制的家电设备提供外部通信接口,通过家电设备的外部通信接口控制命令,形成第一层家电控制框架;2)在一个家电控制程序中,包含若干款家电的控制代码,形成第二层家电控制框架;3)任一款家电设备的功能中包含多个工作模式,将全部工作模式抽象为Mode类,任何一种工作模式都是Mode类的子类,形成第三层家电控制框架;4)任一个家电工作模式包含多个详细参数,将全部详细参数抽象为Parameter类,形成第四层家电控制框架。本发明解决现有家电控制设计采用种类繁多的控制命令使控制程序开发使用不方便的问题。
Description
技术领域
本发明涉及一种在面向对象编程中用于家电控制框架的设计方法,适用于通过命令控制家电的,使用面向对面语言编写的应用程序的框架设计。属于家电智能化技术领域。
背景技术
随着经济的发展,人们生活水平的提高,物联网逐渐为人们所熟悉,各种各样的家电设备进入寻常百姓家庭,智能家居成为家电行业发展的趋势。越来越多的家电增加如wifi、蓝牙等的通信功能,使得家电的控制不局限于家电自身的控制面板上,如手机、平板电脑等设备都能连接家电并控制。
由于家电功能层出不穷,并出现不少新型家电,各生产厂家对于这些种类繁多的家电的控制设计,采用的是多种多样的控制命令,这样就在一定程度上阻碍控制程序的开发使用。因此,如何使用面向对象语言编写程序,以较为广泛地描述命令形式,实现对各种家电的通用控制,是本发明需要解决的问题。
发明内容
本发明的目的,是为了解决现有家电控制设计采用种类繁多的控制命令使控制程序开发使用不方便的问题,提供一种在面向对象编程中用于家电控制框架的设计方法,该方法默认家电能通过发送控制命令进行控制,适应各种家电控制命令使用。
本发明的目的可以通过采取如下技术方案达到:
一种在面向对象编程中用于家电控制框架的设计方法,其特征在于:使用面向对象的编程语言编写家电控制程序,形成多层用于家电控制框架;
1)默认由所控制的家电设备提供外部通信接口,通过家电设备的外部通信接口控制命令,所述家电设备的使用由控制命令控制,所述控制命令使用工作模式加详细参数的形式,形成第一层家电控制框架;
2)在一个家电控制程序中,包含若干款家电的控制代码,即将全部家电设备抽象为Device类,若干款家电设备中具体家电设备各为Device类的子类,一个家电控制程序中可以包含多个Devive类的子类的实例,这些实例以链表的形式保存,由程序控制这些实例的增加或减少,形成第二层家电控制框架;
3)任一款家电设备的功能中包含多个工作模式,将全部工作模式抽象为Mode类,任何一种工作模式都是Mode类的子类,这些Mode类或其子类都应保存在Device类的子类的实例中,而这些Mode类或其子类的实例以链表的形式保存,由程序自由控制这些实例的增加或减少,形成第三层家电控制框架;
4)任一个家电工作模式包含多个详细参数,将全部详细参数抽象为Parameter类,任何一款家电的某个工作模式的某个参数都是Parameter类的子类,而这些Parameter类或其子类都应保存在Mode类的子类的实例中,这些Parameter类的子类的实例以链表的形式保存,由程序自由控制这些实例的增加或减少,形成第四层家电控制框架。
本发明的目的还可以通过采取如下技术方案达到:
进一步地,在所述Devive类的子类的实例、Mode类或其子类的实例和Parameter类或其子类的实例中,额外增加数据,包括家电ID、生产厂家、生产日期。
进一步地,在家电工作模式的详细参数Parameter类集合中,将家电设备的睡眠风模式下设置定时时间,将定时时间定义为ParameterTimer类,该ParameterTimer类继承自Parameter类。
进一步地,工作模式的Mode类集合中,将睡眠风模式定义为ModeSleep类,ModeSleep类继承自Mode类,而这些Mode类或其子类都应保存在Device类的子类的实例中,如Fan类的实例中可以保存多个Mode类,其中一个为ModeSleep类的实例。
进一步地,全部家电设备抽象为Device类集合中,将风扇或其他家电设备定义为Fan类,该Fan类继承自Device类。
本发明具有如下突出的有益效果:
1、本发明使用面向对象的编程语言编写家电控制程序,形成多层用于家电控制框架,默认由所控制的家电设备提供外部通信接口,通过家电设备的外部通信接口控制命令,形成第一层家电控制框架;将全部家电设备抽象为Device类,若干款家电设备中具体家电设备各为Device类的子类,一个家电控制程序中可以包含多个Devive类的子类的实例,这些实例以链表的形式保存,由程序控制这些实例的增加或减少,形成第二层家电控制框架;将全部工作模式抽象为Mode类,任何一种工作模式都是Mode类的子类,这些Mode类或其子类都应保存在Device类的子类的实例中,而这些Mode类的子类的实例以链表的形式保存,由程序自由控制这些实例的增加或减少,形成第三层家电控制框架;将全部详细参数抽象为Parameter类,任何一款家电的某个工作模式的某个参数都是Parameter类的子类,而这些Parameter类或其子类都应保存在Mode类的子类的实例中,这些Parameter类的子类的实例以链表的形式保存,由程序自由控制这些实例的增加或减少,形成第四层家电控制框架。因此,可以将各生产厂家生产的种类繁多的家电的控制设计及所采用的是多种多样的控制命令,统一在一个多层家电控制框架的控制程序内实现程序控制,解决现有家电控制设计采用种类繁多的控制命令使控制程序开发使用不方便的问题。
2、本发明是在家电控制程序中对家电功能描述及其命令编写的一种设计方法,不影响家电控制程序的其他程序模块。
3、本发明使用面向对象的编程语言对家电命令中的关键元素进行抽象描述,家电的具体控制编码可以任意修改,灵活性强。
4、本发明提出的家电控制框架的设计方法中,命令的家电设备、工作模式和详细参数可以包含多个,个数也可以动态增加或减少,扩展性强,应用前景广阔。
附图说明
图1是本发明涉及的家电命令控制框架设计方法示意图。
具体实施方式
具体实施例1:
本实施例涉及的一种在面向对象编程中用于家电控制框架的设计方法,其特征在于:使用面向对象的编程语言编写家电控制程序,形成多层用于家电控制框架;
1)默认由所控制的家电设备提供外部通信接口,通过家电设备的外部通信接口控制命令,所述家电设备的使用由控制命令控制,所述控制命令使用工作模式加详细参数的形式,形成第一层家电控制框架;
2)在一个家电控制程序中,包含若干款家电的控制代码,即将全部家电设备抽象为Device类,若干款家电设备中具体家电设备各为Device类的子类,一个家电控制程序中可以包含多个Devive类的子类的实例,这些实例以链表的形式保存,由程序控制这些实例的增加或减少,形成第二层家电控制框架;
3)任一款家电设备的功能中包含多个工作模式,将全部工作模式抽象为Mode类,任何一种工作模式都是Mode类的子类,这些Mode类或其子类都应保存在Device类的子类的实例中,而这些Mode类的子类的实例以链表的形式保存,由程序自由控制这些实例的增加或减少,形成第三层家电控制框架;
4)任一个家电工作模式包含多个详细参数,将全部详细参数抽象为Parameter类,任何一款家电的某个工作模式的某个参数都是Parameter类的子类,而这些Parameter类或其子类都应保存在Mode类的子类的实例中,这些Parameter类的子类的实例以链表的形式保存,由程序自由控制这些实例的增加或减少,形成第四层家电控制框架。
本实施例中:
可以在所述Devive类的子类的实例、Mode类或其子类的实例和Parameter类或其子类的实例中,额外增加数据,包括家电ID、生产厂家、生产日期。
可以在家电工作模式的详细参数Parameter类集合中,将家电设备的睡眠风模式下设置定时时间,将定时时间定义为ParameterTimer类,该ParameterTimer类继承自Parameter类。
工作模式的Mode类集合中,将睡眠风模式定义为ModeSleep类,ModeSleep类继承自Mode类,而这些Mode类或其子类都应保存在Device类的子类的实例中,如Fan类的实例中可以保存多个Mode类,其中一个为ModeSleep类的实例。
全部家电设备抽象为Device类集合中,将风扇或其他家电设备定义为Fan类,该Fan类继承自Device类。
其他具体实施例:
在本发明的其他具体实施例中:
涉及一个家电控制程序,可以包含多款家电的控制代码,在这里将家电设备抽象为Device类,具体的某款家电设备都是Device类的子类,例如有一个风扇的设备,将其定义为Fan类,并继承自Device类。一个家电控制程序中可以包含多个Devive类的子类的实例,而且这些实例可以以链表的形式保存,程序可以自由控制这些实例的增加或减少。在这些家电设备的实例中可以额外增加数据,如家电ID、生产厂家、生产日期等。
涉及一款家电设备的功能,可以包含多个工作模式,在这里将工作模式抽象为Mode类,某款家电的某个工作模式都是Mode类的子类,例如风扇有一种睡眠风模式,我们将睡眠风模式定义为ModeSleep类,继承自Mode类,而这些Mode类或其子类都应保存在Device类的子类的实例中,如Fan类的实例中可以保存多个Mode类,其中一个为ModeSleep类的实例,而这些Mode类的子类的实例可以以链表的形式保存,程序可以自由控制这些实例的增加或减少。
涉及一个家电工作模式,可以包含多个详细参数,在这里将详细参数抽象为Parameter类,某款家电的某个工作模式的某个参数都是Parameter类的子类,例如风扇的睡眠风模式下可以设置定时时间,我们将定时时间定义为ParameterTimer类,继承自Parameter类,而这些Parameter类或其子类都应保存在Mode类的子类的实例中,如ModeSleep类可以保存多个Parameter类,其中一个为ParameterTimer类的实例,而这些Parameter类的子类的实例可以以链表的形式保存,程序可以自由控制这些实例的增加或减少。
参照图1,Mode2为风扇的其他工作模式,Paramater为风扇其他模式下的详细设置参数。
在一些新型的智能家电中,由于增加了无线通信模块,如wif i或蓝牙等模块,用于让其他设备能控制。这类家电一般使用控制命令进行控制,而控制命令一般使用工作模式加详细参数的形式,本发明是基于上述情况,在面向对象编程中使用的程序框架的设计方法,而这种方法有利于家电控制程序的通用性和扩展性。
本发明中提及的家电控制程序指的是家电自身以外的设备上运行的应用程序,该类应用程序能通过家电提供的外部通信接口对家电进行控制。
本发明涉及的家电控制程序,可以允许控制多台家电,每台家电设备有多条控制命令,而控制命令中可以包含多个参数。使用面向对象的语言对家电设备、工作模式和详细参数进行抽象,作为基类使用,家电设备基类包含一个或多个工作模式基类,工作模式的基类包含一个或多个详细参数基类,包含个数可以动态增加或减少。不同的家电设备继承自相同的基类,不同的工作模式继承自相同的基类,不同的详细参数继承自相同的基类,而家电不同的控制编码可以在子类中进行描述。
当家电控制程序需要组合出某一具体的命令时,可以根据家电ID或其他相关信息找到家电设备类,在设备类下找到需要的工作模式,然后在工作模式下加上应有的参数,而解析命令的方法与组合命令的方法类似。
由于使用控制命令控制家电是现时较为常见的控制方式,命令一般使用工作模式加详细参数的形式,本发明鉴于上述情况,使用统一的框架设计方式,能提高控制程序在通用性及扩展性,减少多款家电控制程序的开发时间,而现时面向对象编程语言正广泛使用,如安卓设备、PC电脑上大量使用java、C++等语言,利用面向对象语言的抽象性可以很好的描述家电的控制命令。
以上所述,仅为本发明较佳的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都属于本发明的保护范围。
Claims (5)
1.一种在面向对象编程中用于家电控制框架的设计方法,其特征在于:使用面向对象的编程语言编写家电控制程序,形成多层用于家电控制框架;
1)默认由所控制的家电设备提供外部通信接口,通过家电设备的外部通信接口控制命令,所述家电设备的使用由控制命令控制,所述控制命令使用工作模式加详细参数的形式,形成第一层家电控制框架;
2)在一个家电控制程序中,包含若干款家电的控制代码,即将全部家电设备抽象为Device类,若干款家电设备中具体家电设备各为Device类的子类,一个家电控制程序中可以包含多个Devive类的子类的实例,这些实例以链表的形式保存,由程序控制这些实例的增加或减少,形成第二层家电控制框架;
3)任一款家电设备的功能中包含多个工作模式,将全部工作模式抽象为Mode类,任何一种工作模式都是Mode类的子类,这些Mode类或其子类都应保存在Device类的子类的实例中,而这些Mode类或其子类的实例以链表的形式保存,由程序自由控制这些实例的增加或减少,形成第三层家电控制框架;
4)任一个家电工作模式包含多个详细参数,将全部详细参数抽象为Parameter类,任何一款家电的某个工作模式的某个参数都是Parameter类的子类,而这些Parameter类或其子类都应保存在Mode类的子类的实例中,这些Parameter类的子类的实例以链表的形式保存,由程序自由控制这些实例的增加或减少,形成第四层家电控制框架。
2.根据权利要求1所述的一种在面向对象编程中用于家电控制框架的设计方法,其特征在于:在所述Devive类的子类的实例、Mode类或其子类的实例和Parameter类或其子类的实例中,额外增加数据,包括家电ID、生产厂家、生产日期。
3.根据权利要求1或2所述的一种在面向对象编程中用于家电控制框架的设计方法,其特征在于:在家电工作模式的详细参数Parameter类集合中,将家电设备的睡眠风模式下设置定时时间,将定时时间定义为ParameterTimer类,该ParameterTimer类继承自Parameter类。
4.根据权利要求1或2所述的一种在面向对象编程中用于家电控制框架的设计方法,其特征在于:工作模式的Mode类集合中,将睡眠风模式定义为ModeSleep类,ModeSleep类继承自Mode类,而这些Mode类或其子类都应保存在Device类的子类的实例中,如Fan类的实例中可以保存多个Mode类,其中一个为ModeSleep类的实例。
5.根据权利要求1或2所述的一种在面向对象编程中用于家电控制框架的设计方法,其特征在于:全部家电设备抽象为Device类集合中,将风扇或其他家电设备定义为Fan类,该Fan类继承自Device类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510240813.2A CN104991452A (zh) | 2015-05-12 | 2015-05-12 | 一种在面向对象编程中用于家电控制框架的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510240813.2A CN104991452A (zh) | 2015-05-12 | 2015-05-12 | 一种在面向对象编程中用于家电控制框架的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104991452A true CN104991452A (zh) | 2015-10-21 |
Family
ID=54303274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510240813.2A Pending CN104991452A (zh) | 2015-05-12 | 2015-05-12 | 一种在面向对象编程中用于家电控制框架的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104991452A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459552A (zh) * | 2018-01-31 | 2018-08-28 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
CN109840075A (zh) * | 2018-12-21 | 2019-06-04 | 宁波德晶元科技有限公司 | 一种基于分层设计的控制板通用程序框架及设计方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310420A (zh) * | 2000-02-24 | 2001-08-29 | 英业达股份有限公司 | 群件结构的建立方法 |
US20050015702A1 (en) * | 2003-05-08 | 2005-01-20 | Microsoft Corporation | System and method for testing, simulating, and controlling computer software and hardware |
CN1609794A (zh) * | 2003-10-24 | 2005-04-27 | 微软公司 | 用于计算机平台的编程接口 |
CN1754151A (zh) * | 2000-09-21 | 2006-03-29 | 国际商业机器公司 | Java中的可变性分析 |
CN101248417A (zh) * | 2005-08-24 | 2008-08-20 | 松下电器产业株式会社 | 媒体处理方法、媒体处理程序 |
CN101283345A (zh) * | 2005-10-06 | 2008-10-08 | 微软公司 | 用于对象合成的可扩展机制 |
CN101802808A (zh) * | 2007-09-20 | 2010-08-11 | 微软公司 | 从脚本和其他编程环境访问设备主存的服务 |
CN101882066A (zh) * | 2009-05-08 | 2010-11-10 | 上海科泰世纪科技有限公司 | 创建具体类的实现方法 |
-
2015
- 2015-05-12 CN CN201510240813.2A patent/CN104991452A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310420A (zh) * | 2000-02-24 | 2001-08-29 | 英业达股份有限公司 | 群件结构的建立方法 |
CN1754151A (zh) * | 2000-09-21 | 2006-03-29 | 国际商业机器公司 | Java中的可变性分析 |
US20050015702A1 (en) * | 2003-05-08 | 2005-01-20 | Microsoft Corporation | System and method for testing, simulating, and controlling computer software and hardware |
CN1609794A (zh) * | 2003-10-24 | 2005-04-27 | 微软公司 | 用于计算机平台的编程接口 |
CN101248417A (zh) * | 2005-08-24 | 2008-08-20 | 松下电器产业株式会社 | 媒体处理方法、媒体处理程序 |
CN101283345A (zh) * | 2005-10-06 | 2008-10-08 | 微软公司 | 用于对象合成的可扩展机制 |
CN101802808A (zh) * | 2007-09-20 | 2010-08-11 | 微软公司 | 从脚本和其他编程环境访问设备主存的服务 |
CN101882066A (zh) * | 2009-05-08 | 2010-11-10 | 上海科泰世纪科技有限公司 | 创建具体类的实现方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459552A (zh) * | 2018-01-31 | 2018-08-28 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
CN109840075A (zh) * | 2018-12-21 | 2019-06-04 | 宁波德晶元科技有限公司 | 一种基于分层设计的控制板通用程序框架及设计方法 |
CN109840075B (zh) * | 2018-12-21 | 2022-05-31 | 宁波德晶元科技有限公司 | 一种基于分层设计的控制板及设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dickey et al. | Home automation using Cloud Network and mobile devices | |
CN105676667B (zh) | 智能家居控制系统及其实现方法 | |
CN103020310B (zh) | 一种基于脚本实现电力监控系统功能扩展和定制的方法 | |
CN106130838A (zh) | 基于微信的智能家居管家系统 | |
CN104516747A (zh) | 一种系统切换方法及电子设备 | |
CN103576656A (zh) | 一种家电设备控制方法、装置及系统 | |
CN103064682A (zh) | 面向设备的人机界面组态设计方法 | |
Singh et al. | Remotely controlled home automation system | |
CN104468178A (zh) | 用于在操作环境内配置控制系统的方法及设备 | |
CN103257600A (zh) | 一种家电智能控制装置及方法 | |
CN203149804U (zh) | 一种无线遥控器 | |
CN104991452A (zh) | 一种在面向对象编程中用于家电控制框架的设计方法 | |
CN106094601A (zh) | 一种楼宇智能系统的控制方法和楼宇智能系统 | |
CN106569471A (zh) | 一种无线智能家居控制器 | |
CN105446154B (zh) | 物联网家电的控制方法及系统 | |
CN110018944A (zh) | 服务器sensor配置方法、系统及设备和存储介质 | |
CN106814696B (zh) | 一种数控系统人机界面二次开发平台系统及其实现方法 | |
CN105430461B (zh) | 防止遥控器串码的方法和装置 | |
CN107851009B (zh) | 用于修改基于控制器的设备的代码的行为的方法和装置 | |
CN101963994A (zh) | 基于xml的自动生成设备属性调节界面的方法与装置 | |
CN115524983A (zh) | 用于智能开关的组网方法、上位机、智能开关、存储介质 | |
CN106559475A (zh) | 一种可编程嵌入式web服务器 | |
CN103744685A (zh) | 锁屏位置抢占方法及装置 | |
CN106155731B (zh) | 可自动更换周边装置的系统及其方法 | |
Gupta | IoT based Smart Home Automation using NodeMCU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151021 |