李洪兵,羅洋,張穎,王雨凝,歐俊,崔浩
(重慶三峽學院,重慶市,404120)
果蔬大棚種植中環境因子對果蔬生長狀況及其產量起著至關重要的作用[1]。精準的監測并調控大棚中環境參數是現代果蔬業技術發展的關鍵,是果蔬品安全生產的保障[2]。為進一步提高果蔬生產水平、降低人工管理成本、保障作物生長安全,智能果蔬大棚環境監控系統已成為當前現代農業研究和應用熱點之一[3]。果蔬大棚種植環境監測系統有著較大的應用場景需求[4]。
國內外果蔬農業智能化發展較快,智能信息處理與自動控制技術逐步引入其中[5-6]。國外大棚測控系統目前發展比較成熟,自動化程度高[7-10],但設備系統龐大、直接引進成本高。國內近年來有人提出了諸多解決方案,王凡等[11]雖然實現了數據采集,但使用開源套件存在使用方式固化、數據監測種類單一的缺點。朱均超等[12]采用Bootdtrap和ECharts等技術,提供響應式布局可視化網頁操作界面,但缺乏反饋控制系統。王永振等[13]采用了WiFi、Bluetooth、GPRS、ZigBee、LoRa等協議進行數據傳輸,雖然實現了無線通信,但WiFi、Bluetooth通信距離太短。單一ZigBee僅能實現局域組網通信,GPRS能實現廣域組網通信但功耗過高、不適用于郊外果蔬種植大棚,LoRa能在低功耗的情況下實現長距離通信、但需獨立建網、屬于無執照波段的高風險局域網物聯技術[14-17]。
隨著農業物聯網、無線傳感網絡(Wireless Sensor Network, WSN)等技術的日趨成熟,智能農業水平大幅提高[4]。高新技術與果蔬農業相結合的發展趨勢也日益明顯[5-6]。窄帶物聯網(Narrow Band Internet of Things, NB-IoT)是構建于蜂窩網絡的一種新興IoT通信技術,具有深覆蓋、低功耗、大連接、低成本等特點,在物聯網無線通信應用領域取得顯著成效。因此,針對當前農業果蔬大棚環境數據感知不強、現場維護工作量大、無線覆蓋區域受限、生產管理效率低、成本高等問題,本文開展了一種基于模糊PID控制的NB-IoT 果蔬農業物聯網系統的研制與試驗。
設計基于模糊PID控制的NB-IoT果蔬農業物聯網系統,主要實現五大方面的功能:(1)實現對果園種植環境空氣與土壤等參數的采集;(2)實現采集環境數據的無線傳輸;(3)實現數據的統計分析與人工智能處理;(4)實現由于環境參數異常而觸發的自動反饋調節系統;(5)基于模糊PID控制的NB-IoT果蔬農業物聯網系統仿真。
系統架構按照物聯網分層模型設計為設備層、網絡層、平臺層和應用層。設備層主要包含前端節點與自動控制系統,節點內置多種傳感器,實現對監測區域空氣和土壤環境參數的檢測。網絡層主要包含ZigBee局域自組網通信與NB-IoT遠程蜂窩網絡通信,在保證局域組網通信穩定的基礎上將采集到的數據通過NB-IoT傳送至云服務端。平臺層為采用B/S架構的NB-IoT物聯網云平臺,底層設備通過TCP/IP、UDP網絡通信協議直接接入云服務平臺,云服務端對數據進行分析與處理。應用層通過HTML和APP給予用戶操作界面,用戶可通過網頁或者APP實時遠程查看數據,對數據量設置閾值,系統進行數據處理后實現預警與智能反饋調節作用。系統總體架構如圖1所示。

圖1 系統總體架構
系統硬件以STM32L475ZET6低功耗芯片為核心,主要由傳感器檢測模塊、ZigBee無線傳感模塊、NB-IoT 無線蜂窩網絡模塊、攝像頭模塊、顯示模塊和環境調控模塊構成。系統整體硬件模塊設計如圖2所示。

