基于樹(shù)莓派與ESP8266的溫室環(huán)境智能監控系統的設計與實(shí)現
摘要: 針對我國溫室環(huán)境智能監控系統主要以對環(huán)境的監控為主,具有數據遠程監測困難、數據難以保存、系統平臺要求較高、后期維護成本高等缺點(diǎn)。為此本設計提出了一種基于ESP8266與樹(shù)莓派的溫室環(huán)境智能監控系統。系統通過(guò)ESP8266主控芯片對DHT11溫濕度傳感器的數據進(jìn)行采集,同時(shí)傳給OLED顯示屏進(jìn)行實(shí)時(shí)顯示,并能將數據通過(guò)Wi-Fi發(fā)送到用樹(shù)莓派搭建的MySQL數據庫服務(wù)器中。并設計了基于B/S架構的溫室環(huán)境Web管理信息子系統,用戶(hù)通過(guò)手機客戶(hù)端及網(wǎng)頁(yè)可遠程查看環(huán)境內溫濕度數據變化情況,以及選擇查看每分鐘、每小時(shí)、每天的歷史數據,以便總結更加適合的溫濕度范圍。本設計提出的溫室環(huán)境智能監控系統結構設計合理、數據采集速度快、界面設計簡(jiǎn)潔、系統運行穩定,能對溫室環(huán)境進(jìn)行有效的監測和控制,具有較好的使用價(jià)值和意義。
0 引言
近年來(lái),隨著(zhù)物聯(lián)網(wǎng)技術(shù)研究的進(jìn)一步深入,我國物聯(lián)網(wǎng)技術(shù)在農業(yè)溫室種植中的應用得到了迅速發(fā)展。秦琳琳等人基于CAN 總線(xiàn)的現代溫室測控系統的設計及實(shí)現可以有效監測環(huán)境,但系統硬件成本高、設備體積大[1]。田壯壯等人設計的基于PHP&MySQL 的教室環(huán)境智能監控系統通過(guò)數據庫實(shí)現了遠程檢測數據,但數據沒(méi)有得到有效保存[2]。國內外溫室多數為中、小規模,為適應實(shí)際情況,引入中、小型種植戶(hù)的資金,智能化監控系統設計中應充分考慮成本問(wèn)題[3]。因此開(kāi)發(fā)出成本低、性能好、具有對數據進(jìn)行處理和保存的溫室環(huán)境智能監控系統對于溫室產(chǎn)業(yè)的發(fā)展具有重要意義。
通過(guò)對溫室環(huán)境中溫度與濕度的信息進(jìn)行深入了解后,做了系統分析、系統設計、系統實(shí)現、以及測試,最終實(shí)現了溫室環(huán)境智能監控系統,并植入用樹(shù)莓派搭建的服務(wù)器內。本系統基于B/S 框架,硬件通過(guò)ESP8266 對DHT11 溫濕度傳感器的數據進(jìn)行采集,同時(shí)傳給OLED 顯示屏進(jìn)行實(shí)時(shí)數據顯示,并能將數據通過(guò)TCP/IP 協(xié)議傳給數據庫。軟件部分前端界面采用JS與CSS 技術(shù),后臺采用PHP 編程語(yǔ)言,并結合MySQL數據庫,在設計上做到了可擴張可維護,服務(wù)器采用樹(shù)莓派自行搭建。本系統實(shí)現了對環(huán)境溫濕度的收集與保存及檢測環(huán)境溫濕度是否超出上下限等功能,使用戶(hù)方便快捷地了解溫室環(huán)境內溫濕度變化情況,對溫濕度進(jìn)行有效管理,為當前溫室環(huán)境監控系統管理提供了幫助。
1 研究的主要內容
系統主要分軟件和硬件兩部分來(lái)研究,以軟硬件結合的方式收集數據、處理數據、保存數據并將數據可視化展現在網(wǎng)頁(yè)上,實(shí)現遠程觀(guān)察。
1.1 硬件部分
1)首先通過(guò)ESP8266 對DHT11 溫濕度傳感器的數據進(jìn)行采集。
2)ESP8266 接收到數據后進(jìn)行處理,同時(shí)傳給OLED顯示屏進(jìn)行實(shí)時(shí)數據顯示,并能將數據通過(guò)Wi-Fi 發(fā)送到MySQL 數據庫。
3)將本系統和數據庫植入用樹(shù)莓派搭建服務(wù)器中。
1.2 軟件部分
1)MySQL 數據庫可對接收到的數據進(jìn)行處理和保存。
2)用戶(hù)登錄系統查看溫濕度實(shí)時(shí)數據和歷史數據,并可選擇性查看每天、每小時(shí)、每分鐘數據變化。同時(shí)可增刪改查溫濕度的上下限,當溫濕度超出所設定的上下限時(shí)會(huì )出現相應的提示信息。管理員還可修改工作人員的訪(fǎng)問(wèn)權限,工作人員可修改自己的個(gè)人信息。
2 系統設計
2.1 系統結構設計
溫室環(huán)境智能監控系統主要由硬件和軟件兩大部分構成。硬件包括ESP8266 控制模塊、DHT11 溫濕度傳感器和OLED 顯示屏,軟件角色分為管理員和工作人員,另有溫濕度管理與員工管理等相關(guān)功能。如圖1 所示。
2.2 系統中數據的傳遞方式
ESP8266 模塊調用庫函數readTemperature() 和readHumidity() 分別獲取DHT11 收集到的溫度和濕度數據,同時(shí)傳給OLED 顯示屏進(jìn)行實(shí)時(shí)數據顯示,通過(guò)調用ESP8266Wi-Fi 中的庫函數,定時(shí)將數據發(fā)送到樹(shù)莓派搭建的服務(wù)器中。主控芯片用帶有服務(wù)器IP 地址及端口號的命令client.print(String("GET ") +url + " HTTP/1.1rn" +"Host:" + host +"rn" +"Connection: closernrn") 發(fā)送到網(wǎng)絡(luò )接入點(diǎn)進(jìn)行廣播查找與服務(wù)器連接。在樹(shù)莓派中創(chuàng )建PHP 文件分別利用$_GET(temp) 和$_GET(hum) 獲取ESP8266 發(fā)送的溫度和濕度數據,通過(guò)INSERT INTO 語(yǔ)句將數據插入MySQL 數據庫中,并在MySQL 數據庫中進(jìn)行處理和保存,用PHP 編寫(xiě)可視化網(wǎng)頁(yè)圖形顯示數據庫中的溫濕度數據[1]。如圖2 所示。
圖2 系統數據流圖
2.3 系統功能設計
用戶(hù)進(jìn)入系統需輸入用戶(hù)名和密碼判斷用戶(hù)是否已注冊,如果已注冊則判斷是否可以登錄成功,若登錄失敗將重新輸入,若登入成功將進(jìn)入系統。若沒(méi)有注冊則輸入個(gè)人信息進(jìn)行用戶(hù)注冊,輸入有誤將返回重新輸,輸入正確將注冊成功進(jìn)入系統。用戶(hù)進(jìn)入系統后可觀(guān)察溫濕度的實(shí)時(shí)數據以及歷史數據,并可增刪改查溫濕度上下限。若以管理員的身份進(jìn)入系統還可查看、修改和刪除員工個(gè)人信息。如圖3 所示。
3 系統界面設計
3.1 系統中登錄和注冊功能界面的實(shí)現
系統的界面設計包含了系統的注冊界面、登錄界面、溫濕度顯示界面、員工信息界面以等他各功能界面,溫濕度顯示界面分別由每天、每小時(shí)、每分鐘3 個(gè)溫濕度顯示界面組成。如圖4所示。
圖4 系統注冊頁(yè)面圖
3.2 系統主界面的實(shí)現
成功登入本系統將進(jìn)入本系統的主界面溫濕度顯示界面。該界面主要分為3 部分,上半部分是溫度和濕度實(shí)時(shí)數據, 這部分每1 min更新1 次,便于員工觀(guān)察溫室中溫濕度的變化情況。下半部分是溫度和濕度的歷史數據,便于員工總結最適合溫濕度,中下部有增刪改查溫濕度上下限按鈕,當溫濕度超出所設定范圍時(shí)會(huì )出現相應的提示,用戶(hù)可及時(shí)發(fā)現并做出有效的措施。如圖5 所示??筛鶕枨笸ㄟ^(guò)界面的切換觀(guān)察每分鐘、每小時(shí)、每天的數據變化,本功能通過(guò)對表中數據進(jìn)行ORDER BY time DESC 按照時(shí)間升序的方式進(jìn)行排序,通過(guò)time(time)與date(time)函數分離時(shí)分秒與年月日,并用DATEDIFF()與BETWEEN()分別獲取前10 d 內和前10 h 的所有溫濕度數據,計算出每天、每小時(shí)的平均數據進(jìn)行顯示。
圖5 系統溫濕度頁(yè)面圖
在下部分表中同一時(shí)間段有3 條實(shí)線(xiàn)數據從上至下依次為上限、實(shí)時(shí)數據和下限,1 條虛線(xiàn)為平均數值。在每個(gè)表的左上角都設有5 個(gè)按鈕(如圖6 所示)從左到右依次為表單、折線(xiàn)圖、柱狀圖、更新和下載數據圖功能符號。點(diǎn)擊相應符號會(huì )出現相應界面如表單(以溫度表為例如圖7)和柱狀圖(以溫度表為例如圖8)多樣化顯示可使用戶(hù)簡(jiǎn)潔快速查看數據。
圖6 溫濕度按鈕界面
圖7 溫度表單界面
圖8 溫度柱狀圖界面
3.3 員工管理界面的實(shí)現
管理員有權限進(jìn)入員工管理界面,該界面中可清晰觀(guān)察員工信息,為方便查看更多信息在表下方創(chuàng )建了滑動(dòng)條。在表中留有“刪除”和“修改”按鈕列,當員工個(gè)人信息發(fā)生變化時(shí)可以及時(shí)對該員工個(gè)人信息進(jìn)行刪除或修改。為解決快速查找某個(gè)人的個(gè)人信息問(wèn)題,本系統利用員工ID 唯一性創(chuàng )建“ID 搜索”窗口,方便精準快速查找員工。如圖9 所示。
圖9 員工管理界面圖
4 系統電路設計
在本系統中僅有少量的數據需要處理為降低成本主控芯片采用ESP8266 D1 Mini 開(kāi)發(fā)板足以驅動(dòng)傳感器及顯示器,并可以實(shí)現將數據發(fā)送到服務(wù)器。溫濕度傳感器選用DHT11 具有體積小、響應速度快、抗干擾能力強等優(yōu)點(diǎn),適應于不同環(huán)境下監測。顯示器選用輕薄短小、省電的OLED 屏幕。硬件設備整體小巧精致,方便放置于各種環(huán)境中。如圖10 所示。
圖10 系統電路圖
5 數據庫設計
根據需要本系統選用MySQL 數據庫對數據進(jìn)行管理。數據庫中所存儲的數據都是該系統的重要組成部分,因此在設計數據庫時(shí)高度注重數據庫的隔離性、一致性、持久性和原子性。本系統中主要數據庫表為保存溫濕度以及存儲時(shí)間表,時(shí)間字段為time 類(lèi)型定義為datetime型,并添加自動(dòng)獲取索引,考慮到溫濕度的精度及觀(guān)察方便溫濕度類(lèi)型定義為fl oat 型小數點(diǎn)后兩位。如表1 所示。
表1 溫濕度儲存表
6 結束語(yǔ)
本系統的設計采用軟件網(wǎng)頁(yè)和數據庫與硬件ESP8266 開(kāi)發(fā)板、OLED 顯示屏和DHT11 溫濕度傳感器在樹(shù)莓派做服務(wù)器的情況下相互結合,使兩大學(xué)科相互交叉,打破了傳統純硬件設計及純軟件開(kāi)發(fā)的常規思維方式,設計出溫室環(huán)境智能監控系統。本系統不僅實(shí)現了對傳感器數據的實(shí)時(shí)監測與觀(guān)察,而且可將數據發(fā)送到數據庫中進(jìn)行保存與處理,并以可視化的形式展現在網(wǎng)頁(yè)上供多人遠程查看。有利于觀(guān)察生產(chǎn)生活及植物生長(cháng)發(fā)育所需更適合溫濕度范圍,對提高生產(chǎn)生活效率及植物生長(cháng)發(fā)育速率有很大的幫助,存在一定的發(fā)展潛力。
參考文獻:
[1] 秦琳琳,蔣勇翔,石春,等.基于CAN總線(xiàn)的現代溫室測控系統的設計及實(shí)現[C].第三十一屆中國控制會(huì )議論文集C卷.,2012:1838-1842.
[2] 田壯壯,王瀟瀟,王鑫,等.基于PHP & MySQL的教室環(huán)境智能監控系統設計與實(shí)現[J].電子技術(shù),2018,47(9):79-82.
[3] 夏龍龍,顏曉元,蔡祖聰.我國農田土壤溫室氣體障檢測儀的研發(fā)[J].氣象災害防御,2018,25(2):44-48.
[4] 陳宏,王維洲,廖志軍,等.基于智能控制的溫室大棚監控系統研究[J].國外電子測量技術(shù),2019, 38(3):117-121.
[5] 李銳.基于A(yíng)T89C51單片機的大棚溫控系統設計[ J].電子制作,2020(2):8-10.
[6] 王一涯,牛濤,陳曙光,等.用于溫室大棚的多路遠程溫控系統設計[J].電腦知識與技術(shù) ,2016,12(31):237-239.
[7] 李涵茜.基于A(yíng)rduino嵌入式平臺智能花盆系統[J].科技資訊,2017,15(33):21-24.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2023年1月期)
評論