《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于單片機的智能家居WebServer開發(fā)及應(yīng)用
基于單片機的智能家居WebServer開發(fā)及應(yīng)用
李國峰,王 云
摘要: 提出了采用成本較低的傳統(tǒng)51單片機實現(xiàn)WebServer功能的方案,并將此設(shè)計應(yīng)用于智能家居系統(tǒng)中。系統(tǒng)具有靈活方便、成本低等優(yōu)點,其軟件的設(shè)計方案和設(shè)計思想可以普及和推廣,對未來的智能家居系統(tǒng)有很實用的參考價值。
Abstract:
Key words :

  摘 要: 提出了采用成本較低的傳統(tǒng)51單片機實現(xiàn)WebServer功能的方案,并將此設(shè)計應(yīng)用于智能家居系統(tǒng)中。系統(tǒng)具有靈活方便、成本低等優(yōu)點,其軟件的設(shè)計方案和設(shè)計思想可以普及和推廣,對未來的智能家居系統(tǒng)有很實用的參考價值。
    關(guān)鍵詞: 智能家居;WebServer;TCP/IP

 

   隨著生活水平的提高,人們對生活質(zhì)量的要求也在逐步提高,越來越多的人希望能夠生活在一個安全、舒適、節(jié)能、方便、高效的綠色環(huán)境中。隨著傳統(tǒng)家電產(chǎn)品與計算機、通信技術(shù)的結(jié)合,家用電器產(chǎn)品朝著智能家居的方向發(fā)展,使人們的愿望得以實現(xiàn)。而家用電器接入Internet網(wǎng),使家庭與外部保持信息交流暢通,實現(xiàn)遠程控制,也越來越多地被人們所關(guān)注。
    雖然智能化家居能夠為人們的生活帶來很大的便利,但由于它的造價昂貴,并不適合普通的百姓階層,且很多功能也是華而不實的,并沒有得到住戶的認可,用戶對于一些功能甚至很少使用,這也造成了資源的浪費。
    本文所設(shè)計的智能家居系統(tǒng),從實用的角度出發(fā),同時考慮到成本和日后的維護問題,充分利用現(xiàn)有的智能家居技術(shù)和資源為用戶構(gòu)建高性價比的智能家居系統(tǒng),實現(xiàn)了以最少成本完成最實用功能的目的,使智能家居走進百姓的生活,讓人們能夠更好地享受現(xiàn)代高科技為人們帶來的方便。
1 設(shè)計思路
    本設(shè)計的總體思路方框圖如圖1所示。

 


    在硬件方案設(shè)計上,包含主控制器和分控制器兩部分。主控器中除了51內(nèi)核單片機[1],還包含了一個片外存儲器、無線收發(fā)模塊、溫度、濕度檢測模塊、電話撥號模塊、聲音報警模塊[2]。分控制器負責(zé)用電設(shè)備管理。
    系統(tǒng)以主控制器為核心,通過與分控制器無線通信[3],實現(xiàn)對用電設(shè)備的控制和監(jiān)測的功能。同時,主控制器還負責(zé)TCP/IP協(xié)議棧的處理和解析,提供Internet網(wǎng)頁訪問功能。
  在軟件方案設(shè)計上,實現(xiàn)WebServer的功能,需要TCP/IP協(xié)議的支持。由于W77E58芯片是基于8位的微處理器,現(xiàn)在可獲得的TCP/IP源代碼一般并不為51 單片機設(shè)計,由于系統(tǒng)資源受限,通過有針對性的模塊化裁剪,在單片機上嵌入精簡的TCP/IP協(xié)議棧[4],實現(xiàn)嵌入式Internet接入。
2 網(wǎng)絡(luò)通信協(xié)議設(shè)計
    精簡后的協(xié)議主要包括TCP/IP協(xié)議組中的四個基本協(xié)議:ARP協(xié)議、IP協(xié)議、ICMP協(xié)議、TCP協(xié)議[5]。鏈路層協(xié)議,作為設(shè)備驅(qū)動在鏈路層實現(xiàn),由單片機來驅(qū)動以太網(wǎng)卡RTL8019AS。應(yīng)用層協(xié)議,實現(xiàn)了HTTP協(xié)議。RTL8019AS的驅(qū)動程序主要包括4個部分: RTL8019AS芯片的復(fù)位、網(wǎng)卡的初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)。
    地址解析協(xié)議(ARP)實現(xiàn)的功能是:當有一個IP數(shù)據(jù)包要發(fā)送到以太網(wǎng)上時,從ARP表中查詢相應(yīng)的MAC地址。在本設(shè)計的精簡的TCP/IP協(xié)議棧中,ARP的執(zhí)行依靠維持一張映射表來完成IP地址和MAC地址的映射。
    整個IP協(xié)議可由IP數(shù)據(jù)報的接收、發(fā)送、IP數(shù)據(jù)差錯校驗控制三個子程序構(gòu)成。
  網(wǎng)間報文控制協(xié)議(ICMP)實現(xiàn)了一種類型的ICMP信息:ICMP回響信息。ICMP回響信息常常用于ping程序里的檢查主機是否在線。
  傳輸控制協(xié)議(TCP),TCP協(xié)議進行數(shù)據(jù)傳輸時可分為建立連接、傳輸數(shù)據(jù)和關(guān)閉連接三個階段。
  在本設(shè)計中,智能家居控制器實現(xiàn)提供Web網(wǎng)頁瀏覽的功能,只需要使用HTTP協(xié)議即可。瀏覽器通過該協(xié)議與Web服務(wù)器交換數(shù)據(jù)。
