学术交流
当前位置:

基于WiFi构建的智能家居控制系统的设计

2015-03-10 23:07 来源:电视技术

责编:陈默

 【原编者按】随着电子技术的发展,各种自动化、智能化产品层出不穷,改变着人们的生活方式,智能家居在此背景下应运而生。今天推荐的文章设计了一种新型的基于WiFi构建的智能家居控制系统,以PC主机和智能手机为基本硬件平台,辅助WiFi智能插座和智能传感器,即可实现智能家居控制,具有较好的实时性。


基于WiFi构建的智能家居控制系统的设计

 

董思乔1,赵荣建2,孙通2

(1. 国家无线电监测中心,北京 100041;

2. 深圳市艾尔曼电子仪器有限公司,广东 深圳 518067

2015-03-06

 

随着电子技术的发展,各种自动化、智能化产品层出不穷,极大地改变了人们的生活方式。智能家居就是在这样的背景下应运而生。智能家居控制系统以一个中央处理器接收到相关传感器模块的信号后,发送适当的信息给其他电子设备产品,从而控制家中的电子电器。中央处理器通常通过其他媒介来控制电子电器,媒介可以是键盘、触摸屏、智能手机、电话机等;使用者通过这些介质发送信号至中央处理器,或者接收中央处理器的信号。传统的智能家居控制器一般采用简单的8位或16位单片机做控制,控制比较简单,不适合网络化和无线控制。

本文的设计基于PC机和WiFi控制技术,设计了一种全新的、实用的智能家居控制系统,本设计采用PC 机作为中央控制器,不需要更换现有的家用电器,只需要增加WiFi智能插座、WiFi智能传感器等WiFi设备即可,不需要额外布线。设计采用Android智能手机作为控制媒介,采用Node.js技术、Qt Quick技术、Java技术、TCP/IP技术作为控制网络的通信手段,使用模块化的通信手段,实现一系列的诸如远程控制、智能家居控制等功能。

1 系统总体构成及工作过程

智能家居系统由中央处理器、Internet服务器、控制媒介(智能手机)和添加有WiFi智能插座、WiFi智能传感器组成的智能家居。其中,中央处理器通过服务器连入Internet,并通过智能手机作为控制媒介连入Internet服务器,进而控制WiFi智能家居。其智能家居控制系统总体结构如图1所示。

 

1

                                                     图1 智能家居控制系统的总体构成

该系统正常工作时,用户可以通过Internet进行访问,当通过Internet访问时,本系统可提供一个界面友好的终端软件,该软件装在智能手机上,用户只需通过该智能手机登录到运行在家中的服务器即可对家中的设备进行远程控制。

2 系统的硬件构成

本系统的硬件主要有中央处理器部分与控制媒介两大部分。中央处理器部分由PC主机和各种接口电路组成。接口电路主要由WiFi智能插座、WiFi智能传感器等WiFi设备控制电路组成,并通过WiFi智能插座、WiFi智能传感器来控制日光灯、空调、电视等智能家居。具体硬件组成框图如图2所示。

 

啊


图2 系统硬件组成框图

主机通过Internet服务器接收控制媒介(智能手机)的控制信息,依照特定的控制信息通过WiFi控制各种智能家居。WiFi智能插座利用了现有家庭中的WiFi网络,智能手机或平板计算机等在联网条件下,能通过App操作打开或者关闭指定的电器。而且由于智能插座能够做到让电器完全断电,对于电视机、空调等待机功率较大的电器,用智能插座控制后就能做到随用随开,从而节省电费。智能手机发出的WiFi信号给中央处理器,中央处理器经过处理后发出WiFi信号,智能传感器技术接收中央处理器发出的信息后执行相应的动作。图像接口电路通过网线直接或WiFi间接连接摄像头电路和PC主机,打开图像界面,可直接看到室内的情况。

3 系统的软件编制

本系统软件主要由中央处理器的Qt程序、控制媒介的Java程序和系统与Internet服务器的Node.js网络通信程序组成。具体软件控制流程如图3所示。

 

啊

 

图3 系统软件控制流程图

其中,Qt部分是中央处理器的程序,采用QML语言(JavaScript的一种扩展语言)作为界面显示控制单元,以读取smarthome状态;采用TcpSocket库与服务器通信,读取服务器端传输过来的数据,对数据进行解析后在显示界面上显示;在该部分反复调用timer库向服务器进行轮询写数据,以保证当中央处理器的程序有任何变化时Internet服务器都会感知。

Internet服务器端使用Node.js编程,该部分是整个系统的中间环节,是连接中央处理器程序和Android控制单元的桥梁。使用TcpSocketServer与中央处理器程序通信,使用HttpServer处理与Android控制单元的交互。

在Android控制单元,使用Java语言编程,对Android提供的类库进行继承、封装,以实现一个交互实用简单、美观的界面和一个可靠、稳定的Http客户端单元。Http客户端和服务器进行通信,服务器又将数据传输给中央处理器,反之,Android端的Http客户端又可以通过处理器感知中央处理器的变化,整个系统在这样的一个模式下运行,实现智能家居的软件控制。

4 整体性能测试

图4是中央处理器控制界面,该界面采用Qt Quick技术和JavaScript技术编程实现。Qt Quick是Qt 4.7 中推出的一项新技术。Qt Quick 是一种高级用户界面技术,使用它可轻松地创建供移动和嵌入式设备使用的动态触摸式界面和轻量级应用程序。 Qt Quick 用户界面创建工具包新增一个简便易学的语言 QML。QML是对JavaScript一种扩展,它提供一种机制使用QML元素来说明构建一个对象树。图5是控制媒介(即智能手机)的界面,该界面采用Java语言编写。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,广泛应用与个人PC、智能手机的通信和控制问题。

 

1


图4 中央处理器控制界面

 

1


图5 智能手机控制界面

中央处理器和控制媒介的界面具有同步功能。当操作者通过手机上的App界面控制智能家居时,中央处理器的界面显示与此相同。操作者也可以在中央处理器上直接操作,手机App也显示同样的操作界面。

该界面具有以下功能:室内日光灯控制、电视控制、空调控制,以及视频显示。在控制媒介(即智能手机)上触摸空调的开关、模式切换、温度增减按钮可以实现对空调状态的控制,电视模式跟此类似。触摸每个房间的位置,可以打开或关闭室内的日光灯,并可实时视频显示室内的情况。该系统经过测试,所有控制和显示功能正常,达到预期的设计目的。

5 结论

本文的设计基于PC机和WiFi控制技术,采用PC 机作为中央控制器,采用Android智能手机作为控制媒介,采用Node.js技术、Qt Quick技术、Java技术、TCP/IP技术作为控制网络的通信手段,使用模块化的通信手段,实现一系列诸如远程控制、智能家居控制等功能。

在硬件设计上,不是采用传统的单片机进行控制,而是采用强大的PC机做中央处理器,采用方便易用的智能手机做控制媒介,容易实现且使用广泛。在软件设计方面,采用Qt Quick技术和JavaScript技术编程实现中央处理器的控制界面,采用Java语言编写实现控制媒介的界面,它们及各个控制接口采用Node.js技术进行Web的后台通信。经过测试验证,系统各个模块功能正常,达到设计的预期。

 

该文已刊登在《电视技术》2015年第4期

订阅电话:010-59570227