當前位置:首頁 > 消費電子 > 消費電子
[導讀]本文依據(jù)智能家居發(fā)展現(xiàn)狀,提出了一種基于 8位單片機的以太網(wǎng)智能家居控制器的設(shè)計方案。該方案集本地紅外控制和以精簡 TCP/IP協(xié)議為核心的以太網(wǎng)遠程控制于一體,使用戶可以通過該控制器對家居中的設(shè)備和環(huán)境進行實時控制和監(jiān)測。

1引言
隨著現(xiàn)代 4C技術(shù)(計算機技術(shù)、控制技術(shù)、通信技術(shù)和圖形顯示技術(shù))的迅速發(fā)展以及人們生活水平的不斷提高,智能家居已經(jīng)成為智能建筑的一個重要分支。本文旨在設(shè)計一種成本低廉、面向普通家庭的、集本地控制和遠程控制于一體的智能家居控制器,用于控制室內(nèi)家電的運行狀態(tài)和環(huán)境參數(shù)的采集。設(shè)計中本地控制采用紅外技術(shù),遠程控制通過開發(fā)精簡的 TCP/IP協(xié)議并結(jié)合 HTTP協(xié)議,實現(xiàn)嵌入式 Web服務(wù)器,從而使用戶通過任意的瀏覽器便可對家居中的設(shè)備和環(huán)境進行控制和監(jiān)測。 2 以太網(wǎng)智能家居控制器的硬件設(shè)計
智能家居控制器采用 8位單片機 W78E58B作為系統(tǒng)的核心處理單元,系統(tǒng)硬件框圖如圖 1所示。
500)this.style.width=500;" border="0" />


本地端以紅外通信技術(shù)為基礎(chǔ),發(fā)射端采用 NB9148紅外編碼模塊,接收端采用 SJ1838進行接收解調(diào),并將控制信號傳送給 W78E58B。外部擴展 RAM 62256以提高單片機的數(shù)據(jù)傳輸速度和復雜的 TCP/IP協(xié)議的處理。 RS232串口通訊主要用于程序的下載和調(diào)試,以及通訊轉(zhuǎn)換接口。GAL器件 ATF16V8B用于片選,以節(jié)約系統(tǒng)空間資源。

DS18B20用于環(huán)境溫度采集。
遠程控制的硬件平臺由 W78E58B和以太網(wǎng)控制器 RTL8019AS等器件組成。RTL8019AS是針對 ISA總線設(shè)計的,用于實現(xiàn)網(wǎng)絡(luò)的物理層協(xié)議的專用以太網(wǎng)控制芯片。RTL8019AS內(nèi)置了 10BASE-T收發(fā)器,使用跳線方式,通過可提高網(wǎng)絡(luò)通信的抗干擾能力的網(wǎng)絡(luò)濾波器 20F-01,再與 RJ-45相連。 E2PROM AT24C512用于實現(xiàn)嵌入式 Web服務(wù)器訪問的網(wǎng)頁文件存儲,同時也用于存儲用戶的一些設(shè)置,如 IP地址、網(wǎng)關(guān)以及網(wǎng)卡芯片 MAC地址等參數(shù)。

3 以太網(wǎng)智能家居控制器的軟件設(shè)計
以太網(wǎng)智能家居控制器的軟件實現(xiàn)是在單片機上完成的,主要包括虛擬 I2C總線讀寫程序、紅外接收和控制程序、溫度采集程序、網(wǎng)卡芯片 RTL8019AS驅(qū)動程序、嵌入式 Web服務(wù)器的實現(xiàn)以及其他處理程序。本文中只討論網(wǎng)卡芯片的驅(qū)動程序和嵌入式 Web服務(wù)器的實現(xiàn)。
3.1 以太網(wǎng)控制器 RTL8019AS的驅(qū)動程序
RTL8019AS的驅(qū)動程序是 TCP/IP協(xié)議與底層物理設(shè)備的程序接口,它屏蔽了底層硬件處理的細節(jié),并向上層軟件提供與硬件無關(guān)的接口。 TCP/IP協(xié)議只要調(diào)用以太網(wǎng)驅(qū)動程序即可完成以太網(wǎng)數(shù)據(jù)的接收和發(fā)送。網(wǎng)卡芯片 RTL8019AS的驅(qū)動程序包括 RTL8019AS初始化程序、數(shù)據(jù)包接收程序和數(shù)據(jù)包發(fā)送程序。
3.1.1 RTL8019AS初始化
RTL8019AS通過 RSTDRV管腳進行復位操作。復位后,先對 RTL8019AS初始化。初始化操作包含設(shè)置 PSTART=0x4c,PSTOP=0x80,使 0x40~0x4b為網(wǎng)卡的發(fā)送緩沖區(qū),0x4c~ 0x7f為網(wǎng)卡的接收緩沖區(qū);設(shè)置 RCR=0xcc,僅接收目標物理地址和設(shè)置物理地址一致的數(shù)據(jù)包、廣播地址數(shù)據(jù)包和多點播送地址包;設(shè)置 TCR=0xe0,工作在正常模式;設(shè)置 DCR=0xc8,使用 FIFO緩存及 8位數(shù)據(jù) DMA;設(shè)置 IMR=0x00,屏蔽所有中斷;組播地址寄存器 MAR0~MAR7,均設(shè)置為 0x00;設(shè)置網(wǎng)卡物理地址寄存器 PAR0~PAR5;設(shè)置 CR=0x22,選擇頁 0的寄存器,進入正常工作狀態(tài);設(shè)置 ISR=0xff,清除所有中斷標志位。
3.1.2 RTL8019AS數(shù)據(jù)發(fā)送

