基于嵌入式Web服務(wù)器的智能家居主控制系統(tǒng)設(shè)計(jì)
出處:電子設(shè)計(jì)工程 發(fā)布于:2011-09-05 11:26:49
1 引言
隨著互聯(lián)網(wǎng)技術(shù)和信息通信技術(shù)向普通家庭生活的不斷普及,如何將消費(fèi)電子、計(jì)算機(jī)和通信融為一體,已成為人們非常關(guān)心的一個問題。智能家電網(wǎng)絡(luò)管理系統(tǒng)能夠?qū)崿F(xiàn)家用電器的網(wǎng)絡(luò)化、智能化管理。通過該系統(tǒng)將家中的網(wǎng)絡(luò)電器與互聯(lián)網(wǎng)和GPRS網(wǎng)絡(luò)相連,這樣無論何時(shí)何地,用戶都可以通過該系統(tǒng)遠(yuǎn)程操縱家用電器;本文提出的基于嵌入式Web服務(wù)器的智能家居系統(tǒng)正好滿足這一需求。
2 硬件設(shè)計(jì)
智能家居系統(tǒng)設(shè)計(jì)需求是PC機(jī)遵循802.3和HPPTD等網(wǎng)絡(luò)協(xié)議,通過網(wǎng)絡(luò)訪問主控制器的Web服務(wù)器,登錄主控制器,通過電力線構(gòu)成的家庭小型局域網(wǎng)絡(luò)或串口,發(fā)送指令給從控制器進(jìn)而控制家電,同時(shí)利用監(jiān)控家電的傳感器將家電狀態(tài)返回至PC,如圖1所示。

2.1 控制器選擇
DSP數(shù)學(xué)信號處理器具有強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,但在音頻、USB、SD卡等接口功能擴(kuò)展較弱。而單片機(jī)系列的ARM920T具有5級指令流水線.處理速度為1.1 MHz,內(nèi)置MMU(Memory Management Unit)、獨(dú)立的16 KB數(shù)據(jù)Cache、16 KB指令Cache和高速AMBA(Advanced Microcon-troller Bus Architecture)總線接口等功能。DSP和一般8位單片機(jī)相比,它具有更全面的通用功能,支持實(shí)時(shí)時(shí)鐘(RTC)、串口接口、網(wǎng)卡接口等功能,還具有16/32位RISC體系結(jié)構(gòu)和ARM指令集。
2.2 網(wǎng)卡接口設(shè)計(jì)
該系統(tǒng)需要通過互聯(lián)網(wǎng)或電力線進(jìn)行網(wǎng)絡(luò)通信,而Web服務(wù)器設(shè)計(jì)也必須通過網(wǎng)絡(luò)收發(fā)數(shù)據(jù),要求數(shù)據(jù)處理速度快。根據(jù)這些要求,該系統(tǒng)采用DAVICOM公司的DM9000AEP作為網(wǎng)卡的設(shè)計(jì)器件。
RJ-45采用HanRun公司的可對信號濾波的HR911105A接口,這樣可節(jié)約印刷板,并有效地減小電磁干擾。ARM920T與網(wǎng)卡DM9000AEP接口設(shè)計(jì)如圖2所示。圖中16根數(shù)據(jù)線相連;命令選擇引腳CMD,為高電平時(shí),選擇數(shù)據(jù)端口,CMD為低電平時(shí),選擇地址通道;IOR#為讀信號引腳;IOW#為寫信號引腳;CS#片選信號與ARM920T的片選信號線nGCS3相連。

2.3 串口接口設(shè)計(jì)
為滿足要求,該系統(tǒng)采用Sipex的窄體SP3232串行通信器件。該器件支持滿載120 Kb/s的傳輸速率,可在中斷或DMA兩種模式下工作,每個通道包含64 K字節(jié)的發(fā)送FIFO和接收FIFO。該器件特點(diǎn)就是采用電荷泵技術(shù):由4只外接電容組成,采用4相電壓轉(zhuǎn)換技術(shù),保持輸出對稱的5.5 V電壓。即使輸入電壓VCC在3.0~5.5 V范圍內(nèi),電荷泵仍可提供5.5 V穩(wěn)定電壓,這樣可以保證系統(tǒng)穩(wěn)定工作。有益于智能家居系統(tǒng)整體的良好運(yùn)行。串口接口設(shè)計(jì)如圖3所示。

2.4 存儲器設(shè)計(jì)
完整操作系統(tǒng)的啟動離不開引導(dǎo)程序。Windows CE5.O引導(dǎo)加載程序(BootLoader)由NANDFlash的地址0x00000000處開始執(zhí)行。完成硬件初始化,建立系統(tǒng)的內(nèi)存空間映射圖,終BootLoader把操作系統(tǒng)內(nèi)核映像加載到RAM中;采用HY公司的兩片HY57V561620CTP作為SDRAM,通過nGCS6連接到ARM920T引腳,起始地址為0x30038000.同時(shí)SDRAM還支持自動更新和掉電模式,保證系統(tǒng)穩(wěn)定工作。
2.5 智能家居系統(tǒng)結(jié)構(gòu)
傳感器信號線與ARM920T的中斷引腳EINT8相連。當(dāng)傳感器信號到來時(shí),通過中斷引腳向ARM920T申請中斷服務(wù)程序,并通過網(wǎng)絡(luò)向用戶報(bào)警。系統(tǒng)框圖如圖4所示。