圖2 系統整體硬件模塊設計
傳感器檢測模塊主要包含微處理器、電源模塊和空氣溫濕度傳感器、二氧化碳傳感器、光照強度傳感器、海拔高度傳感器、雨滴傳感器、風速傳感器、土壤溫濕度傳感器、氮磷鉀傳感器等傳感器。通過各傳感器對前端節點環境參數的檢測,可為作物生長模型分析和精準調控提供依據。系統主要檢測空氣溫濕度、二氧化碳濃度、光照強度、土壤溫濕度、土壤氮磷鉀含量等10個環境因子。系統前端節點傳感器檢測設計如表1所示。

表1 前端節點傳感器檢測設計Tab. 1 Design of sensor detection for front destination node
ZigBee節點電路設計如圖3所示。

圖3 ZigBee節點電路設計
ZigBee通信模組選用E18-MS1-PCB模組,內置CC2530芯片遵循IEEE802.15.4標準,工作電壓為1.8~3.6 V,載波頻率為2.4~2.48 GHz,發射功率為4 dBm。標準通信距離為75 m,支持多跳拓展至數千米以上。設計采用Z-Stack協議,模組與MCU通過串口連接,其中引腳UART0_TX與STM32 PA3口、UART0_RX與STM32 PA2口硬件連接,采用USART異步通信協議。
NB-IoT通信電路設計如圖4所示。NB-IoT無線通信模塊采用USR-NB700 BA模組,工作電壓為5~36 V,IDLE功耗為12 mA(12 V),SLEEP功耗小于9 mA(12 V),工作于HD-FDD-LTEB5網絡標準頻段。

圖4 NB-IoT通信電路設計
設計采用RS232總線將模組與MCU進行連接,其中引腳RS232_TX與STM32 PC5口、RS232_RX與STM32 PC4口硬件連接,通信線串聯R5與R6電阻,限制環路電流,抑制噪聲,使信號更穩定。電源處并聯C4、C8、C9電容進行濾波處理,濾除高頻分量和低頻干擾,提高電源負載驅動能力。
環境調控模塊包括排風扇、二氧化碳發生器、溫度控制器、補光燈、噴淋器、灌溉器、遮光罩等,均采用直流24 V驅動。電源為LRS-330-24直流電源,交流220 V轉換至直流24 V、14.6 A。調控設備與主控間由多路高速開關繼電器進行連接。
為防止驅動設備與主控間信號干擾以及電壓倒灌損壞MCU,繼電器設計采用光耦隔離,提供驅動能力的同時,保證系統穩定性,環境調控模塊電路設計如圖5所示。

圖5 環境調控模塊電路設計
主控芯片采用超低功耗高性能STM32L475ZET6,該MCU采用32位帶DSP和浮點單元(FPU)的ARM? Cortex?-M4內核,工作于2.0~3.6 V電壓,頻率為80 MHz,提供512 KB閃存,多內存以及多浮點運算為系統數據初步處理提供強大算力。
設計采用SDIO與Quad-SPI用于外置存儲卡的驅動連接;攝像頭與MCU連接采用FSMC接口;使用內部基本電壓緩沖器與ADC通道進行外設模擬量數據的讀取與轉換。系統設計200VAC經變壓器轉出的5 VDC接入穩壓芯片AMS1117輸入引腳,經穩壓后輸出模擬3.3 VDC,電源VCC_3V3與VCC_3.3M之間采用0歐電阻連接,進行電源濾波處理,將模擬電壓與數字電壓隔離,使電路電壓更穩定,減少信號之間的干擾。
STM32L475ZET6強大的硬件支持與超低功耗特點滿足于系統應用需求,最小系統電路圖如圖6所示。

圖6 STM32L475ZET6最小系統電路
前端節點軟件設計流程如圖7所示。