首先將待發(fā)送的數(shù)據(jù)按以太網(wǎng)數(shù)據(jù)幀格式封裝后,再置 CR寄存器為 12H,啟動遠程寫 DMA,RTL8019AS會自動將這幀數(shù)據(jù)送至 RTL8019AS的數(shù)據(jù)發(fā)送緩沖區(qū),并將結(jié)果寫入狀態(tài)寄存器。最后將 CR置為 3EH,啟動本地寫 DMA后將數(shù)據(jù)送入 FIFO寄存器,并發(fā)送到以太網(wǎng)上。程序流程圖見圖 2所示。
 
接收數(shù)據(jù)時,接收緩沖區(qū)構(gòu)成一個循環(huán) FIFO隊列。 PSTART、PSTOP兩個寄存器限定了循環(huán)隊列的開始和結(jié)束頁;CURR為寫入指針,受芯片控制; BNRY為讀出指針,由主機程序控制。程序通過查詢 CURR和 BNRY兩個寄存器的值來判斷是否收到一幀數(shù)據(jù)。程序流程見圖 3所示。
500)this.style.width=500;" border="0" />


3.2 嵌入式 Web服務(wù)器的實現(xiàn)
設(shè)計中采用的是 W78E58B型 8位單片機,由于單片機存儲空間有限、處理速度相對較慢,且在整個遠程控制中不需要實現(xiàn)完整的 TCP/IP協(xié)議。因此,可以在遠程控制的網(wǎng)絡(luò)連接和訪問技術(shù)中采用精簡 TCP/IP協(xié)議。要實現(xiàn)交互功能,就要在精簡 TCP/IP協(xié)議的基礎(chǔ)上實現(xiàn) HTTP協(xié)議,構(gòu)建嵌入式 Web服務(wù)器。本設(shè)計中的精簡 TCP/IP協(xié)議具有同 TCP/IP協(xié)議一樣的四層結(jié)構(gòu),各層實現(xiàn)的功能如下:
①鏈路層。設(shè)計中通過以太網(wǎng)接入到 Internet,因此物理層和數(shù)據(jù)鏈路層要符合以太網(wǎng)的 IEEE802.3標準。然而,以太網(wǎng)控制器 RTL8019AS的硬件組成部分已經(jīng)實現(xiàn)了 CSMA/CD控制機制,屏蔽了底層硬件處理的細節(jié),并向上層軟件提供與硬件無關(guān)的接口,最終完成了數(shù)據(jù)在以太網(wǎng)中的接收和發(fā)送。因此,設(shè)計中物理層與數(shù)據(jù)鏈路層的設(shè)計是通過 RTL8019AS硬件和驅(qū)動程序共同實現(xiàn)的。
②網(wǎng)絡(luò)層實現(xiàn)了 ARP協(xié)議、ICMP協(xié)議和 IP協(xié)議。ARP是地址解析協(xié)議,具體處理過程是當接收到 ARP數(shù)據(jù)包,處理器就查看 IP地址是請求還是響應(yīng)。如果是響應(yīng),則將響應(yīng)中的網(wǎng)卡地址存到 ARP高速緩存表中;如果是請求,處理器將返回自己的網(wǎng)卡物理地址給對方。ICMP是調(diào)試響應(yīng) PING的請求,檢測網(wǎng)路是否通順。依照系統(tǒng)實際應(yīng)用的要求, IP協(xié)議只需實現(xiàn)對數(shù)據(jù)報傳送和接收,無須實現(xiàn)路由選擇算法和差錯控制,同時也不需支持 IP數(shù)據(jù)報的分片和重組。
③傳輸層實現(xiàn) TCP協(xié)議。 TCP協(xié)議是面向連接的、端對端的可靠通信協(xié)議。設(shè)計中采取了 TCP連接的建立與關(guān)閉機制、超時重傳機制、數(shù)據(jù)包確認機制、流量控制機制來保證它的可靠性。在超時重傳機制中,如果超時重傳定時器溢出后還沒有收到確認,則重傳該數(shù)據(jù)包,并復位重傳定時器。為簡單起見,程序里每次只發(fā)送一個 TCP數(shù)據(jù)包,然后等待它的確認,只有收到確認后才會繼續(xù)發(fā)送下面的 TCP數(shù)據(jù)包。在本設(shè)計,程序重傳的間隔時間是固定的,沒有采用 TCP協(xié)議中的標準算法,當達到一定的次數(shù)后,發(fā)送方還沒有收到確認,則會放棄該包的發(fā)送并關(guān)閉 TCP連接。TCP的流量控制是為了協(xié)調(diào)通信雙方的收發(fā)

