3km無線模塊WiFi遠距離控制智能澆花系統(tǒng)設計
發(fā)布日期:2021-12-13
瀏覽次數(shù):2776
3km無線模塊WiFi遠距離控制智能澆花系統(tǒng)設計,伴隨著科學技術的不斷發(fā)展,人們的衣食住行也越來越智能化,智能家居這個理念意在提高人們的生活水平,自出現(xiàn)以來,便受到市場的青睞,必然是未來人們居住環(huán)境的趨勢。現(xiàn)代人們喜歡在家里或辦公室擺放一些盆栽,起到凈化空氣、美化環(huán)境的作用。但隨著生活節(jié)奏的加快,人們不能有效地照顧家中的盆栽。針對這種情況,可采用智能澆花機,傳統(tǒng)的基于單片機設計的自動澆花系統(tǒng)多采用蜂鳴器報警,液晶顯示器顯示溫濕度等。鑒于用戶使用的靈活性和移動性,本文以較廣泛的Android移動終端取代了傳統(tǒng)的PC終端,實現(xiàn)了利用Android移動終端在家庭中進行環(huán)境監(jiān)控和噴水控制。實現(xiàn)了用戶使用Android智能手機對盆栽進行監(jiān)控并完成自動澆水。因為不同植物適合生長的溫、濕度環(huán)境不同,使用者可通過手機APP設定盆栽植物名稱及適宜植物生長的溫濕下限。在盆栽土壤濕度低于其適宜的濕度值時,可選用自動或手動方式,使泵運轉(zhuǎn),提高土壤濕度;當濕度達到高濕度時,An-droid移動終端接收到報警提示,控制水泵停止工作。
由硬件設備端和移動控制端兩個部分組成。澆花機硬件設備端主要包括電源電路、復位電路、單片機小系統(tǒng)、土壤濕度電路、空氣溫度和濕度電路、3km無線模塊WiFi遠距離WiFi通訊電路、繼電器驅(qū)動電路。手機控制端軟件是基于MVC模式的Android手機APP。
用S單片機40針,用DIP40封裝。該系統(tǒng)由電源電路、復位電路組成的單片機小系統(tǒng)組成,然后進行外圍電路的開發(fā)。用Y模塊對土壤濕度進行模擬量測定,利用A模塊將所采集的模擬量轉(zhuǎn)換為數(shù)字量輸入單片機,組成土壤濕度電路,除監(jiān)測土壤濕度外,還增加了空氣溫度和濕度檢測功能,使用D模組,繼電器電路只要有相應的正、負極導通,控制線路連接單片機1個I/O口,1個聯(lián)網(wǎng)模塊,WiFi模塊電路,僅需將相應的正、負極與數(shù)據(jù)發(fā)送/接收線相結合。
土壤濕度模塊電路本設計采用Y土壤濕度傳感器,該傳感器由敏感元件和轉(zhuǎn)換電路組成,當外部環(huán)境濕度發(fā)生變化時,將改變其內(nèi)部元件的電阻值,其范圍通常是0~10kΩ。電阻值改變時,輸出電路的電壓也隨之改變。感應器的輸出端為A0管腳,但輸出的是模擬量,單片機讀不出來,需要通過A/D轉(zhuǎn)換模塊得到數(shù)字量給單片機讀出。
空氣溫濕度模塊空溫度濕度電路采用D溫濕度傳感器,D溫濕度傳感器與單片機之間采用單總線協(xié)議進行數(shù)據(jù)傳輸,只需在2Pin口與單片機的P3.7口接合,而且通常需要外部的上拉電阻。使用電壓范圍為3.3~5V,電壓過高會造成傳感器燒壞,電壓過低造成數(shù)據(jù)傳輸損失。
WiFi模塊考慮到本設計的擴展性,選擇采用
WiFi模塊,便于系統(tǒng)升級為帶有數(shù)據(jù)中轉(zhuǎn)服務端的遠程監(jiān)控。通過3km無線模塊WiFi遠距離CV5200WiFi模塊,實現(xiàn)了無線AP與安卓手機的雙向無線通訊。將CV5200模塊的VCC.GND.CH_PD.TX.RX的VCC.GND.3.3V高水平.RXD.TXD.TXD.TX.RXD,3km無線模塊WiFi遠距離CV5200通過單片機發(fā)送一系列AT指令到CV5200,使CV5200成為AP模式,即該模塊作為熱點,手機連接之后可以實現(xiàn)對局域網(wǎng)的無線控制。
植物數(shù)據(jù)接口智能澆花系統(tǒng)基于Android系統(tǒng)的開發(fā)構建了一個智能澆花APP。在開發(fā)一個植物數(shù)據(jù)接口程序時,基于面向?qū)ο蟮木幊趟枷?,首先需要對一個植物類進行定制,并通過實例對組織數(shù)據(jù)進行劃分。接口空間方面,外圍布局采用LinearLayout線性布局,RecyclerView控件和一個用來增加Re在cyclerView中的Item按鈕控件,它可以將Item的數(shù)據(jù)適當?shù)剡m配為RecyclerView,這要求相應的適配器完成編寫。
硬件設備監(jiān)控接口硬件設備監(jiān)控接口涉及到UI控件的設計以及基于TCP/IP的Socket通信的設計,Android程序設計中的接口UI更新需要在主線程中完成,在主線程中不允許執(zhí)行網(wǎng)絡連接等耗時的操作。所以,新線程需要接收下位機傳送的空溫濕度和土壤濕度數(shù)據(jù),然后用Handle機制在線程間傳送數(shù)據(jù),把數(shù)據(jù)傳送給主線程,終實現(xiàn)UI的更新。
Data-Discovery對話方塊在澆花型APP中添加植物數(shù)據(jù)增刪功能,可對不同植物設定不同的溫濕度上限。將對話框設計成一個自定義對話框,其中包含相應數(shù)值的存儲編輯框,Cancel和OK按鈕位于底部。
Socket通信實現(xiàn)本設計利用TCP/IP協(xié)議在Android客戶端使用Socket套接字進行開發(fā),也就是通信采用TCP方式,需要一個Streamsocket對象。在客戶機代碼中,首先給定IP地址和端口兩個參數(shù),初始化一個Socket對象。在獲得Socket對象實例之后,通過isConnected()方法檢查服務器是否成功連接。在通訊之前,需要先獲得Socket實例的流對象,然后通過I/O流操作讀取輸入流的數(shù)據(jù),并對其進行相應的處理,其中的數(shù)據(jù)是由服務器端傳遞的數(shù)據(jù)。對于服務器來說,您需要創(chuàng)建一個輸出流對象,該對象通過輸出流的write()方法發(fā)送數(shù)據(jù),然后記得用flash()方法刷新數(shù)據(jù)。通訊也要求關閉Socket實例和流對象。因為在Android系統(tǒng)中不允許在主線程中執(zhí)行網(wǎng)絡請求等費時的操作,當想要連接服務器時,需要創(chuàng)建一個新線程,在內(nèi)部執(zhí)行網(wǎng)絡請求,然后通過線程之間的通信將獲得的數(shù)據(jù)返回給主線程。
3km無線模塊WiFi遠距離智能澆花系統(tǒng)可實時監(jiān)控盆栽植物土壤濕度和空氣溫濕度,用戶可通過安卓手機APP選擇自動或手動工作方式,控制泵工作,按時按要求完成澆水工作。用戶可通過APP在澆花APP中添加、刪除盆栽名稱,通過APP設置每個盆栽植物的溫濕閾值。Android智能手機是一種簡單易用的智能手機,采用單片機作為下位機來控制硬件模塊。該設計成本低,實用性強,擴展性好,可以應用于水果等其它農(nóng)作物灌溉的自動化處理。