圖7 前端節點軟件設計流程
終端節點方面采用Keil MDK5集成開發環境對STM32L475ZET6微處理器進行編程,通過SEGGER J-Link V9仿真器與單片機下載接口相連接,程序編寫完成后進行編譯、下載、仿真,并燒錄進MCU ROM,程序開發完成。具體實現的功能有獲取信號、數據處理、發送數據、接受命令等方面,數據采集過程使用One-Wire、PWM/USART、IIC、ADC、Modbus-RTU、RS485等多種通信方式,按照各傳感器規定的協議進行通信得到原始數據,進一步進行協議解析、補償,便得到系統需要的數據,將各數據融合處理,做好上傳準備,按照設定周期進行數據傳送。節點空閑時間進入休眠狀態,可由云端指令喚醒。
系統數據傳輸采用ZigBee多節點無線傳感網絡通信結合NB-IoT蜂窩網絡進行無線傳輸,分別負責內部局域和外部廣域網絡通信。前端節點采集數據后采用通過ZigBee模組將數據傳送至控制中心MCU,經MCU處理后的數據通過NB-IoT蜂窩網絡模組進行入云操作,數據傳送至云服務器。ZigBee與NB-IoT相結合的方式既保證了局域網內系統的穩定運行,又實現了長距離的數據通信,避免了傳統單一ZigBee、Blue、LoRa等局域網絡通信傳輸范圍有限,無法進行遠程通信,或GPRS廣域網絡通信成本與功耗過高,且在偏遠山區容易出現信號不穩定造成信息滯后、丟失等問題,保證了信息傳輸的準確性和實時性。
3.2.1 ZigBee無線傳感網絡軟件設計
ZigBee開發環境選用IAR IDE,軟件程序設計基于Z-Stack協議棧,采用Mesh拓撲(網狀拓撲)網絡結構與組播網絡通信方式開發,包含一個協調器(Co-ordinator)、一系列的路由器(Router)和終端(End-Device)。靈活的信息路由規則機制使得信息的通訊更具效率,且一旦某個路由路徑出現問題,信息可以自動沿著其他路由路徑進行傳輸。此路由探索特性使系統網絡具有強大的功能,在實現“多跳級”方式通信的同時,具備網絡自組織和自愈功能,使之系統網絡更加穩定。ZigBee網狀拓撲結構如圖8所示。

圖8 ZigBee網狀拓撲結構
系統工作初始,Co-ordinator進行網絡環境建立,首先選擇一條信道和網絡標識(PAN ID),并將0x0000作為自己的網絡地址,等待Router和End-Device加入網絡。父設備利用分布式分配機制對新入網設備進行16位網絡地址(16-bit IEEE address)分配。確定唯一網絡地址后,設備間進行網絡ID綁定,然后Co-ordinator進行信號組播,Router路由進行數據轉發,End-Device接收信號執行命令,組網完成。ZigBee Co-ordinator程序流程如圖9所示。

圖9 Co-ordinator程序流程
系統運行期間,End-Device接收外部數據,經處理后將傳至上級Router,各級Router將收到的數據轉發至Co-ordinator,各區域Co-ordinator將數據傳送至主控MCU進行數據匯總處理。ZigBee End-Device程序流程如圖10所示。

圖10 End-Device程序流程
NB-IoT無線蜂窩網絡軟件設計流程如圖11所示。

