1功能實現(xiàn)
2 系統(tǒng)軟硬件設(shè)計
3 系統(tǒng)測試
4 結(jié)論
1.總體功能實現(xiàn)
本文設(shè)計的一款基于STM32的植物澆水系統(tǒng),主要由STM32單片機(jī)、土壤濕度傳感器、溫濕度傳感器、Wi-Fi模塊、水泵系統(tǒng)、繼電器以及OLED液晶顯示屏等構(gòu)成,實現(xiàn)手動或自動澆水和遠(yuǎn)程監(jiān)控。當(dāng)土壤濕度傳感器檢測到土壤中的濕度較低時,自動啟動澆水系統(tǒng)澆水,直到土壤濕度達(dá)標(biāo)。同時,用戶可以通過手機(jī)App實時查看土壤濕度數(shù)據(jù)與空氣溫濕度數(shù)據(jù)、設(shè)置澆水模式等。該系統(tǒng)硬件電路成本低,運行穩(wěn)定,實現(xiàn)了智能澆水。
在技術(shù)高速發(fā)展的今天,物聯(lián)網(wǎng)系統(tǒng)開發(fā)模式已經(jīng)發(fā)生了大幅度的轉(zhuǎn)變。在傳統(tǒng)物聯(lián)網(wǎng)系統(tǒng)開發(fā)模式中,需要搭建一臺高性能服務(wù)器,在服務(wù)器上搭建物聯(lián)網(wǎng)后臺,把相關(guān)項目以及數(shù)據(jù)部署在服務(wù)器上,通過服務(wù)器向用戶提供相關(guān)服務(wù)。但是該模式存在很多問題:首先是成本問題,主要包含購買服務(wù)器、服務(wù)器的運營等費用,導(dǎo)致系統(tǒng)價格上升,難以推廣;其次是安全問題,服務(wù)器要預(yù)防網(wǎng)絡(luò)攻擊、停電等各種異常問題,一旦服務(wù)器出現(xiàn)問題,產(chǎn)品可能會死機(jī)。本文選取機(jī)智云物聯(lián)網(wǎng)平臺,其是致力于物聯(lián)網(wǎng)、智能硬件云服務(wù)的開放平臺。平臺提供了從產(chǎn)品定義、設(shè)備端開發(fā)調(diào)試、應(yīng)用開發(fā)、產(chǎn)品測試、運營管理等覆蓋智能硬件接入到運營管理全生命周期服務(wù)的能力。目前,機(jī)智云針對esp8266提供基本的MCU開發(fā)方案以及SDK開發(fā)方案,能夠滿足用戶的實際需求,使用簡單靈活。
2.總體硬件系統(tǒng)結(jié)構(gòu)
系統(tǒng)硬件設(shè)計
系統(tǒng)總體設(shè)計如圖1所示。由圖1可知,整個系統(tǒng)由數(shù)據(jù)獲取層、數(shù)據(jù)處理及控制層和數(shù)據(jù)顯示層組成。數(shù)據(jù)獲取層由土壤濕度傳感器、溫濕度傳感器構(gòu)成,其中,土壤濕度傳感器能夠采集土壤濕度,溫濕度傳感器能夠采集環(huán)境溫濕度數(shù)據(jù)。數(shù)據(jù)處理及控制層包括STM32單片機(jī)、繼電器、水泵,其中,STM32為系統(tǒng)核心部分,用于數(shù)據(jù)處理,并向繼電器發(fā)送控制信號,啟動或停止水泵出水。
數(shù)據(jù)顯示層包括OLED液晶顯示屏、Wi-Fi模塊、機(jī)智云物聯(lián)網(wǎng)平臺和手機(jī)App, 其中,OLED液晶顯示屏用于顯示STM32獲取的傳感器數(shù)據(jù)信息,STM32通過Wi-Fi模塊向機(jī)智云物聯(lián)網(wǎng)平臺傳輸數(shù)據(jù),并將數(shù)據(jù)顯示在手機(jī)App上,同時借助手機(jī)App向STM32單片機(jī)發(fā)送控制信號。
2.1土壤濕度傳感器硬件電路設(shè)計
選用YL-69土壤濕度傳感器檢測土壤濕度,將土壤濕度轉(zhuǎn)換成模擬電壓信號,單片機(jī)借助內(nèi)部自帶的模/數(shù)轉(zhuǎn)換模塊將模擬信號轉(zhuǎn)換成數(shù)字信號,從而獲取土壤濕度數(shù)據(jù)[7]。該傳感器利用土壤水分對電容值的影響來檢測土壤濕度:數(shù)值越大,說明土壤越干燥;數(shù)值越小,土壤越濕潤。在硬件電路連接時需要將土壤濕度傳感器的AO引腳與單片機(jī)的ADC輸入引腳(PA1)相連,土壤濕度傳感器的GND引腳連接到單片機(jī)的GND引腳,土壤濕度傳感器的VCC引腳連接到單片機(jī)的VCC引腳。
2.2 環(huán)境溫濕度傳感器硬件電路設(shè)計
選用DHT11溫濕度傳感器監(jiān)測環(huán)境溫濕度信息。該傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,使用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),單線型串行接口,使用時需要在數(shù)據(jù)口連接一個上拉電阻(連線長度短于20 m時用5 kΩ上拉電阻,大于20 m時根據(jù)實際情況選擇合適的上拉電阻)[8-9]。上電后,溫濕度傳感器接收到單片機(jī)發(fā)送的相關(guān)命令,并根據(jù)接收到的不同命令反饋相關(guān)數(shù)據(jù)。在硬件電路連接時,將溫濕度傳感器的數(shù)據(jù)輸出引腳與單片機(jī)的通信引腳(PB9引腳)進(jìn)行連接。
2.3 繼電器硬件電路設(shè)計
繼電器被用來控制水泵。水泵啟動需要較大的電壓及電流,如果使用單片機(jī)直接驅(qū)動,將影響單片機(jī)工作的穩(wěn)定性,因此采用弱電控制強電原理,借助繼電器進(jìn)行控制。繼電器相當(dāng)于一個開關(guān),其中VCC表示電源正極、GND表示電源負(fù)極、IN表示信號輸入腳、COM表示公共端、NC(normal close)表示常閉端、NO(normal open)表示常開端,一般情況下是常閉狀態(tài)。在硬件電路連接時,繼電器連接單片機(jī)的PB13引腳。
2.4 數(shù)據(jù)顯示與系統(tǒng)通信硬件設(shè)計
2.4.1 ESP8266通信模塊硬件電路設(shè)計
ESP8266是一個成本較低的無線設(shè)備,內(nèi)置TCP/IP協(xié)議,可以與任何Wi-Fi網(wǎng)絡(luò)連接,是目前比較常用的一種無線通信模塊[10]。本系統(tǒng)中的通信模塊通過串口與單片機(jī)相連,將單片機(jī)與機(jī)智云服務(wù)器連接,進(jìn)行數(shù)據(jù)傳輸。在硬件電路連接時,將Wi-Fi模塊的LRXD引腳連接單片機(jī)串口TX(PB10),UTXD引腳連接單片機(jī)串口RX(PB11),從而實現(xiàn)兩者之間的數(shù)據(jù)通信,如圖2所示。
2.4.2
OLED液晶顯示屏硬件電路設(shè)計
有機(jī)發(fā)光二極管(OLED),又稱有機(jī)電激光顯示。OLED具備自發(fā)光、使用溫度范圍廣、構(gòu)造簡單等特點,被認(rèn)為是下一代的平面顯示器新興應(yīng)用技術(shù)。雖然OLED的尺寸難以大型化,但是分辨率很高。
SSD1306是0.96英寸OLED液晶屏,滿足本系統(tǒng)需求。STM32單片機(jī)將獲取到的溫濕度信息顯示到OLED液晶顯示屏,方便用戶查看。在硬件電路連接上,STM32使用IIC通信協(xié)議連接OLED液晶顯示屏,分別連接單片機(jī)對應(yīng)的PB6(作為IIC的SCL引腳)和PB7引腳(作為IIC的SDA引腳)。
2.5 STM32單片機(jī)程序下載電路設(shè)計
選用的STM32F103C8T6單片機(jī)是一款基于Cortex-M3內(nèi)核STM32系統(tǒng)的32位微控制器。該單片機(jī)支持的程序下載方式包括串口下載和下載器下載。串口下載需要先更改硬件boot引腳連接方式,然后修改單片機(jī)的啟動地址,即可通過串口下載程序,而下載器下載需要借助單片機(jī)的下載引腳SWD和SCLK,再使用下載器下載程序。采用串口下載方式,借助FlyMcu軟件,通過串口完成程序的下載。
3.系統(tǒng)軟件設(shè)計
3.1主程序設(shè)計
STM32作為主控芯片,負(fù)責(zé)程序初始化、控制及數(shù)據(jù)顯示。單片機(jī)首先獲取傳感器數(shù)據(jù),將數(shù)據(jù)顯示在液晶屏,使用通信模塊連接機(jī)智云平臺與手機(jī)進(jìn)行通信,再根據(jù)獲取的數(shù)據(jù)實施相應(yīng)控制。當(dāng)土壤濕度傳感器檢測到土壤濕度較低時,啟動澆水系統(tǒng),當(dāng)土壤濕度達(dá)標(biāo)后停止?jié)菜到y(tǒng),其中澆水系統(tǒng)的啟動方式包括手動和自動2種。具體流程如圖3所示。
3.2土壤濕度傳感器程序設(shè)計
土壤濕度傳感器的數(shù)據(jù)獲取是通過單片機(jī)的ADC引腳獲取傳感器的電壓值,然后將獲取到的模擬電壓進(jìn)行模數(shù)轉(zhuǎn)換得到土壤濕度信息。首先初始化ADC功能,然后打開相關(guān)ADC通道進(jìn)行數(shù)據(jù)循環(huán)采樣,流程如圖4所示。
3.3環(huán)境溫濕度傳感器程序設(shè)計
環(huán)境溫濕度傳感器通過單片機(jī)的IO口進(jìn)行命令的發(fā)送及數(shù)據(jù)的獲取。首先初始化與溫濕度傳感器連接的數(shù)據(jù)引腳,然后分別輸出一段時間的高低電平命令,獲取GPIO的電平信號并獲取溫濕度傳感器傳輸?shù)臄?shù)據(jù)。程序設(shè)計流程如圖5所示。3.4 ESP8266通信模塊程序設(shè)計
ESP8266通信模塊通過串口與單片機(jī)進(jìn)行通信,因此將該程序設(shè)計轉(zhuǎn)換成單片機(jī)串口數(shù)據(jù)收發(fā)程序。首先對串口初始化,設(shè)置標(biāo)志位,判斷串口是否產(chǎn)生中斷:如果產(chǎn)生中斷,接收數(shù)據(jù)并將數(shù)據(jù)解析存儲;如果沒有中斷,繼續(xù)等待。程序設(shè)計流程如圖6所示。4 系統(tǒng)測試與應(yīng)用在進(jìn)行系統(tǒng)硬件調(diào)試前,需要確保傳感器和單片機(jī)電源、傳感器與單片機(jī)的引腳連接正確。經(jīng)過硬件焊接連接的實物圖如圖7所示
4.云平臺傳輸調(diào)試
將系統(tǒng)獲取的數(shù)據(jù)上傳至機(jī)智云物聯(lián)網(wǎng)平臺,并針對Wi-Fi模塊、數(shù)據(jù)上傳和命令過程下發(fā)進(jìn)行調(diào)試。調(diào)試程序如圖8所示。
5.測試結(jié)果與分析
在自動模式下,將土壤濕度傳感器放置在干燥缺水的土壤中,通過手機(jī)App可監(jiān)測到環(huán)境溫度值為26,環(huán)境濕度值為32,土壤濕度值為4036,此時自動啟動水泵澆水,如圖9所示。
結(jié)論
本文以STM32F103C8T6作為主控芯片,以及使用溫濕度傳感器、土壤濕度傳感器、繼電器、水泵、Wi-Fi模塊、OLED等器件,設(shè)計了一款能夠?qū)崟r采集土壤濕度信息,并在土壤干涸時及時澆水的智能澆水系統(tǒng)。
該系統(tǒng)能夠滿足實時監(jiān)測土壤環(huán)境的濕度,并且能定時將采集到的數(shù)據(jù)上傳到機(jī)智云物聯(lián)網(wǎng)平臺,使用戶能夠?qū)崟r了解環(huán)境狀況,同時用戶能夠根據(jù)環(huán)境溫濕度以及土壤濕度信息,決定是否遠(yuǎn)程打開水泵進(jìn)行手動澆水操作。
-
傳感器
+關(guān)注
關(guān)注
2550文章
51035瀏覽量
753072 -
OLED
+關(guān)注
關(guān)注
119文章
6198瀏覽量
224098 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44557瀏覽量
372774 -
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355731
發(fā)布評論請先 登錄
相關(guān)推薦
評論