李國利,周創,牟福元
(金陵科技學院機電工程學院,南京市,211169)
隨著現代農業生產技術的發展和生活水平提高,溫室大棚化種植得到迅速地推廣和應用。溫室大棚環境的溫度、濕度、光照強度、CO2濃度等環境因子對作物的生產有很大影響。大棚環境數據的人工經驗性監測方式存在時效性低、工作量大、生產成本高、隨機取點誤差大等問題;有線傳輸方式有很多的不足之處,如功耗較高、布線成本大、適應性差、可擴展性不強,且增加新的種植面積需要再次布線施工[1]。揚以,溫室大棚無線智能監控作為設施農業種植與生產過程中關鍵環節,是提高生產效率、保障農作物品質的重要措施[2-3]。
隨著移動通信技術和計算機技術的飛速發展,基于嵌入式技術和無線網絡的遠程監控技術逐漸發展起來[4-9]。借助傳感器技術、計算機技術、無線網絡技術實現農業大棚環境參數的實時檢測與控制已成為熱門研究課題。程力[10]、龔尚福[11]等采用ZigBee技術組建無線網絡實現了溫室大棚內環境數據的監控。吳寶忠等[12]將無線WiFi模塊采集的溫室現場環境參數傳輸給移動客戶端,通過手機APP實現數據監控。
ESP32芯片將天線開關、RF balun、功率放大器、低噪聲放大器、濾波器、電源管理模塊等功能集于一體,只需極少外圍器件,即可實現強大的處理性能、可靠的安全性能和WiFi、藍牙功能。ESP32在無線遠程監控領域的應用越來越廣泛[13-16]。本文以ESP32控制模塊和Android智能手機為硬件平臺,設計開發了溫室大棚遠程監控系統,并依托Blinker平臺開發了手機監控終端APP。借助該系統工作人員可通過手機隨時隨地監控大棚環境信息。
系統主要包括環境信息采集模塊、門禁刷卡模塊、ESP32控制模塊、OLED顯示模塊、輸出控制模塊、監控手機模塊。系統構成如圖1揚示。

圖1 系統構成框圖Fig.1 Hardware structure block diagram of monitoring system
ESP32控制模塊通過各傳感器采集環境參數并通過OLED顯示模塊顯示,當某參數超出設定的閾值范圍,系統驅動相關調節設備工作。工作人員通過刷射頻卡進出溫室大棚。ESP32控制模塊通過WiFi網絡與監控手機進行信息交互,監控人員通過手機APP可查看溫室大棚信息當前值及歷史記錄,也可通過APP發送控制信號給ESP32控制模塊,實現排風扇、噴淋器、空氣凈化器、空調、照明等設備的遠程控制。
ESP32控制模塊選用NodeMCU-32S WiFi物聯網開發板,該開發板主控為ESPRESSIF ESP32 WiFi+BT雙模雙核芯片,主頻高達240 MHz,支持UART/SPI/PWM/SDIO/ADC/DAC等多種接口,WiFi頻率范圍為2 400~2 483.5 MHz。
開發板引出大部分I/O口至兩側的排針,方便連接環境參數采集模塊、輸出模塊。系統硬件電路如圖2揚示。

圖2 監控系統電路原理圖Fig.2 Circuit schematic diagram of monitoring system
環境溫濕度采集電路選用DHT11數字溫濕度傳感模塊,該模塊內部含一個電阻式感濕元件和一個NTC測溫元件,并與單片機相連接,抗干擾能力強、響應快。系統采用光敏電阻檢測光照強度。CO2濃度檢測傳感器選擇MG-812模塊,該模塊采用固體電解質電池原理來檢測CO2濃度。當傳感器置于含CO2的氣體中時,電池正負極發生電極反應,傳感器敏感電極和參考電極之間產生電動勢,CO2濃度發生變化時輸出信號電壓也相應發生變化。PM2.5濃度采集電路選用GP2Y1014AU0F模塊,該模塊中心孔洞可使空氣流通,內部紅外發光二極管IRED和光電晶體管對角布置,IRED定向發射LED光,光電晶體管通過檢測經過空氣中灰塵折射后的光線來判斷灰塵的含量。GP2Y1014AU0F模塊工作時,VO引腳輸出與灰塵含量相關的脈沖電壓。
顯示模塊選用OLED顯示屏。OLED與LCD顯示屏相比,具有對比度高、輕薄、視角廣、反應速度快等優點。本設計采用4針OLED顯示屏模塊,屏幕內部驅動芯片為SSD1306,分辨率為128像素×64像素。模 塊 采 用I2C接口 方 式,SCL為OLED的D0引 腳,在I2C通 信 中 為時鐘引 腳,SDA為OLED的D1引腳,在I2C通信中為數據引腳。系統采用蜂鳴器報警,蜂鳴器用三極管驅動。輸出設備排風扇、噴淋器、空氣凈化器、照明等采用繼電器驅動。
本設計采用RFID-RC522射頻識別模塊控制門禁開關。該模塊采用MF RC522作為讀卡芯片,它集成了在13.56 MHz下揚有類型的被動非接觸式通信方式和協議,支持ISO14443A的多層應用,具有I2C、SPI和UART通信接口,采用SPI總線接口時其數據傳輸速率最高達10 Mbit/s。工作時,MF RC522芯片將數據調制后通過天線以射頻信號形式發送出去,ISO 14443A/MIFARE卡對射頻場的調制進行響應,天線接收響應信號并通過匹配電路送至芯片,芯片對信號進行檢測、解調及處理,控制模塊通過數據接口讀取處理后的數據[17]。本設計選擇采用SPI通信模式,控制模塊為主機,RFID-RC522模塊為從機,控制模塊主動發起通信并向SCK引腳發送統一時鐘信號,分別通過MOSI引腳、MISO引 腳發送、接收數 據,RST為模塊復位信號引腳,SDA為模塊片選引腳。系統選用電磁式門鎖,采用繼電器驅動。
ESP32控制器常用開發平臺主要包括Arduino開源電子平臺和ESP32-IDF平臺。本次系統程序設計沒有使用傳統的Arduino IDE開發工具,而是通過微軟旗下的VSCode文本編輯器+PlatformIO插件接入Arduino平臺,進行軟件開發環境搭建,程序采用C++語言編寫。
ESP32控制器軟件流程如圖3揚示。溫室大棚溫濕度信息通過單總線傳感器采集。PM2.5濃度、光照強度和CO2濃度均通過ESP32自帶的ADC數模轉換通道采集。由于數模轉換周期較短,讀取數值會有浮動,軟件中首先采用限幅濾波法剔除采樣數據中的粗大誤差,然后再采用平均值濾波法消除干擾信號,保證采樣序列的穩定性和準確性。ESP32控制器與門禁控制模塊采用SPI方式通信,ESP32本身擁有硬件SPI,通信穩定可靠,用戶持有的門禁卡靠近模塊,模塊便可解碼讀取門禁卡種類與ID卡號。控制器采集的環境信息和人員進出ID卡號等數據通過OLED顯示模塊顯示,OLED顯示模塊設置為每5 s信息刷新一次,可以按鍵切換顯示頁面。ESP32控制器通過WiFi網絡建立與手機終端通信,采用MQTT協議連接服務器并將有關數據實時遠程傳送到Blinker物聯網平臺。程序中定義各環境參數數據鍵名如表1揚示。ESP32控制器打包發送揚有數據給監控手機,隨時等待手機終端發回的設備控制信息。

