基于嵌入式Web服務(wù)器的智能家居主控制系統

發(fā)布時(shí)間:2009-9-4 10:32    發(fā)布者:賈延安
關(guān)鍵詞: Web , 服務(wù)器 , 控制系統 , 嵌入式 , 智能
引言
  隨著(zhù)信息技術(shù)的發(fā)展,以PC為代表的計算機網(wǎng)絡(luò )技術(shù)發(fā)展到一個(gè)更高階段,以嵌入式智能設備為核心的后PC時(shí)代已經(jīng)來(lái)臨。ARM處理器以其性能高、成本低和功耗低的特點(diǎn),廣泛應用于嵌入式控制、消費,教育類(lèi)多媒體、DSP和移動(dòng)式應用等領(lǐng)域。隨著(zhù)生活質(zhì)量的提高,人們對家庭智能化的需求越來(lái)越高。智能化正體現在人們生活的各個(gè)方面。其中家居的智能化正成為人們生活中追求的熱點(diǎn),而這里提出的基于嵌入式Web服務(wù)器的智能家居系統正好滿(mǎn)足這一需求。
  2 硬件設計
  智能家居系統設計需求是PC機遵循802.3和HPPTD等網(wǎng)絡(luò )協(xié)議,通過(guò)網(wǎng)絡(luò )訪(fǎng)問(wèn)主控制器的Web服務(wù)器,登錄主控制器,通過(guò)電力線(xiàn)構成的家庭小型局域網(wǎng)絡(luò )或串口,發(fā)送指令給從控制器進(jìn)而控制家電,同時(shí)利用監控家電的傳感器將家電狀態(tài)返回至PC,如圖1所示。該系統設計要求主控制器功耗低,占用空間小,可進(jìn)行可視化操作。
  2.1 控制器選擇
  DSP數學(xué)信號處理器具有強大數據處理能力和高運行速度,但在音頻、USB、SD卡等接口功能擴展較弱。而單片機系列的ARM920T具有5級指令流水線(xiàn).處理速度為1.1 MHz,內置MMU(Memory Management Unit)、獨立的16 KB數據Cache、16KB指令Cache和高速AMBA(Advanced Microcon-troller BusArchitecture)總線(xiàn)接口等功能。DSP和一般8位單片機相比,它具有更全面的通用功能,具有60個(gè)中斷控制器,支持實(shí)時(shí)時(shí)鐘(RTC)、LCD控制器接口、串口接口、網(wǎng)卡接口等功能,還具有16/32位RISC體系結構和ARM指令集。因此該系統采用ARM公司的ARM920T作為主控制器。
  從控制器選用MSP430單片機,與89S51單片機相比,它具有RISC(精簡(jiǎn)指令集),功耗低,支持16位內部總線(xiàn),引入Flash型存儲器和JTAG技術(shù),編程開(kāi)發(fā)非常方便。這里主要講述主控制系統。
  2.2 網(wǎng)卡接口設計
  該系統需要通過(guò)互聯(lián)網(wǎng)或電力線(xiàn)進(jìn)行網(wǎng)絡(luò )通信,而Web服務(wù)器設計也必須通過(guò)網(wǎng)絡(luò )收發(fā)數據,要求數據處理速度快。根據這些要求,該系統采用DAVICOM公司的DM9000AEP作為網(wǎng)卡的設計器件。該器件具有10 Mbit/s和100Mbit/s的自動(dòng)切換功能,支持802.3x全雙工控制流標準,具有16K字節的雙字SRAM,可以減輕CPU的負擔,因此使系統更穩定,處理和傳輸數據速度更快。
  RJ-45采用HanRun公司的可對信號濾波的HR911105A接口,這樣可節約印刷板,并有效地減小電磁干擾。ARM920T與網(wǎng)卡DM9000AEP接口設計如圖2所示。圖中16根數據線(xiàn)相連;命令選擇引腳CMD,為高電平時(shí),選擇數據端口,CMD為低電平時(shí),選擇地址通道;IOR#為讀信號引腳;IOW#為寫(xiě)信號引腳;CS#片選信號與ARM920T的片選信號線(xiàn)nGCS3相連。
  2.3 串口接口設計
  智能家居系統需要串口控制家電信息,并進(jìn)行相應通信,而且調試系統同樣需要串口。為滿(mǎn)足要求,該系統采用Sipex的窄體SP3232串行通信器件。該器件支持滿(mǎn)載120 Kb/s的最小傳輸速率,可在中斷或DMA兩種模式下工作,每個(gè)通道包含64K字節的發(fā)送FIFO和接收FIFO。該器件最大特點(diǎn)就是采用電荷泵技術(shù):由4只外接電容組成,采用4相電壓轉換技術(shù),保持輸出對稱(chēng)的5.5V電壓。即使輸入電壓VCC在3.0~5.5 V范圍內,電荷泵仍可提供5.5V穩定電壓,這樣可以保證系統穩定工作。有益于智能家居系統整體的良好運行。串口接口設計如圖3所示。圖3中TXD表示接收數據,RXD表示發(fā)送數據,RTS表示請求發(fā)送,CTS表示清除發(fā)送。當RTS請求發(fā)送數據時(shí),需經(jīng)CTS信號檢測,只有CTS信號允許才能發(fā)送數據。
  2.4 存儲器設計
  完整操作系統的啟動(dòng)離不開(kāi)引導程序。采用SAMSUNG公司64 MB的K9F1208作為NAND Flash,具有4KB的內部緩沖區可作為引導肩動(dòng),系統啟動(dòng)后NAND Flash仍可作為外部存儲器繼續使用。WindowsCE5.O引導加載程序(BootLoader)由NANDFlash的地址0x00000000處開(kāi)始執行。完成硬件初始化,建立系統的內存空間映射圖,最終BootLoader把操作系統內核映像加載到RAM中;采用HY公司的兩片HY57V561620CTP作為SDRAM,通過(guò)nGCS6連接到ARM920T引腳,起始地址為0x30038000.同時(shí)SDRAM還支持自動(dòng)更新和掉電模式,保證系統穩定工作。
  2.5 智能家居系統結構
  主控制器還包括觸摸屏接口。觸摸屏采用帶有驅動(dòng)電路的日立7寸屏,用于用戶(hù)可視化操作。
  傳感器信號線(xiàn)與ARM920T的中斷引腳EINT8相連。當傳感器信號到來(lái)時(shí),通過(guò)中斷引腳向ARM920T申請中斷服務(wù)程序,并通過(guò)網(wǎng)絡(luò )向用戶(hù)報警。系統框圖如圖4所示。
  3 軟件設計
  3.1 內核創(chuàng )建及裁剪
  Windows CE是一個(gè)開(kāi)放的、可裁減的、32位的實(shí)時(shí)嵌入式窗口操作系統。因此要實(shí)現WebServer功能必須對內核裁剪。除了實(shí)現基本的WINCE5.0功能外,還需要在定制內核時(shí)在Platform內添加DM9000網(wǎng)卡驅動(dòng),串口驅動(dòng),USB驅動(dòng),MFC,SDK(標準工具集)、HTFPD和SOAP協(xié)議等系統必備驅動(dòng)和協(xié)議。Windows CE上Web Server的通信協(xié)議是HTTP協(xié)議,HTTP的消息機制是基于請求一應答模式。
  HTTP協(xié)議工作原理:數據包經(jīng)過(guò)網(wǎng)絡(luò )傳送到DM9000AEP的以太網(wǎng)控制器后,經(jīng)系統內部控制器的TCP/IP堆棧對數據包進(jìn)行解析,然后對其打包或解包,但這些數據包還必須經(jīng)Web服務(wù)器處理。
  3.2 Web服務(wù)器設計
  HTTPD服務(wù)器的工作流程如圖5所示。系統采用HTTPD多線(xiàn)程并發(fā)服務(wù)器結構的設計思想,其工作特點(diǎn)是為每個(gè)客戶(hù)機請求分配一個(gè)線(xiàn)程,即服務(wù)器在同時(shí)處理多人請求。由每個(gè)線(xiàn)程處理客戶(hù)機的請求。在請求處理完畢后,子線(xiàn)程退出。服務(wù)器接收子線(xiàn)程的退出信號為其他的客戶(hù)機請求分配資源。
  圖5中,HTTPD服務(wù)器由main()函數開(kāi)始,首先配置文件,設置用戶(hù)ID函數和組ID函數,通過(guò)getopt(argc,argv,"s:f:p:u:g:")函數獲取配置選項,讀取配置。其中:s為standalone服務(wù)器運行方式;f為config_fie即配置文件;p為端口號,HTTPD默認端口號為80;u為用戶(hù)ID即uid;g為組ID,即gid。
  然后判斷是否工作在standalone.服務(wù)器運行方式上,如果是則運行standalone_main()函數,如果不是則訪(fǎng)問(wèn)process request()函數。
  如果服務(wù)器工作在standalone模式中,依據圖5的工作流程,首先客戶(hù)端與服務(wù)器建立鏈接,建立socket套接字。監聽(tīng)鏈接,設置uid和gid,如果服務(wù)器沒(méi)接收到請求信息,繼續監聽(tīng);如果接收到請求信息,則創(chuàng )建子線(xiàn)程。子線(xiàn)程調用process_request()處理客戶(hù)端請求,服務(wù)器繼續監聽(tīng)鏈接,如果客戶(hù)端請求信息,再創(chuàng )建子線(xiàn)程,調用process_request()處理客戶(hù)端請求,如此多線(xiàn)程并發(fā)處理客戶(hù)端請求。
  在process_request()函數中,首先初始化當前時(shí)間,然后讀取并處理HTTP請求消息的方法Method字段,讀取HTTP請求消息的URL字段。主要通過(guò)strcpy_nocrlf(),getparents(),translate_name()這3個(gè)函數對HTIP請求消息的URL字段進(jìn)行解析,依據宏LDGGING決定是否打開(kāi)日志。最后調用send_note()發(fā)送請求的文件給客戶(hù)端。
  3.3 Web服務(wù)器通信方案設計
  在WINCE系統上開(kāi)發(fā)Web服務(wù)器,并通過(guò)Web服務(wù)器與串口設備進(jìn)行通信的方案有ASP方案、CSP方案和Socket方案。綜合比較,通用WINCE5.0系統不支持ASP控件;Socket主要是C/S方式的,需要安裝客戶(hù)端;而CSP方案在不要求美觀(guān)的情況下,無(wú)需安裝客戶(hù)端就可訪(fǎng)問(wèn)系統。系統則采用該種方案。
  CSP方案就是將C語(yǔ)言編寫(xiě)的網(wǎng)絡(luò )和串口通信程序嵌入到HTML當中,這也是嵌入式網(wǎng)絡(luò )開(kāi)發(fā)常用的方案。具體流程如下:
  (1)在定制內核的過(guò)程中需要將HTTPD服務(wù)器添加到Platform. builder中,遵守HTTP的請求-應答規則。
  (2)編寫(xiě)CSP通信程序,通過(guò)PC機訪(fǎng)問(wèn)WindowsCE的Web服務(wù)器,打開(kāi)串口,執行串口控制或網(wǎng)絡(luò )通信。直接將C語(yǔ)言嵌入到HTML/XML等模板文件中。CSP文件中HTML界面如實(shí)驗結果所示。通信程序主要函數為建立鏈接函數SetupConnection()用于建立鏈接設置DCB初始參數;打開(kāi)串口函數open_serial()判斷是否打開(kāi)設備串口、設置超時(shí)數值、緩沖區大小、創(chuàng )建監視線(xiàn)程等;讀數據命令read_respond()用于異步讀取緩沖區數據并顯示;發(fā)送命令sendcommand()用于給設備指令?刂浦噶頿owcontrol_command()用于控制電源開(kāi)關(guān);微調函數adjcontrol_command()用于小幅調節設備功能,如光線(xiàn)明暗,溫度高低等;串口監控API函數WINAPICommWatchProc()用于串口緩沖區監控等。
  (3)編寫(xiě)好CSP通信文件后,用eyBuild開(kāi)發(fā)包提供的CSP2BIN工具將CSP源文件生成C程序的源文件,再鏈接上eyBuild提供的CGI運行庫,在VC6.0中編譯就可生成在WindowsCE平臺運行的CGI程序。該系統生成的CGI為Intelligenthome.cgi。

  (4)將在\website\cgi-bin生成的Intelligenthome.cgi文件拷貝到Windows CE系統的\windows\www\文件夾下面,連接PC機便可從PC機訪(fǎng)問(wèn)Windows CE系統,進(jìn)而了解傳感器信號,控制家電。

  該系統使用的數據庫為SQLite。SQLite數據庫存放家電的基本信息、參數值、狀態(tài)信息以及傳感器當前狀態(tài)等,這些信息不但反映各種參數的歷史狀態(tài),而且也是管理、決策的重要信息來(lái)源。
  4 實(shí)驗結果
  經(jīng)過(guò)一段時(shí)間的開(kāi)發(fā)與研究,該智能家居系統能夠完成簡(jiǎn)單的指令與數據通信,并可將可控家電的信息保存在SQLite數據庫中。
  5 結束語(yǔ)
  利用S3C2440定制Windows CE系統實(shí)現智能家居的簡(jiǎn)單控制,綜合運用了電子電路,Windows CE嵌入式系統,HTTP協(xié)議和CSP等技術(shù)。該系統可采用遵循802.11的遠程無(wú)線(xiàn)來(lái)控制家電系統。
本文地址:http://selenalain.com/thread-2537-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
張無(wú)忌1987 發(fā)表于 2010-11-23 10:59:35
好東東
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页