三峽大學 王立波陳慈發(fā)
引 言
ZigBee技術作為一種新型的近距離、低功耗、低數據傳輸率的雙向無線通信技術,在家電產品中得到越來越廣泛的應用。在網絡無處不在的今天,人們希望隨時隨地能訪問和控制家庭中的各種家電設備。這就要求嵌入在家電產品中的智能控制系統(tǒng) (Agent)能夠與Internet相結合,使家電設備順利地接入Internet,并能提供相應的網絡服務。實現(xiàn)這些服務要求Agent必須實現(xiàn) TCP/IP協(xié)議棧,不管是以軟件方式還是以硬件方式,都會增加產品開發(fā)的成本、周期和復雜度。本文介紹一種基于XPort和ZigBee模塊的 Internet接入方案,將它集成到家電產品的設計中,即可使智能家電設備便捷地接入Internet,然后通過Internet來控制。
1 XPort
XPort設備服務器是美國Lantronix公司開發(fā)的一種緊湊且高度集成的、可讓任何帶有串口的智能設備接入Internet的嵌入式設備。通過在自己的產品設計中集成XPort,開發(fā)人員不必考慮復雜的網絡協(xié)議,可以大大縮短產品開發(fā)周期。XPort模塊集成有Lantronix公司的DSTni- EX增強版16位CPU。該模塊為i86內核體系結構,具有24位尋址能力、256 KB的SRAM、16 KB的引導ROM、384 KB的Flash和10/100 Mbps自適應以太網口(RJ45)。圖1直觀地顯示了XPort的接口方式和內部布局。XPort一端為3.3 V CMOS電平的8引腳高速串口(GND,3.3VDC,Reset,Data In,Data Out,CPl,CP2,CP3),另一端為RJ45標準以太網口。
XPort的主要功能是實現(xiàn)串口與10/100 Mbps網絡間的數據轉換,便于帶有串口的設備接入Internet;另外還有Email告警功能,通過設定的條件觸發(fā)。XPort高速串口支持 RS232、RS485協(xié)議,有300~921 600 bps的波特率可選??刂菩盘栍蠨TR/DCD、CTS、RTS,流控制有XON/XOFF、RTS/CTS、3個PIO pin口(軟件可選)。XPort網絡接口的連接器為RJ45,支持協(xié)議有TCP/IP、UDP/IP、ARP、ICMP、SNMP、TFTP、 Telnet、DHCP、BOOTP、HTTP和AutoIP。XPort具有基于Windows平臺的配置工具,內建Web服務器,F(xiàn)lash存儲器可以存儲用戶自定義網頁,固件可以通過TFTP和串口升級。XPort設備服務器還提供10/100 Mbps自適應以太網連接、存儲在Flash中的可靠的操作系統(tǒng)、嵌入式Web服務器、完整的TCP/IP協(xié)議棧、標準的AES加密、狀態(tài)指示燈和電磁屏蔽電路等。XPort的內部結構如圖2所示,一端的串行接口與DsTni-EX連接,另一端的以太網連接器通過一個防電磁干擾電路與CPU連接。
XPort通過串口和邊緣設備通信。XPort的工作電壓為3.3 V,內部有一個電壓監(jiān)測電路,當提供的電壓低于2.7 V時會觸發(fā)重啟。3.3 V電壓通過內建的1.8 V電壓轉換器為微處理器供電,濾波電路產生3.3 V的數字電壓和模擬電壓,25 MHz晶振電路為CPU和以太網媒體訪問控制芯片提供精確時鐘信號。
2 系統(tǒng)結構
遠程訪問和控制家電需要處理的關鍵問題是不同數據類型的轉換,即TCP/IP數據如何被轉化為家電可以接收識別的數據,使用戶通過局域網或。Internet終端就能訪問家電。該系統(tǒng)主要由3層組成:用戶層、控制中心層和終端設備層,其結構如圖3所示。
其中,用戶層負責收集、顯示整個系統(tǒng)家電狀態(tài)數據和發(fā)送控制命令,這些功能由用戶層中的Web頁面來實現(xiàn),也可以使用上位機軟件;控制中心層實際上成為用戶層與終端設備層之間的一個連接,由TCP/IP到串口轉換設備XPort和ZigBee模塊LM2455-EM組成,相當于一個ZigBee網關,其主要作用是協(xié)議轉換和數據傳遞;終端設備層是由傳感器、無線發(fā)射模塊和微控制器(MCU)等組成的智能家電產品。用戶層通過用戶程序發(fā)出的控制命令經 Socket連接傳給XPort,設備MCU接到數據后控制執(zhí)行器產生相應的動作,讓家電進入相應的工作狀態(tài)。家電作為該系統(tǒng)中的嵌入式終端設備,成為 ZigBee網絡中的一個ZigBee節(jié)點。
圖3中,虛線表示ZigBee無線通信,可分為單向和雙向。單向通信時,家電設備控制中心只需對其發(fā)出命令,控制其工作狀態(tài);雙向通信時,家電設備控制中心還需要從該設備獲得相關的信息,并將該信息返回給用戶。系統(tǒng)的關鍵部分是控制中心層,其中XPort負責與局域網或Internet連接,LM2455 -EM無線模塊負責組建ZigBee網絡并與家電通信。圖4給出了XPort與LM2455-EM的連接方式。XPort的數據接收口連接LM2455- EM的數據發(fā)送口P1_1,XPort的數據發(fā)送口接LM2455-EM的數據接收口P1_0。
當用戶通過Internet發(fā)送控制家電的信息或者想要獲得家電狀態(tài)時,XPort就將收到的網絡數據轉換為串口數據,通過其引腳4發(fā)送給LM2455- EM的串口(P1.0);LM2455-EM做出相應的響應,并通過無線收發(fā)器向終端設備發(fā)送相關命令。同樣,終端設備對收到的命令做出響應,如果用戶端需要讀取家電狀態(tài),則發(fā)送狀態(tài)信息給控制中心。當LM2455-EM收到ZigBee無線數據時,將其發(fā)送到XPort的引腳5,XPort就將原始數據打包成TCP/IP數據包,發(fā)送給用戶。
3 ZigBee模塊
ZigBee模塊LM2455-EM的核心是韓國RadioPulse公司推出的一款片上系統(tǒng)芯片MG2455-F48。它完全兼容IEEE 802.15.4標準和ZigBee標準,為家電控制、無線傳感器網絡等ZigBee應用提供一種無線解決方案。由RF收發(fā)器、嵌入式8051核微控制器、內部Flash存儲器一般I/O口和定時器、UART等外圍設備組成;通信速率有250 kbps、500 kbps、1 Mbps,提供μ-law/a-law/ADPCM語音編碼支持,具有96 KB的Flash程序存儲空間和8 KB數據內存。
在空曠場合,通信距離可以達到200 m。其功耗很低,在睡眠模式下,電流消耗低于1μA;在接收狀態(tài)下,電流消耗為33.2 mA;在發(fā)送狀態(tài)下,0 dBm時電流消耗為30.6 mA,8 dBm時電流消耗為43 mA。MG2455-F48采用四側無引腳扁平48引腳封裝方式。
MG2455-F48芯片集成了符合ZigBee協(xié)議標準的射頻收發(fā)器和微處理器,具有通信距離遠、抗干擾能力強、組網靈活、性能穩(wěn)定可靠等優(yōu)點,能實現(xiàn)點對點、一點對多點、多點對多點間的數據透明傳輸,可組成星型、樹型、蜂窩型等網絡拓撲結構。數據通信方式包括廣播方式和按照目標地址發(fā)送方式。 RadioPulse公司以庫文件的形式為用戶提供ZigBee協(xié)議棧軟件,用戶可使用Keil等工具軟件編譯自己的應用程序。
4 XPort的配置
XPort上電后需要進行配置,使其符合用戶需要的工作狀態(tài)。Lantronix公司提供了相應的工具軟件Lantron-ix Devicelnstaller。運行該軟件,如果XPort供電正常且已經接入網絡,該軟件會自動搜尋到該設備。可以通過3種方式配置XPort:瀏覽器方式(推薦使用,圖形用戶界面),Telnet:遠程登陸方式和串口方式。
首先使用DeviceInstaller軟件為其分配一個有效的IP地址,然后設置XPort的串口工作方式,最后設置其網絡參數。使用協(xié)議選擇TCP,工作模式為接收連接。需分配一個本地端口,如果選擇主動連接,則需要選擇遠程主機的IP地址和端口號,其他默認設置即可。
使用瀏覽器配置XPort的參數需要人工手動設置,而使用基于命令行的串口方式可實現(xiàn)自動設置。用戶編寫的XPort參數設置程序,上電時自動啟動進入監(jiān)視模式,完成相關參數設置。由于XPort內置Web服務器,可以使用JAVA applet編寫自己的網頁程序,燒寫到XPort的用戶存儲空間,然后在程序中使用Socket.receive()和Socket.send()處理用戶自己的數據。
5 ZigBee網絡構建
ZigBee網絡有星型、樹型、網狀等多種組網方式。組建成什么網絡應根據需要而定。對各家電問沒有通信需求,也沒有擴展通信距離需要的,可以構建成星型網絡。在星型拓撲結構中,所有的終端設備都與唯一的中央控制設備——PAN協(xié)調器通信,終端設備之間的通信通過PAN協(xié)調器的轉發(fā)來完成。終端設備要么是通信的起點,要么是通信的終點;PAN協(xié)調器則既可以是通信的起點,也可以是通信的終點。
在一個ZigBee網絡中,設備類型分為ZigBee協(xié)調器、ZigBee路由器、ZigBee終端設備,PAN協(xié)調器就是ZigBee協(xié)調器。 ZigBee協(xié)調器是一個起網絡控制中心作用的FFD,它不單為網絡控制而存在,還可以有自己的應用。與XPort連接的ZigBee模塊LM2455- EM就充當ZigBee協(xié)調器的角色,負責網絡的創(chuàng)建。
創(chuàng)建一個新的網絡需要用到以下幾個網絡層原語。
①NLME-RESET.request原語:實現(xiàn)對網絡層復位,清除所有內部變量和路由發(fā)現(xiàn)表記錄。
②NLME-NETWORK-FORMATION.reqctest原語:創(chuàng)建一個新的ZigBee網絡。只有充當ZigBee協(xié)調器的全功能設備才能嘗試建立一個新網絡,在創(chuàng)建網絡之前,它首先會請求MAC層執(zhí)行能量檢測掃描。
③NLME-PERMIT-JOINING.request原語:允許一個ZigBee終端設備加入網絡。
構建網絡代碼由ZigBee協(xié)議庫文件實現(xiàn)的main()函數來調用。它可以在ZUSER_INIT()中實現(xiàn),也可以在ZUSER_MAIN()中實現(xiàn)。處理用戶自己數據則在ZUS-ER_MAIN()中實現(xiàn)。運行在ZigBee協(xié)調器中的main()函數通過一個死循環(huán)調用ZUSER_MAIN() 來執(zhí)行任務和工作,其偽代碼如下:
結 語
ZigBee作為智能家居的實現(xiàn)技術之一,有著很好的應用前景。本文給出了一個簡單而高效的解決方案,使Zig-Bee終端設備能夠便捷地接入 Internet,用戶通過瀏覽器就可以操作和控制家電。用該方法實現(xiàn)嵌入式設備入網,不再需要在設備中增加以太網控制器并在MCU中實現(xiàn)TCP/IP協(xié)議,可大大降低系統(tǒng)設計復雜度,縮短開發(fā)周期。隨著網絡技術的不斷發(fā)展,更多的產品會連接到網絡上,通過更小的設備來完成細分的工作。嵌入式終端設備入網既是需求,又是趨勢,該方法同樣適合于其他通過串口交換數據的嵌入式設備聯(lián)網。
http://article.ednchina.com/CE/XPort_modules_and_ZigBee_technology_Internet_access2.htm