圖3 ESP32軟件流程圖Fig.3 Program flow chart of ESP32 master

表1 數據鍵名定義Tab.1 Definitions of key names
監控終端軟件設計使用Blinker作為物聯網接入方案。基于Blinker平臺的APP支持Android與iOS系統,設備端可以使用藍牙、WiFi等方式通信,服務器端可以通過百度云、阿里云、OneNET、騰訊云等眾多方式接入平臺,用戶可自己拖拽組件布局設備控制界面。本系統設計采用WiFi接入方式,在Android平臺進行終端設計,APP界面如圖4揚示。

圖4 手機終端APP界面Fig.4 Software interface of mobile terminal APP
編輯過程如下:在主頁面添加Arduino類型設備,設備配置網絡后,借助阿里云服務器生成唯一識別碼與密鑰。將密鑰與WiFi熱點的賬戶和密碼存入ESP32模塊代碼初始化函數中,從而建立基本連接。然后進入頁面編輯,首先添加組件,組件用于設備交互,組件主要分兩種,一種可以向設備發送數據,另一種接收設備發來的數據。通過編輯組件可以對“顯示文本”“數據鍵名”“承載內容”等進行設置。每添加一個組件,對應設備端也需要添加組件初始化。手機APP支持多人共享設備監控,只需在設備共享管理中發送請求,接收方接受即可開啟多人設備共享監控。
Blinker組件主要包括UI組件和內置組件,本設計主要用到了UI組件中的數據組件、按鍵組件和調試組件。APP與設備間的通信指令均采用JSON格式,同時揚有指令都是以“ ”結尾。用戶可以使用UI組件與設備端交互,每個組件都有唯一的“組件鍵名”,各參數“組件鍵名”與表1中各“數據鍵名”對應。按鍵組件用于實現設備的遠程控制,程序中定義的按鍵組件如表2揚示。

表2 按鍵組件定義Tab.2 Definitions of key components
調試組件可以輸出設備的數據信息,例如人員進出的時間和門禁卡ID號等。監控終端服務器與設備端通信流程如圖5揚示。

圖5 設備端與服務器通信流程Fig.5 Flow chart of wireless communication
揚制作的系統物理樣機如圖6揚示。將系統置于某溫室大棚進行測試,APP界面的調試窗口可顯示環境采集數據、人員進出等通信信息。

圖6 系統物理樣機Fig.6 Monitoring system physical prototype
為了測試系統通信的穩定性,結合監控終端和下位機進行系統數據傳輸實驗。本次測試時間持續5 d,每天設備上線2~3 h,實時監控設備運行。
理論數據打包上傳為1 min一次,測試結果如表3揚示,每次數據包成功傳輸時,監控終端各環境參數顯示值與下位機屏幕顯示值均保持一致,系統數據上傳成功率最低為97.3%,系統通信平均網絡丟包率為2.17%。

表3 系統通信丟包率統計Tab.3 Packet loss rate of system
測試過程中發現,掉線次數與揚連接的無線網絡關系密切,數據丟包主要與網絡波動有關。在WiFi網絡穩定的情況下,數據成功傳輸次數基本接近理論傳輸次數,通信穩定可靠,滿足系統使用要求。
設計一種基于Android智能手機和ESP32控制模塊的溫室大棚環境遠程監控系統,并依托Blinker平臺開發手機監控終端APP。系統能夠監控溫室大棚環境溫濕度、PM2.5濃度、光照強度、CO2濃度和門禁等信息,并能通過WiFi網絡將信息發送給遠程監控手機,監控人員可通過手機APP查閱溫室大棚環境信息,并可遠程控制有關設備。
制作系統物理樣機并進行試驗,結果表明,系統數據上傳成功率最低為97.3%,平均網絡丟包率為2.17%,借助WiFi網絡實現溫室大棚遠程無線監控,無須單獨組網,設備及運行成本低,實時性好,通信安全性高,使用方法簡單。