高波 彭程 王志勇 李兆澤 邢世杰 周利杰



摘要:針對室內盆栽長期無人看守養護的情況,研究設計了一種利用物聯網技術的盆栽遠程監測和控制系統。首先,該系統根據ZigBee輕型無線通信協議建立了由CC2530作為感知終端控制器的無線傳感器網絡,然后主控單元樹莓派三代與感知層節點串口通信,并通過搭建Web服務器和數據庫實現數據存儲和互聯網服務,最后遠程用戶可由Internet與Web服務器的信息交互,實現盆栽的遠程監測和控制。通過現場演示證明,該盆栽物聯網監控系統具有良好的可靠性。
關鍵詞:盆栽;物聯網;ZigBee;Web服務器;遠程監控
0 引言
目前,物聯網技術在智能家居領域得到了推廣和應用[1-2]。其中,盆栽養護利用物聯網技術可以遠程監控植物所需的水、光和營養等環境數據,保證其能夠健康生長。傳統的物聯網技術過分依賴感知終端和互聯網的直接通信[3],這種方式會隨著終端數量的增加而加重通信負擔。鑒于此,本文采用基于ZigBee技術的無線傳感器網絡[4],可同時允許多個感知終端接入Internet,建立盆栽物聯網監控系統,實現手機端實時遠程狀態監測和控制。
1 盆栽物聯網監控系統設計
1.1? ? 總體結構
盆栽物聯網監控系統總體結構如圖1所示,由下到上分別是感知執行層、網絡層、應用層。其中,感知執行層包括傳感器和執行模塊,比如溫度、濕度、光照強度等傳感器以及水泵、遮陽電機、營養液投放器等執行單元。CC2530節點控制器利用ZigBee/Z-Stack協議棧建立無線傳感器網絡,形成數據匯集點并通過RS485串口與樹莓派三代主控制器進行信息交互。
網絡層中,樹莓派三代主控系統作為中樞節點實現感知層數據與Internet之間的交互。主控單元在Linux系統下搭建Web服務器和數據庫,并通過Wi-Fi模塊與互聯網相連。Web服務器可以響應用戶請求,數據庫可以存儲終端節點傳輸數據。
應用層由手機小程序和PC機端組成,通過Internet訪問中樞節點Web服務器,獲取盆栽實時數據和歷史數據,并可以將用戶需求下發給盆栽系統實現遠程信息交互。
1.2? ? 系統主要功能
基于物聯網技術架構的盆栽監控系統,其主要功能包括以下四大方面:
(1)實時監測。針對盆栽環境數據,采用DHT11溫濕度傳感器實時采集空氣環境溫度和濕度,YL69濕度傳感器監測土壤濕度,利用光敏電阻獲取光照強度。同時,采用圖像傳輸、電壓/電流測量等方式獲取系統運行數據。最終在物聯網架構下,利用上述監測方式獲取實時監測數據,并通過通信網絡傳輸給主控系統,完成數據存儲和交互。
(2)智能保護。為提高盆栽遠程監控系統的穩定性和可靠性,設定了智能保護、休眠與復位功能。當監測數據出現異常告警后,會通過用戶端及時提醒用戶處理異常和故障。警告信號包括感知層傳感器數據的異常(比如光照過強、溫度過高、土壤水分過少等)、系統自身狀態異常(比如過電壓、過電流、過熱、電池電量不足、水箱缺水、營養液不足等)。
(3)自動控制。用戶可以根據需要,通過手機APP設置系統的工作模式,分為手動、自動模式。自動模式下,根據實時獲取的監測數據,主控制器進行分析和判斷,實現自主澆水、施肥、遮陽等自動控制功能。手動模式下,用戶可以根據監控數據直接下發控制命令,完成盆栽的養護。其中,自動施肥屬于定期施肥,施肥周期根據植物類型對營養需求不同而設定。
(4)網絡通信。系統的網絡通信技術涵蓋了串口通信、Z-Stack協議棧、Web服務器和互聯網技術,完成由感知層節點控制器CC2530、中樞點樹莓派三代控制器到遠程用戶端的網絡通信,實現信息的實時交互。
1.3? ? 軟件設計
系統主程序流程圖如圖2所示,主要包括初始化,建立通信網絡,數據采集、傳輸和存儲,系統分析判斷,命令執行等部分。其中,數據采集包括上述環境數據和系統運行狀態。當檢測到系統正常運行時,系統會自動進入休眠,降低功耗。
2 技術要點分析
系統涵蓋了以下五方面關鍵技術,包括無線傳感器網絡技術、自動澆水/施肥、數據庫、Web服務器、用戶端遠程監控平臺設計。
2.1? ? 無線傳感器網絡技術
為了避免多傳感器終端負載過重的問題,設計了一套基于ZigBee/Z-Stack協議棧的輕型無線傳感器網絡,可將網絡內全部感知終端數據由CC2530控制器形成匯聚節點。CC2530控制器電路設計如圖3所示。
2.2? ? 自動澆水和施肥
自動澆水或施加營養液的關鍵是適時、適量。當系統判斷需要澆水時,通過脈沖寬度調制方式驅動水泵電機。在這種方式下,驅動信號頻率固定,通過調節觸發脈沖的占空比來調控水泵電機轉速。自動澆水對應電路如圖4所示,其中光耦器件具有電氣隔離的作用。定期自動施肥技術與此相似。系統通過連通器原理,能夠顯示水容量和營養液容量,并通過圖片傳輸完成剩余量的判斷。
2.3? ? 數據庫設計
為了實現系統監測數據的存儲和查詢,主控系統利用關系型數據庫管理系統(MySQL)實現數據庫管理。首先設計一個與感知層設備相對應的終端表“end_device”,然后建立能保存終端設備監測信息包的數據表“data”,最后利用connect()函數建立數據庫連接對象,并用cursor()建立操控對象,使用execute()完成對數據庫的操作。同時,為了降低數據采集量,設置定期清理不必要數據的程序。系統以2 h為一個周期,清理前2 h數據的同時,求得這2 h數據的平均值并存在“data_two_Hours”數據表里,方便用戶查詢歷史數據。
2.4? ? Web服務器
Web服務器采用了Apache HTTP Server,其采用Python語言作為服務器端腳本語言來處理遠程設備網絡請求。同時配置了CGI擴展庫和處理網絡請求的API,并與MySQL數據庫建立連接,在互聯網服務基礎上提供查詢服務。在服務器中設定分別用來實現獲取設備信息、實時數據和一定時間內歷史數據的3個服務腳本,利用SQL語句與數據庫交互。
2.5? ? 遠程監控平臺
遠程監控平臺主要是指在手機小程序中開發的一套小程序,可通過訪問互聯網Web服務器獲得盆栽環境信息,并將這些信息顯示在手機上。用戶也可以通過小程序發送控制命令給云服務器,再由云服務器通過網絡下發給終端執行層,進而實現盆栽遠程監控。同時,小程序中設計了基于歷史數據和天氣環境的信息,并根據盆栽類型,綜合分析判斷,給出養護建議。
3 實際應用情況
手機小程序可以顯示智能花盆環境信息和系統信息,并可以通過微型攝像頭拍照獲取盆栽實時狀況和水位信息,如圖5(a)所示。利用APP可以對盆栽進行遠程控制,亦可以獲取歷史數據,獲得養護建議等,如圖5(b)所示。經實際測試,基于物聯網技術的盆栽監控系統實現了相關功能,具有較好的穩定性和可靠性。
4 結語
本文針對基于物聯網技術的盆栽遠程智能監控系統進行了設計與分析,并通過現場應用證明了其穩定性與可靠性。該系統解決了盆栽長期無人看守下的生長問題,在智能家居建設中具有重要的參考意義和應用價值。
[參考文獻]
[1] 沈蘇彬,范曲立,宗平,等.物聯網的體系結構與相關技術研究[J].南京郵電大學學報(自然科學版),2009,29(6):1-11.
[2] 劉強,崔莉,陳海明.物聯網關鍵技術與應用[J].計算機科學,2010(6):7-10.
[3] 王志勇,李光,高波.基于物聯網的智能消防系統設計[J].河北工程技術高等專科學校學報,2017(3):9-12.
[4] 李燕,路文梅,李文才,等.基于物聯網技術的遠程抄表監控系統的設計與實現方式研究[J].河北水利電力學院學報,2018(1):25-28.
收稿日期:2020-02-26
作者簡介:高波(1989—),男,河南信陽人,助教,從事電氣工程及其自動化專業的教學和科研工作。
通信作者:李兆澤(1999—),男,河北石家莊人,研究方向:電氣工程及其自動化。