當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于嵌入式Web服務器的智能家居主控制系統(tǒng)

引言
    隨著信息技術的發(fā)展,以PC為代表的計算機網(wǎng)絡技術發(fā)展到一個更高階段,以嵌入式智能設備為核心的后PC時代已經(jīng)來臨。ARM處理器以其性能高、成本低和功耗低的特點,廣泛應用于嵌入式控制、消費,教育類多媒體、DSP和移動式應用等領域。隨著生活質量的提高,人們對家庭智能化的需求越來越高。智能化正體現(xiàn)在人們生活的各個方面。其中家居的智能化正成為人們生活中追求的熱點,而這里提出的基于嵌入式Web服務器的智能家居系統(tǒng)正好滿足這一需求。


2 硬件設計
    智能家居系統(tǒng)設計需求是PC機遵循802.3和HPPTD等網(wǎng)絡協(xié)議,通過網(wǎng)絡訪問主控制器的Web服務器,登錄主控制器,通過電力線構成的家庭小型局域網(wǎng)絡或串口,發(fā)送指令給從控制器進而控制家電,同時利用監(jiān)控家電的傳感器將家電狀態(tài)返回至PC,如圖1所示。該系統(tǒng)設計要求主控制器功耗低,占用空間小,可進行可視化操作。

2.1 控制器選擇
    DSP數(shù)學信號處理器具有強大數(shù)據(jù)處理能力和高運行速度,但在音頻、USB、SD卡等接口功能擴展較弱。而單片機系列的ARM920T具有5級指令流水線.處理速度為1.1 MHz,內置MMU(Memory Management Unit)、獨立的16 KB數(shù)據(jù)Cache、16 KB指令Cache和高速AMBA(Advanced Microcon-troller Bus Architecture)總線接口等功能。DSP和一般8位單片機相比,它具有更全面的通用功能,具有60個中斷控制器,支持實時時鐘(RTC)、LCD控制器接口、串口接口、網(wǎng)卡接口等功能,還具有16/32位RISC體系結構和ARM指令集。因此該系統(tǒng)采用ARM公司的ARM920T作為主控制器。
    從控制器選用MSP430單片機,與89S51單片機相比,它具有RISC(精簡指令集),功耗低,支持16位內部總線,引入Flash型存儲器和JTAG技術,編程開發(fā)非常方便。這里主要講述主控制系統(tǒng)。
2.2 網(wǎng)卡接口設計
    該系統(tǒng)需要通過互聯(lián)網(wǎng)或電力線進行網(wǎng)絡通信,而Web服務器設計也必須通過網(wǎng)絡收發(fā)數(shù)據(jù),要求數(shù)據(jù)處理速度快。根據(jù)這些要求,該系統(tǒng)采用DAVICOM公司的DM9000AEP作為網(wǎng)卡的設計器件。該器件具有10 Mbit/s和100 Mbit/s的自動切換功能,支持802.3x全雙工控制流標準,具有16 K字節(jié)的雙字SRAM,可以減輕CPU的負擔,因此使系統(tǒng)更穩(wěn)定,處理和傳輸數(shù)據(jù)速度更快。
    RJ-45采用HanRun公司的可對信號濾波的HR911105A接口,這樣可節(jié)約印刷板,并有效地減小電磁干擾。ARM920T與網(wǎng)卡DM9000AEP接口設計如圖2所示。圖中16根數(shù)據(jù)線相連;命令選擇引腳CMD,為高電平時,選擇數(shù)據(jù)端口,CMD為低電平時,選擇地址通道;IOR#為讀信號引腳;IOW#為寫信號引腳;CS#片選信號與ARM920T的片選信號線nGCS3相連。

