嚴(yán)凱 姚凱學(xué) 韋付芝 何勇 楊玥倩 陳春旭



摘要:當(dāng)今世界精準(zhǔn)農(nóng)業(yè)迅速發(fā)展,農(nóng)業(yè)技術(shù)更加智能化。用現(xiàn)代科技來改變溫室大棚農(nóng)作物的生長(zhǎng)環(huán)境,提高農(nóng)作物產(chǎn)量成為一種趨勢(shì)。光照是農(nóng)作物生成養(yǎng)分的必要條件和關(guān)鍵因素,因此本文設(shè)計(jì)了一種溫室大棚內(nèi)多點(diǎn)光照自動(dòng)采集系統(tǒng)。系統(tǒng)以STM32F103ZET6為核心的數(shù)據(jù)處理模塊,以STC15W404AS和BH1750為光照數(shù)據(jù)采集模塊,用RS-485驅(qū)動(dòng)器和接收器進(jìn)行數(shù)據(jù)傳輸。通過自定義的通信協(xié)議將光照傳感器采集模塊、數(shù)據(jù)處理模塊、遠(yuǎn)程PC端和手機(jī)端有機(jī)地結(jié)合在一起,系統(tǒng)目前已經(jīng)投入使用。
關(guān)鍵詞:溫室大棚;STM32F103ZET6; STC15W404AS;RS485;通信協(xié)議;中位值平均濾波法
中圖分類號(hào):TP273
文獻(xiàn)標(biāo)識(shí)碼:A
1 引言
光照是植物生長(zhǎng)發(fā)育的關(guān)鍵資源之一,影響著植物的生理生化和形態(tài)結(jié)構(gòu)。比如不同光照強(qiáng)度影響著興安落葉松針葉內(nèi)的POD、SOD、PAL、PPO和CI等防御蛋白的活力[1];不同光照強(qiáng)度影響著花櫚木葉片面積、苗高、地徑生長(zhǎng)、生物量和根冠比[2];不同光照強(qiáng)度和光質(zhì)影響著水稻的生長(zhǎng)周期、成熟時(shí)間和產(chǎn)量[3-4]。為此,本文建立了安全可靠的溫室大棚多點(diǎn)光照采集系統(tǒng),前端數(shù)據(jù)采集站采集溫室大棚內(nèi)多點(diǎn)(種植不同的植物)的光照,通過GPRS將數(shù)據(jù)傳輸?shù)胶笈_(tái),供農(nóng)戶參考,由于整個(gè)系統(tǒng)是由太陽(yáng)能電源進(jìn)行供電,因此可以支持比較偏僻的溫室大棚基地。當(dāng)溫室大棚某片區(qū)域光照低于所種植作物最適宜光照的時(shí)候,我們可以進(jìn)行人工補(bǔ)光(多補(bǔ)光燈組合);反之,則進(jìn)行遮陰(遮陰網(wǎng))。
2 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)總體設(shè)計(jì)(如圖l所示)主要由三部分組成:以STM32F103ZET6為核心的數(shù)據(jù)處理模塊、集成了STC15W404AS和BH1750的光照傳感器采集模塊、遠(yuǎn)程PC端和手機(jī)端。
系統(tǒng)工作流程:光照傳感器采集模塊將采集來的多個(gè)光照數(shù)據(jù)封裝成一幀通過RS485總線傳輸?shù)綌?shù)據(jù)處理模塊,STM32F103ZET6對(duì)這些幀進(jìn)行解析,按照幀的控制域代碼不同等特征,解析出該幀的正誤、數(shù)據(jù)域及其功能,并將數(shù)據(jù)重新封裝成幀通過GPRS(串口1)和藍(lán)牙(串口2)分別發(fā)送到PC端和手機(jī)端,進(jìn)行可視化顯示和后臺(tái)數(shù)據(jù)分析。
3 溫室大棚硬件設(shè)計(jì)
系統(tǒng)硬件主要包括兩部分:光照傳感器模塊的硬件設(shè)計(jì)、數(shù)據(jù)處理模塊的硬件設(shè)計(jì)。
3.1 光照傳感器模塊的硬件設(shè)計(jì)
STC15W404AS基于8051內(nèi)核,有一組高速異步串行通信端口(UARD,可以在三組管腳之間切換,相當(dāng)于三組串行通信接口[5]。光照傳感器模塊使用單片機(jī)的串口3 (IIC總線)接收BH1750采集的光強(qiáng)度初始值,串口l用作下載和仿真,串口2通過RS485總線將封裝好的數(shù)據(jù)幀發(fā)送給數(shù)據(jù)處理模塊。由于一個(gè)溫室大棚的面積比較大(600平方米),所以整個(gè)溫室大棚采用通訊接口RS485,它允許在一對(duì)雙絞線上進(jìn)行雙向、多點(diǎn)通信,具有寬共模電壓、高傳輸速率、較長(zhǎng)傳輸距離、低噪聲耦合等特點(diǎn)[6]。系統(tǒng)采用RS485作為收發(fā)器,以MAX485CSA芯片的A、B引腳作為485總線接口,和DE引腳控制RS485的收發(fā)使能。光照傳感器模塊的電路原理圖、硬件電路結(jié)構(gòu)框圖和光照傳感器模塊實(shí)體如圖2、3、4所示。
3.2 數(shù)據(jù)處理模塊的硬件設(shè)計(jì)
數(shù)據(jù)處理模塊采用基于Corex -M3內(nèi)核的STM32F103ZET6 MCU,它的最高工作頻率為72MHZ,SRAM可達(dá)64KB,有5個(gè)串口、4個(gè)通用定時(shí)器、2個(gè)I2C、3個(gè)ADC (12位)、3個(gè)SPI、2個(gè)DMA控制器等資源[7-9]。
數(shù)據(jù)處理模塊作為溫室大棚的核心,實(shí)現(xiàn)了溫室大棚多點(diǎn)光照傳感器節(jié)點(diǎn)與PC端和移動(dòng)端的通信。STM32F103ZET6通過串口1(引腳PA9和PA10)與GPRS連接,通過串口2(引腳PA2和PA3)與藍(lán)牙連接,通過SPI接口與wifi模塊連接[10],(引腳PD2和PC12)經(jīng)過MAX485芯片進(jìn)而控制各點(diǎn)光照數(shù)據(jù)的收發(fā),直接通過相應(yīng)引腳的電平的調(diào)節(jié)控制I2C傳感器數(shù)據(jù)的收發(fā)[11]。其模塊的電路原理圖、硬件電路結(jié)構(gòu)框圖和模塊實(shí)體(由于光照節(jié)點(diǎn)分散在大棚各個(gè)地方,考慮到圖片大小的限制和拍攝方便,特將整個(gè)下位機(jī)集中在一起進(jìn)行拍攝)如圖5、6、7所示。
具體工作流程:光照轉(zhuǎn)接板連接的各地光照傳感器模塊采集溫室大棚的光照反饋給STM32F103ZET6 MCU,MCU經(jīng)過分析處理后通過自定義的通信協(xié)議將多個(gè)光照數(shù)據(jù)組裝成一幀數(shù)據(jù),數(shù)據(jù)可由GPRS傳輸?shù)缴衔粰C(jī)(PC端),PC端進(jìn)行數(shù)據(jù)處理、可視化顯示和預(yù)警報(bào)警(界面彈框的形式);也可以由藍(lán)牙傳輸?shù)揭苿?dòng)端(手機(jī)端),提供數(shù)據(jù)給工作人員進(jìn)行參考補(bǔ)光、遮陰和現(xiàn)場(chǎng)維護(hù)。
4 溫室大棚軟件設(shè)計(jì)
溫室大棚軟件設(shè)計(jì)分為兩部分:上位機(jī)設(shè)計(jì)、下位機(jī)設(shè)計(jì)。下位機(jī)設(shè)計(jì)包括光照傳感器模塊通信程序設(shè)計(jì)、數(shù)據(jù)處理模塊通信程序設(shè)計(jì);上位機(jī)實(shí)現(xiàn)人機(jī)交互,可以向下位機(jī)發(fā)送命令(休眠命令、喚醒命令、配制光照傳感器命令、數(shù)據(jù)讀取命令、校時(shí)命令等),實(shí)現(xiàn)對(duì)下位機(jī)的控制。
4.1 下位機(jī)軟件設(shè)計(jì)
4.1.1 光照傳感器模塊通信程序設(shè)計(jì)
當(dāng)系統(tǒng)進(jìn)入工作狀態(tài)(非休眠狀態(tài)),光照傳感器模塊上電,進(jìn)行初始化,響應(yīng)數(shù)據(jù)處理模塊發(fā)送來的的命令幀,有五種命令,分別為讀取和寫入光照傳感器地址、讀取和寫入光照傳感器修正值、讀取光照傳感器實(shí)時(shí)數(shù)據(jù)。其設(shè)計(jì)流程圖如圖8所示。
數(shù)據(jù)處理模塊作為主設(shè)備,負(fù)責(zé)發(fā)送命令,光照傳感器模塊作為從設(shè)備,負(fù)責(zé)執(zhí)行命令并向數(shù)據(jù)處理模塊返回應(yīng)答幀。通信協(xié)議舉例如下:?讀取光照傳感器地址(1—255)
接收:00 20 CRCH CRCL(4字節(jié))
發(fā)送:00 20 ADDRESS CRCL CRCH(5字節(jié))?寫入光照傳感器地址
接收:00 10 ADDRESS CRCH CRCL(5字節(jié))
發(fā)送:00 10 CRCL CRCH(4字節(jié))?讀取光照傳感器實(shí)時(shí)數(shù)據(jù)
接收:ADDRESS 03 00 00 00 01 CRCH CRCL(8字節(jié))
發(fā)送:ADDRESS 03 04 XX XX XX XX CRCLCRCH(9字節(jié))?寫入光照傳感器修正值(a、b)
接收:ADDRESS 30 YY YY ZZ ZZ ZZ ZZCRCH CRCL (10字節(jié))
發(fā)送:ADDRESS 30 CRCL CRCH(4字節(jié))?讀取光照傳感器修正值(a、b)
接收:ADDRESS 40 CRCH CRCL(4字節(jié))
發(fā)送:ADDRESS 40 YY YY ZZ ZZ ZZ ZZ CR-CL CRCH(10字節(jié))
其中,“CRCL、CRCH”分別為校驗(yàn)碼CRC的低八位和高八位,CRC校驗(yàn)碼由代碼自動(dòng)生成。“AD-DRESS”為寫入溫室大棚各地方光照傳感器模塊的EEPROM里的光照傳感器的地址(1—225)。“XXXX XX XX”為光照值(單位為lux,貴陽(yáng)地區(qū)晴天正午光照值為幾十萬lux)。“YY YY”為修正值a,值為實(shí)際值的一百倍。“ZZ ZZ ZZ ZZ”為修正值b,值為實(shí)際值
4.1.2 數(shù)據(jù)處理模塊通信程序設(shè)計(jì)
數(shù)據(jù)處理模塊是溫室大棚多點(diǎn)光照采集系統(tǒng)的核心,上電后進(jìn)行相關(guān)初始化,讀取EEPROM存儲(chǔ)的參數(shù)數(shù)據(jù),接著等待上位機(jī)(PC端或手機(jī)端)的命令,MCU分時(shí)采集光照傳感器的數(shù)據(jù),當(dāng)采集時(shí)間達(dá)到2分鐘且采集次數(shù)為12次(非休眠)時(shí),MCU將執(zhí)行中位值平均濾波法,按大小排序好第i(某個(gè)溫室大棚第i個(gè)光照傳感器模塊)個(gè)光照傳感器模塊的12個(gè)數(shù)據(jù),去掉最大值和最小值,然后計(jì)算余下10個(gè)數(shù)據(jù)的算數(shù)平均值。最后將光照傳感器、電量等數(shù)據(jù)封裝成幀,經(jīng)串口1,由GPRS將數(shù)據(jù)傳輸?shù)缴衔粰C(jī)(PC端)。設(shè)計(jì)流程圖如圖9。
數(shù)據(jù)部分模型為:
數(shù)據(jù)部分=1號(hào)光照地址+1號(hào)數(shù)值(最小值,最大值,均值,總量值)+2號(hào)光照地址+2號(hào)數(shù)值(最小值,最大值,均值,總量值)+……+n號(hào)光照地址+n號(hào)數(shù)值(最小值,最大值,均值,總量值)+電池剩余電量百分比(1個(gè)字節(jié))+時(shí)間(年月日時(shí)分秒)+持續(xù)時(shí)間(分鐘,1個(gè)字節(jié))
如果在兩分鐘之內(nèi)等到上位機(jī)的命令(十幾種且可自定義的命令),數(shù)據(jù)處理模塊將作出相應(yīng)的處理。
上位機(jī)作為主設(shè)備,負(fù)責(zé)發(fā)送命令,數(shù)據(jù)處理模塊作為從設(shè)備,負(fù)責(zé)執(zhí)行命令并向上位機(jī)返回應(yīng)答幀。數(shù)據(jù)幀是由幀起始符(1字節(jié))、地址域(2字節(jié))、控制域(2字節(jié))、數(shù)據(jù)長(zhǎng)度域(2字節(jié))、數(shù)據(jù)域(若干字節(jié))、幀校驗(yàn)域(2字節(jié))、幀尾組成。其中控制域中的功能碼如表1所示。
其中,有些功能有發(fā)送碼和接受碼(前一行為發(fā)送碼,后一行為接受碼)。“幀起始符”標(biāo)識(shí)一幀信息的開始,1個(gè)字節(jié),其值固定為E8H=lllOlOOOB。“幀結(jié)束符”標(biāo)識(shí)一幀信息的結(jié)束,1個(gè)字節(jié),其值固定為E6H=lllOOlOOB。傳感器數(shù)值說明:共有4個(gè)數(shù)值,每個(gè)數(shù)值為整型數(shù)(32位,有正負(fù)),如果光照傳感器錯(cuò)誤,傳來的數(shù)據(jù)是7F FF FF FF,但是也是小端模式,順序是FF FF FF 7F。此數(shù)值除以100即為光照傳感器實(shí)際數(shù)值,電量不用除以100(01:最小值;02:最大值;03:均值;04:總量值)。
4.2 上位機(jī)軟件設(shè)計(jì)
上位機(jī)所用編程語(yǔ)言為C#,數(shù)據(jù)庫(kù)為SQL?Server?2013?。數(shù)據(jù)采集站將溫室大棚光照數(shù)據(jù)通過GPRS發(fā)送到上位機(jī)(PC端),PC端數(shù)據(jù)分析軟件提取數(shù)據(jù)庫(kù)中自定義的光照參數(shù)(根據(jù)植物設(shè)置每片區(qū)域光照適宜值區(qū)間),將其與接收的數(shù)據(jù)對(duì)比,如果大棚某片區(qū)域光照值長(zhǎng)時(shí)間低于適宜光照值最小值,則彈出彈框提醒工作人員進(jìn)行補(bǔ)光;若長(zhǎng)時(shí)間高于光照值最大值,則彈出彈框提醒工作人員進(jìn)行遮陰;并將采集的光照數(shù)據(jù)以數(shù)字和折線圖的方式顯示,供大棚工作人員分析對(duì)比數(shù)據(jù);同時(shí)將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。圖10為上位機(jī)數(shù)據(jù)分析軟件的界面(光照數(shù)據(jù)采集的時(shí)間地點(diǎn)為2017年7月12日貴州大學(xué)農(nóng)學(xué)院植物研究實(shí)驗(yàn)基地)。
5 結(jié)束語(yǔ)
設(shè)計(jì)并實(shí)現(xiàn)了溫室大棚多點(diǎn)光照采集系統(tǒng),采用上下位機(jī)結(jié)構(gòu),通過自定義的通信協(xié)議將光照傳感器模塊、數(shù)據(jù)處理模塊、遠(yuǎn)程PC端和手機(jī)端有機(jī)地結(jié)合在一起。系統(tǒng)穩(wěn)定性高、擴(kuò)充能力強(qiáng)、成本低。通過該系統(tǒng),工作人員可以在數(shù)據(jù)處理中心對(duì)各溫室大棚進(jìn)行遠(yuǎn)程監(jiān)測(cè)。系統(tǒng)目前已經(jīng)投入使用,在貴州大學(xué)農(nóng)學(xué)院植物研究實(shí)驗(yàn)基地、清鎮(zhèn)市蔬菜園等地正常運(yùn)行一年多。
參考文獻(xiàn)
[1]魯藝芳,石蕾,嚴(yán)善春.不同光照強(qiáng)度對(duì)興安落葉松幾種主要防御蛋白活力的影響[J].生態(tài)學(xué)報(bào),2012,32 (11):3621-3627
[2]段如雁,韋小麗,孟憲帥.不同光照條件下花櫚木幼苗的生理生化響應(yīng)及生長(zhǎng)效應(yīng)[J].中南林業(yè)科技大學(xué)學(xué)報(bào),2013,33(5):30-34
[3]馬旭,林超輝,齊龍,等.不同光質(zhì)與光照度對(duì)水稻溫室立體育秧秧苗素質(zhì)的影響[J].農(nóng)業(yè)工程學(xué)報(bào),2015。31(11):228-233+235+234
[4]許中旗,黃選瑞,徐成立,等,光照條件對(duì)蒙古櫟幼苗生長(zhǎng)及形態(tài)特征的影響[J].生態(tài)學(xué)報(bào),2009,29 (3):1121-1128
[5] 賀為婷,呂豐.基于srClsW404AS和電力載波的路燈終端設(shè)計(jì)[J]計(jì)算機(jī)與數(shù)字工程,2017,(3):583-588
[6]熊文,王莉,肖健,等.一種RS485串口通信電路的高可靠性設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2017,(3):43-45
[7]紀(jì)超,王昆,飛機(jī)外掛物管理系統(tǒng)無線原位檢測(cè)技術(shù)研究[J].計(jì)算技術(shù)與自動(dòng)化,2015,34 (3):131-135
[8] 劉虎,王紫婷,張文婷.基于lahVIEW的STM32調(diào)試平臺(tái)的研究與實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2012,(4):120-122
[9]楊飛,謝濤,伍英,等,基于WIFI技術(shù)的物聯(lián)網(wǎng)農(nóng)業(yè)大棚環(huán)境實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2017,25(2):50-53
[10]黃猛,杜紅彬.移動(dòng)機(jī)器車的WiFi接口設(shè)計(jì)[J].自動(dòng)化儀表,2010,31(3):50-52+56
[11]李志民,李士寧,趙玉華,等.無線傳感器網(wǎng)絡(luò)感知節(jié)點(diǎn)的I_2C設(shè)備驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2010.18 (3):727-730