(北方民族大學(xué) 寧夏 銀川 750021)
基于STM32的農(nóng)業(yè)大棚監(jiān)測與控制系統(tǒng)
鞏師洋
(北方民族大學(xué)寧夏銀川750021)
隨著大數(shù)據(jù)處理、云計算、物聯(lián)網(wǎng)、人工智能等技術(shù)的逐漸成熟,智能控制成為優(yōu)化生產(chǎn)、解決勞動力成本攀升問題的有效方式之一。此外,智能控制還有重用性、高端制造等特性,這些特性共同促成其在眾多領(lǐng)域得到應(yīng)用,其中就包括在智慧農(nóng)業(yè)上的應(yīng)用。
本設(shè)計是智能控制在農(nóng)業(yè)大棚具體實現(xiàn),是基于單片機和GPRS網(wǎng)絡(luò)的農(nóng)業(yè)控制系統(tǒng)。功能主要有:采集大棚內(nèi)溫濕度、風(fēng)機和加熱器狀態(tài)、TFT彩屏顯示空氣溫濕度和加熱器狀態(tài),風(fēng)機、加熱器、卷簾門開關(guān)狀態(tài)現(xiàn)場可控,GPRS上傳空氣溫濕度和風(fēng)機、加熱器、卷簾門開關(guān)狀態(tài)給遠程服務(wù)器,打開或關(guān)閉開關(guān),服務(wù)器數(shù)據(jù)庫數(shù)據(jù)存儲,自動控制參數(shù)設(shè)置等。由以上功能組合實現(xiàn)了一套遠程監(jiān)控、智能控制系統(tǒng)。
溫度;濕度;二氧化碳;單片機;智能控制
總體設(shè)計方案:本設(shè)計主要由上位機服務(wù)器、下位機和節(jié)點等組成。設(shè)備有五個節(jié)點(節(jié)點在馬鈴薯上方0.75m處),每個節(jié)點均有CO2傳感器和溫濕度傳感器。節(jié)點通過485通信方式將測得數(shù)據(jù)傳送給下位機主控,下位機主控通過GPRS上傳數(shù)據(jù)給上位機,且通過串口將數(shù)據(jù)上傳給visual TFT屏。其中STM32單片機是本設(shè)計的核心,起到承上啟下的作用。農(nóng)戶可將下位機調(diào)至手動狀態(tài),通過按風(fēng)機和加熱器開關(guān)控制溫度、濕度和CO2濃度;也可以調(diào)至自動狀態(tài)通過手機APP控制。
傳輸層: 系統(tǒng)通信由上位機通信、下位機通信兩部分。上位機和下位機本身帶有RS-232C接口,其最大傳輸距離為30m,不能滿足本項目要求,而RS-485串行數(shù)據(jù)通信標準可傳送2000m以上,因此選用485串行通信。在硬件接口:上位機本身具有RS-232C接口,再配備一塊RS232-RS485轉(zhuǎn)換板STD5630,實現(xiàn)RS-232電平到RS-485電平的轉(zhuǎn)換。即采用RS485串行數(shù)據(jù)通信標準;下位機串行通信接口:下位機本身具有RS-232C接口,再配備一塊RS485-RS232轉(zhuǎn)換板5P60,實現(xiàn)了RS-485電平到RS-232電平的轉(zhuǎn)換。這樣,當(dāng)波特率為9600時,可傳輸2000m,若適當(dāng)降低波特率,可傳輸更遠距離。串口的波特率可以通過設(shè)置在USART_BRR 寄存器的值來獲得,基于STM32單片機可以通過庫函數(shù)直接配置。采用Modbus的通信協(xié)議,通過單播或廣播模式來完成主從機之間的相應(yīng)。主機按格式發(fā)出請求后,單字節(jié)檢測信息,并對收到數(shù)據(jù)進行解碼以及校驗數(shù)據(jù)是否準確,在Modbus 串行鏈路中,采用幀校驗的方式。
控制層:用戶可在手動模式下通過主機箱面板對現(xiàn)場數(shù)據(jù)進行檢測并實時控制;也可以在自動模式下通過485將數(shù)據(jù)傳輸至STM32單片機進行數(shù)據(jù)的處理及存儲,通過GPRS無線通信發(fā)送到遠程監(jiān)控中心與專家決策系統(tǒng)信息按照一定算法得出決策信息來控制風(fēng)機等外設(shè)軟件及開發(fā)環(huán)境:
系統(tǒng)下位機在μVision4環(huán)境下開發(fā),使用C語言編程
數(shù)據(jù)控制流程:遠程系統(tǒng)通過節(jié)點組網(wǎng),父節(jié)點匯集子節(jié)點數(shù)據(jù),通過公網(wǎng)TCP/IP協(xié)議上傳給數(shù)據(jù)庫,再通過手機APP或WEB瀏覽器進行顯示和控制。
子節(jié)點:STC12C5A08S芯片通過USART1串口通信,獲取溫濕度傳感器Sensor中的數(shù)據(jù),并對數(shù)據(jù)進行CRC校驗和數(shù)值范圍檢查,判斷無誤后,保存數(shù)據(jù),等待父節(jié)點對子節(jié)點的數(shù)據(jù)請求。同時STC12C5A08S芯片通過USART2監(jiān)聽父節(jié)點指令,實現(xiàn)數(shù)據(jù)上傳和電磁閥控制等;
父節(jié)點:STM32F103V芯片通過USART1串口和子節(jié)點進行通信,發(fā)送指令和接收數(shù)據(jù)。通過USART2和TFT彩屏通信,接收觸摸屏數(shù)據(jù),并顯示濕度數(shù)據(jù)、時間、移動網(wǎng)絡(luò)狀態(tài)、節(jié)點狀態(tài)和電磁閥狀態(tài)等。其中TFT彩屏采用了Contex-M3內(nèi)核和FPGA圖形混合編程。通過GPRS將數(shù)據(jù)發(fā)送給數(shù)據(jù)庫。同時父節(jié)點還設(shè)置機械按鍵,這些按鍵在物理介質(zhì)上實習(xí)控制,比如繼電器控制、自動手動控制模式選擇、抽風(fēng)、加濕以及PWM波變頻器控制。
云應(yīng)用:本項目選擇的是阿里云旗下的產(chǎn)品服務(wù),其中主要選擇了ECS、CDN、OSS、SLB,將傳統(tǒng)項目中單臺服務(wù)器跑整個應(yīng)用程序,分離成不同功能在不同服務(wù)器中。
ECS:本質(zhì)就是一個服務(wù)器,運行在云上的一個服務(wù),主要作用做大數(shù)據(jù)處理,跑本項目程序。
CDN:分布式的緩存服務(wù)器,可以加速項目中靜態(tài)文件加載,達到了緩解網(wǎng)站高并發(fā)下帶寬瓶頸的尷尬,緩解服務(wù)器的IO壓力。
OSS:文件存儲服務(wù)器,將采集的數(shù)據(jù)持久化便于數(shù)據(jù)的存取。
SLB:均衡負載。
其他內(nèi)容:本文研究設(shè)計了一種基于STM32/AT89C51單片機的智能檢測控制系統(tǒng),這套系統(tǒng)實現(xiàn)了實時監(jiān)控功能,隨時掌握大棚環(huán)境信息。但只進行五個點測試,以點帶面的了解大棚內(nèi)環(huán)境信息,如果進行多點測試精度會更高。
[1]虞穎.RS-485標準及應(yīng)用技術(shù)[J].有線電視技術(shù),2004(5):66-68.
[2]Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,等.算法導(dǎo)論(原書第3版)[J].計算機教育,2013(10):51-51.
寧夏高校創(chuàng)新項目(YCX1769)。
鞏師洋(1989-),男,漢族,黑龍江齊齊哈爾人,北方民族大學(xué),在讀碩士研究生,研究方向:信息檢測與計算機控制技術(shù)。