摘要:隨著我國社會經(jīng)濟水平的快速發(fā)展,國民生活水平不斷提高,寵物行業(yè)也得到了飛速發(fā)展。家庭寵物的飼養(yǎng)已成為城市居民生活消遣的新方式。但寵物的喂養(yǎng)需要花費大量時間,導(dǎo)致人們常常為此而煩惱。本文研究了一款寵物自動喂食系統(tǒng),以STM32F103單片機為核心,通過手機端微信小程序的設(shè)定,發(fā)送到云端服務(wù)器,服務(wù)器再進行簡單處理。當(dāng)?shù)竭_這一時間點后,云端的服務(wù)器向終端的自動投食器發(fā)送喂食命令,底層的微處理器控制步進電機轉(zhuǎn)動,從而控制向?qū)櫸锿段辜Z食的進食量。該系統(tǒng)解決了日常生活中無法按時喂養(yǎng)寵物,以及“新手”主人難控制食量的問題。
關(guān)鍵詞:寵物喂養(yǎng);STM32F103;云服務(wù)器;智能投喂
中圖分類號:TP311 文獻標(biāo)識碼:A
文章編號:1009-3044(2024)23-0114-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)
智能寵物投食器可用于家養(yǎng)小寵物,例如寵物貓和寵物狗的喂食和喂水,為寵物的小主人提供了極大的便利。目前,市面上已有的寵物投食器在使用過程中存在一系列問題,具體如下:用戶在使用過程中需要手動調(diào)節(jié),才能實現(xiàn)寵物的定時定量喂食,無法實現(xiàn)智能投喂;當(dāng)寵物需要喝水時,用戶必須手動旋轉(zhuǎn)水嘴開關(guān)進行喂水,無法在用戶不在家時根據(jù)寵物的需求實現(xiàn)自動供水功能;當(dāng)喂養(yǎng)的寵物種類不同或者隨著年齡增長而食量增加時,無法靈活調(diào)節(jié)供食時間和供食量等參數(shù)。王岳等人對野外自動化鴨舍進行了研究,設(shè)計的野外鴨舍實現(xiàn)了早晨自動開門、晚上自動奏樂喚鴨回舍,以及自動關(guān)門、自動補料和統(tǒng)計回舍鴨子數(shù)量等功能[1];孔愛菊等人設(shè)計的野外鴨舍喂水控制系統(tǒng),該系統(tǒng)可以進行水箱液位檢測和水泵驅(qū)動,具有水箱低水位自動補水和高水位防止溢出等功能,實現(xiàn)了野外鴨舍喂水的自動控制[2];設(shè)計了一款可以實現(xiàn)自動投喂的智能化家養(yǎng)寵物喂食器,用戶可根據(jù)實際使用需求,設(shè)置喂食時間、數(shù)量、次數(shù)等內(nèi)容,并設(shè)有錄音等輔助功能,以確保喂食器能夠更好地完成投喂工作[3];楊傳升等設(shè)計的小型全自動喂食機實現(xiàn)了飼料投放、消毒清潔、自動喂水、自動換氣和無線信號傳輸?shù)裙δ?,使整個操作過程基本脫離人工干預(yù)[4]。針對現(xiàn)有寵物投食器存在的問題,并結(jié)合野外自動化鴨舍的設(shè)計經(jīng)驗,本設(shè)計提出了一種基于STM32F103微處理器的智能寵物投食器自動控制系統(tǒng)設(shè)計方案;設(shè)計中使用步進電機控制技術(shù)實現(xiàn)了寵物的食物供給,采用電子秤模塊來感應(yīng)投喂食物的量,進而控制步進電機的速度,同時還提供了一款微信小程序來達到遠程控制。
1 系統(tǒng)構(gòu)成
本設(shè)計中包含電源電路模塊,為系統(tǒng)提供穩(wěn)定的電源輸入;電子秤模塊,用于測量喂食桶中的剩余量;語音輸出模塊,在投喂器執(zhí)行喂食動作后,用于提示小寵物進行喂食;溫濕度模塊,用于檢測投喂器周圍的環(huán)境溫濕度;Wi-Fi模塊和電動機模塊。通過Wi-Fi模塊與服務(wù)器對接微信小程序的設(shè)置,達到設(shè)定時間后向微處理器發(fā)送命令,從而控制電動機模塊向?qū)櫸锿段故澄铩?/p>
2 系統(tǒng)功能
基于STM32的智能寵物投食器系統(tǒng)設(shè)計基于物聯(lián)網(wǎng)技術(shù)進行設(shè)計,以底層硬件設(shè)計為主,輔以微信端小程序應(yīng)用程序的軟件設(shè)計。硬件設(shè)計根據(jù)智能自動寵物投食器系統(tǒng)實現(xiàn)以下功能:可定時自動添加食物到喂食盤,通過電機的轉(zhuǎn)動將食物運送到喂食盤;可以顯示存量桶(6KG以內(nèi))和喂食盤(0.5KG以內(nèi))中的重量;能顯示室內(nèi)溫度(-50~70℃)和濕度(10%~99%);可以連接網(wǎng)絡(luò)在手機上顯示與設(shè)置。
3 軟件設(shè)計
主程序以人機交互為主線,分為物理層、網(wǎng)絡(luò)層和應(yīng)用層三部分。物理層包括數(shù)據(jù)采集、語音播報、信號發(fā)生和信號檢測等功能;網(wǎng)絡(luò)層由新大陸云平臺提供的服務(wù)器和Wi-Fi組網(wǎng)等組成;應(yīng)用層則為手機端的微信小程序。整個設(shè)計的主程序詳細流程如圖3所示,其開始是3dklNOO15c2xD4VUAc/ITriTAb8QxgZeeh/Y4YH3/dY=由底層硬件層和微信小程序的應(yīng)用層一起完成初始化。在底層方面,打開電源,等待系統(tǒng)初始化完成。底層的Wi-Fi模塊開始連接網(wǎng)絡(luò),連接后登錄到設(shè)定好的新大陸云平臺。然后檢測存量桶糧食的重量和喂食桶周圍環(huán)境的溫濕度,并將數(shù)據(jù)發(fā)送給服務(wù)器。底層硬件在上傳數(shù)據(jù)之后,檢測是否收到服務(wù)器下達的命令。當(dāng)沒有收到時,則繼續(xù)進行數(shù)據(jù)檢測并上傳。當(dāng)收到命令后,電動機開始工作,同時喂食盤下的電子秤也開始檢測數(shù)據(jù),并實時對比。當(dāng)檢測到的重量與服務(wù)器命令中的重量一致時,電動機和喂食盤下的電子秤模塊停止工作,并打開語音模塊播放音樂吸引寵物過來進食,之后繼續(xù)回到等待命令的過程。這樣完成了整個喂食過程。
4 實物制作及數(shù)據(jù)分析
通過上述對智能寵物投食器的方案論證、硬件設(shè)計分析和軟件設(shè)計分析,制作出智能寵物投食器的大致模型。使用KILE5軟件的C語言編寫底層由微控制器STM32F103控制的相應(yīng)模塊。
4.1 微信小程序的制作
根據(jù)上述所需功能,使用微信開發(fā)者工具通過JavaScript簡單制作了一個微信小程序界面。借助新大陸云平臺提供的服務(wù)器,建立了網(wǎng)絡(luò)連接。在設(shè)計了喂食時間后,應(yīng)用程序?qū)?shù)據(jù)發(fā)送至新大陸云平臺,以保存喂食時間和重量。當(dāng)達到設(shè)定的時間后,平臺會向底層的微處理器發(fā)送數(shù)據(jù),微處理器隨即開始工作。
4.2 新大陸云平臺服務(wù)器調(diào)試
新大陸云平臺是國內(nèi)物聯(lián)網(wǎng)企業(yè)——新大陸科技集團下的一款可供免費使用的服務(wù)器。本設(shè)計運用新大陸云平臺的服務(wù)器完成了微信小程序和微處理器的數(shù)據(jù)交換,并進行了相應(yīng)的處理。微信小程序端發(fā)送過來的定時喂食時間和數(shù)量的數(shù)據(jù)上傳到新大陸云平臺的服務(wù)器,經(jīng)過一些簡單的處理,形成一個個策略。策略的作用是在達到設(shè)定時間后,將發(fā)送一組數(shù)據(jù)給底層微處理器,即喂食命令。底層微處理器檢測到數(shù)據(jù),通過Wi-Fi模塊上傳到新大陸云平臺的服務(wù)器。它會將獲得的數(shù)據(jù)保存,并刷新之前的數(shù)據(jù),等待微信小程序來獲取。
4.3 硬件制作
通過KILE5創(chuàng)建工程,對各個模塊進行程序編寫和調(diào)試,完成實物的制作。在使用串口調(diào)試Wi-Fi模塊的過程中,首先向其發(fā)送AT命令,如果連接成功,則會回復(fù)OK。然后可以進行一些基礎(chǔ)設(shè)置。而在使用微處理器對其初始化時,首先要設(shè)置STK,STK的作用是連接熱點。連接熱點后,就可以發(fā)送和接收數(shù)據(jù)了。
在本設(shè)計中,Wi-Fi模塊在接收到數(shù)據(jù)后會進入中斷模式,優(yōu)先處理接收到的數(shù)據(jù)信息。圖5展示了使用新大陸云平臺服務(wù)器向Wi-Fi模塊發(fā)送喂食21克糧食的指令。電子秤模塊初始化時,GPIO口的兩個數(shù)據(jù)端口分別設(shè)為一個輸出和一個輸入。將SCK端口設(shè)置為推挽輸出50Hz模式,而B+數(shù)據(jù)口則設(shè)置為輸入模式。在獲取數(shù)據(jù)時,首先將SCK連接的PB8拉高,延時2毫秒后,可以在B+數(shù)據(jù)IO口獲得相應(yīng)的數(shù)據(jù)。溫濕度模塊的初始化相對復(fù)雜。該模塊只有一根數(shù)據(jù)總線,需要同時用于發(fā)送收集模塊數(shù)據(jù)的命令和接收數(shù)據(jù)。因此,對這根數(shù)據(jù)線的初始化需要反復(fù)調(diào)整。在未發(fā)送獲取數(shù)據(jù)指令之前,默認設(shè)置為輸出模式。在發(fā)送獲取數(shù)據(jù)指令后,則須更改為輸入模式。待40位數(shù)據(jù)獲取完畢后,再將IO口設(shè)置回默認的輸出模式。圖6顯示,在調(diào)試過程中,電子秤模塊偶爾出現(xiàn)靈敏度變化,導(dǎo)致測量值忽大忽小。這一變化在整個調(diào)試過程中花費了最長的時間進行調(diào)整。最終,根據(jù)多次的調(diào)整,取其多次平均值作為最終換算數(shù)值。
5 結(jié)論
本設(shè)計共分為三層,分別為物理層、網(wǎng)絡(luò)層和應(yīng)用層。首先,在物理層上,采用以STM32F103為核心的最小系統(tǒng),結(jié)合Wi-Fi技術(shù)、傳感器技術(shù)和電機技術(shù)等制作而成,實現(xiàn)了室內(nèi)溫濕度的檢測、存量桶內(nèi)部重量的檢測、語音播報功能以及Wi-Fi數(shù)據(jù)上傳功能。在網(wǎng)絡(luò)層上,以新大陸云平臺提供的免費服務(wù)器作為平臺,連接了物理層的硬件和應(yīng)用層的微信小程序,主要進行雙方的數(shù)據(jù)交換和簡單處理工作。應(yīng)用層的微信小程序是基于微信載體的一種無須下載的應(yīng)用,主要功能是為了讓用戶隨時隨地控制家中的智能寵物投食器。系統(tǒng)通過仿真調(diào)試和實物制作基本上完成了設(shè)計要求。
由于知識儲備不足,本設(shè)計仍存在一些缺陷:1) 實物制作較為粗糙,在某些細節(jié)處理上未能做到位,例如食物運送盤的螺旋槳應(yīng)緊貼容器壁;2) 語音模塊的異常觸發(fā),設(shè)計中應(yīng)使用上升沿形式觸發(fā)并發(fā)出語音。但在某些特殊情況下,當(dāng)控制端接了一根杜邦線而另一端懸空時,語音模塊也會被意外觸發(fā);3) 設(shè)計初期考慮加入攝像頭模塊以觀看寵物,但由于知識體系的不足,最終只能選擇舍棄該模塊。本設(shè)計在細節(jié)上仍有很大的改進空間,未來在參加工作后,豐富知識儲備后將回過頭來完善本次設(shè)計,努力將其推向市場。通過此次設(shè)計深入了解物聯(lián)網(wǎng),使人們領(lǐng)略到物聯(lián)網(wǎng)在生活中的強大之處,科技的進步引領(lǐng)人們過上更加舒適的生活。相信在不久的將來,所有人都能享受到物聯(lián)網(wǎng)帶來的便利,所有的小寵物都會擁有更精良的投食器。
參考文獻:
[1] 王岳.野外自動化鴨舍的改進設(shè)計與研究[D].沈陽:沈陽農(nóng)業(yè)大學(xué),2016.
[2] 孔愛菊.適用于鴨稻共作技術(shù)的野外自動化鴨舍設(shè)計與應(yīng)用研究[D].沈陽:沈陽農(nóng)業(yè)大學(xué),2016.
[3] 白亞梅.智能化的家養(yǎng)寵物喂食器設(shè)計[J].電子世界,2021(6):192-193.
[4] 楊傳升,顧宗磊,劉鳳玲,等.一種小型全自動喂食機[J].科技創(chuàng)新導(dǎo)報,2020,17(7):66,68.
【通聯(lián)編輯:梁書】