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