歐志球
摘要 基于IPV6的無(wú)線傳感器網(wǎng)絡(luò)架構(gòu)簡(jiǎn)單而且與現(xiàn)有IP網(wǎng)絡(luò)兼容,更加適合于智慧果園灌溉監(jiān)測(cè)系統(tǒng)。采用COAP與MQTT協(xié)議混合監(jiān)測(cè)環(huán)境因素,可以同時(shí)滿(mǎn)足主動(dòng)發(fā)布傳感器數(shù)據(jù)和被動(dòng)傳感器數(shù)據(jù)查詢(xún)的要求?;贑C2538硬件平臺(tái)和Contiki操作系統(tǒng),混合COAP和MQTT協(xié)議提出一種智慧果園灌溉檢測(cè)系統(tǒng),實(shí)驗(yàn)測(cè)試表明該系統(tǒng)網(wǎng)絡(luò)連通性良好,且具有較好的能耗。
[關(guān)鍵詞]無(wú)線傳感器網(wǎng)絡(luò) Cont iki操作系統(tǒng) 消息隊(duì)列遙測(cè)傳輸 約束應(yīng)用協(xié)議
1 引言
基于物聯(lián)網(wǎng)的智慧灌溉農(nóng)業(yè)方案被應(yīng)用在各類(lèi)農(nóng)業(yè)環(huán)境監(jiān)控領(lǐng)域中,這些方案一般都采用基于Zigbee的無(wú)線傳感器網(wǎng)絡(luò),實(shí)時(shí)采集灌溉系統(tǒng)所需的環(huán)境因素值。但Zigbee節(jié)點(diǎn)采用獨(dú)立的地址編碼,因此無(wú)法與外部互聯(lián)網(wǎng)透明通信,方案復(fù)雜且與現(xiàn)有網(wǎng)絡(luò)不兼容;文獻(xiàn)[8]提出了一種基于COAP和Contiki的采集系統(tǒng)有助于建立基于IP的無(wú)線傳感器網(wǎng)絡(luò),但COAP協(xié)議適合于點(diǎn)對(duì)點(diǎn)之間的查詢(xún),缺乏主動(dòng)通知機(jī)制,不利于大規(guī)模的無(wú)線傳感器網(wǎng)絡(luò)信息監(jiān)測(cè)。
針對(duì)以上問(wèn)題,本文設(shè)計(jì)基于6LowPAN(IPv6 0ver Low power WirelessPersonal Area Networks,低功耗無(wú)線個(gè)域網(wǎng)IPv6標(biāo)準(zhǔn))的COAP(Constrained ApplicationProtocol,約束應(yīng)用協(xié)議)和MQTT(MessageQueuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)混合組網(wǎng)的無(wú)線傳感器網(wǎng)絡(luò)果園監(jiān)測(cè)系統(tǒng),所有傳感器節(jié)點(diǎn)和邊界路由節(jié)點(diǎn)均采用低功耗CC2538平臺(tái)的Contiki操作系統(tǒng),普通傳感器節(jié)點(diǎn)實(shí)現(xiàn)COAP協(xié)議,部分特殊傳感器節(jié)點(diǎn)實(shí)現(xiàn)MQTT協(xié)議,邊界路由節(jié)點(diǎn)實(shí)現(xiàn)Slip-radio(Serial Line Internet Protocol- radio,無(wú)線串行線路網(wǎng)際協(xié)議)和IPV6網(wǎng)關(guān)協(xié)議。實(shí)驗(yàn)表明該方案能有效的進(jìn)行果園信息檢測(cè),網(wǎng)絡(luò)節(jié)點(diǎn)基于全I(xiàn)PV6的架構(gòu),網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單且硬件功耗低。后續(xù)章節(jié)組織如下:第二節(jié)說(shuō)明系統(tǒng)總體設(shè)計(jì);第三節(jié)說(shuō)明系統(tǒng)實(shí)現(xiàn)算法;第四節(jié)進(jìn)行試驗(yàn)和分析;最后列出結(jié)論。
2 系統(tǒng)總體設(shè)計(jì)
根據(jù)Penman-Monteith公式,作物需水量主要由以下因素決定:當(dāng)?shù)亟?jīng)緯度、海拔高度、平均氣溫、太陽(yáng)凈輻射、平均氣溫、平均風(fēng)速和平均露點(diǎn)溫度。智慧果園澆灌監(jiān)控系統(tǒng)重點(diǎn)監(jiān)測(cè)溫濕度和光照強(qiáng)度,系統(tǒng)總體架構(gòu)圖如圖1所示,傳感器節(jié)點(diǎn)和邊界路由器采用CC2538微處理器的系統(tǒng)。CC2538基于Cortex M3的MCU系統(tǒng),支持最多32KB的片上RAM和512KB的片上閃存,具備可靠的IEEE802.15.4射頻功能。功率消耗在CPU閑置時(shí),有源模式RX為20mA,TX為24mA,在三種功率模式下能耗分別為0.6mA,1.3μA和0.4μA。電源模塊上,傳感器節(jié)點(diǎn)和邊界路由器同時(shí)支持有源供電和鋰電池供電。邊界路由器外接ENC28J60模塊,該模塊為IEEE802.11兼容的以太網(wǎng)控制器,集成了MAC和10BASE-T物理層協(xié)議,可接入標(biāo)準(zhǔn)以太網(wǎng)絡(luò)。
各設(shè)備間網(wǎng)絡(luò)通信協(xié)議如圖2所示,其中傳感器節(jié)點(diǎn)基于6LowPAN實(shí)現(xiàn)COAP協(xié)議以及相關(guān)的采集和通信應(yīng)用;邊界節(jié)點(diǎn)實(shí)現(xiàn)多個(gè)協(xié)議棧,基于6LowPAN的IPV6協(xié)議棧與基于以太網(wǎng)的IPV6協(xié)議棧實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)與互聯(lián)網(wǎng)互聯(lián)互通,MQTT協(xié)議以及匯聚應(yīng)用實(shí)現(xiàn)信息匯總和發(fā)布;手機(jī)/PC/服務(wù)器等通過(guò)COAP和MQTT查詢(xún)采集數(shù)據(jù)或者得到相關(guān)通知。
3 系統(tǒng)實(shí)現(xiàn)算法
3.1 Contiki平臺(tái)設(shè)計(jì)
Contiki是一種適用于資源受限環(huán)境下的無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng),它用C語(yǔ)言開(kāi)發(fā),具有多任務(wù)管理與調(diào)度,資源分配與進(jìn)程間通信等功能;進(jìn)程間采用共享堆棧的方式,進(jìn)程間切換僅需要2字節(jié)保留現(xiàn)場(chǎng)。
Contiki操作系統(tǒng)已經(jīng)支持CC2538硬件平臺(tái),因此操作系統(tǒng)層級(jí)主要是增加對(duì)COAP/MQTT協(xié)議、slip-radio協(xié)議棧、傳感器采集進(jìn)程和消息收發(fā)進(jìn)程的初始化、配置和引導(dǎo),優(yōu)化后的Contiki操作系統(tǒng)運(yùn)行流程如圖3所示。
3.2 應(yīng)用軟件算法設(shè)計(jì)
傳感器節(jié)點(diǎn)應(yīng)用軟件針對(duì)COAP和MQTT不同協(xié)議棧定義不同的Protothread。對(duì)于COAP協(xié)議,傳感器節(jié)點(diǎn)定義溫濕度和光照傳感器資源,定時(shí)采集并更新;對(duì)于MQTT協(xié)議,應(yīng)用軟件還需要測(cè)試與MQTT Server的連通性,發(fā)布數(shù)據(jù)以及關(guān)閉連接等。算法設(shè)計(jì)如圖4所示。
MQTT應(yīng)用軟件處理傳感器事件比較復(fù)雜,分為8種狀態(tài)進(jìn)行處理:
(1)初始狀態(tài)。應(yīng)用進(jìn)程初始時(shí)進(jìn)入該狀態(tài);
(2)配置錯(cuò)誤狀態(tài)。當(dāng)讀取或更新MQTT配置信息錯(cuò)誤時(shí),由初始狀態(tài)進(jìn)入該狀態(tài);
(3)錯(cuò)誤狀態(tài)。任意非配置錯(cuò)誤狀態(tài)均可進(jìn)入該狀態(tài);
(4)已登記狀態(tài)。系統(tǒng)由初始狀態(tài)向MQTT服務(wù)器發(fā)起登記請(qǐng)求,成功后進(jìn)入該狀態(tài);
(5)連接中狀態(tài)。系統(tǒng)在登記成功后,向MQTT服務(wù)器發(fā)起連接進(jìn)入該狀態(tài);
(6)已連接狀態(tài)。系統(tǒng)連接成功后進(jìn)入該狀態(tài),并且發(fā)起publish動(dòng)作;
(7)發(fā)布中狀態(tài)。系統(tǒng)發(fā)起publish后進(jìn)入該狀態(tài),發(fā)布完成進(jìn)入初始狀態(tài)。
4 實(shí)驗(yàn)和測(cè)試
針對(duì)該混合組網(wǎng)形式,共組織了兩類(lèi)實(shí)驗(yàn):協(xié)議連通性測(cè)試和性能測(cè)試實(shí)驗(yàn)。其中連通性測(cè)試實(shí)驗(yàn)部署1個(gè)邊界路由器節(jié)點(diǎn),2個(gè)COAP傳感器節(jié)點(diǎn)和2個(gè)MQTT傳感器節(jié)點(diǎn),1個(gè)無(wú)線路由器和1個(gè)ENC28J60,一臺(tái)Ubuntu應(yīng)用服務(wù)器,安裝Mosquitto作為MQTT服務(wù)器,F(xiàn)irefox安裝Copper插件作為COAP客戶(hù)端。核心的實(shí)物網(wǎng)絡(luò)連接如圖5所示。
實(shí)驗(yàn)總共進(jìn)行5次,分別對(duì)COAP節(jié)點(diǎn)和MQTT節(jié)點(diǎn)用ping6命令測(cè)試連通性,用Firefox檢查COAP節(jié)點(diǎn)協(xié)議啟動(dòng)情況,用mosquitto客戶(hù)端檢查MQTT服務(wù)連接和傳感器數(shù)據(jù)publish情況。測(cè)試結(jié)果表明系統(tǒng)連通性良好,協(xié)議棧運(yùn)行穩(wěn)定。如圖6(a)所示,左邊是訂閱MQTT主題iot-2/evt/status/json的日志,右邊是mosquitto服務(wù)器日志:如圖中標(biāo)識(shí),MQTT節(jié)點(diǎn)成功發(fā)布了溫濕度信息且被訂閱客戶(hù)端正確收到;如圖6(b)所示,左邊是Firefox顯示節(jié)點(diǎn)COAP信息,右邊是交互的協(xié)議棧信息,如圖中標(biāo)識(shí)所示,基于6LowPAN的COAP協(xié)議棧正確的進(jìn)行交互。
性能測(cè)試采用Contiki平臺(tái)的COOJA模擬器,隨機(jī)部署22個(gè)節(jié)點(diǎn),從上電開(kāi)始每次總計(jì)監(jiān)測(cè)150秒,測(cè)試5次,得到網(wǎng)絡(luò)性能如表1所示。根據(jù)表中數(shù)據(jù),基于6LowPAN的COAP/MQTT混合網(wǎng)絡(luò)無(wú)線消息發(fā)送和接收耗時(shí)比例~0.21%,有效的節(jié)省系統(tǒng)整體能耗。
5 結(jié)語(yǔ)
基于IPV6的智慧果園澆灌系統(tǒng)的無(wú)線傳感器組網(wǎng)方案,相比Zigbee網(wǎng)絡(luò)更加簡(jiǎn)單而且可和現(xiàn)有互聯(lián)網(wǎng)絡(luò)透明互聯(lián)互通。采用COAP和MQTT混合組網(wǎng)既可以實(shí)現(xiàn)系統(tǒng)節(jié)點(diǎn)的被動(dòng)查詢(xún),也可以實(shí)現(xiàn)傳感器數(shù)據(jù)的主動(dòng)推送,從而方便大規(guī)模傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的管理。本文綜合以上因素,基于CC2538平臺(tái)提出一種智慧果園澆灌系統(tǒng)環(huán)境檢測(cè)的方案,實(shí)驗(yàn)測(cè)試表明可以在較低的能耗下獲得COAP與MQTT節(jié)點(diǎn)混合組網(wǎng)。該方案不僅適應(yīng)于果園的環(huán)境檢測(cè),也可以廣泛應(yīng)用于其他農(nóng)作物生長(zhǎng)澆灌環(huán)境監(jiān)控。本文沒(méi)有分析COAP與MQTT混合組網(wǎng)時(shí)整體網(wǎng)絡(luò)能耗的增加比例,這在果園澆灌系統(tǒng)監(jiān)測(cè)中并非關(guān)鍵要素,但對(duì)于某些作物覆蓋廣泛的農(nóng)場(chǎng)非常重要,是下一步進(jìn)行研究的方向。
參考文獻(xiàn)
[1]余國(guó)雄,王衛(wèi)星等,基于物聯(lián)網(wǎng)的荔枝園信息獲取與智能灌溉專(zhuān)家系統(tǒng)[J].農(nóng)業(yè) 工程學(xué)報(bào),2016(20):144 -152.
[2]劉書(shū)倫,馮高峰,賈寶華.基于物聯(lián)網(wǎng)Android平臺(tái)的遠(yuǎn)程智能節(jié)水灌溉系統(tǒng)[J].農(nóng)機(jī)化研究,2015 (06): 217-220.
[3]黃艷,楊登強(qiáng),基于物聯(lián)網(wǎng)技術(shù)的精準(zhǔn)灌溉農(nóng)業(yè)系統(tǒng)應(yīng)用框架[J].現(xiàn)代計(jì)算機(jī),2012(20):68-71+76.
[4]尚志躍,曾成等.基于商業(yè)云平臺(tái)植物工廠環(huán)境監(jiān)測(cè)系統(tǒng)的研究與實(shí)現(xiàn)[J].農(nóng)機(jī)化研究,2017 (09):7-13+30.
[5]安進(jìn)強(qiáng),魏凱,王立乾,宋增芳,基于物聯(lián)網(wǎng)的精確灌溉控制技術(shù)研究[J].西北農(nóng)林科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2013 (12):220-226
[6]楊曉迪,古麗米拉·克孜爾別克,孫偉.基于物聯(lián)網(wǎng)的新疆干旱區(qū)城市防護(hù)林溫濕度監(jiān)測(cè)系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017 (01):111-115.
[7]張兵,袁壽其,成立,袁建平,從小青,基于L-M優(yōu)化算法的BP神經(jīng)網(wǎng)絡(luò)的作物需水量預(yù)測(cè)模型[J].農(nóng)業(yè)工程學(xué)報(bào),2004 (06): 73-76.
[8]胡國(guó)強(qiáng),李茵,蔚繼承,基于6LoWPAN和CoAP的農(nóng)業(yè)環(huán)境信息傳感系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J],現(xiàn)代電子技術(shù),2016(23):152-156.
[9] Richard G.Allen; Luis S.Pereira;Dirk Raes; Martin Smith (1998).CropEvapotranspiration -Guidelines forComputing Crop Water Requirements.FAO Irrigation and drainage paper56. Rome, Italy: Food and AgricultureOrganization of the United Nations.ISBN 92-5-104219-5.
[10] Dunkels A,Gronvall B,VoigtT. Contiki-a lightw eight andflexible operating system for tinynetworked sensors [C].Proceedings ofthe 29th Annual IEEE InternationalConference on Local ComputerNetworks. 2004: 455-462.