蔡紅紅
【摘 要】隨著網(wǎng)絡(luò)技術(shù)和傳感技術(shù)的發(fā)展,物聯(lián)網(wǎng)在生活中的應用越來越廣泛。物聯(lián)網(wǎng)網(wǎng)關(guān)中,使用較為廣泛的協(xié)議ZigBee協(xié)議,和傳統(tǒng)的TCP/IP協(xié)議存在著不兼容的現(xiàn)象。在物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計中,如何實現(xiàn)ZigBee協(xié)議和TCP/Ip協(xié)議的融合非常關(guān)鍵。文章分析了物聯(lián)網(wǎng)應用體系架構(gòu),探討了物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)的需求,并對物聯(lián)網(wǎng)網(wǎng)關(guān)作出了設(shè)計。
【關(guān)鍵詞】物聯(lián)網(wǎng)網(wǎng)關(guān);ZigBee協(xié)議;TCP/IP協(xié)議;設(shè)計
中圖分類號: 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
近些年來,無線傳感器網(wǎng)絡(luò)的發(fā)展非常迅速,多種傳感設(shè)備在生活中的應用變得越來越廣泛。和以往的無線傳輸技術(shù)相比,傳感器的節(jié)點有著結(jié)構(gòu)簡單、成本低的特征。但是,物聯(lián)網(wǎng)中的ZigBee協(xié)議和互聯(lián)網(wǎng)中的TCP/IP協(xié)議不兼容?,F(xiàn)階段,物聯(lián)網(wǎng)領(lǐng)域正研究如何將ZigBee協(xié)議接入到TCP/IP協(xié)議中去,以便能通過互聯(lián)網(wǎng)監(jiān)控環(huán)境,管理好接入點。物聯(lián)網(wǎng)網(wǎng)關(guān)是連接異構(gòu)的重要設(shè)備,加強對網(wǎng)關(guān)技術(shù)的研究非常重要。
1 物聯(lián)網(wǎng)網(wǎng)關(guān)實現(xiàn)技術(shù)
現(xiàn)階段,物聯(lián)網(wǎng)網(wǎng)關(guān)實現(xiàn)技術(shù)有多種。第一,是通過通道機制實現(xiàn)。接收到無線傳感器數(shù)據(jù)時,不經(jīng)解封就作為以太網(wǎng)載荷,加上TCP/IP的包頭傳輸?shù)絀P網(wǎng)絡(luò)主機上去。主機收到數(shù)據(jù)后,對其進行解析。這種通道機制實現(xiàn)技術(shù)有著一定的不足之處,因為數(shù)據(jù)中的一些內(nèi)容并不是必要的,帶來了帶寬上的浪費。第二種方式是遠程過程調(diào)用RPC方式[1]。使用REST或SOAP將待發(fā)送數(shù)據(jù)轉(zhuǎn)換成XML格式發(fā)送。同樣的,這種方式也會帶來帶寬的浪費。另外,物聯(lián)網(wǎng)實現(xiàn)技術(shù)還有協(xié)議轉(zhuǎn)換機制等方式。
2 物聯(lián)網(wǎng)應用體系架構(gòu)系統(tǒng)需求分析
2.1 體系架構(gòu)
物聯(lián)網(wǎng)具有三個特征,一是全面感知功能,能使用RFID、傳感器等獲取到物體的信息。二是能實現(xiàn)電信網(wǎng)絡(luò)融合互聯(lián)網(wǎng),將物體的信息準確及時的傳送出去。三是能用大量的數(shù)據(jù)和信息作出處理,其中用到了大數(shù)據(jù)等多種先進技術(shù)。通常情況下,物聯(lián)網(wǎng)被分成三個層次。由上到下分別是應用層、網(wǎng)絡(luò)層、感知層。物聯(lián)網(wǎng)感知層中有傳感器、傳感器網(wǎng)絡(luò)等。感知層是物聯(lián)網(wǎng)的基礎(chǔ)部分,其中涉及到了RFID技術(shù)、控制技術(shù)和傳感技術(shù)等[2]。感知層中主要采集數(shù)據(jù)的設(shè)備包括傳感器、攝像頭等。物聯(lián)網(wǎng)中的網(wǎng)絡(luò)層是建立在互聯(lián)網(wǎng)基礎(chǔ)上,通過接入多種設(shè)備實現(xiàn)和通訊網(wǎng)和互聯(lián)網(wǎng)的連接。網(wǎng)絡(luò)層的功能非常多,如信息存儲查詢,實施網(wǎng)絡(luò)管理等。物聯(lián)網(wǎng)是以數(shù)據(jù)為中心網(wǎng)絡(luò)層中心,網(wǎng)絡(luò)層中的感知數(shù)據(jù)處理技術(shù)是物理網(wǎng)中的核心技術(shù),包括了對數(shù)據(jù)的查詢、分析、理解等。物聯(lián)網(wǎng)網(wǎng)絡(luò)層中有記憶存儲數(shù)據(jù)的云計算平臺,同時也為應用層應用存儲奠定了基礎(chǔ)。應用層是物聯(lián)網(wǎng)發(fā)展的目的,利用分析處理過的數(shù)據(jù),為用戶提供相應的服務(wù)。物聯(lián)網(wǎng)應用非常廣泛,分為很多種類型,可用于監(jiān)控,如對物流、污染狀況作出監(jiān)控;也可用于查詢,如進行智能的檢索等;也能用于控制智能家居、智能路燈等;還能用在掃描方面,如高速公路不停車收費等。物聯(lián)網(wǎng)的網(wǎng)關(guān)位于中間的網(wǎng)絡(luò)層中,連接著傳感器以及傳統(tǒng)的通信網(wǎng)絡(luò),有著協(xié)議轉(zhuǎn)換、數(shù)據(jù)收發(fā)等多種功能。
2.2 網(wǎng)關(guān)需求分析
2.2.1 協(xié)議轉(zhuǎn)換
實現(xiàn)不同協(xié)議之間的轉(zhuǎn)換是物聯(lián)網(wǎng)網(wǎng)關(guān)最基礎(chǔ)的功能。當網(wǎng)關(guān)受到來自ZigBee節(jié)點數(shù)據(jù)后。網(wǎng)關(guān)會按照ZigBee協(xié)議的規(guī)范去掉PHY層、網(wǎng)絡(luò)層包頭、MAC層,并對應用層的數(shù)據(jù)作出處理,之后物聯(lián)網(wǎng)網(wǎng)關(guān)會根據(jù)TCP/IP協(xié)議的標準重新封裝數(shù)據(jù),并通過以太網(wǎng)發(fā)送出去。所以,網(wǎng)關(guān)功能的實現(xiàn),要同時具有ZigBee和TCP/IP協(xié)議棧[3]。如下圖1所示,是協(xié)議轉(zhuǎn)換的過程。
2.2.2 數(shù)據(jù)收發(fā)
物聯(lián)網(wǎng)網(wǎng)關(guān)起到溝通傳感網(wǎng)和通信網(wǎng)絡(luò)的重要作用。ZigBee網(wǎng)絡(luò)上傳數(shù)據(jù)經(jīng)過網(wǎng)關(guān)處理后到IP網(wǎng)絡(luò)主機中。IP網(wǎng)絡(luò)中的數(shù)據(jù)和命令能通過網(wǎng)關(guān)到達ZigBee節(jié)點中去。物聯(lián)網(wǎng)網(wǎng)關(guān)既要實現(xiàn)接受互聯(lián)網(wǎng)終端和傳感器終端發(fā)送數(shù)據(jù)的功能,也要能向兩者發(fā)送數(shù)據(jù),實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)[4]。
2.2.3 管理控制
物聯(lián)網(wǎng)網(wǎng)關(guān)還要具有管理控制的功能,對象是傳感器的節(jié)點。物聯(lián)網(wǎng)網(wǎng)關(guān)對來自應用層的命令作出處理,并下達到傳感器節(jié)點上,完成對網(wǎng)關(guān)下層傳感器網(wǎng)絡(luò)的管理。
3 物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)的設(shè)計
3.1 硬件系統(tǒng)
物聯(lián)網(wǎng)網(wǎng)關(guān)硬件系統(tǒng)部分包括了ARM開發(fā)板、GPRS無線通信和Sink節(jié)點,這三個部分是組成物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)的三大模板。本次設(shè)計中使用到了ARM9架構(gòu)的處理器,用CC2420作為感知節(jié)點的無線通信模塊。無線收發(fā)模塊中,用ZigBee芯片作為基礎(chǔ)。GPRS的無線通信模塊中使用EM310,完成物理世界和傳感器之間的網(wǎng)絡(luò)聯(lián)系。使用到sink,將節(jié)點收到的數(shù)據(jù)發(fā)送,網(wǎng)關(guān)和sink節(jié)點用網(wǎng)關(guān)進行連接,形成上傳數(shù)據(jù)和下達命令的通道[5]。
3.2 軟件設(shè)計
物聯(lián)網(wǎng)網(wǎng)關(guān)軟件架構(gòu)有BootLoader程序、LINUX內(nèi)核、根文件系統(tǒng)和應用程序四個部分。BootLoader程序是系統(tǒng)的初始化程序,功能是加載軟件環(huán)境和操作系統(tǒng)內(nèi)核的數(shù)據(jù)。SD-Boot是網(wǎng)關(guān)啟動BootLoader程序時首要任務(wù),使用SD卡燒寫方式,對引導程序進行移植和編譯。物聯(lián)網(wǎng)網(wǎng)關(guān)的應用程序設(shè)計方面,分為三個部分,ZigBee部分、TCP部分和web應用程序部分[6]。
3.2.1 ZigBee應用程序的設(shè)計
物聯(lián)網(wǎng)網(wǎng)關(guān)的主要功能是對感知層的數(shù)據(jù)作出采集分析和處理。軟件模塊也相應的分成主動上報、查詢和控制三個方面。主動上報方面,數(shù)據(jù)格式以無線通訊協(xié)議的16進制為主,實現(xiàn)上調(diào)用接收程序nodedataproe.e,監(jiān)聽程序listenfile.e以及節(jié)點狀態(tài)程序nodestatus.c。節(jié)點接收程序調(diào)用函數(shù)組能滿足內(nèi)存間交互,通過調(diào)用/exc/gateway/map.txt文件能將內(nèi)存表初始化,對串口打開和設(shè)置時,調(diào)用串口函數(shù)int serial_init,創(chuàng)建fork進程。數(shù)據(jù)采集功能的實現(xiàn),需用到3個系統(tǒng)函數(shù),它們分別是wait、wifexited和wtermsig。監(jiān)聽程序的作用是監(jiān)聽一些較為重要的文件,通過調(diào)用組函數(shù)inotify_能將監(jiān)聽功能初始化,inotify_add_watch能添加監(jiān)聽事件,設(shè)置相應的屬性。網(wǎng)關(guān)正常情況下,inotify_rm_watch(fd,wd)不會被調(diào)用,節(jié)點狀態(tài)程序用來完成采集節(jié)點狀態(tài)信息。關(guān)于傳感器上報時間,設(shè)計中采集間隔為10s,系統(tǒng)函數(shù)有signal、alarm和pause()。
3.2.2 WEB應用程序設(shè)計
用戶應用程序和物聯(lián)網(wǎng)網(wǎng)關(guān)進行交互時,通訊方式使用TCP/IP方式。在對WEB應用程序進行設(shè)計時,會使用CGI的方式,融合HTML以及C語言,使得應用層能順利訪問,組網(wǎng)程序主要有zigbee.cgi程序?qū)崿F(xiàn),能對頻點和ID參數(shù)進行設(shè)置。獲取新節(jié)點數(shù)據(jù)時,使用到newnode_list.cgi,且調(diào)用fprintf函數(shù)。使用Map.cgi程序?qū)?jié)點編號、額定掉線時間等作出配置。
綜上所述,物聯(lián)網(wǎng)是互聯(lián)網(wǎng)和通訊行業(yè)后新的信息產(chǎn)業(yè)方向,有著很大的發(fā)展?jié)摿?。ZigBee網(wǎng)絡(luò)和TCP/IP網(wǎng)絡(luò)的有效融合,能極大的促進物聯(lián)網(wǎng)的發(fā)展。文章基于ZigBee和TCP技術(shù),對物聯(lián)網(wǎng)網(wǎng)關(guān)作出了設(shè)計,實現(xiàn)了多種功能。設(shè)計的重點在于軟件的BootLoader和Linux系統(tǒng)以及應用程序等方面,完成了各個分模塊之間的協(xié)議轉(zhuǎn)換。
【參考文獻】
[1]許杰.物聯(lián)網(wǎng)無線通信技術(shù)應用探討[J].無線互聯(lián)科技,2018,15(14):19-20.
[2]張于峰.ZigBee和TCP/IP通信網(wǎng)關(guān)的研究[J].輕工科技,2017,33(05):75-76.
[3]申利民.基于嵌入式系統(tǒng)ZigBee網(wǎng)與互聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計[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).