3 軟件設(shè)計(jì)
3.1 內(nèi)核創(chuàng)建及裁剪
Windows CE上Web Server的通信協(xié)議是HTTP協(xié)議,HTTP的消息機(jī)制是基于請求一應(yīng)答模式。HTTP協(xié)議工作原理:數(shù)據(jù)包經(jīng)過網(wǎng)絡(luò)傳送到DM9000AEP的以太網(wǎng)控制器后,經(jīng)系統(tǒng)內(nèi)部控制器的TCP/IP堆棧對數(shù)據(jù)包進(jìn)行解析,然后對其打包或解包,但這些數(shù)據(jù)包還必須經(jīng)Web服務(wù)器處理。
3.2 Web服務(wù)器設(shè)計(jì)
HTTPD服務(wù)器的工作流程如圖5所示。系統(tǒng)采用HTTPD多線程并發(fā)服務(wù)器結(jié)構(gòu)的設(shè)計(jì)思想,其工作特點(diǎn)是為每個客戶機(jī)請求分配一個線程,即服務(wù)器在同時(shí)處理多人請求。由每個線程處理客戶機(jī)的請求。在請求處理完畢后,子線程退出。服務(wù)器接收子線程的退出信號為其他的客戶機(jī)請求分配資源。

圖5中,HTTPD服務(wù)器由main()函數(shù)開始,首先配置文件,設(shè)置用戶ID函數(shù)和組ID函數(shù),通過getopt(argc,argv,"s:f:p:u:g:")函數(shù)獲取配置選項(xiàng),讀取配置。其中:s為standalone服務(wù)器運(yùn)行方式;f為config_fie即配置文件;p為端口號,HTTPD默認(rèn)端口號為80;u為用戶ID即uid;g為組ID,即gid。
然后判斷是否工作在standalone.服務(wù)器運(yùn)行方式上,如果是則運(yùn)行standalone_main()函數(shù),如果不是則訪問process request()函數(shù)。
在process_request()函數(shù)中,首先初始化當(dāng)前時(shí)間,然后讀取并處理HTTP請求消息的方法Method字段,讀取HTTP請求消息的URL字段。主要通過strcpy_nocrlf(),getparents(),translate_name()這3個函數(shù)對HTIP請求消息的URL字段進(jìn)行解析,依據(jù)宏LDGGING決定是否打開日志。調(diào)用send_note()發(fā)送請求的文件給客戶端。
3.3 Web服務(wù)器通信方案設(shè)計(jì)
在WINCE系統(tǒng)上開發(fā)Web服務(wù)器,并通過Web服務(wù)器與串口設(shè)備進(jìn)行通信的方案有ASP方案、CSP方案和Socket方案。綜合比較,通用WINCE5.0系統(tǒng)不支持ASP控件;Socket主要是C/S方式的,需要安裝客戶端;而CSP方案在不要求美觀的情況下,無需安裝客戶端就可訪問系統(tǒng)。系統(tǒng)則采用該種方案。
CSP方案就是將C語言編寫的網(wǎng)絡(luò)和串口通信程序嵌入到HTML當(dāng)中,這也是嵌入式網(wǎng)絡(luò)開發(fā)常用的方案。具體流程如下:
(1)在定制內(nèi)核的過程中需要將HTTPD服務(wù)器添加到Platform builder中,遵守HTTP的請求-應(yīng)答規(guī)則。
(2)編寫CSP通信程序,通過PC機(jī)訪問Windows CE的Web服務(wù)器,打開串口,執(zhí)行串口控制或網(wǎng)絡(luò)通信。直接將C語言嵌入到HTML/XML等模板文件中。
(3)編寫好CSP通信文件后,用eyBuild開發(fā)包提供的CSP2BIN工具將CSP源文件生成C程序的源文件,再鏈接上eyBuild提供的CGI運(yùn)行庫,在VC6.0中編譯就可生成在Windows CE平臺運(yùn)行的CGI程序。
(4)將在\website\cgi-bin生成的Intelligenthome.cgi文件拷貝到Windows CE系統(tǒng)的\windows\www\文件夾下面,連接PC機(jī)便可從PC機(jī)訪問Windows CE系統(tǒng),進(jìn)而了解傳感器信號,控制家電。
4 實(shí)驗(yàn)結(jié)果
經(jīng)過一段時(shí)間的開發(fā)與研究,該智能家居系統(tǒng)能夠完成簡單的指令與數(shù)據(jù)通信,并可將可控家電的信息保存在SQLite數(shù)據(jù)庫中。
參考文獻(xiàn):
[1]. GPRS datasheet http://www.hbjingang.com/datasheet/GPRS_1594650.html.
[2]. ARM920T datasheet http://www.hbjingang.com/datasheet/ARM920T_139814.html.
[3]. RISC datasheet http://www.hbjingang.com/datasheet/RISC_1189725.html.
[4]. DM9000AEP datasheet http://www.hbjingang.com/datasheet/DM9000AEP_1402391.html.
[5]. HR911105A datasheet http://www.hbjingang.com/datasheet/HR911105A_1055027.html.
[6]. HY57V561620CTP datasheet http://www.hbjingang.com/datasheet/HY57V561620CTP_1135969.html.
[7]. CSP datasheet http://www.hbjingang.com/datasheet/CSP_2363263.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04
- 高速PCB信號完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









