廖明華 黃育雄
摘要:智能魚缸監(jiān)控系統(tǒng)以Arduino UNO R3為控制核心,利用傳感器采集大氣溫濕度、光照強(qiáng)度、魚缸內(nèi)的溫度等數(shù)據(jù),通過Wifi上傳到OneNET云平臺(tái),手機(jī)App調(diào)用云平臺(tái)API實(shí)時(shí)遠(yuǎn)程獲取魚缸環(huán)境參數(shù),同時(shí)下發(fā)命令控制燈光、喂食、恒溫等。
關(guān)鍵詞:智能魚缸;OneNet;Arduino;Wifi
中圖分類號(hào):TP368.1 ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)02-0115-03
1 背景
據(jù)有關(guān)資料顯示,目前全世界觀賞魚缸業(yè)正以每年超過10%的速度增長(zhǎng),在家居環(huán)境或是休閑娛樂場(chǎng)所都有各種各樣的魚缸,而保持一個(gè)適宜魚類生活的環(huán)境是一件非常耗精力的工作[1],但目前市場(chǎng)上常用的魚缸控制系統(tǒng)產(chǎn)品繁多,功能不統(tǒng)一,沒有實(shí)現(xiàn)系統(tǒng)化,不僅增加了成本,而且影響美觀。此外,現(xiàn)有技術(shù)中的智能魚缸大多無法提供遠(yuǎn)程服務(wù),即使有部分產(chǎn)品能夠提供對(duì)魚缸的遠(yuǎn)程監(jiān)測(cè),但也無法提供對(duì)魚缸的遠(yuǎn)程控制,這樣即使發(fā)現(xiàn)魚缸內(nèi)的環(huán)境不佳,也無法立即進(jìn)行控制改善,影響了用戶的體驗(yàn)。
隨著國(guó)家經(jīng)濟(jì)水平的提高和人們對(duì)優(yōu)質(zhì)生活的追求,集水溫、清潔、喂養(yǎng)、補(bǔ)氧等功能于一體的智能魚缸將成為人們的新寵,為完善現(xiàn)今魚缸存在的技術(shù)問題,同時(shí)滿足用戶日益增長(zhǎng)的新需求,本文設(shè)計(jì)實(shí)現(xiàn)了一套基于物聯(lián)網(wǎng)平臺(tái)的智能魚缸系統(tǒng),可以實(shí)現(xiàn)魚缸生態(tài)環(huán)境的自我管理,同時(shí)在手機(jī)端查看魚缸的實(shí)時(shí)情況,遠(yuǎn)程操控改善魚類生活環(huán)境狀態(tài)。
2 智能魚缸監(jiān)控系統(tǒng)設(shè)計(jì)方案
如圖1智能魚缸監(jiān)控系統(tǒng)功能結(jié)構(gòu)圖所示,系統(tǒng)包括主控模塊、WIFI模塊、環(huán)境監(jiān)測(cè)模塊、恒溫加熱器、供氧過濾水循環(huán)器、光照模塊、喂食模塊,云端服務(wù)器和控制終端。
主控模塊為ATMEGA328P芯片,能控制魚缸所需的各個(gè)模塊,實(shí)現(xiàn)智能照明、智能溫控以及智能喂食,系統(tǒng)通過主芯片的代碼控制,達(dá)到了功能系統(tǒng)化的效果,降低了購(gòu)買設(shè)備的成本。溫度傳感器采用了DS18B20模塊,該模塊具有體積小、硬件開銷低、抗干擾能力強(qiáng)、精度高的特點(diǎn)[2],使魚缸的水溫保持在用戶所設(shè)定的溫度值,保證魚缸水體的恒溫效果;智能照明可根據(jù)外界光照強(qiáng)度變化進(jìn)行調(diào)節(jié),使得魚缸的美觀性更強(qiáng);智能溫控保證了魚缸的恒溫狀態(tài),三合一供氧水循環(huán)系統(tǒng)具有供氧、過濾、水循環(huán)的功能,保證了魚缸水體的質(zhì)量,智能喂食可通過直流電機(jī)帶動(dòng)槳葉旋轉(zhuǎn),當(dāng)槳葉孔轉(zhuǎn)過飼料孔時(shí),飼料就可以從孔中掉落進(jìn)魚缸。
WIFI模塊為ESP8266芯片,主控芯片通過WIFI接入因特網(wǎng),采用EDP通信協(xié)議與中國(guó)移動(dòng)物聯(lián)網(wǎng)開發(fā)云平臺(tái)OneNet進(jìn)行通信,實(shí)現(xiàn)魚缸溫度,光照等環(huán)境數(shù)據(jù)的監(jiān)測(cè)和溫控、補(bǔ)光、喂食等控制命令的下發(fā)。
控制終端有基于C#的PC上位機(jī)和Android手機(jī)App,采用HTTP通信協(xié)議與中國(guó)移動(dòng)物聯(lián)網(wǎng)開發(fā)云平臺(tái)OneNet進(jìn)行通信,實(shí)現(xiàn)魚缸環(huán)境數(shù)據(jù)的監(jiān)測(cè)和控制命令的下發(fā)。
3 系統(tǒng)軟硬件設(shè)計(jì)
3.1 硬件設(shè)計(jì)
圖2所示為智能魚缸監(jiān)控系統(tǒng)的電路原理圖,A1表示恒溫加熱器、A2表示供氧過濾水循環(huán)器、A3表示光照模塊、A4表示喂食模塊,主控模塊、WIFI模塊以及環(huán)境檢測(cè)模塊用各自采用的芯片型號(hào)表示。
3.2 軟件設(shè)計(jì)
1)Arduino主程序
本系統(tǒng)采用Arduino UNO R3為控制核心,對(duì)魚缸水體溫度、室內(nèi)大氣溫濕度以及魚缸光照強(qiáng)度等實(shí)時(shí)數(shù)據(jù)的采集,再由WIFI模塊實(shí)時(shí)傳輸?shù)絆neNET控制終端,達(dá)到對(duì)魚缸環(huán)境實(shí)時(shí)監(jiān)測(cè),用戶可通過控制終端查看魚缸環(huán)境的實(shí)時(shí)數(shù)據(jù),并通過控制終端下發(fā)相應(yīng)的控制指令,用戶可以對(duì)這些數(shù)據(jù)利用專家系統(tǒng)進(jìn)行分析,通過控制設(shè)備上連接的恒溫器、三合一供氧過濾水循環(huán)器、直流電機(jī)(智能喂食系統(tǒng))等設(shè)施的手段,可以實(shí)現(xiàn)自動(dòng)智能的調(diào)節(jié)和控制,使得魚兒生活環(huán)境始終處于最佳狀態(tài),以實(shí)現(xiàn)智能魚缸的目標(biāo)。
本系統(tǒng)的工作流程圖如圖3所示。
2)云端服務(wù)器
云端服務(wù)器采用OneNET云平臺(tái)的多協(xié)議接入中的EDP協(xié)議。OneNET定位為PaaS服務(wù),即在物聯(lián)網(wǎng)應(yīng)用和真實(shí)設(shè)備之間搭建高效、穩(wěn)定、安全的應(yīng)用平臺(tái):面向設(shè)備,適配多種網(wǎng)絡(luò)環(huán)境和常見傳輸協(xié)議,提供各類硬件終端的快速接入方案和設(shè)備管理服務(wù);面向應(yīng)用層,提供豐富的API和數(shù)據(jù)分發(fā)能力以滿足各類行業(yè)應(yīng)用系統(tǒng)的開發(fā)需求,使我們不用將工作重心放在設(shè)備接入層的環(huán)境搭建上,從而縮短系統(tǒng)的形成周期,降低研發(fā)、運(yùn)營(yíng)和運(yùn)維成本[3]。
EDP協(xié)議適用于設(shè)備和平臺(tái)需要保持長(zhǎng)連接點(diǎn)對(duì)點(diǎn)控制的使用場(chǎng)景,基于TCP協(xié)議的,該協(xié)議只傳輸數(shù)據(jù)包到達(dá)目的地,不保證傳輸?shù)捻樞蚺c到達(dá)的順序相同,事務(wù)機(jī)制需要在上層實(shí)現(xiàn);若客戶端同時(shí)發(fā)起兩次請(qǐng)求,服務(wù)器返回時(shí),不保障返回報(bào)文的順序,EDP協(xié)議適合于數(shù)據(jù)的長(zhǎng)連接上報(bào)、透?jìng)?、轉(zhuǎn)發(fā)、存儲(chǔ)、數(shù)據(jù)主動(dòng)下發(fā)等場(chǎng)景[4]。
在OneNet平臺(tái)上創(chuàng)建產(chǎn)品,產(chǎn)品的接入方式選擇公開協(xié)議,聯(lián)網(wǎng)方式選擇WiFi,模組選擇安信可ESP266-XXX系列,設(shè)備接入?yún)f(xié)議選擇EDP協(xié)議[5],創(chuàng)建產(chǎn)品完成后,創(chuàng)建設(shè)備,數(shù)據(jù)保密性設(shè)為公開,設(shè)備創(chuàng)建完成后,創(chuàng)建應(yīng)用,分別記錄魚缸內(nèi)溫度,室內(nèi)溫度,大氣濕度,編輯應(yīng)用界面,放置相應(yīng)的按鈕及圖形,修改相應(yīng)按鈕下發(fā)指令數(shù)據(jù)設(shè)置,即可從電腦Web端進(jìn)入OneNet平臺(tái)中智能魚缸監(jiān)控系統(tǒng)控制界面,效果圖如圖4所示,實(shí)現(xiàn)魚缸數(shù)據(jù)的監(jiān)控。
3)基于C#的PC上位機(jī)
上位機(jī)通過HTTP協(xié)議,調(diào)用OneNET平臺(tái)提供的API,實(shí)時(shí)更新魚缸數(shù)據(jù),同時(shí)獲取采集數(shù)據(jù)時(shí)間,并將數(shù)據(jù)實(shí)時(shí)存儲(chǔ)到指定路徑的text文檔中或本地SQL Server數(shù)據(jù)庫(kù),用戶還可以通過上位機(jī)下發(fā)命令,控制投喂,恒溫,燈光,三合一電器的開關(guān),如果進(jìn)入自動(dòng)讀入模式,可以每隔60S左右自動(dòng)刷新一次數(shù)據(jù),根據(jù)光照強(qiáng)度、水體溫度的數(shù)值進(jìn)行自動(dòng)控制。
4)Android手機(jī)App
用戶使用手機(jī)App可以隨時(shí)隨地通過HTTP協(xié)議,調(diào)用OneNET平臺(tái)提供的API,實(shí)時(shí)更新魚缸數(shù)據(jù),同時(shí)獲取采集數(shù)據(jù)時(shí)間,還可以下發(fā)命令,控制投喂,恒溫,燈光,三合一電器的開關(guān),同樣可以控制進(jìn)入自動(dòng)讀入模式。
4 系統(tǒng)測(cè)試數(shù)據(jù)分析
系統(tǒng)在整體設(shè)計(jì)結(jié)束后,結(jié)合硬件和軟件進(jìn)行最后階段的測(cè)試調(diào)整,以確定系統(tǒng)的正常運(yùn)行和穩(wěn)定性。
圖7為在系統(tǒng)正常運(yùn)行時(shí),快速改變魚缸水體溫度值,實(shí)時(shí)采集水體溫度值變化,同時(shí)分別記錄云平臺(tái),PC上位機(jī),手機(jī)App上水體溫度值的變化,經(jīng)分析,在網(wǎng)絡(luò)環(huán)境良好的情況下,云平臺(tái),PC上位機(jī),手機(jī)App在水體溫度發(fā)生變化時(shí),能實(shí)時(shí)監(jiān)測(cè)到水體溫度變化的情況,但出現(xiàn)2~5s的延時(shí),同樣下發(fā)命令也能得到有效執(zhí)行,表明整體的設(shè)計(jì)調(diào)試達(dá)到預(yù)期的效果,整體的設(shè)計(jì)已完成。
5 總結(jié)
本文設(shè)計(jì)的智能魚缸監(jiān)控系統(tǒng),用戶可以遠(yuǎn)程監(jiān)測(cè)魚缸的實(shí)時(shí)數(shù)據(jù),同時(shí)下發(fā)控制命令,實(shí)現(xiàn)遠(yuǎn)程喂食和溫控的目的。本系統(tǒng)相比于市場(chǎng)售賣的智能魚缸具有一定的優(yōu)勢(shì),解決了市面上產(chǎn)品繁多,功能不統(tǒng)一,且大多是非智能化的、單一的恒溫控制、充氧或照明系統(tǒng)的問題[1],通過一個(gè)開發(fā)板鏈接多個(gè)功能模塊,降低了成本的同時(shí)節(jié)約了資源,使景觀型智能魚缸系統(tǒng)更符合市場(chǎng)的需求。
參考文獻(xiàn):
[1] 藍(lán)魚水族器材.魚缸智能控制系統(tǒng)研究與現(xiàn)狀[OL].
https://www.sohu.com/a/283380050_100208248, 2018-12-23.
[2] 申長(zhǎng)安.基于DS18B20的溫度監(jiān)測(cè)報(bào)警與智能控制系統(tǒng)[J].安陽(yáng)工學(xué)院學(xué)報(bào),2014,13(2):11-13,32.
[3] ?leven98 - CSDN博客.OneNET之mqtt連接[OL].https://blog.csdn.net/leven98/article/details/106351823,2020-5-26.
[4] OneNET文檔中心. [OneNET設(shè)備云平臺(tái)]云平臺(tái)對(duì)接服務(wù)_智能設(shè)備[OL].https://open.iot.10086.cn/doc/art574.html,2021-8-2.
[5] 王順-Arduino中文社區(qū).智能魚缸[OL].https://www.arduino.cn/forum.php?mod=viewthread&tid=78444,2018-6-11.
【通聯(lián)編輯:梁書】
1318500783276