景瑞昊
山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 山東 淄博 255000
靈芝是著名的食藥用真菌,是我國(guó)一味傳統(tǒng)的名貴中藥,在民間就有“仙草”一稱。我國(guó)靈芝人工栽培己有60余年的歷史,隨著人民生活水平的不斷提高,以靈芝、孢子粉為原料的藥品及保健品的需求量不斷提高,近二十多年來靈芝越來越受到人們的重視,但野生靈芝資源有限,因此人工栽培規(guī)模也變得越來越大[1]。然而在栽培規(guī)模擴(kuò)大的同時(shí),出現(xiàn)了生產(chǎn)效率低下、自動(dòng)化率低、感染率高等問題,嚴(yán)重地阻礙了我國(guó)靈芝產(chǎn)業(yè)的快速發(fā)展。
基于物聯(lián)網(wǎng)技術(shù)、嵌入式技術(shù)和傳感器技術(shù)設(shè)計(jì)了一套低成本且具有較高現(xiàn)實(shí)使用價(jià)值的靈芝大棚智能測(cè)控系統(tǒng)。主控器通過DHT11溫濕度傳感器,感知靈芝大棚內(nèi)的溫濕度情況,在本地OLED顯示屏幕以及用戶手機(jī)端App中;通過火焰?zhèn)鞲衅髂K來檢測(cè)是否發(fā)生火災(zāi)。整個(gè)系統(tǒng)分為手動(dòng)模式和自動(dòng)模式。在自動(dòng)模式下,可以根據(jù)溫度和濕度的變化情況,自動(dòng)調(diào)節(jié)是否需要打開水泵,調(diào)控大棚內(nèi)的噴灑系統(tǒng),進(jìn)而調(diào)節(jié)大棚內(nèi)的溫度、濕度,同時(shí)能將數(shù)據(jù)同步上傳到One NET物聯(lián)網(wǎng)云服務(wù)器,在手機(jī)上進(jìn)行監(jiān)測(cè)、控制;在手動(dòng)模式下,可自行管理水泵及窗簾的開關(guān)[2]。用戶能夠通過手機(jī)直觀監(jiān)控?cái)?shù)據(jù),遠(yuǎn)距離調(diào)控,及時(shí)做出處理。
本系統(tǒng)由傳感器感知模塊、ESP8266無線傳輸模塊、繼電器控制電路、基于One NET物聯(lián)網(wǎng)的信息共享平臺(tái)、STM32芯片開發(fā)板部分組成,設(shè)計(jì)了以STM32單片機(jī)為控制核心的靈芝大棚環(huán)境監(jiān)控系統(tǒng),為規(guī)模化靈芝生產(chǎn)提供了現(xiàn)場(chǎng)實(shí)時(shí)快速檢測(cè)的智能質(zhì)量監(jiān)控的手段。
本設(shè)計(jì)主要?jiǎng)?chuàng)新的地方可歸于以下幾點(diǎn):
1.2.1 在數(shù)據(jù)傳輸上。為了便于用戶的使用,使用ESP8266模塊,通過連接Wi-Fi的方式進(jìn)行聯(lián)網(wǎng),通過使用MQTT協(xié)議將數(shù)據(jù)打包上傳至云服務(wù)器,MQTT協(xié)議有多個(gè)語言版本,比如PHP、JAVA、Python、C等,面向較廣,基本可以在任何平臺(tái)使用,完成多個(gè)設(shè)備之間的數(shù)據(jù)傳遞,有開銷小、效率高、操作簡(jiǎn)單等優(yōu)勢(shì)。
1.2.2 在算法設(shè)計(jì)上。傳感器采集到靈芝的環(huán)境因子(溫度、濕度)的數(shù)據(jù),但由于靈芝大棚內(nèi)是一個(gè)復(fù)雜的系統(tǒng),環(huán)境位置不同以及靈芝的呼吸作用等因素,導(dǎo)致靈芝大棚內(nèi)環(huán)境因子存在時(shí)變性、非線性以及多因子耦合性等特點(diǎn),綜上設(shè)計(jì)了溫濕度控制器,通過控制溫濕度在連續(xù)時(shí)間內(nèi)的變化值,調(diào)整水泵噴灑的開啟或關(guān)閉,進(jìn)而控制環(huán)境的溫度和濕度,使靈芝得到高效生產(chǎn)。
1.2.3 在軟件設(shè)計(jì)上。One NET云平臺(tái)不僅計(jì)算功能強(qiáng)大,而且最關(guān)鍵的優(yōu)勢(shì)在于可以在云端進(jìn)行軟件的監(jiān)控界面的創(chuàng)建,可以通過設(shè)置按鍵或?qū)崟r(shí)統(tǒng)計(jì)圖來監(jiān)測(cè)控制靈芝大棚內(nèi)的環(huán)境因子,這就極大程度的方便了整個(gè)系統(tǒng)的實(shí)用性。當(dāng)終端設(shè)備與One NET云平臺(tái)建立連接后,下位機(jī)根據(jù)MQTT協(xié)議將數(shù)據(jù)打包上傳到云平臺(tái),產(chǎn)生數(shù)據(jù)流,進(jìn)而控制相應(yīng)的組件,以完成需求[3]。
首先打開電源按鍵,系統(tǒng)開始進(jìn)入初始化,初始化完畢后準(zhǔn)備連接Wi-Fi,當(dāng)LED0閃爍一下后,表示聯(lián)網(wǎng)成功,自動(dòng)進(jìn)入手動(dòng)模式。
在手動(dòng)模式下,通過KEY1按鍵,可以控制繼電器松開或吸合狀態(tài),從而控制水泵的打開或關(guān)閉。通過WK_UP按鍵可實(shí)現(xiàn)窗簾的打開或關(guān)閉,由于窗簾的打開或關(guān)閉需要數(shù)秒,因此在執(zhí)行窗簾的打開或關(guān)閉狀態(tài)時(shí),需要耐心等待窗簾的完全打開或關(guān)閉后再執(zhí)行其他命令。
按下KEY0鍵可切換為自動(dòng)模式。不管當(dāng)前的水泵是何狀態(tài),當(dāng)切換為自動(dòng)模式的瞬間,水泵會(huì)關(guān)閉,開始進(jìn)入溫度、濕度自控算法,若溫度高于閾值或濕度低于閾值,都會(huì)打開水泵,進(jìn)行降溫或提高空氣濕度,以達(dá)到靈芝適宜生長(zhǎng)的環(huán)境狀態(tài)。在自動(dòng)模式下,開啟或關(guān)閉水泵會(huì)使系統(tǒng)自動(dòng)進(jìn)入手動(dòng)模式,窗簾按鍵不會(huì)導(dǎo)致此操作。
當(dāng)設(shè)備接入網(wǎng)絡(luò)后,可通過手機(jī)App對(duì)設(shè)備進(jìn)行遠(yuǎn)程操作控制,可以查看實(shí)時(shí)大棚環(huán)境因子信息,以及對(duì)設(shè)備模式、窗簾和水泵的狀態(tài)選擇。
系統(tǒng)工作流程如圖1所示。
圖1 系統(tǒng)流程圖
系統(tǒng)采用STM32F103RCT6作為主控制器。STM32F103RCT6芯片是一款高性能、低價(jià)格、低功耗的芯片,其內(nèi)部集成了ADC、時(shí)鐘、定時(shí)器等豐富的資源。該芯片有強(qiáng)大的時(shí)鐘系統(tǒng)和高性能處理器,最高時(shí)鐘頻率能達(dá)到72MHz,可以高效地處理任務(wù)。
出芝時(shí)棚內(nèi)溫度保持28~30℃,不超過35℃,空氣相對(duì)濕度不低于85%,合適的溫濕度對(duì)于靈芝在生長(zhǎng)期尤為關(guān)鍵,是靈芝子實(shí)體變大、變優(yōu)的最為關(guān)鍵因素。所以對(duì)室內(nèi)溫濕度進(jìn)行監(jiān)控極為重要。本次設(shè)計(jì)中選用DHT11溫濕度傳感器對(duì)其進(jìn)行監(jiān)控采集,根據(jù)手冊(cè)查詢得知,該傳感器的采集溫度在-20~ 60℃,測(cè)量濕度為5%到95%RH,完全符合監(jiān)測(cè)所需。
靈芝大棚的投資成本相對(duì)于農(nóng)民來講較大,一個(gè)靈芝大棚的成本在3~5萬元不等,一枚火星也能使數(shù)年的勞作化為烏有,因此,火災(zāi)防護(hù)非常必要。在本次設(shè)計(jì)中,采用火焰?zhèn)鞲衅髂KYL-38。
對(duì)比無線通信方案,方案一:選用Zig Bee芯片,使用Zig Bee無線技術(shù)組成一個(gè)設(shè)備網(wǎng)絡(luò),通過外設(shè)網(wǎng)關(guān)與手機(jī)進(jìn)行通信。方案二:使用ESP8266系列無線Wi-Fi芯片,通過Wi-Fi直接進(jìn)入互聯(lián)網(wǎng),與服務(wù)器進(jìn)行通訊。方案三:選用NB-IoT模組,購(gòu)買物聯(lián)卡連接網(wǎng)絡(luò)。
無線通信模塊是除主控芯片外最重要的部分,決定了系統(tǒng)性能。Zig Bee可接入節(jié)點(diǎn)高達(dá)6萬多,但Zig Bee穿墻能力較弱、傳輸速率慢,且在使用時(shí)需配備Zig Bee網(wǎng)關(guān)支持才可與智能手機(jī)進(jìn)行通信。NB-IoT指的是窄帶物聯(lián)網(wǎng)技術(shù),它工作在授權(quán)頻段,核心是面向低端物聯(lián)網(wǎng)終端(低耗流),網(wǎng)絡(luò)速度較低,因此對(duì)命令下發(fā)或數(shù)據(jù)上傳限制較大。Wi-Fi在傳輸速率上具有較大優(yōu)勢(shì),且穿墻性能較強(qiáng)、覆蓋范圍廣,開發(fā)使用方便,能夠直接接入互聯(lián)網(wǎng),其主要缺點(diǎn)是功耗大,網(wǎng)絡(luò)容量小。結(jié)合系統(tǒng)實(shí)際應(yīng)用對(duì)比,方案二傳輸速率快、覆蓋范圍廣、穿墻性能好、使用方便,成本低廉。綜合考慮多種實(shí)際因素后,Wi-Fi模塊采用安信可科技開發(fā)的ESP8266-01S。
系統(tǒng)服務(wù)器采用的是中國(guó)移動(dòng)物聯(lián)網(wǎng)提供的云服務(wù)器,下位機(jī)通過傳感器采集數(shù)據(jù)。主控制器將采集的數(shù)據(jù)通過Wi-Fi上傳到One NET云平臺(tái),One NET云平臺(tái)提供了軟件監(jiān)控界面的創(chuàng)建功能,極大程度上方便了整個(gè)系統(tǒng)的便捷性。當(dāng)下位機(jī)與One NET云平臺(tái)建立連接后,根據(jù)MQTT協(xié)議將數(shù)據(jù)打包上傳到云端,產(chǎn)生數(shù)據(jù)流,進(jìn)而控制相應(yīng)的組件,同時(shí)用戶可以利用云平臺(tái)的命令下發(fā)功能對(duì)下位機(jī)進(jìn)行遠(yuǎn)程操作。
打開電源按鍵,系統(tǒng)開始進(jìn)入初始化,初始化完畢后準(zhǔn)備連接Wi-Fi,當(dāng)LED0閃爍一下后,表示聯(lián)網(wǎng)成功,進(jìn)入手動(dòng)模式,如圖2的OLED屏幕所示。
圖2 OLED顯示屏幕
在手動(dòng)模式下,通過KEY1按鍵,可以控制繼電器松開或吸合狀態(tài),從而控制水泵的打開或關(guān)閉。通過WK_UP按鍵可實(shí)現(xiàn)窗簾的打開或關(guān)閉,由于窗簾的打開或關(guān)閉需要數(shù)秒,因此在執(zhí)行窗簾的打開或關(guān)閉狀態(tài),導(dǎo)致程序無法運(yùn)行其他指令。
按下KEY0鍵可切換為自動(dòng)模式。不管當(dāng)前的水泵是何狀態(tài),當(dāng)切換為自動(dòng)模式的瞬間,水泵會(huì)關(guān)閉,開始運(yùn)行溫度、濕度自控算法,若溫度高于閾值或濕度低于閾值,都會(huì)打開水泵,進(jìn)行降溫或提高空氣濕度,以達(dá)到靈芝適宜生長(zhǎng)的環(huán)境狀態(tài)。
通過按鍵中斷指令,控制各模塊的運(yùn)行,經(jīng)測(cè)試表明,反應(yīng)靈敏度高、錯(cuò)誤率低,適合靈芝大棚內(nèi)運(yùn)行。
軟件測(cè)試環(huán)節(jié)用到的測(cè)試軟件是基于One NET物聯(lián)網(wǎng)云服務(wù)器的設(shè)備云App,設(shè)備云App功能與One NET網(wǎng)站版相通。通過登錄賬號(hào),設(shè)備云上即可顯示自己創(chuàng)建的設(shè)備信息。
點(diǎn)擊應(yīng)用,進(jìn)入設(shè)備后,硬件主控器通過ESP8266連接Wi-Fi進(jìn)入互聯(lián)網(wǎng),并通過MQTT協(xié)議,將各種數(shù)據(jù)信息傳輸?shù)絆ne NET云服務(wù)器,并能在手機(jī)上觀察信息[5]。
主頁(yè)面有3個(gè)按鈕,分別為模式選擇、水泵、窗簾。通過逐個(gè)測(cè)試,均能低時(shí)延的體現(xiàn)到硬件設(shè)備,硬件設(shè)備能及時(shí)收到信息并處理。點(diǎn)擊水泵“ON”發(fā)送成功,“ON”與“OFF”均閃亮,這是由于One NET云服務(wù)器的刷新頻率最低為3s,因此需等待3s后,“OFF”光亮消失。
“農(nóng)業(yè)+物聯(lián)網(wǎng)”是發(fā)展現(xiàn)代化農(nóng)業(yè)信息技術(shù)的重要環(huán)節(jié)。經(jīng)實(shí)地調(diào)查研究,設(shè)計(jì)基于物聯(lián)網(wǎng)的靈芝大棚智能測(cè)控系統(tǒng),傳感器能夠?qū)崟r(shí)采集靈芝大棚內(nèi)周圍環(huán)境因子(溫度、濕度),為有效提高靈芝產(chǎn)量提供了必要保障。通過系統(tǒng)測(cè)試表明,該系統(tǒng)的性能穩(wěn)定、便捷智能、體積小,適應(yīng)棚內(nèi)狹小空間,有效節(jié)省了人力物力。系統(tǒng)可實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)顯示、火災(zāi)報(bào)警、遠(yuǎn)程智能控制等功能。有精度高、誤報(bào)率低、成本小等優(yōu)點(diǎn),能夠滿足靈芝環(huán)境測(cè)控工作,具有一定的應(yīng)用價(jià)值。