3  WebServer的實現(xiàn)
    WebServer的工作原理,就是在單片機內(nèi)部存放指定的網(wǎng)頁數(shù)據(jù),當客戶通過瀏覽器訪問指定地址時,服務(wù)器分析請求信息,并相應(yīng)地向瀏覽器中返回指定網(wǎng)頁的HTML代碼。
    此系統(tǒng)主要包含2個頁面:登錄頁面和控制頁面。為了便于存儲和訪問,需要把這2個HTML文件轉(zhuǎn)換為C語言的數(shù)組,存放于C文件中。
    登錄頁面是當用戶訪問智能家居Web服務(wù)器時,出于安全性的考慮,需要進行身份驗證,只有合法的用戶才可以進入到控制頁面??刂祈撁媸峭ㄟ^本頁面對家用電器實現(xiàn)遠程控制。控制頁面如圖2所示。

 


    在此頁面中,溫度和濕度的值在代碼中以特殊字符替代。當Web控制器發(fā)送網(wǎng)頁給客戶端時,就用控制器將采集的值替換HTML文檔中相對應(yīng)的特殊字符,實現(xiàn)了溫度和濕度的實時檢測。
    WebServer的實現(xiàn)就是HTTP通信的過程。其中包括服務(wù)器和瀏覽器的以下幾個步驟。
    (1)建立TCP連接。建立一個TCP連接,對80端口(WebServer默認端口)進行監(jiān)聽,接收到TCP包后即進入TCP回調(diào)函數(shù)。
    (2)Web瀏覽器向Web服務(wù)器發(fā)送請求命令。一旦建立了連接,瀏覽器即向服務(wù)器發(fā)送請求命令。請求消息包括請求行,首部,之后瀏覽器發(fā)送了一空白行來通知服務(wù)器,它已經(jīng)結(jié)束了該頭信息的發(fā)送。例如:
    GET/index.html HTTP/1.1
    (3)Web服務(wù)器響應(yīng)??蛻魴C向服務(wù)器發(fā)出請求后,服務(wù)器會客戶機回送響應(yīng)。響應(yīng)消息包括狀態(tài)行、響應(yīng)頭、空行及實體內(nèi)容。在響應(yīng)報文中,包括協(xié)議版本號和應(yīng)答狀態(tài)碼,關(guān)于它自己的數(shù)據(jù)及被請求的文檔信息。例如:
    HTTP/1.1 200 OK 
  Content-type:text/html
    (4)關(guān)閉連接。數(shù)據(jù)傳送完畢,雙方通過4次握手,結(jié)束TCP/IP連接。
    該智能家居控制系統(tǒng),可以讓智能家居的主人在任意位置,利用通用計算機的IE瀏覽器,上網(wǎng)瀏覽到家居中所有用電設(shè)備的工作狀態(tài)和家居的安防信息。如果主控制器所管理的某個用電設(shè)備,出現(xiàn)了不太緊急的故障時,可以只給主人一次簡單的提示,而發(fā)生緊急情況之后主控制器一直循環(huán)呼叫主人,直到主人應(yīng)答為止。這樣使得該系統(tǒng)在以太網(wǎng)出現(xiàn)故障之后,或者某些緊急情況出現(xiàn)時,因主人當時沒有正在瀏覽網(wǎng)頁,這時就可以利用電話線撥號及時快速地通知主人,從而使系統(tǒng)非常具有實際的應(yīng)用價值。同時也是這個系統(tǒng)區(qū)別其他現(xiàn)有系統(tǒng)更具人性化、智能化的創(chuàng)新點所在。


參考文獻
[1] 肖紅兵,李國峰.80C51嵌入式系統(tǒng)教程[M].北京:北京航空航天大學(xué)出社,2007.
[2] 嚴天峰.單片機應(yīng)用系統(tǒng)設(shè)計與仿真調(diào)試[M].北京:北京航空航天大學(xué)出版社,2005.
[3] 林勇,李因東,嚴彬彬.基于LPC2214的家庭智能終端的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2006.3
[4] 許華杰,明健.基于SX單片機實現(xiàn)WebServer和網(wǎng)絡(luò)協(xié)議棧.單片機與嵌入式系統(tǒng)應(yīng)用,2007.
[5] 謝希仁.計算機網(wǎng)絡(luò)(第2版)[M].北京:電子工業(yè)出版社,2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。