速率不均衡而設(shè)計的。設(shè)計中考慮到系統(tǒng)在使用 TCP協(xié)議時,只設(shè)置了一個中等 IP包大小接收緩存,因此接收窗口恒定設(shè)為 1024。這樣遠端主機就會以較慢的傳輸速率與本端的 Web服務(wù)器進行通信,不會導致死機。
④應(yīng)用層實現(xiàn)了 HTTP協(xié)議。HTTP是在 Web服務(wù)器和瀏覽器之間通信的協(xié)議。為了
簡化,設(shè)計中采用固定的 HTTP報文頭封裝 HTTP應(yīng)答數(shù)據(jù)報文。格式如下:
char code html_header[ ]    //客戶端訪問主頁時候服務(wù)器的響應(yīng)頭部
= {"HTTP/1.1 200 OKn" //響應(yīng)行( Respond Line),狀態(tài)為 OK,表示文件可以讀取
"Cache-control: no-cachen" //沒有高速緩存控制
"Connection: Keep-Aliven"  //HTTP/1.1的可持續(xù)鏈接
"Content-Length: TAG:LEN1n"  //文件長度
"Content-Type: text/htmlrnrn" };//客戶端 GET請求的文件格式
在響應(yīng) HTTP請求時,由于以太網(wǎng)數(shù)據(jù)包的數(shù)據(jù)部分不能超過 1500字節(jié),因此當發(fā)送
數(shù)據(jù)超過 1500字節(jié),需要分組發(fā)送。
3.3 以太網(wǎng)智能家居控制器遠程控制運行結(jié)果
智能家居控制器接入以太網(wǎng)后,用戶只需在瀏覽器中輸入控制器的 IP地址,便可登錄遠程控制界面。當正確輸入用戶名和密碼后,便進入控制頁面,用戶可以訪問并控制各子系統(tǒng)。
圖 4為智能家電的控制頁面,系統(tǒng)使用 GIF格式圖片表示智能家電開關(guān)的狀態(tài)。當單擊控制頁面中相應(yīng)的開關(guān)后,智能家居 Web服務(wù)器收到 HTTP請求,執(zhí)行 CGI程序,將相反狀態(tài)的圖片嵌入到網(wǎng)頁相應(yīng)的位置中。與此同時,單片機會在相應(yīng)家電的控制端口,輸出一個與之前狀態(tài)相反的電平,此時繼電器動作,家電運行狀態(tài)改變。最后智能家居 Web服務(wù)器將新的 HTML頁面回送給用戶端,瀏覽器更新頁面,并顯示改變后的家電狀態(tài)。
 
500)this.style.width=500;" border="0" />
智能家居 Web服務(wù)器的軟件系統(tǒng)還啟用了定時機制,當用戶在規(guī)定的時間內(nèi)未執(zhí)行任何操作,系統(tǒng)將退出控制頁面,返回到登錄頁面。用戶必須重新輸入驗證信息,并登錄后才可再次進入控制頁面執(zhí)行操作,大大提高了整個智能家居控制系統(tǒng)的安全性。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

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

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導體

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

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

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

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

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