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