摘要:為了降低花卉死亡率,本文設(shè)計(jì)并實(shí)現(xiàn)了一套基于LoRa 無(wú)線通信技術(shù)的智能花卉養(yǎng)護(hù)系統(tǒng)。該系統(tǒng)采用STM32F103作為主控芯片,移植FreeRTOS 實(shí)時(shí)操作系統(tǒng)進(jìn)行任務(wù)管理,集成多種環(huán)境傳感器,實(shí)現(xiàn)對(duì)花卉生長(zhǎng)環(huán)境的實(shí)時(shí)監(jiān)測(cè)。系統(tǒng)利用LoRa 技術(shù)將數(shù)據(jù)傳輸至終端,為養(yǎng)護(hù)花卉人員提供可視化的數(shù)據(jù)支持,并最終提供花卉養(yǎng)護(hù)指導(dǎo)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)具備低功耗、遠(yuǎn)距離通信和高精度等優(yōu)點(diǎn),具有一定的應(yīng)用價(jià)值。
關(guān)鍵詞:物聯(lián)網(wǎng); 養(yǎng)護(hù)系統(tǒng); 珍貴花卉; LoRa 無(wú)線通信技術(shù); STM32; 傳感器; FreeRTOS
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2025)06-0103-03開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
0 引言
近年來(lái),隨著人們生活水平的提高,花卉市場(chǎng)需求不斷擴(kuò)大,但因花卉養(yǎng)護(hù)不當(dāng)而造成的經(jīng)濟(jì)損失也日益嚴(yán)重,高昂的植物養(yǎng)護(hù)成本已成為限制花卉行業(yè)高質(zhì)量發(fā)展的主要障礙[1]。目前,在花卉養(yǎng)護(hù)領(lǐng)域,人們?cè)谌粘I钪写蠖嗳圆扇鹘y(tǒng)方式,培養(yǎng)在陶瓷或塑料等器皿內(nèi),手動(dòng)澆水,且人工判斷主觀性強(qiáng),缺乏實(shí)時(shí)數(shù)據(jù)支持。雖然近年來(lái)市場(chǎng)上出現(xiàn)了一些機(jī)械式半自動(dòng)澆灌裝置,但這些裝置很難根據(jù)土壤濕度或植物習(xí)性來(lái)控制澆水量,且無(wú)法實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。因此,此類產(chǎn)品因功能單一和智能化不足等原因未能在市場(chǎng)上普及。
為了解決這些問(wèn)題,本設(shè)計(jì)基于STM32F103的花卉養(yǎng)護(hù)系統(tǒng)[2],實(shí)現(xiàn)了對(duì)花卉光照強(qiáng)度、土壤溫濕度、酸堿度、氮磷鉀含量等環(huán)境數(shù)據(jù)的檢測(cè)。檢測(cè)結(jié)果通過(guò)LoRa組網(wǎng)無(wú)線通信進(jìn)行傳輸并存儲(chǔ)[3],使用者可通過(guò)OLED顯示屏或上傳至PC進(jìn)行后臺(tái)監(jiān)控,從而確?;ɑ苌L(zhǎng)環(huán)境的穩(wěn)定與健康。該系統(tǒng)具有低功耗、穩(wěn)定性強(qiáng)以及遠(yuǎn)距離傳輸?shù)葍?yōu)點(diǎn),具有一定的實(shí)時(shí)性和智能性。
1系統(tǒng)整體方案設(shè)計(jì)
系統(tǒng)主要由主控單片機(jī)模塊、各類數(shù)據(jù)監(jiān)測(cè)傳感器模塊、無(wú)線通信模塊、顯示模塊和存儲(chǔ)模塊構(gòu)成,所有傳感器和模塊之間均可通過(guò)單片機(jī)進(jìn)行交互通信。傳感器主要采用BH1750光照傳感器、YL-69土壤溫濕度傳感器、SN-3000-TR土壤酸堿度傳感器[4]以及氮磷鉀傳感器[5]。無(wú)線通信模塊選用能夠進(jìn)行長(zhǎng)距離穩(wěn)定傳輸?shù)腖oRa通信模塊Ra-01及SX1278。此外,系統(tǒng)外置了W25Q128存儲(chǔ)器模塊和OLED顯示模塊,以增強(qiáng)系統(tǒng)的數(shù)據(jù)存儲(chǔ)與可視化能力,從而確?;ɑ墉h(huán)境數(shù)據(jù)的真實(shí)性和完整性。圖1所示為該系統(tǒng)的整體框架結(jié)構(gòu)圖。
1.1 單片機(jī)主控模塊
該花卉養(yǎng)護(hù)系統(tǒng)采用基于ARM Cortex-M3內(nèi)核的32 位微控制器STM32F103C8T6,封裝類型為3L.Q6FVP,4具8,備其2主0K頻B的可S達(dá)RA7M2M,配Hz有,供2個(gè)電看電門壓狗范定圍時(shí)為器(2.0獨(dú)~立看門狗IWDG和窗口看門狗WWDG),1個(gè)24位向下計(jì)數(shù)的滴答定時(shí)器SysTick,并配備豐富的外設(shè)接口,可接入傳感器模塊,包括但不限于SPI、IIC、USART、ADC、USB等。此外,其GPIO能夠配置為多種輸入輸出模式,滿足該系統(tǒng)在低功耗和高效能應(yīng)用場(chǎng)景下的需求。該主控芯片的原理圖如圖2所示。
1.2 數(shù)據(jù)采集模塊
1)光照傳感器模塊。系統(tǒng)采用BH1750光照傳感器,該模塊是一款數(shù)字型光照強(qiáng)度傳感器,具備接近視覺(jué)靈敏度的光譜靈敏度特性,能夠較為精準(zhǔn)地測(cè)量周圍環(huán)境的真實(shí)光照強(qiáng)度,其測(cè)量范圍為0~65535lx,最小誤差為±20%,并且對(duì)紅外線的影響很小。BH1750通過(guò)IIC通信協(xié)議與單片機(jī)主控模塊進(jìn)行通信。當(dāng)進(jìn)入光窗的光強(qiáng)度越大,光電流隨之增大,從而使電壓增大,通過(guò)電壓大小判斷光照強(qiáng)度。
2)溫濕度傳感器模塊。系統(tǒng)采用YL-69溫濕度傳感器,該模塊主要由兩個(gè)金屬板組成,金屬板之間填充了土壤作為介質(zhì)。當(dāng)土壤中含有水分時(shí),水分會(huì)在兩個(gè)金屬板之間形成一個(gè)電容,其大小與土壤中的水分含量成正比。傳感器測(cè)量電容的變化,并將其轉(zhuǎn)換為電壓信號(hào)輸出。在STM32主控芯片端,需要實(shí)現(xiàn)一個(gè)ADC模數(shù)轉(zhuǎn)換器以處理接收到的模擬數(shù)據(jù),將其轉(zhuǎn)換為數(shù)字信號(hào),從而實(shí)現(xiàn)對(duì)土壤濕度的測(cè)量。其測(cè)量范圍為0%~100%RH,精度為±5%RH,工作溫度范圍為-10~70℃。
3)酸堿度、氮磷鉀傳感器模塊。系統(tǒng)采用 SN-3000-TR集成傳感器,該模塊是一種多功能土壤數(shù)據(jù)檢測(cè)傳感器,能夠檢測(cè)土壤的酸堿度和氮磷鉀含量。在檢測(cè)酸堿度時(shí),探頭采用p電極,信號(hào)穩(wěn)定且精度高。傳感器的輸人電源和信號(hào)輸出三部分完全隔離確保了安全性。其最大功耗在5V DC供電下為0.4W量程為 3~9pH,分辨率為0.1,工作溫度范圍為-20-60℃,響應(yīng)時(shí)間小于10秒。在檢測(cè)氮磷鉀含量時(shí),最大功耗為0.15W,量程為0~1999mgkg,分辨率為1mgkg,工作溫度范圍為-20~60℃℃,響應(yīng)時(shí)間小于10秒,通過(guò)RS485協(xié)議與主控芯片進(jìn)行通信。
1.3數(shù)據(jù)傳輸模塊
1)LoRa 無(wú)線通信模塊。系統(tǒng)采用Ra-01 和SX1278模塊,該模塊是一款LoRa無(wú)線通信模塊,具備標(biāo)準(zhǔn)的LoRa?調(diào)制解調(diào)器,支持多種調(diào)制方式,包括FSK、GFSK、MSK、LoRa?以及OOK等。其支持頻段為141400d~B52m5。MH硬z件,工接口作方電面壓,模為塊3采.3V用,S靈PI敏接口度,低支持至半-雙工通信,并具有CRC校驗(yàn)功能,能夠處理高達(dá)256 字節(jié)的數(shù)據(jù)包引擎。天線接口兼容多種接法,如郵票孔/圓孔和IPEX等。
1.4 數(shù)據(jù)處理模塊
1)OLED顯示模塊。0.96寸OLED顯示屏模塊是一種小型顯示屏,采用高亮PM OLED材料,通常用于嵌入式系統(tǒng)或小型設(shè)備,能夠方便地顯示即時(shí)數(shù)據(jù)。其分辨率為128×64,控制芯片為SSD1306,顯示區(qū)域可 達(dá) 到 21.744×10.846mm,像 素 尺 寸 為 0.159× 0.159mm,像素間距為0.175×0.175mm,正常顯示時(shí)功耗為0.04W,供電電壓為3.3~5V,工作溫度范圍為- 30~70℃,通過(guò)IIC協(xié)議與主控芯片進(jìn)行通信。
2)存儲(chǔ)模塊。W25Q128是一款串行NOR型閃存芯片,具有4 I/O固定、UID和OTP特性,支持易失性和非易失性狀態(tài)寄存器,具備塊/扇區(qū)寫(xiě)保護(hù)及可編程輸出驅(qū)動(dòng)強(qiáng)度等功能。該芯片廣泛應(yīng)用于需要非易失性存儲(chǔ)的嵌入式系統(tǒng)和設(shè)備中,能夠永久保存數(shù)據(jù),斷電后數(shù)據(jù)仍然存在。其存儲(chǔ)容量為128Mb(16MB),由36.565V3,6工頁(yè)作組溫成度,范每圍頁(yè)為包-含402~5865℃字,節(jié)通,過(guò)工S作PI電協(xié)壓議與為主2.7控~芯片進(jìn)行通信。
2 系統(tǒng)軟件設(shè)計(jì)
2.1整體軟件設(shè)計(jì)
該系統(tǒng)的軟件設(shè)計(jì)主要包括系統(tǒng)初始化、花卉環(huán)境數(shù)據(jù)采集、通信和數(shù)據(jù)顯示監(jiān)控四個(gè)部分。為了保證系統(tǒng)的流暢性和實(shí)時(shí)性,我們移植了FreeRTOS實(shí)時(shí)操作系統(tǒng),并在此基礎(chǔ)上進(jìn)行后續(xù)的代碼開(kāi)發(fā)。由于該系統(tǒng)為開(kāi)源項(xiàng)目,用戶可以登錄官網(wǎng)下載源碼,并將源代碼添加到STM32工程中。然而,該源碼無(wú)法直接使用,需要配置FreeRTOSConfig.h文件,以調(diào)整FreeR? TOS的行為,包括任務(wù)堆棧大小、任務(wù)優(yōu)先級(jí)、SysTick 時(shí)鐘節(jié)拍等。同時(shí),添加heap_4.c作為本系統(tǒng)的內(nèi)存管理方法。由于全部代碼部分選擇使用Keil5軟件進(jìn)行開(kāi)發(fā),因此需要保留源碼中FreeRTOS/portable/RVDs 文件夾中的ARMCM3文件夾,以便與Keil5工程項(xiàng)目接口對(duì)接。編程語(yǔ)言為C語(yǔ)言,使用STM32標(biāo)準(zhǔn)庫(kù)輔助開(kāi)發(fā),完成代碼后,將其燒錄至STM32單片機(jī),并在上電后即可正常使用。軟件流程圖如圖3所示。
2.2傳感器數(shù)據(jù)采集單元設(shè)計(jì)
1)光照傳感器模塊。該模塊使用IIC與單片機(jī)進(jìn)行通信,這里選擇STM32的IIC1。首先,需要使能單片機(jī)PB端口的時(shí)鐘,開(kāi)啟PB6和PB7,并配置為上拉推挽輸出模式,默認(rèn)速率設(shè)為快速模式,以確保SCL 時(shí)鐘信號(hào)和SDA數(shù)據(jù)信號(hào)的正確連接和處理。當(dāng)IIC 總線進(jìn)行數(shù)據(jù)傳送時(shí),有三種類型的信號(hào)是必須要用到的:起始信號(hào)、終止信號(hào)以及回應(yīng)信號(hào)。其中,SCL 拉高時(shí),SDA線從拉高到拉低的變化代表起始信號(hào);而當(dāng)SCL拉高時(shí),SDA線從拉低到拉高的變化則表示終止信號(hào)。在IIC傳輸數(shù)據(jù)過(guò)程中,需要借助SCL時(shí)鐘線逐位傳輸8位數(shù)據(jù),每傳輸完8位數(shù)據(jù)后,需要等待響應(yīng)。數(shù)據(jù)采集流程大致如下。
初始化BH1750;
跳過(guò)ROM;
把數(shù)據(jù)寫(xiě)入暫存器,之后在暫存器中讀取數(shù)據(jù);精度轉(zhuǎn)換,進(jìn)行讀取采集數(shù)據(jù),保留一位小數(shù);數(shù)據(jù)采集完畢。
2)溫濕度傳感器模塊。該模塊通過(guò)RS485與單片機(jī)進(jìn)行通信,使用USART外設(shè)的TX和RX引腳連接到RS485芯片的A和B線,并將DE/RE引腳連接到RS485芯片的控制引腳??偩€空閑時(shí),線上為高電平。起始位為一位邏輯0信號(hào)幀,表示傳輸?shù)拈_(kāi)始。數(shù)據(jù)位可以為7位或8位。若啟用校驗(yàn)位,則邏輯1的位數(shù)應(yīng)為偶數(shù)或奇數(shù),具體取決于所選的奇偶校驗(yàn)方式;若不啟用校驗(yàn),則該位由一位數(shù)據(jù)幀替代。停止位可以是一位或兩位邏輯1,用以標(biāo)志一個(gè)數(shù)據(jù)字符的傳輸完成。數(shù)據(jù)采集流程大致如下。
初始化YL-69;
IO拉高,YL-69響應(yīng);
IO拉高,延時(shí),傳輸數(shù)據(jù);
先低后高讀取采集數(shù)據(jù);
數(shù)據(jù)采集完畢。
3)酸堿度、氮磷鉀傳感器模塊。該模塊同樣通過(guò)RS485與單片機(jī)進(jìn)行通信,配置過(guò)程與之前相同。該模塊采集到的數(shù)據(jù)來(lái)自電阻式壓敏傳感器,該傳感器利用外部施加的壓力改變電阻值,從而進(jìn)行模擬壓力采集,并生成模擬信號(hào)。在實(shí)際應(yīng)用中,需要通過(guò)ADC模數(shù)轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)進(jìn)行采集。首先,需要對(duì)采集通道進(jìn)行配置,這里選擇的采集通道為ADC_CHANNEL_0,設(shè)置優(yōu)先級(jí)為1,采樣時(shí)間設(shè)定為3個(gè)周期。數(shù)據(jù)轉(zhuǎn)換完成后,將及時(shí)更新監(jiān)測(cè)結(jié)果。數(shù)據(jù)傳輸采集大致如下。
系統(tǒng)初始化;
轉(zhuǎn)換模擬通道;
采集數(shù)據(jù);
進(jìn)行A/D轉(zhuǎn)換,讀取數(shù)據(jù);
數(shù)據(jù)傳輸,結(jié)束檢測(cè)。
系統(tǒng)如果檢測(cè)到某項(xiàng)數(shù)據(jù)超過(guò)閾值,意味著當(dāng)前的花卉生長(zhǎng)環(huán)境可能會(huì)對(duì)花卉造成不良影響。本系統(tǒng)利用STM32通過(guò)三極管驅(qū)動(dòng)LED發(fā)光二極管來(lái)提供視覺(jué)警示效果,并激活蜂鳴器實(shí)現(xiàn)聲音報(bào)警,提醒養(yǎng)護(hù)人員及時(shí)處理應(yīng)對(duì)措施。
2.3 LoRa 無(wú)線通信單元設(shè)計(jì)
LoRa 通常有三種工作模式:Class A、Class B 和Class C。三種工作模式的具體區(qū)別如下:
1)Class A 為最基本的工作模式,設(shè)備之間能夠雙向通信。設(shè)備在發(fā)送數(shù)據(jù)后,會(huì)等待一個(gè)由基站設(shè)定的時(shí)間窗口,以接收來(lái)自基站的響應(yīng)。該模式功耗較低,但只能在特定的時(shí)間窗口內(nèi)接收數(shù)據(jù),因此其實(shí)時(shí)性有所限制。
2)Class B 在具備Class A特點(diǎn)的基礎(chǔ)上,增加了定時(shí)廣播的功能,能夠更靈活地在時(shí)間窗口內(nèi)接收數(shù)據(jù),提高了實(shí)時(shí)性。
3)Class C 是三種工作模式中實(shí)時(shí)性最高的模式,但由于接收窗口幾乎全程打開(kāi),其功耗也會(huì)非常高。該模式主要用于接收緊急信號(hào)或救援信號(hào),需要穩(wěn)定持續(xù)的電源供給。
由于本系統(tǒng)無(wú)須時(shí)刻打開(kāi)接收窗口,且沒(méi)有大規(guī)模的供電條件,因此選擇使用Class B工作模式,該模式既具有低功耗特性,又能在一定程度上保障實(shí)時(shí)性。
在配置LoRa 之前,由于接口被占用的原因,需要禁止STM32 的JTAG,從而使PA15 可以復(fù)用為普通IO端口。首先使能PA 端口時(shí)鐘,配置模式為下拉推挽輸出,速率為50 MHz,搶占優(yōu)先級(jí)設(shè)置為2。接著配置LoRa通信參數(shù),將LORA_MD0 置為1進(jìn)入配置模式,設(shè)置為一般傳輸模式和透明傳輸,設(shè)置發(fā)射功率為20 dBm,信道為24,空中速率為2.4 kbps,休眠時(shí)間為1秒,模塊地址為2,波特率為115200,無(wú)校驗(yàn)?zāi)J?,最后將LORA_MD0 置為0 以退出配置模式。
鑒于該系統(tǒng)不需要即時(shí)檢測(cè)數(shù)據(jù),設(shè)定采集節(jié)點(diǎn)每次間隔10 秒將所有環(huán)境數(shù)據(jù)打包至一個(gè)結(jié)構(gòu)體,通過(guò)LoRa 無(wú)線通信協(xié)議發(fā)送至匯聚節(jié)點(diǎn)。在編程時(shí),創(chuàng)建LoRa 發(fā)送單元的任務(wù)優(yōu)先級(jí)為最高,但每次執(zhí)行完一次數(shù)據(jù)發(fā)送后,使用vTaskDelay 函數(shù)讓該任務(wù)休眠10 秒,否則其他任務(wù)將無(wú)法搶占CPU 資源進(jìn)行正常工作。
2.4 OLED 顯示單元設(shè)計(jì)
該模塊使用IIC與單片機(jī)進(jìn)行通信,這里同樣選擇STM32的IIC1,配置參數(shù)一致,注意使用時(shí)的總線仲裁即可。
接下來(lái),配置OLED 相關(guān)參數(shù),設(shè)置為全屏全亮模式,并設(shè)定數(shù)據(jù)需要顯示的位置,包括起始行地址、低列地址和高列地址。最后,將振蕩器分頻設(shè)置為0xD5。STM32 內(nèi)部建立一個(gè)緩存(共128×8 個(gè)字節(jié)),每次修改時(shí),僅需修改STM32 上的緩存SRAM,修改完成后一次性將STM32 上的緩存數(shù)據(jù)寫(xiě)入到OLED 的GRAM。在每次更新數(shù)據(jù)之前,需要對(duì)OLED 模塊進(jìn)行清屏,以避免出現(xiàn)字符重疊現(xiàn)象。
2.5 數(shù)據(jù)存儲(chǔ)單元設(shè)計(jì)
該模塊通過(guò)SPI 與單片機(jī)進(jìn)行通信,使能單片機(jī)的PB 端口時(shí)鐘,同時(shí)使能PB3、PB4、PB5 和PC13,配置為上拉推挽輸出模式,默認(rèn)速率為100 MHz,無(wú)CRC 校驗(yàn)。SPI 使用四根線進(jìn)行通信:SCLK(時(shí)鐘線)、MOSI(主設(shè)備輸出,從設(shè)備輸入)、MISO(主設(shè)備輸入,從設(shè)備輸出)和SS(片選線),選擇模式3 進(jìn)行通信,數(shù)據(jù)在時(shí)鐘的上升沿進(jìn)行傳輸,空閑時(shí)保證SCLK 為高電平。
匯聚節(jié)點(diǎn)接收到花卉生長(zhǎng)環(huán)境數(shù)據(jù)后,不僅會(huì)直接通過(guò)顯示器展示出來(lái),還會(huì)記錄并存儲(chǔ)在FLASH 模塊中,以便日后查看。W25Q128 可以存儲(chǔ)16777216 個(gè)字節(jié),每個(gè)字節(jié)占用一個(gè)地址,因此尋址范圍為 0- 16777215,對(duì)應(yīng)的16 進(jìn)制為0-0xFFFFF,因此該設(shè)備寄存器地址為24 位。在編寫(xiě)該單元代碼時(shí),由于此設(shè)備設(shè)定只能將數(shù)據(jù)從1 寫(xiě)為0,而不能將0 寫(xiě)為1,因此每次改變存儲(chǔ)數(shù)據(jù)之前,必須先進(jìn)行數(shù)據(jù)擦除操作。數(shù)據(jù)擦除會(huì)將目標(biāo)扇區(qū)的值全部重置為1。
2.6 數(shù)據(jù)預(yù)測(cè)單元設(shè)計(jì)
最后,本文額外提出了一種基于LSTM 的技術(shù),用于預(yù)測(cè)花卉土壤的溫濕度。需要預(yù)測(cè)的數(shù)據(jù)為植物園花卉的土壤溫濕度參數(shù),該數(shù)據(jù)在很大程度上反映了花卉的生長(zhǎng)環(huán)境狀況。由于年份、季節(jié)和氣候的差異,這些參數(shù)的預(yù)測(cè)往往需要依賴于較長(zhǎng)時(shí)間序列之前的歷史數(shù)據(jù)。而這一條件恰好契合了長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)有效解決長(zhǎng)期依賴的問(wèn)題。在獲取花卉環(huán)境數(shù)據(jù)時(shí),得到原始數(shù)據(jù)后,我們借助小波閾值去噪模型參數(shù),實(shí)現(xiàn)對(duì)各參數(shù)數(shù)據(jù)的去噪處理,以更好地適應(yīng)模型的需求。該方法可以對(duì)數(shù)據(jù)進(jìn)行分解和重構(gòu),從而消除數(shù)據(jù)中的噪聲,以達(dá)到更加精準(zhǔn)的預(yù)測(cè)結(jié)果。針對(duì)花卉監(jiān)測(cè)數(shù)據(jù)的時(shí)序性預(yù)測(cè)問(wèn)題,我們采用三個(gè)指標(biāo)來(lái)評(píng)估各個(gè)模型的預(yù)測(cè)效果,分別是均方根誤差(Root Mean Square Error,RMSE)、平均絕對(duì)誤差(Mean Absolute Error,MAE)和平均百分比誤差(Mean Absolute Percentage Error,MAPE)。最后,根據(jù)這三個(gè)指標(biāo)的對(duì)比結(jié)果,判斷通過(guò)模型所得到的預(yù)測(cè)結(jié)果是否正確。
3 系統(tǒng)測(cè)試與結(jié)果分析
本系統(tǒng)的測(cè)試環(huán)境選擇在上海某植物園的室內(nèi)花卉種植區(qū)進(jìn)行現(xiàn)場(chǎng)測(cè)試。我們隨機(jī)挑選了一株杜鵑花,安裝本系統(tǒng)進(jìn)行測(cè)試,測(cè)試方法為進(jìn)行為期一周的持續(xù)監(jiān)測(cè)。如果在此期間未發(fā)生錯(cuò)誤,則視為測(cè)試成功。系統(tǒng)安裝完畢后,第一次測(cè)得的數(shù)據(jù)如圖4所示,該數(shù)據(jù)為之前未規(guī)律施肥和澆水時(shí)測(cè)得的數(shù)據(jù)。系統(tǒng)安裝一周后,保持穩(wěn)定運(yùn)行,未發(fā)生任何錯(cuò)誤。圖5為一周測(cè)試結(jié)束后改善環(huán)境所測(cè)得的數(shù)據(jù)。
經(jīng)過(guò)硬件和軟件部分的測(cè)試,驗(yàn)證了本系統(tǒng)基本能夠達(dá)到預(yù)期目標(biāo),對(duì)花卉養(yǎng)護(hù)起到輔助作用。用戶能夠清晰地從顯示器上獲取花卉生長(zhǎng)環(huán)境數(shù)據(jù)。在有確切數(shù)據(jù)的支持下,管理員能夠?qū)菜褪┓蔬M(jìn)行合理安排,并控制土壤的酸堿度,為杜鵑花提供優(yōu)良的生長(zhǎng)環(huán)境[6],確保其健康成長(zhǎng)。
與其他同類系統(tǒng)相比,大多數(shù)系統(tǒng)采用如 Zig? Bee、Wi-Fi、GSM 或GPRS等技術(shù),雖然具備低功耗和自組網(wǎng)的特點(diǎn),但傳輸距離較短;盡管這些技術(shù)具有快速高效的傳輸速度,但受到運(yùn)營(yíng)商的限制且費(fèi)用較高。本系統(tǒng)采用LoRa 自組網(wǎng)的方式,實(shí)現(xiàn)了無(wú)線通信、低功耗和低成本的目標(biāo)。
4 結(jié)論
綜上所述,本文設(shè)計(jì)的基于STM32F103單片機(jī)和LoRa組網(wǎng)無(wú)線通信的珍貴花卉養(yǎng)護(hù)系統(tǒng),利用光照傳感器實(shí)時(shí)監(jiān)測(cè)花卉生長(zhǎng)環(huán)境。此外,數(shù)據(jù)通過(guò)LoRa 無(wú)線通信協(xié)議發(fā)送,使得系統(tǒng)能夠在任何地方運(yùn)行,不受遠(yuǎn)距離等因素的限制。本系統(tǒng)能夠有效解決因環(huán)境問(wèn)題導(dǎo)致的花卉生長(zhǎng)受損甚至意外死亡的情況,降低珍貴花卉的養(yǎng)護(hù)成本,帶來(lái)顯著的經(jīng)濟(jì)效益。然而,由于時(shí)間和環(huán)境的限制,本系統(tǒng)仍存在許多不足之處,需要進(jìn)一步完善。在花卉生長(zhǎng)過(guò)程中,存在多種干擾因素,建議對(duì)這些干擾因素進(jìn)行深入研究。在硬件設(shè)計(jì)方面,需要進(jìn)一步優(yōu)化,同時(shí)考慮到系統(tǒng)在運(yùn)行過(guò)程中可能無(wú)法連接互聯(lián)網(wǎng)的問(wèn)題,后續(xù)可以研發(fā)本地終端,開(kāi)發(fā)本地?cái)?shù)據(jù)庫(kù)以管理匯聚節(jié)點(diǎn)傳輸?shù)牟杉瘮?shù)據(jù)。