翟豐鋆,謝佳琦,胡 力,朱長城
(吉首大學(xué)信息科學(xué)與工程學(xué)院, 湖南 吉首 416000)
為了提高室內(nèi)植物的存活率,需要充分考慮溫度、濕度和光照等方面的生態(tài)條件[1-3],這將花費(fèi)人們大量的時間和精力.為此,王光耀等[4]基于傳感網(wǎng)絡(luò)設(shè)計了一套家居植物智能澆灌系統(tǒng),子系統(tǒng)使用WIFI技術(shù)分別與路由網(wǎng)關(guān)連接,能夠?qū)崿F(xiàn)遠(yuǎn)程澆灌,然而其WIFI節(jié)點相互獨(dú)立,常規(guī)條件下與路由網(wǎng)關(guān)連接的個數(shù)為10~40,無法完成大規(guī)模部署.吳瑞坤等[5]基于ZigBee和Internet技術(shù)設(shè)計了一套植物培養(yǎng)監(jiān)控系統(tǒng),可以實現(xiàn)對植物的遠(yuǎn)程監(jiān)測、控制和多模式管理,但是無法實現(xiàn)對不同植物的自動調(diào)控.為了解決這些問題,筆者將ZigBee無線傳感網(wǎng)絡(luò)、智能管理和移動終端相結(jié)合,擬設(shè)計一套基于物聯(lián)網(wǎng)的小型植物培養(yǎng)系統(tǒng).
系統(tǒng)采用IEEE802.15.4標(biāo)準(zhǔn)低功耗局域網(wǎng)協(xié)議的ZigBee技術(shù)組建無線傳感網(wǎng)絡(luò),使用先進(jìn)的傳感器技術(shù)采集植物的生長信息.無線傳感網(wǎng)絡(luò)各終端設(shè)備將傳感器采集到的數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器,網(wǎng)關(guān)設(shè)備通過4G網(wǎng)絡(luò)通訊模塊將協(xié)調(diào)器傳輸過來的數(shù)據(jù)上傳至服務(wù)器.用戶通過手機(jī)App,可以查看植物生長情況和查詢花卉品種專業(yè)數(shù)據(jù)庫,實現(xiàn)無人托管.系統(tǒng)總體結(jié)構(gòu)如圖1所示.
圖1 系統(tǒng)總體結(jié)構(gòu)Fig. 1 Overall Framework of the System
ZigBee探測節(jié)點采用CC2530芯片,其RF收發(fā)器性能優(yōu)良且自帶標(biāo)準(zhǔn)的增強(qiáng)型8051 CPU.1個ZigBee網(wǎng)絡(luò)理論上可容納65 536個節(jié)點,網(wǎng)絡(luò)中的任意節(jié)點之間可相互通信[6].ZigBee節(jié)點的功能是數(shù)據(jù)采集和設(shè)備控制, ZigBee協(xié)調(diào)器負(fù)責(zé)整個無線傳感網(wǎng)絡(luò)的組網(wǎng)控制、節(jié)點增減,以及ZigBee節(jié)點數(shù)據(jù)的接受和轉(zhuǎn)發(fā).
系統(tǒng)硬件的結(jié)構(gòu)如圖2所示.其工作原理為:ZigBee探測節(jié)點每隔2 s采集1次傳感器信息,傳感器信息無線傳輸至協(xié)調(diào)器,協(xié)調(diào)器與STM32F407 MCU之間采用串口通信,MCU通過4G串口模塊將傳感器信息和攝像頭采集的圖像信息發(fā)送至服務(wù)器.ZigBee無線傳感網(wǎng)絡(luò)采用星型網(wǎng)絡(luò)結(jié)構(gòu)(圖3).ZigBee協(xié)調(diào)器將接收到的探測節(jié)點數(shù)據(jù)通過串口傳送至網(wǎng)關(guān),其優(yōu)點是管理維護(hù)容易、節(jié)點擴(kuò)展、移動方便,且便于故障的診斷與隔離.
圖2 系統(tǒng)硬件的結(jié)構(gòu)Fig. 2 Hardware Design Block Diagram
圖3 ZigBee無線傳感網(wǎng)絡(luò)結(jié)構(gòu)Fig. 3 Wireless Sensor Network Structure of the ZigBee
ZigBee無線傳感網(wǎng)絡(luò)能實現(xiàn)全自動組網(wǎng),用戶根據(jù)需求可隨意添加或刪除ZigBee探測節(jié)點.協(xié)調(diào)器將分散在室內(nèi)各個角落的ZigBee節(jié)點傳輸過來的傳感器數(shù)據(jù),通過網(wǎng)關(guān)上傳到服務(wù)器.其程序流程如圖4所示.
圖4 Zigbee協(xié)調(diào)器程序流程Fig. 4 Flow Chart of the ZigBee Coordinator
ZigBee節(jié)點通過溫濕度傳感器、光照強(qiáng)度傳感器和土壤濕度傳感器分別監(jiān)測空氣溫濕度、光照強(qiáng)度和土壤濕度,并控制澆水裝置、紅藍(lán)LED燈和制熱設(shè)備.其程序流程如圖5所示.
圖5 Zigbee探測節(jié)點程序流程Fig. 5 Flow Chart of the ZigBee Detection Node
Netty具有高并發(fā)和傳輸快等優(yōu)點,能夠較好地滿足物聯(lián)網(wǎng)服務(wù)器數(shù)據(jù)量大、傳輸實時性高的要求[7],因此服務(wù)器采用基于Netty的通信框架.Netty提供異步的、事件驅(qū)動的網(wǎng)絡(luò)應(yīng)用程序框架和工具,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序.服務(wù)端序列如圖6所示.
圖6 基于Netty的服務(wù)端序列Fig. 6 Server Sequence Based on Netty
服務(wù)器端主程序設(shè)計流程如圖7所示.其中MessageBuff為協(xié)議體緩存的字節(jié)數(shù)組,ctx為與服務(wù)器連接的通信對象,數(shù)據(jù)的發(fā)送和接收都是通過對象ctx.
圖7 服務(wù)器端主程序設(shè)計流程 Fig. 7 Main Program Design Flow of the Server
手機(jī)客戶端為Android客戶端,采用Android Studio開發(fā).用戶登錄賬戶后綁定網(wǎng)關(guān)設(shè)備,在網(wǎng)關(guān)設(shè)備中可以添加6 000多個ZigBee節(jié)點,通過ZigBee節(jié)點管理子系統(tǒng).手機(jī)客戶端功能流程如圖 8所示.
圖8 機(jī)客戶端功能流程Fig. 8 Flow Chart of the Mobile Phone
實驗于2018年1 月進(jìn)行,實驗?zāi)J綖闊o人托管,培養(yǎng)花卉為君子蘭.君子蘭冬季生長適宜溫度是15~20 ℃,土壤濕度是40%,每天接受8 h光照.在服務(wù)器數(shù)據(jù)庫中,設(shè)定冬季時間為11月至次年1月,溫度為20 ℃,土壤濕度為40%,補(bǔ)光光照時間為17:30—18:30,光照強(qiáng)度為5 000 Lux.培養(yǎng)系統(tǒng)如圖9所示.
圖9 培養(yǎng)系統(tǒng)Fig. 9 Experimental Culture System
手機(jī)客戶端上選擇1號ZigBee節(jié)點設(shè)備,設(shè)置模式為無人托管,時間為1月,植物種類為君子蘭,如圖10所示.實驗數(shù)據(jù)與專業(yè)數(shù)據(jù)庫里的預(yù)設(shè)數(shù)據(jù)較接近,如圖11所示.
圖10 無人托管設(shè)置界面Fig. 10 Interface of Unmanaged Setting
圖11 遠(yuǎn)程數(shù)據(jù)監(jiān)控界面Fig. 11 Interface of Remote Data Monitoring
基于物聯(lián)網(wǎng)技術(shù)的小型植物培養(yǎng)系統(tǒng),將無線傳感網(wǎng)絡(luò)與服務(wù)器、手機(jī)客戶端互聯(lián),經(jīng)常遠(yuǎn)行或缺乏管理經(jīng)驗的人通過手機(jī)客戶端,就能利用花卉品種專業(yè)數(shù)據(jù)庫對不同植物在不同季節(jié)的生長狀態(tài)進(jìn)行遠(yuǎn)程監(jiān)控.此外,由于通過ZigBee無線傳感網(wǎng)絡(luò)可以對室內(nèi)(或特定場所)所有分散的植物進(jìn)行統(tǒng)一管理,因此企業(yè)用戶能在無人托管模式下實現(xiàn)植物智能管理的大規(guī)模部署.