廖明華 黃育雄







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