蔡紅紅
【摘 要】隨著網絡技術和傳感技術的發展,物聯網在生活中的應用越來越廣泛。物聯網網關中,使用較為廣泛的協議ZigBee協議,和傳統的TCP/IP協議存在著不兼容的現象。在物聯網網關設計中,如何實現ZigBee協議和TCP/Ip協議的融合非常關鍵。文章分析了物聯網應用體系架構,探討了物聯網網關系統的需求,并對物聯網網關作出了設計。
【關鍵詞】物聯網網關;ZigBee協議;TCP/IP協議;設計
中圖分類號: TN929.5;TP391.44 文獻標識碼: A 文章編號: 2095-2457(2018)24-0028-002
DOI:10.19694/j.cnki.issn2095-2457.2018.24.014
【Abstract】with the development of network technology and sensing technology, the application of the Internet of Things in life is more and more extensive. The Internet of Things network Guanzhong,using the more extensive protocol ZigBee protocol, is incompatible with the traditional TCP/IP protocol. In the design of the Internet of Things gateway, how to achieve the fusion of the ZigBee protocol and the TCP/Ip protocol is very critical.This paper analyzes the architecture of the Internet of Things application system, discusses the requirements of the Internet of Things gateway system, and makes a design of the Internet of Things gateway.
【Key words】Internet of Things gateway;ZigBee protocol;TCP/IP protocol;Design
近些年來,無線傳感器網絡的發展非常迅速,多種傳感設備在生活中的應用變得越來越廣泛。和以往的無線傳輸技術相比,傳感器的節點有著結構簡單、成本低的特征。但是,物聯網中的ZigBee協議和互聯網中的TCP/IP協議不兼容。現階段,物聯網領域正研究如何將ZigBee協議接入到TCP/IP協議中去,以便能通過互聯網監控環境,管理好接入點。物聯網網關是連接異構的重要設備,加強對網關技術的研究非常重要。
1 物聯網網關實現技術
現階段,物聯網網關實現技術有多種。第一,是通過通道機制實現。接收到無線傳感器數據時,不經解封就作為以太網載荷,加上TCP/IP的包頭傳輸到IP網絡主機上去。主機收到數據后,對其進行解析。這種通道機制實現技術有著一定的不足之處,因為數據中的一些內容并不是必要的,帶來了帶寬上的浪費。第二種方式是遠程過程調用RPC方式[1]。使用REST或SOAP將待發送數據轉換成XML格式發送。同樣的,這種方式也會帶來帶寬的浪費。另外,物聯網實現技術還有協議轉換機制等方式。
2 物聯網應用體系架構系統需求分析
2.1 體系架構
物聯網具有三個特征,一是全面感知功能,能使用RFID、傳感器等獲取到物體的信息。二是能實現電信網絡融合互聯網,將物體的信息準確及時的傳送出去。三是能用大量的數據和信息作出處理,其中用到了大數據等多種先進技術。通常情況下,物聯網被分成三個層次。由上到下分別是應用層、網絡層、感知層。物聯網感知層中有傳感器、傳感器網絡等。感知層是物聯網的基礎部分,其中涉及到了RFID技術、控制技術和傳感技術等[2]。感知層中主要采集數據的設備包括傳感器、攝像頭等。物聯網中的網絡層是建立在互聯網基礎上,通過接入多種設備實現和通訊網和互聯網的連接。網絡層的功能非常多,如信息存儲查詢,實施網絡管理等。物聯網是以數據為中心網絡層中心,網絡層中的感知數據處理技術是物理網中的核心技術,包括了對數據的查詢、分析、理解等。物聯網網絡層中有記憶存儲數據的云計算平臺,同時也為應用層應用存儲奠定了基礎。應用層是物聯網發展的目的,利用分析處理過的數據,為用戶提供相應的服務。物聯網應用非常廣泛,分為很多種類型,可用于監控,如對物流、污染狀況作出監控;也可用于查詢,如進行智能的檢索等;也能用于控制智能家居、智能路燈等;還能用在掃描方面,如高速公路不停車收費等。物聯網的網關位于中間的網絡層中,連接著傳感器以及傳統的通信網絡,有著協議轉換、數據收發等多種功能。
2.2 網關需求分析
2.2.1 協議轉換
實現不同協議之間的轉換是物聯網網關最基礎的功能。當網關受到來自ZigBee節點數據后。網關會按照ZigBee協議的規范去掉PHY層、網絡層包頭、MAC層,并對應用層的數據作出處理,之后物聯網網關會根據TCP/IP協議的標準重新封裝數據,并通過以太網發送出去。所以,網關功能的實現,要同時具有ZigBee和TCP/IP協議棧[3]。如下圖1所示,是協議轉換的過程。
2.2.2 數據收發
物聯網網關起到溝通傳感網和通信網絡的重要作用。ZigBee網絡上傳數據經過網關處理后到IP網絡主機中。IP網絡中的數據和命令能通過網關到達ZigBee節點中去。物聯網網關既要實現接受互聯網終端和傳感器終端發送數據的功能,也要能向兩者發送數據,實現數據轉發[4]。
2.2.3 管理控制
物聯網網關還要具有管理控制的功能,對象是傳感器的節點。物聯網網關對來自應用層的命令作出處理,并下達到傳感器節點上,完成對網關下層傳感器網絡的管理。
3 物聯網網關系統的設計
3.1 硬件系統
物聯網網關硬件系統部分包括了ARM開發板、GPRS無線通信和Sink節點,這三個部分是組成物聯網網關系統的三大模板。本次設計中使用到了ARM9架構的處理器,用CC2420作為感知節點的無線通信模塊。無線收發模塊中,用ZigBee芯片作為基礎。GPRS的無線通信模塊中使用EM310,完成物理世界和傳感器之間的網絡聯系。使用到sink,將節點收到的數據發送,網關和sink節點用網關進行連接,形成上傳數據和下達命令的通道[5]。
3.2 軟件設計
物聯網網關軟件架構有BootLoader程序、LINUX內核、根文件系統和應用程序四個部分。BootLoader程序是系統的初始化程序,功能是加載軟件環境和操作系統內核的數據。SD-Boot是網關啟動BootLoader程序時首要任務,使用SD卡燒寫方式,對引導程序進行移植和編譯。物聯網網關的應用程序設計方面,分為三個部分,ZigBee部分、TCP部分和web應用程序部分[6]。
3.2.1 ZigBee應用程序的設計
物聯網網關的主要功能是對感知層的數據作出采集分析和處理。軟件模塊也相應的分成主動上報、查詢和控制三個方面。主動上報方面,數據格式以無線通訊協議的16進制為主,實現上調用接收程序nodedataproe.e,監聽程序listenfile.e以及節點狀態程序nodestatus.c。節點接收程序調用函數組能滿足內存間交互,通過調用/exc/gateway/map.txt文件能將內存表初始化,對串口打開和設置時,調用串口函數int serial_init,創建fork進程。數據采集功能的實現,需用到3個系統函數,它們分別是wait、wifexited和wtermsig。監聽程序的作用是監聽一些較為重要的文件,通過調用組函數inotify_能將監聽功能初始化,inotify_add_watch能添加監聽事件,設置相應的屬性。網關正常情況下,inotify_rm_watch(fd,wd)不會被調用,節點狀態程序用來完成采集節點狀態信息。關于傳感器上報時間,設計中采集間隔為10s,系統函數有signal、alarm和pause()。
3.2.2 WEB應用程序設計
用戶應用程序和物聯網網關進行交互時,通訊方式使用TCP/IP方式。在對WEB應用程序進行設計時,會使用CGI的方式,融合HTML以及C語言,使得應用層能順利訪問,組網程序主要有zigbee.cgi程序實現,能對頻點和ID參數進行設置。獲取新節點數據時,使用到newnode_list.cgi,且調用fprintf函數。使用Map.cgi程序對節點編號、額定掉線時間等作出配置。
綜上所述,物聯網是互聯網和通訊行業后新的信息產業方向,有著很大的發展潛力。ZigBee網絡和TCP/IP網絡的有效融合,能極大的促進物聯網的發展。文章基于ZigBee和TCP技術,對物聯網網關作出了設計,實現了多種功能。設計的重點在于軟件的BootLoader和Linux系統以及應用程序等方面,完成了各個分模塊之間的協議轉換。
【參考文獻】
[1]許杰.物聯網無線通信技術應用探討[J].無線互聯科技,2018,15(14):19-20.
[2]張于峰.ZigBee和TCP/IP通信網關的研究[J].輕工科技,2017,33(05):75-76.
[3]申利民.基于嵌入式系統ZigBee網與互聯網網關設計[J].信息通信,2016(11):132-134.
[4]Kuang-Yow Lian,Sung-Jung Hsiao,Wen-Tsai Sung. Intelligent multi-sensor control system based on innovative technology integration via ZigBee and Wi-Fi networks[J]. Journal of Network and Computer Applications,2013,36(2).