圖11 NB-IoT無線蜂窩網絡軟件設計流程
NB-IoT模塊負責將MCU處理后的數據與云端對接,實現系統上云操作,由微處理器STM32L475ZET6通過RS232向模組發送AT指令以進行配置。NB-IoT模塊第一次配置時,首先對SIM卡進行初始化處理,搜索信號,進一步連接到NB網絡,進入Connect狀態,待激活PDN,獲得網絡IP地址,建立PDN承載,進一步創建UDP SOCKET傳輸信道,建立用戶數據連接,收發系統數據。為節省功耗,采用30 min/次頻率進行數據上傳。數據交換完成后,依次設置模組進入DXR、PSM超低功耗模式。等待第二次數據上傳時,重新喚醒進入Connect狀態,正常收發數據。偏遠山區GSM信號存在不穩定因素,設計數據重傳機制,每次上云之前先請求握手確認,確保通信正常,再進行數據傳送。若握手失敗,則將數據暫存至SD卡,待下次握手成功后進行重傳。
數據傳輸基于標準的Modbus RTU協議進行擴展開發設計,采用16位CRC校驗,數據請求傳送一幀為29個字節,即232 Bit,數據幀組成為:設備號+功能碼+寄存器起始地址+寄存器單元長度+字節數+數據+CRC校驗。
3.2.2 終端上云數據收發軟件設計
終端節點將數據采集完成后通過ZigBee傳送至協調器,協調器內部將數據讀出處理后再傳送至云服務器。由于數據傳送過程消耗的能量遠大于數據處理所消耗的能力,故協調器先將從終端節點接收的數據進行初步處理,再上傳至云服務器。終端傳送周期為3 min/次,協調器傳輸周期為30 min/次,協調器每接收10組數據,通過最小二乘法處理求得與接收數據最小化誤差的平方和相匹配的數據作為協調器傳送的最優數據。
數據傳送過程終端向協調器發送數據量較大,協調器處理的速度小于接收的速度,容易產生丟包現象。設計一種環形緩沖隊列機制,引入環形緩存區對暫未處理的數據進行緩存,等待系統空閑處理,避免數據丟失、保證數據完整性。環形緩沖隊列機制如圖12所示。

(a) 環形緩沖機制建立原理
建立一個帶“頭指針”與“尾指針”的數組作為緩存區,“頭指針”指向緩存區內可讀取的數據,“尾指針”指向緩存區內可寫入的數據。通過“頭尾指針”的偏移便可實現緩沖區數據的讀寫操作。當協調器從終端接收到新的數據,將數據暫存至緩沖區中,同時“尾指針”加1,已保存下一組數據;協調器取出數據進行處理時,“頭指針”加1,以便讀取下一組數據;當“頭尾指針”超出緩存區大小時,則指針重新指向緩存區首元素,有效數據為“頭尾指針”之間,故而形成“環形緩存區”。通過此環形隊列機制,協調器緩存區可同時對數據進行讀寫操作,而互不干擾,保證數據通信的穩定性。
監控中心設計采用Web端云平臺和手機App設計。平臺對數據進行統計、處理,用戶可遠程對農作物生長環境數據進行監看,并發送指令進行調控等操作。
監控中心服務資源采用基于NB-IoT的物聯網(IoT)云平臺。該平臺為底層傳輸提供安全可靠的數據報送、數據存儲等。用戶無需購買傳統硬件設備、數據庫等中間件。下位機采用Modbus RTU(CRC16)協議完成部署通信。基于開發SDK,可通過有人云API進行二次開發,完成數據統計、分析與預測操作。云平臺設計流程如圖13所示。

