IPv6環(huán)境下信息家電系統(tǒng)網(wǎng)絡終端設計
1 概述
所謂信息家電(IA—Information Appliance),也稱網(wǎng)絡家電,是指將微型計算機和通信技術融入到傳統(tǒng)的家用電器中,使之智能化并具有網(wǎng)絡終端的功能,可以隨時隨地獲取與處理信息。目前的信息家電產品大多是基于IPv4的,而IPv4面臨著地址資源緊缺的困境,下一代互聯(lián)網(wǎng)協(xié)議---IPv6的誕生彌補了這方面的不足。首先,它擴大了地址空間,使用128bit表示一個IPv6地址,可以保證家庭內的冰箱、空調等所有家電都擁有一個獨立的IP地址,而不必擔心地址不足的問題。其次,利用IPv6的地址自動配置功能,與網(wǎng)絡連接的每個裝置均可自動獲得IP地址,可以簡化家庭網(wǎng)絡的構建和IP地址的管理,降低用戶操作的難度。另外,IPv6全面支持IPSec安全協(xié)議,利用認證擴展報頭和加密擴展報頭可以提高網(wǎng)絡互連和訪問的安全性[1]。因此,在信息家電中引入IPv6將具有更為廣闊的前景,它必將對信息家電行業(yè)產生深遠的影響。
本文給出了一種基于IPv6的信息家電系統(tǒng)網(wǎng)絡終端的軟、硬件設計方法。該方法以高性能的32位ARM核微處理器S3C2410為硬件平臺,通過移植嵌入式操作系統(tǒng)linux,并在配置操作系統(tǒng)內核時加入對TCP/IPv6協(xié)議棧的支持,然后在其上開發(fā)應用程序,實現(xiàn)了基于IPv6的信息家電網(wǎng)絡終端。
2 信息家電系統(tǒng)結構
信息家電系統(tǒng)一般由客戶機、交換機、網(wǎng)絡終端和家電控制器組成。其結構示意圖如圖1所示:
圖1 系統(tǒng)結構示意圖
圖1中客戶機是遠程用戶和該系統(tǒng)的接口部分,任何一臺連入互聯(lián)網(wǎng)的PC機均可作為客戶機;網(wǎng)絡終端模塊接收來自網(wǎng)絡的控制信息并通過RS232串口與家電控制模塊通信;家電控制模塊連接家電的執(zhí)行機構,它接收來自網(wǎng)絡終端模塊的控制命令,并對家電進行操作。以上各模塊中,網(wǎng)絡終端模塊是信息家電系統(tǒng)的核心,它使家電接入IPv6網(wǎng)絡,并作為一個嵌入式Web服務器來響應客戶端的請求,完成控制數(shù)據(jù)在網(wǎng)口和串口之間的相互轉換。
3 硬件設計
本文所設計的網(wǎng)絡終端主要由ARM內核的微處理器模塊、存儲器模塊、串行口模塊、以太網(wǎng)模塊、電源管理和復位電路模塊、LCD及觸摸屏模塊和JTAG模塊幾部分組成。其結構示意圖如圖2所示。
圖2 網(wǎng)絡終端模塊示意圖
其中微處理器模塊采用三星公司32位ARM9內核的微處理器S3C2410;存儲器模塊包括一片E28F640構成的8MB容量的16位NOR型Flash存儲器和兩片HY57V281620構成的32MB容量的32位SDRAM存儲器,F(xiàn)lash存儲器主要用于存儲操作系統(tǒng)內核、引導啟動代碼bootloader、根文件系統(tǒng)以及應用程序;以太網(wǎng)模塊選用8/16位以太網(wǎng)控制器DM9000AE;串行口模塊包括兩個異步串口,分別用于與家電控制模塊連接和用戶登錄系統(tǒng);LCD屏采用夏普公司生產的256色、分辨率為320×240的STN液晶模塊LM057QC1T01;JTAG模塊用于下載操作系統(tǒng)的引導啟動代碼bootloader。
4 軟件設計
S3C2410平臺上的軟件設計一般需要運行嵌入式操作系統(tǒng)。linux具有穩(wěn)定、源碼開放、網(wǎng)絡功能強大的優(yōu)點。因此本文選用linux作為操作系統(tǒng)。
4.1 linux開發(fā)環(huán)境的建立
基于linux操作系統(tǒng)的應用開發(fā)環(huán)境一般由硬件目標板和宿主PC機構成。目標板用于運行操作系統(tǒng)和應用程序,而目標板所用到的操作系統(tǒng)的內核編譯、應用程序的開發(fā)調試則需要通過宿主機來完成,雙方通過串口或以太網(wǎng)接口建立連接關系。
本系統(tǒng)的開發(fā)環(huán)境建立在運行Red Hat 9.0 linux的宿主機上,從網(wǎng)站下載并安裝交叉編譯工具鏈和linux源代碼包后就可以進行操作系統(tǒng)內核和應用程序的編譯、調試。
4.2 配置內核
目前IPv6的應用尚處于實驗階段,本文選用目前較新版本的內核linux 2.6.14,它可以很好的支持IPv6。
為了使遠程用戶以IPv6訪問家電,本文選用開源的、支持IPv6和CGI的小型web服務器---mini_httpd,它可以很好的支持用戶的IPv6訪問,且編譯后的代碼體積很小。
為了配置和測試IPv6網(wǎng)絡環(huán)境,需要有支持IPv6的配置工具,如ifconfig、ping、traceroute等。linux里自帶的網(wǎng)絡配置工具并不支持IPv6協(xié)議,因此需要重新編譯包含這些工具程序的源碼包,以確保其支持IPv6。本文選用的是busybox 1.1.2,它包含大多數(shù)支持IPv6的網(wǎng)絡配置工具,但體積卻很小。
4.3 編寫CGI程序
本文中客戶機與網(wǎng)絡終端間的信息交互,是利用公共網(wǎng)關接口(CGI)技術來實現(xiàn)的。CGI提供了客戶機與服務器交互的接口。通常,服務器響應客戶端請求后執(zhí)行相應的CGI程序,并把執(zhí)行結果返回給客戶端,從而實現(xiàn)了動態(tài)Web。編寫Web頁面代碼時,由ACTION屬性來指定服務器需要執(zhí)行的CGI程序,METHOD屬性指明客戶機提交數(shù)據(jù)的方法(POST或GET)。
CGI程序分為以下幾部分:①根據(jù)POST方法或GET方法從提交的表單中接收數(shù)據(jù);②URL編碼的解碼;③用printf()函數(shù)來產生HTML源代碼,并將經(jīng)過解碼后的數(shù)據(jù)正確地返回給瀏覽器。[2]
由于本系統(tǒng)中網(wǎng)絡傳輸?shù)臄?shù)據(jù)量不大,因此采用了較為簡單的get方法來提交Web頁面數(shù)據(jù)。系統(tǒng)中網(wǎng)絡接口模塊和家電控制模塊之間采用串口通信,此串口對應linux下的設備文件:/dev/ttySAC1。完整的CGI程序流程圖如圖3所示。
圖3 CGI程序流程圖
5 IPv6信息家電系統(tǒng)的組網(wǎng)及測試
本文根據(jù)信息家電系統(tǒng)特點和要求組建了一個純IPv6環(huán)境的小型信息家電系統(tǒng)測試網(wǎng)絡,網(wǎng)絡拓撲結構與圖1類似,測試網(wǎng)絡沒有接入公網(wǎng)。
它包括兩臺計算機、兩個HUB和冰箱、空調、風扇、洗衣機四種家用電器及其相應的網(wǎng)絡終端與控制電路。兩臺計算機中PC1安裝了Windows XP作為客戶端,PC2安裝了Windows Server 2003和雙網(wǎng)卡,并被配置為路由器,它用于為每個接入網(wǎng)絡的家電自動分配64位的IPv6路由前綴3FFE:FFFF:0:1::/64。兩臺PC機均配置IPv6協(xié)議,并且安裝了瀏覽器Firefox,這是因為目前的IE瀏覽器尚不支持IPv6訪問。
各家電網(wǎng)絡終端均配置了由其MAC地址派生出來的64位IPv6接口標識符。以空調的網(wǎng)絡終端模塊為例:其MAC地址為00-60-35-01-c1-10,根據(jù)IEEE EUI-64格式,其IPv6接口標識符將為260:35ff:fe01:c110。當家電接入該測試網(wǎng)時,可以自動獲得由IPv6路由器PC2分配的64位IPv6路由前綴,這樣連同已有的64位接口標識符共同組成了每個家電全球唯一的128位IPv6地址。
測試時,在PC1的瀏覽器里鍵入家電的IPv6地址后就可以進入相應的家電控制界面,用戶通過點擊按鈕可以對家電進行操作,家電執(zhí)行用戶命令后會把執(zhí)行結果回傳給瀏覽器。以訪問空調為例,在瀏覽器里輸入空調的IPv6 地址http://[3ffe:ffff:0:1:260:35ff:fe01:c110]得到其操作界面,如圖4所示,用戶通過點擊相應按鈕可以對家電進行控制。
圖4 IPv6信息家電操作界面
6 小結
本文對IPv6在信息家電中的應用進行了探索,設計了一個基于IPv6的信息家電網(wǎng)絡終端。在IPv6局域網(wǎng)環(huán)境下,用戶可以通過網(wǎng)絡實現(xiàn)對家電的控制,系統(tǒng)運行穩(wěn)定可靠。該方法具有一定實用價值。
本文作者創(chuàng)新點:設計了基于ARM和Linux的IPv6環(huán)境下的信息家電系統(tǒng)網(wǎng)絡終端
參考文獻
[1] 張瑾,顧軍. IPv6在信息家電中的應用[J]. 計算機與信息技術,2005;10(9)
[2] 劉國梅,鄭安平. uClinux下動態(tài)Web技術的實現(xiàn)方法[J]. 單片機與嵌入式系統(tǒng),2004;10(2)
[3] 周遜. IPv6--下一代互聯(lián)網(wǎng)的核心[M]. 北京:電子工業(yè)出版,2004
[4] 栗大超,宋光德,靳世久.嵌入式系統(tǒng)的Internet互連技術[J].微計算機信息, 2003;13(12)
[5] 李駒光,聶雪媛等. ARM應用系統(tǒng)開發(fā)詳解--基于S3C4510B的系統(tǒng)設計[M]. 北京:清華大學出版社, 2003
[6] O’Reilly Taiwan譯. 構建嵌入式LINUX系統(tǒng)[M]. 北京:中國電力出版社,2004
評論