基于Zigbee協(xié)議的OSGi無(wú)線家庭網(wǎng)關(guān)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:設(shè)計(jì)基于OSGi標(biāo)準(zhǔn)和Zigbee無(wú)線通信協(xié)議的分布式家庭網(wǎng)關(guān).首先提出基于Zigbee家庭網(wǎng)絡(luò)的無(wú)線組網(wǎng)方案 同時(shí)提出無(wú)線家庭網(wǎng)關(guān)的硬件實(shí)現(xiàn)方案,并給出基于OSGI標(biāo)準(zhǔn)的軟件開(kāi)發(fā)的步驟。最后分析了家庭網(wǎng)關(guān)的實(shí)際應(yīng)用。
1 引言
隨著internet的普及和數(shù)字家庭的深人人心.消費(fèi)電子、計(jì)算機(jī)、通信3c一體化趨勢(shì)日益明顯,家庭網(wǎng)絡(luò)化已經(jīng)成為家庭現(xiàn)代化的潮流。家庭網(wǎng)絡(luò)可看作當(dāng)作一種分布式網(wǎng)絡(luò),普通家電通過(guò)嵌入網(wǎng)絡(luò)接口和能實(shí)現(xiàn)本地控制的I/O口,成了網(wǎng)絡(luò)用具(Internet Personal Appliances),通過(guò)家庭網(wǎng)關(guān)實(shí)現(xiàn)網(wǎng)絡(luò)用具的遠(yuǎn)程控制.采用基于IEEE802.15.4標(biāo)準(zhǔn)的Zigbee協(xié)議,真正實(shí)現(xiàn)寬帶網(wǎng)絡(luò)家庭的最后一公尺延伸,使家庭組網(wǎng)更加便捷。
2 家庭網(wǎng)絡(luò)總體設(shè)計(jì)
2.1家庭網(wǎng)絡(luò)的結(jié)構(gòu)
圖1是家庭網(wǎng)絡(luò)的總體結(jié)構(gòu)。其中家庭網(wǎng)關(guān)是家庭網(wǎng)絡(luò)的核心,是連接家庭中彼此孤立分散的子網(wǎng)或網(wǎng)絡(luò)用具、實(shí)現(xiàn)信息的交互和共享,并將家庭內(nèi)網(wǎng)和外部網(wǎng)連接,實(shí)現(xiàn)內(nèi)外網(wǎng)絡(luò)互通和鑒權(quán)的設(shè)備。
實(shí)現(xiàn)家庭內(nèi)部組網(wǎng)方面,本系統(tǒng)采用Zigbee無(wú)線通信標(biāo)準(zhǔn)。網(wǎng)關(guān)采用GPRS無(wú)線方式連接外部網(wǎng)絡(luò),同時(shí)預(yù)留RJ45接口。網(wǎng)關(guān)全部采用無(wú)線通信方式,可以避免家庭布線的繁瑣,方便了網(wǎng)關(guān)在家庭中的布置,同時(shí)使這種網(wǎng)關(guān)不僅能夠應(yīng)用于家庭,也能應(yīng)用在車(chē)載等移動(dòng)系統(tǒng)。
2.2 Zigbee協(xié)議概述
Zigbee是基于802.15.4標(biāo)準(zhǔn)開(kāi)發(fā)的關(guān)于組網(wǎng)、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn)。Zigbee協(xié)議包括高層應(yīng)用規(guī)范(profile)、匯聚層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。其中數(shù)據(jù)鏈路層和物理層標(biāo)準(zhǔn)由IEEE802.15.4負(fù)責(zé)制定,網(wǎng)絡(luò)層以上由Zigbee聯(lián)盟制定。
Zigbee技術(shù)一開(kāi)始就是被設(shè)計(jì)用來(lái)構(gòu)建包括恒溫裝置、安全裝置、家用電表等小型設(shè)備的無(wú)線網(wǎng)絡(luò)。作為家庭網(wǎng)絡(luò)的組網(wǎng)節(jié)點(diǎn),覆蓋范圍在10m~75m,具有低功耗特性,同時(shí)協(xié)議實(shí)現(xiàn)簡(jiǎn)單且免收專(zhuān)利費(fèi),工作頻段為免執(zhí)照頻段等。Zigbee技術(shù)的這些特點(diǎn)彌補(bǔ)了低成本、低功耗和低速率無(wú)線通信市場(chǎng)的空缺,豐富和便捷的應(yīng)用為家庭網(wǎng)絡(luò)化提供了很好的實(shí)現(xiàn)手段。值得一提的是,低能耗和極低的時(shí)延是藍(lán)牙等無(wú)線技術(shù)所不能比擬的。
2.3 網(wǎng)絡(luò)用具
對(duì)于網(wǎng)絡(luò)用具,目前還沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),IETF草案中按功能把它分成胖網(wǎng)絡(luò)用具(fat IPA)和瘦網(wǎng)絡(luò)用具(thin IPA)。功能較復(fù)雜的胖網(wǎng)絡(luò)用具定義為:IPA=[network interface][application control][I/O control],即具備網(wǎng)絡(luò)接口和本地系統(tǒng)控制的I/O端口,同時(shí)具備嵌入式應(yīng)用程序的家用設(shè)備.如網(wǎng)絡(luò)冰箱、網(wǎng)絡(luò)空調(diào)、家庭多媒體系統(tǒng)等需要實(shí)現(xiàn)復(fù)雜控制功能;如燈、門(mén)等實(shí)現(xiàn)相對(duì)簡(jiǎn)單的控制功能,需網(wǎng)絡(luò)接口和I/O控制端口.屬于瘦網(wǎng)絡(luò)用具。網(wǎng)絡(luò)用具和普通家用設(shè)備的區(qū)別主要在于有沒(méi)有網(wǎng)絡(luò)接口.能否實(shí)現(xiàn)網(wǎng)絡(luò)控制。
3 家庭網(wǎng)關(guān)的設(shè)計(jì)
設(shè)計(jì)家庭網(wǎng)關(guān)是本系統(tǒng)的關(guān)鍵。特別地.作為家庭網(wǎng)絡(luò)建設(shè)的核心.家庭網(wǎng)關(guān)的設(shè)計(jì)思路已經(jīng)提了不少.本節(jié)將主要從j個(gè)方面作一些探討。
3.1基于OSGi的分布式網(wǎng)關(guān)模型
開(kāi)放服務(wù)網(wǎng)關(guān)起始(OSGi)是OSGi組織制定的一個(gè)面向網(wǎng)絡(luò)開(kāi)放服務(wù)的規(guī)范(specification).基于這個(gè)規(guī)范開(kāi)發(fā)的OSGi框架(Framework)可以部署在嵌入式設(shè)備中.框架是具有管理服務(wù)和升級(jí)服務(wù)等功能的網(wǎng)關(guān)設(shè)備軟件平臺(tái)。它的實(shí)現(xiàn)是以java技術(shù)為基礎(chǔ).具備了java平臺(tái)獨(dú)立等各種優(yōu)點(diǎn),可以獨(dú)立于不同的制造商.通過(guò)API整合不同的標(biāo)準(zhǔn).具有跨平臺(tái)和良好的兼容性,為實(shí)現(xiàn)不同通信技術(shù)并存和支持多種設(shè)備互連奠定基礎(chǔ)。本系統(tǒng)網(wǎng)關(guān)系統(tǒng)構(gòu)架設(shè)計(jì)部署如下圖2:
OSGi框架是OSGi服務(wù)平臺(tái)的核心.是通過(guò)java類(lèi)和java API實(shí)現(xiàn)的一些功能集,它負(fù)責(zé)實(shí)現(xiàn)各種服務(wù)集(bundles)的實(shí)時(shí)部署、管理和維護(hù)工作.通過(guò)對(duì)服務(wù)集的控制來(lái)實(shí)現(xiàn)網(wǎng)關(guān)的各種功能。服務(wù)集是服務(wù)的實(shí)現(xiàn)載體,OSGi框架和其它所有的功能都是以服務(wù)集的方式通過(guò)java類(lèi)和API實(shí)現(xiàn)。通過(guò)UPnP(Universal Plug and Play)技術(shù)可使網(wǎng)絡(luò)用具的部署變得非常方便。當(dāng)網(wǎng)絡(luò)用具和家庭網(wǎng)關(guān)在物理層連接后,OSGi框架的設(shè)備管理器就會(huì)檢測(cè)到設(shè)備服務(wù)注冊(cè),然后借助驅(qū)動(dòng)定位器和驅(qū)動(dòng)選擇器從網(wǎng)絡(luò)或本地下載能跟設(shè)備匹配的驅(qū)動(dòng)程序。這樣.當(dāng)用戶想在家里添置網(wǎng)絡(luò)設(shè)備時(shí),無(wú)需手動(dòng)安裝驅(qū)動(dòng)程序就可以實(shí)現(xiàn)設(shè)備的“網(wǎng)絡(luò)即插即用”把家庭網(wǎng)絡(luò)設(shè)計(jì)成分布式,具有很多優(yōu)勢(shì).外部網(wǎng)絡(luò)只要訪問(wèn)家庭網(wǎng)關(guān),就可以透明地訪問(wèn)不帶IP的家庭網(wǎng)絡(luò)用具,同時(shí)也解決了家庭網(wǎng)絡(luò)用具之問(wèn)互操作性問(wèn)題。
3.2網(wǎng)關(guān)硬件實(shí)現(xiàn)方案
無(wú)線家庭網(wǎng)關(guān)由微控制器、GPRS模塊和Zigbee射頻通信模塊三部分組成.硬件模塊連接如下圖3。
控制器采用三星公司的ARM9微處理器S3C2410X為主CPU.它是Samsung公司推出的基于ARM9TDMI核.精簡(jiǎn)指令系統(tǒng)的16/32位高速微處理器。以S3C2410X為核心.外圍擴(kuò)展一系列功能模塊,GPRS模塊采用Siemens公司的TC35終端,通過(guò)串口與CPU相連.實(shí)現(xiàn)與internet連接。外部網(wǎng)絡(luò)可以通過(guò)web方式訪問(wèn)家庭網(wǎng)絡(luò).查詢和控制家庭內(nèi)部網(wǎng),同時(shí)也通過(guò)RJ45網(wǎng)絡(luò)有線連接外網(wǎng):Zigbee射頻收發(fā)模塊采用Chipcon AS公司的CC2420芯片.控制家庭網(wǎng)內(nèi)具備Zigbee標(biāo)準(zhǔn)接口的家庭用具。在家電控制器上加載Zigbee無(wú)線模塊.通過(guò)UPnP技術(shù).網(wǎng)絡(luò)用具就成為家庭分布式網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn)。
3.3軟件平臺(tái)軟件開(kāi)發(fā)步驟
S3C2410X集成了內(nèi)存管理單元.可以嵌入多種主流操作系統(tǒng)。在這個(gè)系統(tǒng)中.家庭網(wǎng)關(guān)采用免費(fèi)的嵌入式Linux操作系統(tǒng)。Linux源代碼的開(kāi)放性對(duì)程序開(kāi)發(fā)者來(lái)說(shuō)很容易實(shí)現(xiàn)系統(tǒng)的裁減和再開(kāi)發(fā).也方便java技術(shù)的移植,可以大大地提高系統(tǒng)開(kāi)發(fā)的效率。
系統(tǒng)開(kāi)發(fā)和部署如下:
(1)在主機(jī)上安裝Linux嵌入式編譯和開(kāi)發(fā)環(huán)境.如安裝交叉編譯工具鏈.采用eclipse作為IDE;
(2)下載CDC及其profile.本系統(tǒng)采用Personal Profile;同時(shí)下載OSGi Framework.本系統(tǒng)選用基于OSGi R3的Oscar框架;
(3)裁減Linux嵌入式操作系統(tǒng).并修改相應(yīng)的配置文件.交叉編譯Linux的內(nèi)核和組件.生成操作系統(tǒng)鏡像文件.通過(guò)bootloader把鏡像文件下載到目標(biāo)系統(tǒng)中;
(4)在PC上交叉編譯CVM和OSGi Framework,然后通過(guò)ftp把編譯文件移植到目標(biāo)板;
(5)按照需求編寫(xiě)相應(yīng)的bundle服務(wù)應(yīng)用程序、圖形用戶管理程序等.編譯并下載到目標(biāo)系統(tǒng)。
當(dāng)然.根據(jù)具體的應(yīng)用還可以添加一些服務(wù)程序。總體來(lái)說(shuō).嵌入式系統(tǒng)的裁減移植和bundle的實(shí)現(xiàn)是重點(diǎn)和難點(diǎn).在開(kāi)發(fā)過(guò)程當(dāng)中需要仔細(xì)的調(diào)試和分析測(cè)試。下面介紹一下http bundle的部分偽代碼實(shí)現(xiàn):
package org.osgi.service.http;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse
……
//定義HttpContext接口,servlet和資源通過(guò)這個(gè)接口進(jìn)行注冊(cè)
public abstract interface HttpContext{
public abstract boolean handleSecurity(HttpServletRequest
request,HttpServletResponse response)
throws IOException;
//定義接口方法和屬性等
}
//定義HttpService,其它bundle的資源和servlet
都是通過(guò)這個(gè)接口被動(dòng)態(tài)注冊(cè)和加載到OSGi
public abstract interface HttpService{
//定義servlet和資源注冊(cè)處理方法和屬性
……
}
在開(kāi)發(fā)完成后,還應(yīng)該對(duì)系統(tǒng)總體進(jìn)行規(guī)劃,去除不必要的程序模塊,對(duì)硬件進(jìn)行制板封裝。
4 應(yīng)用前景
家庭網(wǎng)關(guān)的應(yīng)用將是大量的.它可以應(yīng)用于家庭網(wǎng)、樓宇自動(dòng)化、車(chē)載系統(tǒng)、小型辦公室等,具有布置美觀方便,無(wú)須專(zhuān)業(yè)人員維護(hù)等優(yōu)點(diǎn),必將在未來(lái)社會(huì)信息化進(jìn)程中發(fā)揮獨(dú)特的作用。有調(diào)查研究表明,一個(gè)家庭擁有幾臺(tái)電腦將會(huì)普遍存在,這樣家庭網(wǎng)關(guān)將發(fā)揮不可替代的作用,家庭網(wǎng)關(guān)式的Internet的家庭寬帶接人和家庭設(shè)備共享將成為主流。另外,家庭網(wǎng)關(guān)在車(chē)載系統(tǒng)等方面的應(yīng)用前景也廣闊的,它可以應(yīng)用于車(chē)載導(dǎo)航、監(jiān)控、多媒體等,例如BMW 公司的X5系列汽車(chē)采用OSGi實(shí)現(xiàn)了導(dǎo)航,MP3音樂(lè)下載等各種功能,駕駛者可透過(guò)無(wú)線通訊技術(shù)與PDA結(jié)合,可以享受上網(wǎng)瀏覽或是接收郵件等服務(wù)。
5 結(jié)束語(yǔ)
采用Zigbee協(xié)議組建無(wú)線局域網(wǎng)絡(luò)具有很大的優(yōu)勢(shì),利用CC2420芯片開(kāi)發(fā)短距離射頻傳輸模塊成本低、功耗小,并配合基于Java技術(shù)的OSGi框架,使網(wǎng)絡(luò)用具對(duì)家庭網(wǎng)絡(luò)即插即用,同時(shí)家庭外部網(wǎng)絡(luò)訪問(wèn)內(nèi)部網(wǎng)絡(luò)具有透明性。