圖13 云平臺設計流程圖
當前工業自動控制多采用閉環PID進行反饋調節。通過比例(Proportion)環節作用提高系統響應速度,積分(Integral)環節作用消除系統穩態誤差,微分(Differential coefficient)環節作用預見偏差、引入修正、減少系統調節時間。
但傳統PID調節多適用于線性調節系統,溫室種植大棚中溫度、濕度等因子耦合度高、滯后時間長、參數結構復雜,為非線性時變系統。經典PID模型無法適應此多元素復雜系統。因此,引入模糊數學控制理論,將系統不能精確量化的參數進行模糊化,作用于經典PID模型,形成自適應反饋調節機制,建立模糊PID系統。
模糊控制系統主要由模糊化、模糊推理、清晰化組成,即確立輸入輸出參數、設定其論域、建立隸屬度函數、建立模糊規則表、解模糊。將誤差量e與誤差變量ec輸入模型,經模糊處理后輸出數據u作用于PID,實現PID參數自整定過程,形成模糊PID。下面以溫度控制為例進行模糊PID設計與仿真分析。
根據溫棚系統的熱平衡關系,由能量平衡關系可得溫棚模型
(1)
式中:ρa——室內空氣密度,kg/m3;
Cp,n——室內空氣定壓比熱容,J/(kg·℃);
V——室內空氣體積,m3;
dTn/dτ——室內溫度變化率,℃/s;
qn——室內人員與設備的冷負荷,W;
mn——室內空氣質量流量,kg/s;
ts——送風溫度,℃;
tn——溫棚室內溫度;
tw——室外空氣溫度,℃;
F——房間與外墻直接接觸的傳熱面積,m2;
K——房間與外墻傳熱系數,W/(m2·℃)。
進行Laplace變換可得溫棚環境傳遞函數
(2)
由于環境溫度控制主要取決于環境特性,且存在滯后性,故可變為
(3)
式中:Kn——空調房間的放大系數;
Tn——空調房間的時間常數。
根據溫棚實際溫度變化情況以及溫度控制設備輸出作用于環境的情況分析總結可得,溫棚環境傳遞函數
(4)
溫度控制設備傳遞函數
(5)
溫棚環境自然溫度變化與溫度控制器作用為串聯關系,故系統總傳遞函數
(6)
通過Matlab中的Simulink工具分別繪制模糊PID模型總框圖及模糊PID控制與經典PID控制模型子框圖,輸入同一期望值,將經模糊PID和經典PID作用后的曲線進行對比分析。模糊PID與經典PID對比控制器模型、模糊PID控制器模型、經典PID控制器模型分別如圖14、圖15、圖16所示。

圖14 模糊PID與經典PID對比控制器模型總框圖

圖15 模糊PID控制器模型圖

圖16 經典PID控制器模型
4.3.1 模糊化設計
常見作物適宜生長溫度為8 ℃~30 ℃,故將系統調節溫度為3 ℃~35 ℃。設定溫度偏差e(t)和溫度偏差變化量ec(t),作為系統輸入參數1和參數2,論域分別為[-16,16],[-32,32]。根據模糊控制規則,對兩個輸入量進行模糊化處理,將論域劃分為8個區間,分別為(-16,-12)、(-12,-8)、(-8,-4)、(-4,0)、(0,4)、(4,8),(8,12)。-12,-8,-4,0,4,8,12分別用NL(負大)、NM(負中)、NS(負小)、ZE(零)、PS(正小)、PM(正中)、PL(正大)表示以建立模糊子集。
在Matlab-fuzzy工具箱中建立模糊子集隸屬度函數,設定各論域,并將各曲線命名為NL、NM等,方便模糊規則的添加。主要隸屬函數建立如圖17、圖18所示。

圖17 e(t)隸屬曲線圖

圖18 ec(t)隸屬曲線圖
4.3.2 模糊推理
建立由三個七模糊集合模糊規則表,推理e(t)和ec(t)對應的隸屬度,并根據模糊規則表于fuzzy工具箱中添加模糊規則。Δkp、Δki、Δkd對應的模糊控制規則如表2所示。

表2 Δkp、Δki、Δkd模糊控制規則Tab. 2 Fuzzy control rules of parameters Δkp、Δki、Δkd
4.3.3 解模糊
模糊控制器的輸出量是一個模糊集合,通過解模糊化方法判決出一個確切的精確量,解模糊化方法很多,這里選取重心法。
4.3.4 仿真結果
經Matlab仿真結果分析可得,設定目標值,系統運行時不斷對e(t)、ec(t)進行檢測(圖19)。兩參數輸入模糊控制器處理后動態輸出三參數,可以實時對kp、ki、kd參數進行整定調試,以適應外部環境因子的非線性變化特征。相對于傳統的經典PID,模糊PID作用下的階躍響應曲線收斂性更好、超調量更小、抗干擾性更高。將模糊PID控制算法應用于溫棚環境調節以實現智能反饋控制,使系統具有更高的復雜環境適應性和穩定性。

