徐昊明,王云龍,楊 俊,陳凱杰
(南京工程學院 機械工程學院,江蘇 南京 211167)
隨著社會經濟發展,人們對美好生活的需要日益增加,使得水族寵物行業蓬勃發展。據《2019中國寵物消費趨勢報告》顯示,2020年中國的寵物行業市場規模將達到2 200億元。其中水族寵物行業主導線上活體消費市場,魚缸/水族箱及配套設備與用品消費提速。報告指出,普通的水族箱已經不能滿足市場需要,養寵精細化、智能化、多元化的趨勢日漸明顯。
本文設計了基于物聯網的智能魚缸系統,選用Arduino MEGA作為主控板,將傳感器收集到的數據通過串口發送給樹莓派。攝像頭模塊將數據流發送給樹莓派,通過基于OpenCV的算法進行處理,得出魚類的運動狀態。聯網后的樹莓派將水質數據和魚類的運動狀態發送到Ubitdots物聯網平臺[1-4],用戶可在PC端和移動端查看平臺上的數據,大大提升了檢測的便捷性。
本文設計的智能魚缸結構示意圖如圖1所示。其中:圖1(a)為魚缸整體結構;圖1(b)為剖視圖。

圖1 智能魚缸結構示意圖
該智能魚缸系統以樹莓派3B+作為主控核心,通過多種傳感器對水質指標和魚缸圖像進行采集,采集到的數據由樹莓派實時上傳到Ubidots平臺。用戶可通過固定在魚缸上的顯示屏、手機APP或瀏覽器查看魚缸情況。由于樹莓派GPIO口被顯示屏占用,故由Arduino MEGA作為下位機收集來自傳感器的數據。當溶解氧指標或水位指標低于規定指標時[5],Arduino MEGA控制電磁閥或氧氣泵的開關打開,直到達到規定指標。系統架構如圖2所示。

圖2 系統架構
樹莓派是一種基于Linux系統的卡片式電腦。樹莓派3B+的64位四核 ARM Cortex-A53 CPU能夠以高達1.4 GHz的頻率運行,它擁有40個GPIO引腳以及多種其他類型的接口,便于進行開發和部署。該魚缸系統中樹莓派可以對攝像頭的圖像進行視覺處理,并與Arduino MEGA,Ubidots物聯網平臺進行通信。
Arduino MEGA是一個基于ATmega2560微控制器的開發板。它具有54個數字輸入/輸出引腳,16個模擬輸入,4個串行端口,16 MHz晶體振蕩器。Arduino MEGA采用類C++語言開發,用戶可在專用的Arduino IDE上編寫程序。本項目中利用Arduino豐富的引腳來獲得傳感器數據,還通過Arduino控制電磁閥和增氧泵的開關。
水質傳感器模塊包括水位傳感器、溶解氧傳感器、渾濁度傳感器、pH傳感器和溫度傳感器,分別對魚缸內的水位、溶解氧濃度、渾濁度、pH值和水溫進行監測。
攝像頭模塊選用1 080P免驅攝像頭,可以通過USB接口直接與樹莓派連接。攝像頭模塊采集魚缸內的圖像并上傳給樹莓派,并分析出魚缸內處于運動狀態的魚的數量,從而提醒用戶關注魚的健康狀態。
顯示模塊采用配套的3.5英寸樹莓派顯示屏,其成本相對較低,且體積較小。該顯示屏可以方便地插在樹莓派的GPIO口上,由GPIO口供電和實現觸摸功能,方便用戶直接觀測水質數據和魚的運動情況。
本智能魚缸采用背景減法[6-9]識別魚缸內運動的魚,并對其數量進行統計。如圖3所示,該程序先從讀取的監控圖像中提取背景模型,再通過背景減法的算法將視頻流中的圖像與背景模型做差分。通過對差分所得的圖像進行二值化處理,再對其進行濾波、膨脹等形態學處理,即可得到如圖4(a)所示的圖像。如圖4(b)所示,通過邊緣檢測可以繪制出運動中的魚的輪廓[10],并統計出魚的數量。

圖3 視覺處理過程

圖4 實際檢測效果圖
Ubidots是一個全球性的IoT平臺,它支持各類智能硬件的接入,大大降低了物聯網系統的開發成本。開發者可以方便地在上面建立屬于自己的數據庫,設計開發可視化的應用界面,并通過網頁、手機APP等平臺查看物聯網系統的各項數據信息[11]。開發者只需在官網上注冊賬號即可在Ubidots平臺上創建項目,并獲得對應的密鑰。Ubidots平臺支持HTTP和HTTPS兩種網絡協議,通過REST API將樹莓派連接到Ubitdots的云平臺[12]。整個物聯網系統啟動后,樹莓派、Arduino及各傳感器模塊初始化,傳感器模塊數據由Arduino經USB串口發送給樹莓派。在聯網狀態下樹莓派內存儲的魚缸數據信息即可實時與云平臺共享。圖5為魚缸內溫度的實時變化曲線。

圖5 平臺效果圖(手機APP)
本系統在室內完成軟硬件搭建和軟件調試,并進行了測試。試驗結果顯示:顯示屏、瀏覽器和手機APP均可顯示實時數據,顯示界面美觀,傳感器數據更新及時且準確(見圖5);攝像頭及視覺處理算法運行效果好,控制板運行穩定;當溶解氧濃度和水位低于設定值時,增氧泵和電磁閥會自動打開,達到設定值后自動關閉。
本文利用樹莓派開發板、Arduino MEGA、Ubidots平臺構建了智能魚缸系統,并開發了基于OpenCV的魚類運動檢測算法。該系統可通過傳感器獲得實時水質數據并由顯示器或物聯網平臺反饋給用戶。當水質不合格時亦可通過電磁閥和增氧泵等設備進行精確調節,克服了傳統魚缸缺乏反饋環節和調節環節的缺陷。該智能魚缸系統的功能全面、成本低廉、操作簡便,易于推廣應用,可創造較大市場價值。