董思喬,趙榮建,孫 通
(1.國(guó)家無(wú)線電監(jiān)測(cè)中心,北京 100041;2.深圳市艾爾曼電子儀器有限公司,廣東 深圳 518067)
基于WiFi構(gòu)建的智能家居控制系統(tǒng)的設(shè)計(jì)
董思喬1,趙榮建2,孫 通2
(1.國(guó)家無(wú)線電監(jiān)測(cè)中心,北京 100041;2.深圳市艾爾曼電子儀器有限公司,廣東 深圳 518067)
介紹了一種新型的基于WiFi構(gòu)建的智能家居控制系統(tǒng),系統(tǒng)采用PC主機(jī)和智能手機(jī)作為基本硬件平臺(tái),輔助WiFi智能插座和WiFi智能傳感器,就可以實(shí)現(xiàn)智能家居控制系統(tǒng)。利用PC機(jī)做智能家居控制系統(tǒng)的中央處理器,手持終端設(shè)備(通常是智能手機(jī))作控制媒介,實(shí)現(xiàn)對(duì)智能家居的控制。在系統(tǒng)的軟件部分,PC機(jī)采用Linux或Windows操作系統(tǒng),使用JavaScript作為網(wǎng)絡(luò)服務(wù)器腳本語(yǔ)言編寫;智能手機(jī)采用通用的Android系統(tǒng),采用Java語(yǔ)言編寫;它們及控制接口的Web通信采用Node.js技術(shù)實(shí)現(xiàn)。通過(guò)對(duì)系統(tǒng)進(jìn)行性能測(cè)試,結(jié)果表明,系統(tǒng)運(yùn)行穩(wěn)定,實(shí)時(shí)性好,性價(jià)比高,具有一定的實(shí)用價(jià)值。
WiFi控制;JavaScript;Node.js技術(shù);Qt Quick技術(shù)
隨著電子技術(shù)的發(fā)展,各種自動(dòng)化、智能化產(chǎn)品層出不窮,極大地改變了人們的生活方式[1]。智能家居就是在這樣的背景下應(yīng)運(yùn)而生。智能家居控制系統(tǒng)以一個(gè)中央處理器接收到相關(guān)傳感器模塊的信號(hào)后,發(fā)送適當(dāng)?shù)男畔⒔o其他電子設(shè)備產(chǎn)品,從而控制家中的電子電器[2-3]。中央處理器通常通過(guò)其他媒介來(lái)控制電子電器,媒介可以是鍵盤、觸摸屏、智能手機(jī)、電話機(jī)等;使用者通過(guò)這些介質(zhì)發(fā)送信號(hào)至中央處理器,或者接收中央處理器的信號(hào)。傳統(tǒng)的智能家居控制器一般采用簡(jiǎn)單的8位或16位單片機(jī)做控制,控制比較簡(jiǎn)單,不適合網(wǎng)絡(luò)化和無(wú)線控制[1]。
本文的設(shè)計(jì)基于PC機(jī)和WiFi控制技術(shù),設(shè)計(jì)了一種全新的、實(shí)用的智能家居控制系統(tǒng),本設(shè)計(jì)采用PC機(jī)作為中央控制器,不需要更換現(xiàn)有的家用電器,只需要增加WiFi智能插座、WiFi智能傳感器等WiFi設(shè)備即可,不需要額外布線。設(shè)計(jì)采用Android智能手機(jī)作為控制媒介,采用Node.js技術(shù)、Qt Quick技術(shù)、Java技術(shù)、TCP/IP技術(shù)作為控制網(wǎng)絡(luò)的通信手段,使用模塊化的通信手段,實(shí)現(xiàn)一系列的諸如遠(yuǎn)程控制、智能家居控制等功能[4]。
智能家居系統(tǒng)由中央處理器、Internet服務(wù)器、控制媒介(智能手機(jī))和添加有WiFi智能插座、WiFi智能傳感器組成的智能家居[2,5]。其中,中央處理器通過(guò)服務(wù)器連入Internet,并通過(guò)智能手機(jī)作為控制媒介連入Internet服務(wù)器,進(jìn)而控制WiFi智能家居。其智能家居控制系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 智能家居控制系統(tǒng)的總體構(gòu)成
該系統(tǒng)正常工作時(shí),用戶可以通過(guò)Internet進(jìn)行訪問(wèn),當(dāng)通過(guò)Internet訪問(wèn)時(shí),本系統(tǒng)可提供一個(gè)界面友好的終端軟件,該軟件裝在智能手機(jī)上,用戶只需通過(guò)該智能手機(jī)登錄到運(yùn)行在家中的服務(wù)器即可對(duì)家中的設(shè)備進(jìn)行遠(yuǎn)程控制。
本系統(tǒng)的硬件主要有中央處理器部分與控制媒介兩大部分[2-3,6]。中央處理器部分由PC主機(jī)和各種接口電路組成。接口電路主要由WiFi智能插座、WiFi智能傳感器等WiFi設(shè)備控制電路組成,并通過(guò)WiFi智能插座、WiFi智能傳感器來(lái)控制日光燈、空調(diào)、電視等智能家居。具體硬件組成框圖如圖2所示。
圖2 系統(tǒng)硬件組成框圖
主機(jī)通過(guò)Internet服務(wù)器接收控制媒介(智能手機(jī))的控制信息,依照特定的控制信息通過(guò)WiFi控制各種智能家居。WiFi智能插座利用了現(xiàn)有家庭中的WiFi網(wǎng)絡(luò),智能手機(jī)或平板計(jì)算機(jī)等在聯(lián)網(wǎng)條件下,能通過(guò)App操作打開(kāi)或者關(guān)閉指定的電器。而且由于智能插座能夠做到讓電器完全斷電,對(duì)于電視機(jī)、空調(diào)等待機(jī)功率較大的電器,用智能插座控制后就能做到隨用隨開(kāi),從而節(jié)省電費(fèi)。智能手機(jī)發(fā)出的WiFi信號(hào)給中央處理器,中央處理器經(jīng)過(guò)處理后發(fā)出WiFi信號(hào),智能傳感器技術(shù)接收中央處理器發(fā)出的信息后執(zhí)行相應(yīng)的動(dòng)作。圖像接口電路通過(guò)網(wǎng)線直接或WiFi間接連接攝像頭電路和PC主機(jī),打開(kāi)圖像界面,可直接看到室內(nèi)的情況。
本系統(tǒng)軟件主要由中央處理器的Qt程序、控制媒介的Java程序和系統(tǒng)與Internet服務(wù)器的Node.js網(wǎng)絡(luò)通信程序組成。具體軟件控制流程如圖3所示。
其中,Qt部分是中央處理器的程序,采用QML語(yǔ)言(Ja?vaScript的一種擴(kuò)展語(yǔ)言)作為界面顯示控制單元,以讀取smarthome狀態(tài);采用TcpSocket庫(kù)與服務(wù)器通信,讀取服務(wù)器端傳輸過(guò)來(lái)的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行解析后在顯示界面上顯示;在該部分反復(fù)調(diào)用timer庫(kù)向服務(wù)器進(jìn)行輪詢寫數(shù)據(jù),以保證當(dāng)中央處理器的程序有任何變化時(shí)Internet服務(wù)器都會(huì)感知。
Internet服務(wù)器端使用Node.js編程,該部分是整個(gè)系統(tǒng)的中間環(huán)節(jié),是連接中央處理器程序和Android控制單元的橋梁。使用TcpSocketServer與中央處理器程序通信,使用HttpServer處理與Android控制單元的交互。
在Android控制單元,使用Java語(yǔ)言編程,對(duì)Android提供的類庫(kù)進(jìn)行繼承、封裝,以實(shí)現(xiàn)一個(gè)交互實(shí)用簡(jiǎn)單、美觀的界面和一個(gè)可靠、穩(wěn)定的Http客戶端單元。Http客戶端和服務(wù)器進(jìn)行通信,服務(wù)器又將數(shù)據(jù)傳輸給中央處理器,反之,Android端的Http客戶端又可以通過(guò)處理器感知中央處理器的變化,整個(gè)系統(tǒng)在這樣的一個(gè)模式下運(yùn)行,實(shí)現(xiàn)智能家居的軟件控制。
圖4是中央處理器控制界面,該界面采用Qt Quick技術(shù)和JavaScript技術(shù)編程實(shí)現(xiàn)。Qt Quick是Qt 4.7中推出的一項(xiàng)新技術(shù)。Qt Quick是一種高級(jí)用戶界面技術(shù),使用它可輕松地創(chuàng)建供移動(dòng)和嵌入式設(shè)備使用的動(dòng)態(tài)觸摸式界面和輕量級(jí)應(yīng)用程序。Qt Quick用戶界面創(chuàng)建工具包新增一個(gè)簡(jiǎn)便易學(xué)的語(yǔ)言QML[7-9]。QML是對(duì)JavaScript一種擴(kuò)展,它提供一種機(jī)制使用QML元素來(lái)說(shuō)明構(gòu)建一個(gè)對(duì)象樹(shù)[7-8]。圖5是控制媒介(即智能手機(jī))的界面,該界面采用Java語(yǔ)言編寫。Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,廣泛應(yīng)用與個(gè)人PC、智能手機(jī)的通信和控制問(wèn)題[9-10]。
中央處理器和控制媒介的界面具有同步功能。當(dāng)操作者通過(guò)手機(jī)上的App界面控制智能家居時(shí),中央處理器的界面顯示與此相同。操作者也可以在中央處理器上直接操作,手機(jī)App也顯示同樣的操作界面。
圖3 系統(tǒng)軟件控制流程圖
圖4 中央處理器控制界面(截圖)
圖5 智能手機(jī)控制界面(截圖)
該界面具有以下功能:室內(nèi)日光燈控制、電視控制、空調(diào)控制,以及視頻顯示。在控制媒介(即智能手機(jī))上觸摸空調(diào)的開(kāi)關(guān)、模式切換、溫度增減按鈕可以實(shí)現(xiàn)對(duì)空調(diào)狀態(tài)的控制,電視模式跟此類似。觸摸每個(gè)房間的位置,可以打開(kāi)或關(guān)閉室內(nèi)的日光燈,并可實(shí)時(shí)視頻顯示室內(nèi)的情況。該系統(tǒng)經(jīng)過(guò)測(cè)試,所有控制和顯示功能正常,達(dá)到預(yù)期的設(shè)計(jì)目的。
本文的設(shè)計(jì)基于PC機(jī)和WiFi控制技術(shù),采用PC機(jī)作為中央控制器,采用Android智能手機(jī)作為控制媒介,采用Node.js技術(shù)、Qt Quick技術(shù)、Java技術(shù)、TCP/IP技術(shù)作為控制網(wǎng)絡(luò)的通信手段,使用模塊化的通信手段,實(shí)現(xiàn)一系列諸如遠(yuǎn)程控制、智能家居控制等功能。
在硬件設(shè)計(jì)上,不是采用傳統(tǒng)的單片機(jī)進(jìn)行控制,而是采用強(qiáng)大的PC機(jī)做中央處理器,采用方便易用的智能手機(jī)做控制媒介,容易實(shí)現(xiàn)且使用廣泛。在軟件設(shè)計(jì)方面,采用Qt Quick技術(shù)和JavaScript技術(shù)編程實(shí)現(xiàn)中央處理器的控制界面,采用Java語(yǔ)言編寫實(shí)現(xiàn)控制媒介的界面,它們及各個(gè)控制接口采用Node.js技術(shù)進(jìn)行Web的后臺(tái)通信。經(jīng)過(guò)測(cè)試驗(yàn)證,系統(tǒng)各個(gè)模塊功能正常,達(dá)到設(shè)計(jì)的預(yù)期。
[1]靳江偉,基于ARM的智能家居綜合控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].沈陽(yáng):沈陽(yáng)理工大學(xué),2011.
[2]南春輝.基于Web技術(shù)的嵌入式智能家居系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2013,37(3):86-89.
[3]唐永彬,楊恢東.基于ARM11的嵌入式Web網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2011,35(9):122-124.
[4]BY V.Node.js開(kāi)發(fā)指南[M].北京:人民郵電出版社,2012.
[5] 曹夢(mèng)龍,鄒云東.基于Internet和GSM的智能家居網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2014,38(3):73-75.
[6]陳剛,付蔚,羅志勇.基于IEEE 802.15.4E的智能家居家電控制系統(tǒng)的研究與實(shí)現(xiàn)[J].電視技術(shù),2012,36(24):23-25.
[7]蔡志明.精通Qt4編程[M].北京:電子工業(yè)出版社,2008.
[8]霍亞飛.Qt及Qt Quick開(kāi)發(fā)與實(shí)戰(zhàn)精解[M].北京:北京航空航天大學(xué)出版社,2012.
[9]DONAHOO M J,CALVERT K L.TCP/IP Sochets編程[M].陳宗斌,譯.北京:清華大學(xué)出版社,2009.
[10]ECKEL B.Java編程思想[M].陳昊鵬,譯.北京:機(jī)械工業(yè)出版社,2007.作者簡(jiǎn)介:
董思喬(1984—),碩士,工程師,主研無(wú)線電設(shè)備管理與開(kāi)發(fā);
趙榮建(1985—),碩士,工程師,主研智能設(shè)備的研究與開(kāi)發(fā);
孫 通(1991—),本科,工程師,主研智能設(shè)備的研究與開(kāi)發(fā)。
責(zé)任編輯:閆雯雯
Design of Intelligent Home Control System Base on WiFi
DONG Siqiao1,ZHAO Rongjian2,SUN Tong2
(1.The State Radio Monitoring Center Testing,Beijing 100041,China; 2.Shenzhen Elmmedicare Electronic Instrument Co.,Ltd.,Guangdong Shenzhen 518067,China)
A new type of intelligent home control system based on WiFi is introduced,which uses PC host and the intelligent mobile phone as the basic hardware platform.Under the auxiliary of WiFi smart socket,WiFi smart sensors,it can realize intelligent home control system.It use a PC for smart home control system of the Central Processing Unit(CPU)and a handheld device(usually a smartphone)as a medium of control,the control system for the smart home.In the software part of the system,PC uses Linux or Windows operating system,which uses JavaScript as a scripting language to write a Web server,smart phones use common Android.It is implemented using Java language,and the control interface of Web communication is implemented using Node.js technology.Through the system performance testing,the results show that the system runs stably with good real-time,high performance/price ratio,and has a certain practical value.
WiFi control;JavaScript;Node.Js technology;Qt Quick technology
TN919
B
10.16280/j.videoe.2015.04.024
2014-09-25
【本文獻(xiàn)信息】董思喬,趙榮建,孫通.基于WiFi構(gòu)建的智能家居控制系統(tǒng)的設(shè)計(jì)[J].電視技術(shù),2015,39(4).