圖19 溫棚系統溫度階躍響應曲線圖
前期根據系統設計制作了原型系統,為期30天內,保持每天24 h不間斷運行,測試系統功能完整性與穩定性,以進一步優化完善。系統測試時設置數據上傳周期為15 min,一次發送數據包大小為232 Bit。隨機取5個時間段,根據云平臺獲取到的數據對系統丟包率進行統計。
原型系統測試完成后,進行實地部署測試。本系統選用農業園試驗基地進行測試。該基地采用現代化果蔬農業種植模式,占地2 khm2有余。不同農作物被放置的種植環境不同,作物種植環境具有代表性。實時檢測獲取溫濕度、二氧化碳濃度、光照強度和土壤氮磷鉀等環境因子信息。為了驗證系統運行時對果蔬大棚種植環境各因子的實時監測和精準調控,根據3個時間點(0:00、08:00、16:00),不同天氣(晴、陰、多云、雨),同一果蔬種植大棚不同種植區域(1號種植區域、7號種植區域、15號種植區域)進行數據監測,以實驗基地原有部署的有線監測系統所測得的參數為標準值,分別將果園大棚三個不同種植區域傳感器節點采集到的數據以及云端接收到的數據平均值與標準值進行比較。
經系統測試與實際果蔬大棚種植環境基地部署實驗,根據云平臺獲取到的數據與下位機發送出的數據對比進行丟包率分析,提取數據時間段為3月1—30日。系統在為期30天24 h不間斷運行情況下,平均丟包率為0.088%,具有良好的通信可靠性。
云平臺可以準確獲取并實時顯示果蔬大棚種植環境各節點檢測范圍內各環境因子的數據,并具有遠程報警提醒和自動調控等功能,系統經實際部署運行測試,系統檢測各參數與標準值比較,相對誤差很小,符合系統檢測與控制要求。
測試結果表明:該系統平均丟包率為0.088%,空氣溫濕度、土壤溫濕度、二氧化碳濃度等環境因子參數平均相對誤差保持在0.5%以內,風速、土壤氮磷鉀含量環境因子參數平均相對誤差保持在2.5%以內,NB-IoT 休眠功耗小于9 μA。系統具有超低功耗、工作穩定、網絡覆蓋廣闊、實時性響應良好等特點,能夠極大提高傳統果蔬大棚種植效益,降低生產管理成本,保障產品生產安全,具有良好的發展前景。
本文以現代果蔬大棚產業與農業物聯網技術為背景,提出了一套基于模糊PID控制的NB-IoT果蔬農業物聯網系統設計。以STM32L475VET6超低功耗芯片為主控芯片,通過NB-IoT和ZigBee雙協議融合組網技術和環形緩沖隊列算法組建廣域無線網絡,設計了現場監測終端與遠程云監控平臺,將局域終端節點采集的環境因子信息接入云服務器進行統計與分析。系統根據采集到的數據自動調控反饋控制設備,達到低功耗模式下的廣域覆蓋監測并智能反饋調控果蔬大棚環境因子的目的,實現了感知層、網絡層到平臺層和應用層一套完整的果蔬大棚物聯網系統設計。
將模糊PID控制算法應用于溫棚環境調節的仿真測試表明,能實現智能反饋控制,使系統具有更高的復雜環境適應性和穩定性。經實地部署系統并運行測試,在保證系統多節點部署、多參數檢測、低功耗工作、廣覆蓋通信的條件下,系統平均丟包率為0.088%,空氣溫濕度、土壤溫濕度、二氧化碳濃度等環境因子參數平均相對誤差保持在0.5%以內,NB-IoT休眠功耗小于9 μA,實現了優良的通信要求,滿足系統需求。以上試驗與結果證明了物聯網技術應用于現代果蔬大棚環境監控系統的可靠性,為農業大數據建立數據采集和遠程通信提供應用基礎。