2.3 串口接口設計
    智能家居系統(tǒng)需要串口控制家電信息,并進行相應通信,而且調試系統(tǒng)同樣需要串口。為滿足要求,該系統(tǒng)采用Sipex的窄體SP3232串行通信器件。該器件支持滿載120 Kb/s的最小傳輸速率,可在中斷或DMA兩種模式下工作,每個通道包含64 K字節(jié)的發(fā)送FIFO和接收FIFO。該器件最大特點就是采用電荷泵技術:由4只外接電容組成,采用4相電壓轉換技術,保持輸出對稱的5.5 V電壓。即使輸入電壓VCC在3.0~5.5 V范圍內,電荷泵仍可提供5.5 V穩(wěn)定電壓,這樣可以保證系統(tǒng)穩(wěn)定工作。有益于智能家居系統(tǒng)整體的良好運行。串口接口設計如圖3所示。圖3中TXD表示接收數(shù)據(jù),RXD表示發(fā)送數(shù)據(jù),RTS表示請求發(fā)送,CTS表示清除發(fā)送。當RTS請求發(fā)送數(shù)據(jù)時,需經(jīng)CTS信號檢測,只有CTS信號允許才能發(fā)送數(shù)據(jù)。

2.4 存儲器設計
    完整操作系統(tǒng)的啟動離不開引導程序。采用SAMSUNG公司64 MB的K9F1208作為NAND Flash,具有4 KB的內部緩沖區(qū)可作為引導肩動,系統(tǒng)啟動后NAND Flash仍可作為外部存儲器繼續(xù)使用。Windows CE5.O引導加載程序(BootLoader)由NANDFlash的地址0x00000000處開始執(zhí)行。完成硬件初始化,建立系統(tǒng)的內存空間映射圖,最終BootLoader把操作系統(tǒng)內核映像加載到RAM中;采用HY公司的兩片HY57V561620CTP作為SDRAM,通過nGCS6連接到ARM920T引腳,起始地址為0x30038000.同時SDRAM還支持自動更新和掉電模式,保證系統(tǒng)穩(wěn)定工作。
2.5 智能家居系統(tǒng)結構
    主控制器還包括觸摸屏接口。觸摸屏采用帶有驅動電路的日立7寸屏,用于用戶可視化操作。
    傳感器信號線與ARM920T的中斷引腳EINT8相連。當傳感器信號到來時,通過中斷引腳向ARM920T申請中斷服務程序,并通過網(wǎng)絡向用戶報警。系統(tǒng)框圖如圖4所示。

3 軟件設計
3.1 內核創(chuàng)建及裁剪
    Windows CE是一個開放的、可裁減的、32位的實時嵌入式窗口操作系統(tǒng)。因此要實現(xiàn)Web Server功能必須對內核裁剪。除了實現(xiàn)基本的WINCE 5.0功能外,還需要在定制內核時在Platform內添加DM9000網(wǎng)卡驅動,串口驅動,USB驅動,MFC,SDK(標準工具集)、HTFPD和SOAP協(xié)議等系統(tǒng)必備驅動和協(xié)議。Windows CE上Web Server的通信協(xié)議是HTTP協(xié)議,HTTP的消息機制是基于請求一應答模式。[!--empirenews.page--]
    HTTP協(xié)議工作原理:數(shù)據(jù)包經(jīng)過網(wǎng)絡傳送到DM9000AEP的以太網(wǎng)控制器后,經(jīng)系統(tǒng)內部控制器的TCP/IP堆棧對數(shù)據(jù)包進行解析,然后對其打包或解包,但這些數(shù)據(jù)包還必須經(jīng)Web服務器處理。
3.2 Web服務器設計
    HTTPD服務器的工作流程如圖5所示。系統(tǒng)采用HTTPD多線程并發(fā)服務器結構的設計思想,其工作特點是為每個客戶機請求分配一個線程,即服務器在同時處理多人請求。由每個線程處理客戶機的請求。在請求處理完畢后,子線程退出。服務器接收子線程的退出信號為其他的客戶機請求分配資源。

    圖5中,HTTPD服務器由main()函數(shù)開始,首先配置文件,設置用戶ID函數(shù)和組ID函數(shù),通過getopt(argc,argv,"s:f:p:u:g:")函數(shù)獲取配置選項,讀取配置。其中:s為standalone服務器運行方式;f為config_fie即配置文件;p為端口號,HTTPD默認端口號為80;u為用戶ID即uid;g為組ID,即gid。
    然后判斷是否工作在standalone.服務器運行方式上,如果是則運行standalone_main()函數(shù),如果不是則訪問process request()函數(shù)。
    如果服務器工作在standalone模式中,依據(jù)圖5的工作流程,首先客戶端與服務器建立鏈接,建立socket套接字。監(jiān)聽鏈接,設置uid和gid,如果服務器沒接收到請求信息,繼續(xù)監(jiān)聽;如果接收到請求信息,則創(chuàng)建子線程。子線程調用process_request()處理客戶端請求,服務器繼續(xù)監(jiān)聽鏈接,如果客戶端請求信息,再創(chuàng)建子線程,調用process_request()處理客戶端請求,如此多線程并發(fā)處理客戶端請求。
    在process_request()函數(shù)中,首先初始化當前時間,然后讀取并處理HTTP請求消息的方法Method字段,讀取HTTP請求消息的URL字段。主要通過strcpy_nocrlf(),getparents(),translate_name()這3個函數(shù)對HTIP請求消息的URL字段進行解析,依據(jù)宏LDGGING決定是否打開日志。最后調用send_note()發(fā)送請求的文件給客戶端。
