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