【摘要】 提出一種利用B/S架構(gòu)設(shè)計的智能家居遠程控制系統(tǒng)的設(shè)計。將智能家居系統(tǒng)控制主機接入互聯(lián)網(wǎng),在控制主機上架設(shè)網(wǎng)站,用戶可以利用網(wǎng)站對連接到主機的USB設(shè)備進行操作,從而通過USB設(shè)備控制家庭內(nèi)的智能家居。該系統(tǒng)利用了B/S架構(gòu)的優(yōu)點,用戶能夠很方便地對家庭智能家居系統(tǒng)進行遠程控制。
【關(guān)鍵詞】 B/S架構(gòu) 智能家居 遠程控制 USB
隨著科技的發(fā)展,物聯(lián)網(wǎng)技術(shù)愈加成熟,智能家居已經(jīng)越來越深入到人們的生活當中[1]。智能家居的出現(xiàn)令生活更加方便,主人可以通過特定的網(wǎng)絡(luò)連接到家庭里的控制中心設(shè)備,對家里的情況進行監(jiān)控與操控。典型的智能家居系統(tǒng)采用家庭內(nèi)部自組織小型局域網(wǎng),通過控制中心連接到外部,進行遠程控制[2]。這些系統(tǒng)在進行遠程控制時,大都采用了C/S模式,這樣就必須在用戶的移動終端上安裝特定的軟件才能進行遠程控制[3]。因此采用B/S架構(gòu)來實現(xiàn)遠程控制方式,只要用戶能夠使用上網(wǎng)設(shè)備連接到互聯(lián)網(wǎng),比如使用筆記本或手機通過有線網(wǎng)絡(luò)、wifi或3G連接到互聯(lián)網(wǎng),就能夠讓很方便地打開一個網(wǎng)頁,對家里的情況進行監(jiān)控或控制。
本文提出了一種基于B/S架構(gòu)的智能家居遠程控制系統(tǒng),該控制系統(tǒng)的硬件主要有一個USB設(shè)備,該USB設(shè)備連接到控制中心主機上。主機架設(shè)相應(yīng)的網(wǎng)站,并聯(lián)接至互聯(lián)網(wǎng)上。當用戶需要監(jiān)控或控制時,只需要在電腦或手機上網(wǎng)打開該網(wǎng)頁,就可以對USB設(shè)備進行操作,該USB設(shè)備再通過ZigBee對家居進行狀態(tài)查詢或控制。
一、相關(guān)技術(shù)
B/S(瀏覽器/服務(wù)器)架構(gòu)即瀏覽器(Browser)/服務(wù)器(Server)架構(gòu),用戶的操作界面就是瀏覽器,使用瀏覽器來訪問服務(wù)器提供的服務(wù)。相較于傳統(tǒng)的C/S架構(gòu)模式來說,B/S架構(gòu)讓用戶對服務(wù)器的訪問更加快捷方便。本系統(tǒng)采用B/S架構(gòu)在控制主機上搭建網(wǎng)站,利用網(wǎng)站來控制USB設(shè)備運作。網(wǎng)站的開發(fā)使用ASP.NET技術(shù),采用Microsoft Visual studio 2008工具進行開發(fā)。ASP.NET作為微軟Microsoft.NET框架的一部分,由.NET框架提供的編程類庫組成,并為Web應(yīng)用提供程序模型。使用ASP.NET開發(fā)頁面可有猶如開發(fā)軟件程序一般,使軟件程序員在開發(fā)網(wǎng)頁應(yīng)用也變得非常簡單。在本文的設(shè)計當中,USB設(shè)備的驅(qū)動程序可以單獨開發(fā)成動態(tài)鏈接庫,然后使用ASP.NET調(diào)用動態(tài)鏈接庫里的程序來達到頁面對USB設(shè)備的直接控制。
USB總線技術(shù)在當前已經(jīng)應(yīng)用非常廣泛,技術(shù)也十分成熟,大部分的設(shè)備上現(xiàn)在都存在USB接口,是一種很通用的接口協(xié)議。本系統(tǒng)的設(shè)計當中控制主機與外設(shè)之間的通信接口也采用USB連接方式。接口芯片采用了Cypress公司開發(fā)的CY7C68013A,該芯片是一款內(nèi)部集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強的8051微控制器、16KB的RAM、4KB的FIFO存儲器、I/O接口、數(shù)據(jù)總線、地址總線和通用可編程的外圍接口(GPIF)的強大功能的芯片[4]。該芯片負責(zé)主機與ZigBee模塊之間的通信連接。
二、系統(tǒng)設(shè)計
系統(tǒng)主要分為3個部分:智能家居通過ZigBee構(gòu)成的本地網(wǎng)絡(luò)、USB設(shè)備與控制主機形成的本地控制中心和用戶的移動終端。如圖1所示。本文將重點描述USB設(shè)備的設(shè)計以及Web頁面通過USB設(shè)備對智能家居的控制程序設(shè)計。
本系統(tǒng)的USB設(shè)備采用56腳的CY68013A芯片作為接口芯片,該芯片集成了USB通信接口以及8051內(nèi)核,可以很方便的進行USB通信的設(shè)計。該芯片有獨立的USB接口管腳“DPLUS”和“DMINUS”可與USB線纜直接連接,同時擁有三組通用I/O接口可連接ZigBee設(shè)備(如CC2430)與智能家居進行無線通信,如圖2所示。芯片的固件程序采用類似51單片機的編程以及CYPRESS公司為用戶提供的子函數(shù),主要完成的功能是:向主機提交VID和PID;對Interface(接口)配置和Endpoint(端點)的配置;通過固件程序的調(diào)度,完成ZigBee設(shè)備與主機之間的數(shù)據(jù)通信。
為了讓用戶能夠利用Web頁面通過USB對智能家居進制控制,Web主機需要實現(xiàn)對USB設(shè)備進行控制與通信的人機交互界面程序,并將該程序在頁面上實現(xiàn)。該程序?qū)SB設(shè)備的控制需要通過USB驅(qū)動程序,而驅(qū)動程序可以通過修改CYPRESS公司提供的EZ-USB通用驅(qū)動程序的INF文件獲得。在本系統(tǒng)的設(shè)計中,將這些驅(qū)動程序封裝成為動態(tài)鏈接庫dll文件,然后在ASP.NET頁面代碼中,調(diào)用動態(tài)鏈接庫里的函數(shù)來達到對USB設(shè)備的控制,流程如圖3所示。
本系統(tǒng)的網(wǎng)站設(shè)計采用的工具是Microsoft Visual studio 2008,可以通過在軟件中點擊[文件]—[新建]—[網(wǎng)站],并在新建網(wǎng)站選擇ASP.NET類型網(wǎng)站來創(chuàng)建一個新的網(wǎng)站,同時網(wǎng)站的編程語言采用了C#。為了能夠通過網(wǎng)站控制USB設(shè)備,需要完成以下步驟:
(1)首先將USB設(shè)備的驅(qū)動程序動態(tài)鏈接庫USBdev.dll存放在主機的系統(tǒng)文件夾System32中以保證網(wǎng)站程序能夠?qū)討B(tài)鏈接庫函數(shù)的調(diào)用;
(2)然后在頁面代碼中添加將動態(tài)鏈接庫中的函數(shù)導(dǎo)入到網(wǎng)頁程序的語句,以便調(diào)用,如下面語句中的函數(shù)scan_device()和dev_open()。
完成以上步驟后,在頁面編程過程中,就可以直接調(diào)用已經(jīng)導(dǎo)入的驅(qū)動程序函數(shù)來與USB設(shè)備進行通信。與USB設(shè)備的通信過程主要是為了向某個家居設(shè)備發(fā)送指令或讀取狀態(tài),由于家居設(shè)備的類型有很多,需要的參數(shù)都不相同,因此控制主機與USB設(shè)備的通信過程需要制定指令格式對家居設(shè)備進行控制。指令包含的參數(shù)有:指令類型、操作對象ID、操作類型、操作參數(shù)等。指令格式可以根據(jù)實際應(yīng)用進行相應(yīng)調(diào)整,在這里就不進行詳細解釋。網(wǎng)站頁面的設(shè)計,可以根據(jù)用戶家庭內(nèi)的智能家居種類和數(shù)量來進行設(shè)計,利用VS2008提供的各種頁面控件可以很容易實現(xiàn)一個簡潔的頁面。
三、結(jié)束語
本文設(shè)計了一種利用B/S架構(gòu)搭建智能家居遠程控制系統(tǒng),通過ASP.NET對USB設(shè)備進行控制來達到Web頁面與硬件設(shè)備的通信。該系統(tǒng)的設(shè)計方案技術(shù)成熟、性能穩(wěn)定,且成本較低容易普及。系統(tǒng)的界面簡單,操作方便,用戶可以通過普通的上網(wǎng)瀏覽網(wǎng)頁方式,就可以對家里的智能家居進行控制。而且隨著網(wǎng)絡(luò)服務(wù)的進步,通過Web網(wǎng)站的控制方式可以進行豐富的擴張,例如流媒體、云技術(shù)等。當然,通過Web網(wǎng)站進行智能家居的控制方式還需要考慮的安全保密等問題,這也是將來需要研究的一個問題。
參 考 文 獻
[1] 婁亞楠. 中國智能家居應(yīng)用前景與挑戰(zhàn)[J]. 中國公共安全,2013(Z1):80-83.
[2] 林旭東. 智能家居系統(tǒng)相關(guān)技術(shù)及發(fā)展趨勢[J]. 科技創(chuàng)新導(dǎo)報,2008(7):6.
[3] 任榮. 基于B/S結(jié)構(gòu)的智能家居系統(tǒng)的研究和實現(xiàn)[J]. 廣東通信技術(shù),2012(12):25-29.
[4] 錢峰. EZ-USB FX單片機原理編程及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2006.3.