3.3 Web服務器通信方案設計
    在WINCE系統(tǒng)上開發(fā)Web服務器,并通過Web服務器與串口設備進行通信的方案有ASP方案、CSP方案和Socket方案。綜合比較,通用WINCE5.0系統(tǒng)不支持ASP控件;Socket主要是C/S方式的,需要安裝客戶端;而CSP方案在不要求美觀的情況下,無需安裝客戶端就可訪問系統(tǒng)。系統(tǒng)則采用該種方案。
    CSP方案就是將C語言編寫的網(wǎng)絡和串口通信程序嵌入到HTML當中,這也是嵌入式網(wǎng)絡開發(fā)常用的方案。具體流程如下:
    (1)在定制內核的過程中需要將HTTPD服務器添加到Platform builder中,遵守HTTP的請求-應答規(guī)則。
    (2)編寫CSP通信程序,通過PC機訪問Windows CE的Web服務器,打開串口,執(zhí)行串口控制或網(wǎng)絡通信。直接將C語言嵌入到HTML/XML等模板文件中。CSP文件中HTML界面如實驗結果所示。通信程序主要函數(shù)為建立鏈接函數(shù)SetupConnection()用于建立鏈接設置DCB初始參數(shù);打開串口函數(shù)open_serial()判斷是否打開設備串口、設置超時數(shù)值、緩沖區(qū)大小、創(chuàng)建監(jiān)視線程等;讀數(shù)據(jù)命令read_respond()用于異步讀取緩沖區(qū)數(shù)據(jù)并顯示;發(fā)送命令send command()用于給設備指令??刂浦噶頿owcontrol_command()用于控制電源開關;微調函數(shù)adjcontrol_command()用于小幅調節(jié)設備功能,如光線明暗,溫度高低等;串口監(jiān)控API函數(shù)WINAPICommWatchProc()用于串口緩沖區(qū)監(jiān)控等。
    (3)編寫好CSP通信文件后,用eyBuild開發(fā)包提供的CSP2BIN工具將CSP源文件生成C程序的源文件,再鏈接上eyBuild提供的CGI運行庫,在VC6.0中編譯就可生成在Windows CE平臺運行的CGI程序。該系統(tǒng)生成的CGI為Intelligenthome.cgi。
    (4)將在\website\cgi-bin生成的Intelligenthome.cgi文件拷貝到Windows CE系統(tǒng)的\windows\www\文件夾下面,連接PC機便可從PC機訪問Windows CE系統(tǒng),進而了解傳感器信號,控制家電。
    該系統(tǒng)使用的數(shù)據(jù)庫為SQLite。SQLite數(shù)據(jù)庫存放家電的基本信息、參數(shù)值、狀態(tài)信息以及傳感器當前狀態(tài)等,這些信息不但反映各種參數(shù)的歷史狀態(tài),而且也是管理、決策的重要信息來源。


4 實驗結果
    經(jīng)過一段時間的開發(fā)與研究,該智能家居系統(tǒng)能夠完成簡單的指令與數(shù)據(jù)通信,并可將可控家電的信息保存在SQLite數(shù)據(jù)庫中。


5 結束語
    利用S3C2440定制Windows CE系統(tǒng)實現(xiàn)智能家居的簡單控制,綜合運用了電子電路,Windows CE嵌入式系統(tǒng),HTTP協(xié)議和CSP等技術。該系統(tǒng)可采用遵循802.11的遠程無線來控制家電系統(tǒng)。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