Android與ZigBee的遠(yuǎn)程控制無線網(wǎng)關(guān)設(shè)計(jì)
3.2.3 網(wǎng)關(guān)系統(tǒng)協(xié)議模型
在網(wǎng)關(guān)系統(tǒng)層的ZigBee協(xié)議棧和TCP/IP協(xié)議棧之上添加一個(gè)應(yīng)用地址適配層和應(yīng)用協(xié)議層。應(yīng)用地址適配層的作用在于將ZigBee地址(MAC值或短地址)、以太網(wǎng)地址(IP地址)與應(yīng)用層地址形成映射關(guān)系,即將不同類型的網(wǎng)絡(luò)地址適配到應(yīng)用地址上來,使得節(jié)點(diǎn)在應(yīng)用層同屬于一個(gè)網(wǎng)絡(luò);應(yīng)用協(xié)議層是在應(yīng)用地址適配層的基礎(chǔ)上通過制定統(tǒng)一的應(yīng)用協(xié)議,規(guī)范節(jié)點(diǎn)間數(shù)據(jù)交換的格式,從而實(shí)現(xiàn)ZigBee網(wǎng)絡(luò)與IP網(wǎng)絡(luò)之間的數(shù)字信息交換功能,即實(shí)現(xiàn)ZigBee網(wǎng)關(guān)的功能。
無線網(wǎng)絡(luò)中的ZigBee節(jié)點(diǎn)接收指令將數(shù)據(jù)打包,簡(jiǎn)單封裝后向上發(fā)送給本地ARP,通過ARP解析出該節(jié)點(diǎn)的網(wǎng)絡(luò)MAC地址,確定要發(fā)送的以太網(wǎng)地址;然后向上發(fā)送給網(wǎng)關(guān)應(yīng)用程序,經(jīng)分析后發(fā)送到對(duì)應(yīng)的以太網(wǎng)UDP或TCP處理,向下發(fā)送到以太網(wǎng)端口MAC地址。這樣就完成了數(shù)據(jù)從ZigBee網(wǎng)絡(luò)向以太網(wǎng)協(xié)議的轉(zhuǎn)換過程。網(wǎng)關(guān)系統(tǒng)協(xié)議模型如圖7所示。
3.3 網(wǎng)關(guān)應(yīng)用程序
網(wǎng)關(guān)應(yīng)用程序主要指的是在網(wǎng)關(guān)應(yīng)用協(xié)議層的規(guī)范基礎(chǔ)上,傳遞的信息數(shù)據(jù)以Android任務(wù)的形式組織運(yùn)行,在以太網(wǎng)與ZigBee網(wǎng)絡(luò)的數(shù)據(jù)通信中,信息是以數(shù)據(jù)包的形式發(fā)送和接收的,數(shù)據(jù)包發(fā)送流程如圖8所示。
在無線WiFi網(wǎng)絡(luò)中,通過以太網(wǎng)與無線AP相連接的PC機(jī)是服務(wù)器端,而無線網(wǎng)關(guān)作為Android客戶端通過TCP/IP協(xié)議與PC服務(wù)器建立網(wǎng)絡(luò)連接,通過Socket通信,可以在實(shí)現(xiàn)服務(wù)器和客戶端網(wǎng)絡(luò)連接的基礎(chǔ)上,完成數(shù)據(jù)的轉(zhuǎn)發(fā)、傳輸和接收。
因此,無線網(wǎng)關(guān)應(yīng)用程序要實(shí)現(xiàn)下面的功能:
①建立客戶端(無線網(wǎng)關(guān))和服務(wù)器(PC機(jī))的Socket,網(wǎng)絡(luò)連接,為他們之間的數(shù)據(jù)交換提供必要條件。
②將無線ZigBee模塊接收到的來自ZigBee網(wǎng)絡(luò)的數(shù)據(jù)讀進(jìn)緩沖區(qū),然后寫入U(xiǎn)SB無線網(wǎng)卡,USB無線網(wǎng)卡會(huì)將數(shù)據(jù)打包成WiFi協(xié)議格式,送入無線WiFi網(wǎng)絡(luò)。
Android客戶端應(yīng)用程序?qū)崿F(xiàn)流程如圖9所示。
4 燈光控制功能的實(shí)現(xiàn)
ZigBee將應(yīng)用劃分為不同的域,每個(gè)應(yīng)用域都有自己的ProfiIe,ZigBee Profile為這個(gè)應(yīng)用域提供標(biāo)準(zhǔn)的接口和設(shè)備定義,使得不同生產(chǎn)商生產(chǎn)的針對(duì)同一應(yīng)用領(lǐng)域的ZigBee設(shè)備之間能互通。ZigBee在智能家居、家庭自動(dòng)化中采用的Profile是ZigBee Home Automation Pub lic Appliation Profile。通過該P(yáng)rofile及ZCL(ZigBee Cluster Library)的引入,實(shí)現(xiàn)了對(duì)ZigBee燈光家電設(shè)備的控制。例如網(wǎng)關(guān)對(duì)燈光進(jìn)行開關(guān)控制,只需調(diào)用zelGeneral-SenclOnOff_CmdToggle()函數(shù)。應(yīng)用程序、Profile及ZCL與其他層的接口的層次框圖如圖10所示。
結(jié)語
本文研究了基于Android系統(tǒng)和ZigBee技術(shù)的無線網(wǎng)關(guān),該網(wǎng)關(guān)體積小,功耗低,使ZigBee網(wǎng)絡(luò)和以太網(wǎng)以及WiFi網(wǎng)絡(luò)融合為一體,在ZigBee近距離無線通信和以太網(wǎng)遠(yuǎn)程控制之間搭建了一座橋梁。實(shí)現(xiàn)了無線傳感網(wǎng)與無線互聯(lián)網(wǎng)之間的數(shù)字信息交互,可以廣泛應(yīng)用到物聯(lián)
網(wǎng)中。
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論