






摘 要:針對寵物自動喂食問題,本文以STM32為主控MCU,設(shè)計了一套利用WiFi通信遠(yuǎn)程控制的寵物自動喂食系統(tǒng)。用戶通過手機端上的涂鴉APP下達(dá)投喂指令,WBR3對手機WiFi傳輸?shù)闹噶钸M行識別和分析,再利用串口通信將數(shù)據(jù)傳遞給STM32,STM32根據(jù)收到的數(shù)據(jù)控制步進電機開閉,實現(xiàn)手機端遠(yuǎn)程控制喂食。在STM32控制電機運作的同時,STM32及繼電器會將當(dāng)前記錄的余量重量、余量狀態(tài)、喂食狀態(tài)等數(shù)據(jù)反饋回手機端,實現(xiàn)手機端系統(tǒng)化管理喂食過程。該系統(tǒng)運行穩(wěn)定,能夠循環(huán)執(zhí)行用戶下發(fā)的不同指令,可塑性高、移植性強、使用便捷。
關(guān)鍵詞:STM32;WiFi通信;物聯(lián)網(wǎng);遠(yuǎn)程控制;智能家居;寵物喂食
中圖分類號:TP249 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2024)02-00-04
0 引 言
隨著人們生活水平的不斷提升,寵物行業(yè)也在快速發(fā)展。現(xiàn)如今,飼養(yǎng)家庭寵物已經(jīng)成為豐富居民生活的一種重要方式,其喂養(yǎng)問題成為寵物飼養(yǎng)的關(guān)鍵。目前,寵物投喂方式主要為人工喂養(yǎng),但為解決特殊情況下的投喂問題,比如年輕人因為工作原因,特別是出差時無暇顧及寵物;老年人由于記憶或者身體原因,無法照顧寵物;若家中經(jīng)常沒人,自動投喂器就成為必不可少的工具。寵物能夠給予我們情感的回饋,如果因缺水或者饑餓而對寵物身體健康造成影響或?qū)е聦櫸锼劳觯瑫︼曫B(yǎng)者造成消極影響,甚至影響家庭和諧。因此,設(shè)計一款能夠自動喂食的裝置是解決上述問題的關(guān)鍵,輔助飼養(yǎng)者喂食,保障寵物正常飲食。
目前,由于應(yīng)用軟件的開發(fā)成本高昂,寵物喂食器研究仍然停留在對遠(yuǎn)程投喂方式的孤立研究[1-12],未將傳統(tǒng)喂食器中的喂食狀態(tài)、余量重量、余量狀態(tài)等重要功能進行整合,并形成“遠(yuǎn)程投喂→查看余量與狀態(tài)→判斷是否增添糧食”的系統(tǒng)。
本項目的創(chuàng)新之處在于借助涂鴉SDK_MCU移植程序,將喂食系統(tǒng)的投喂、喂食狀態(tài)、余量重量、余量狀態(tài)等重要功能同涂鴉IoT云端綁定,由涂鴉APP系統(tǒng)化管理寵物喂食過程的各類信息;本項目主要解決了用戶喂食完成后無法獲取喂食系統(tǒng)當(dāng)前信息的問題;同時,本項目也要抓住發(fā)展前景,研究寵物自動喂食技術(shù),以遠(yuǎn)程控制為切入點,將WiFiamp;藍(lán)牙技術(shù)應(yīng)用在寵物自動喂食系統(tǒng)中,并實現(xiàn)多角度控制輸入系統(tǒng),使用戶通過手機端遠(yuǎn)程控制STM32及繼電器實現(xiàn)投喂功能,并得到從STM32回饋的余量數(shù)據(jù)與喂食狀態(tài),實現(xiàn)人機交互。本系統(tǒng)設(shè)計包含WiFiamp;藍(lán)牙技術(shù)、一體化機身構(gòu)造和系統(tǒng)化程序設(shè)計,具有智能化程度高、穩(wěn)定性強等優(yōu)點,社會經(jīng)濟價值較高。
1 系統(tǒng)設(shè)計方案
本文基于STM32設(shè)計了寵物喂食系統(tǒng)的投喂模塊、電池模塊、余量監(jiān)控模塊、LCD顯示模塊、按鍵控制模塊、小夜燈照明模塊、WiFi通信模塊;系統(tǒng)借助WiFi通信和云端服務(wù),實現(xiàn)手機端遠(yuǎn)程控制電機開閉,并通過反饋的數(shù)據(jù)實時監(jiān)控余量重量以及相關(guān)狀態(tài);結(jié)合3D建模和3D打印技術(shù),打造實際可操作的模型,具有實用價值與經(jīng)濟價值。系統(tǒng)主要包括結(jié)構(gòu)設(shè)計和框架設(shè)計兩大模塊。
1.1 結(jié)構(gòu)設(shè)計
系統(tǒng)的整體結(jié)構(gòu)設(shè)計如圖1所示。機身為正圓柱設(shè)計,從上到下包括喂食倉、波輪、壓力傳感器、食盤四個部分。喂食倉處于系統(tǒng)上方,主要實現(xiàn)寵物余糧的增添。波盤處在系統(tǒng)中央,主要由輕質(zhì)劃片、條形缺口圓盤和小規(guī)格電機組成,采用波盤的優(yōu)點是設(shè)計簡單、輕巧,能快速投喂余糧。壓力傳感器緊挨波盤下方,用于實時記錄寵物余糧狀況,并將記錄數(shù)據(jù)反饋回LCD屏與涂鴉APP。食盤處在系統(tǒng)下方空間,支撐上方結(jié)構(gòu)以及接收投喂的寵物糧。系統(tǒng)結(jié)構(gòu)的優(yōu)點是能夠極大地縮小硬件設(shè)施空間,擴大投食倉的容量,同時3D打印能夠?qū)崿F(xiàn)可組裝拆卸的實物。
1.2 框架設(shè)計
框架模塊主要由發(fā)射端與接收端兩部分組成,整體框架設(shè)計如圖2所示。
發(fā)射端主要由涂鴉APP與手機內(nèi)置WiFi天線構(gòu)成,其功能是當(dāng)用戶下達(dá)投喂指令時,迅速將用戶指令傳遞到接收端,同時發(fā)射端也能夠接收回傳的寵物余糧數(shù)據(jù),實時更新當(dāng)前的寵物余糧狀態(tài)。
接收端主要由STM32以及繼電器組成,其功能是接收發(fā)射端的指令,并將分析后的數(shù)據(jù)傳遞給STM32,STM32及其重要外設(shè)根據(jù)接收的指令執(zhí)行對應(yīng)的操作。實現(xiàn)發(fā)射端與接收端的數(shù)據(jù)通信是核心,WiFi模塊直接影響指令傳遞的準(zhǔn)確性和及時性,決定著喂食系統(tǒng)的質(zhì)量。因此,調(diào)試WiFi芯片是實現(xiàn)自動喂食器的重要工作。
2 系統(tǒng)硬件設(shè)施
系統(tǒng)的整體硬件設(shè)施主要分為主控模塊、電源模塊、投喂模塊、余量監(jiān)控模塊、WiFi模塊。
2.1 主控模塊
目前較為常用的單片機有STM32、ESP32、STC等。相比其他單片機,STM32有著更加豐富的外設(shè)以及海量庫函數(shù)資料,一方面便于開發(fā)復(fù)雜的功能,另一方面當(dāng)遇到技術(shù)問題時能夠及時找到對應(yīng)的解決方案。同時,STM32集成度高,形狀小巧,適用于內(nèi)部空間狹窄的系統(tǒng)。此外,在系統(tǒng)設(shè)計中,MCU需要與多種繼電器相連,必需考慮MCU自身的算力。因此選擇基于ARM公司32位內(nèi)核處理器的STM32是更加穩(wěn)妥的方案。
2.2 電源模塊
電源板選擇涂鴉直流電源板,該電源板有USB數(shù)據(jù)線供電和鋰電池供電兩種方式,能夠提供三路電壓,分別為
12 V、5 V和3.3 V(本系統(tǒng)主要采用5 V和3.3 V供電)。其包含的DC-DC降壓芯片能穩(wěn)定實現(xiàn)12 V轉(zhuǎn)5 V和5 V轉(zhuǎn)
3.3 V,SY8012B芯片能夠為開發(fā)板和各類繼電器供電
5.5 V/1 A或3.3 V/1 A。
2.3 投喂模塊
寵物余糧投喂選取28BYJ48步進電機。28BYJ48為四相八拍型電機,電壓范圍為DC 5~12 V,而主控STM32的工作電壓范圍為DC 3.3~5 V,無法直接驅(qū)動28BYJ48,需要增加ULN2003繼電器進行間接控制。當(dāng)對步進電機施加一系列連續(xù)不斷的控制脈沖時,它可以持續(xù)轉(zhuǎn)動。每出現(xiàn)一個脈沖信號,對應(yīng)步進電機某一相或兩相繞阻的通電狀態(tài)改變一次,即對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度(一個步距角)。因此只需在主控STM32上間斷使能4個I/O口用于提供所需的脈沖信號。本系統(tǒng)中STM32使能的I/O口為PC1、PD2、PC11和PC12。
2.4 余量監(jiān)控模塊
對于用戶而言,掌握寵物一天的食量和寵物喂食器中的余糧很重要,此舉能夠方便用戶實時監(jiān)測喂食器的余量,合理安排每天的糧食份額,監(jiān)測寵物的身體狀況等。而為了給寵物提供更加健康舒適的環(huán)境,本文設(shè)計了余量監(jiān)控模塊,并且創(chuàng)新性地將余量的負(fù)反饋模式同手機端結(jié)合,可手機端實時監(jiān)控余量重量。
HX711是一款專為高精度電子秤而設(shè)計的24 位A/D轉(zhuǎn)換器芯片,能夠快速將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號,具有集成度高、響應(yīng)速度快、抗干擾性強等優(yōu)點。HX711所有控制信號皆由管腳驅(qū)動,因此只需將該芯片的SDA和SCK管腳與主控STM32的管腳(PC4和PC5)相連即可驅(qū)動模塊。此過程的數(shù)據(jù)傳輸以I2C形式進行,I2C原理如圖3所示。
2.5 WiFi模塊
在遠(yuǎn)程喂食過程中,WiFi還會將數(shù)據(jù)上傳至涂鴉云服務(wù)器,因此WiFi必須選擇涂鴉官方提供的WBR3模組。WBR3是由涂鴉公司開發(fā)的一款低功耗嵌入式WiFi加藍(lán)牙模組。它由高集成度的無線射頻芯片W701-VA2-CG構(gòu)成,內(nèi)置WiFi網(wǎng)絡(luò)協(xié)議棧和豐富的庫函數(shù)。本系統(tǒng)中,WBR3作為熱點,手機端作為Station,接入WBR3的熱點網(wǎng)絡(luò)與STM32進行數(shù)據(jù)交互;同時,WBR3與STM32之間通過串口進行數(shù)據(jù)傳遞。
除上述5個模塊的設(shè)計,還需進行喂食器LCD屏的配置,使其包含定時投喂和WiFi復(fù)位功能。在涂鴉官網(wǎng)的后臺配置遠(yuǎn)程喂食的UI界面。
3 系統(tǒng)軟件設(shè)計
基于寵物喂食系統(tǒng)的實際工作場景和硬件配置,本系統(tǒng)設(shè)計了“STM32按鍵+手機端控制”雙重模式,開發(fā)環(huán)境為Keil μVision5。
3.1 STM32按鍵控制
按鍵分別控制定時投喂、直接投喂和WiFi復(fù)位三個功能,旨在消除用戶辦公和系統(tǒng)配網(wǎng)的真空期,具體流程如
圖4所示。當(dāng)系統(tǒng)連接電源時,先進行子模塊初始化,如按鍵、電機、壓力傳感器、LCD屏、定時器、串口以及相關(guān)寄存器等的初始化。此后,按鍵掃描子程序?qū)崟r掃描按鍵高低電平的變化,當(dāng)按下按鍵時,程序掃描到按鍵的電平由低電平轉(zhuǎn)變?yōu)楦唠娖剑╓K_UP為高電平轉(zhuǎn)化為低電平),隨即啟動對應(yīng)按鍵控制的功能(WK_UP控制直接喂食,KEY_0控制定時喂食,KEY_1控制WiFi復(fù)位)。當(dāng)結(jié)束按鍵控制功能后,程序跳轉(zhuǎn)到LCD屏的控制,顯示寵物喂食狀態(tài)、定時投喂時間、WiFi配網(wǎng)信息、余量狀態(tài)、余量重量、余量百分比等參數(shù)。
3.2 手機端控制
手機端包含手動喂食、快速喂食和小夜燈三種控制功能,以及喂食狀態(tài)、余量狀態(tài)、余量重量和余量百分比四種狀態(tài)顯示;系統(tǒng)通過云端完成“投喂→查看余量重量與狀態(tài)→判斷是否增加糧食”,具體如圖5所示。待系統(tǒng)WiFi與手機配網(wǎng),手機端會生成對應(yīng)的DPID功能點,按下UI界面上的“手動喂食(或快速喂食)”,WBR3模塊會將手機端的指令通過串口發(fā)送給SDK程序,SDK程序下的3個子程序分別處理獲得的數(shù)據(jù),并控制電機開閉,更新余量狀態(tài)、喂食狀態(tài)、余量重量、余量百分比,并最終將數(shù)據(jù)反饋回手機端。
4 系統(tǒng)調(diào)試與數(shù)據(jù)測試
4.1 系統(tǒng)運行結(jié)果
先將程序?qū)隨TM32,接好電源和繼電器,然后等待WBR3與手機端連接,連接完成會在LCD屏上顯示“已連接路由器且連接到云端”,此時系統(tǒng)開始工作,如圖6所示。手機端根據(jù)程序設(shè)計的DPID功能點生成對應(yīng)的功能按鍵(或狀態(tài)欄)。當(dāng)按下手機端的快速喂食(或手動喂食)時,接收到指令的STM32控制電機打角,喂食狀態(tài)欄隨之更新,從“待機中”更換為“喂食中”,并且喂食桶中的余量數(shù)據(jù)會實時反饋到手機端,刷新余量狀態(tài)、余量重量和余量百分比。
4.2 數(shù)據(jù)測試
系統(tǒng)運行結(jié)果經(jīng)過反復(fù)測試,更換不同的場景,變換不同的距離,測試過程中使用的手機端和STM32與系統(tǒng)演示時一致。測試內(nèi)容包括系統(tǒng)的WiFi最遠(yuǎn)距離測試、遠(yuǎn)程喂食在遠(yuǎn)近距離的識別率測試、云端數(shù)據(jù)在遠(yuǎn)近距離傳輸?shù)难訒r測試。在經(jīng)過大量的測試后,選取其中每組數(shù)據(jù)相對穩(wěn)定的數(shù)值進行加權(quán)平均運算,測試所得數(shù)據(jù)見表1所列。在測試中,本文先測量WiFi的最遠(yuǎn)傳輸距離,再在WiFi的有效距離下,將手機端距喂食系統(tǒng)的直徑作為自變量,分別設(shè)置15 m、10 m、6 m、3 m四組,獲取遠(yuǎn)程喂食的識別率和云端數(shù)據(jù)的延時。測試結(jié)果表明,本系統(tǒng)具有很好的穩(wěn)定性和高效性。
WiFi傳輸距離測試的地點選擇在家庭住房處,符合系統(tǒng)實際應(yīng)用場景。如果在空曠地帶,WiFi的數(shù)據(jù)傳輸效果相對得到提升;每組有關(guān)距離的數(shù)據(jù)都是嚴(yán)格基于相同的隔墻數(shù)進行測試;每組數(shù)據(jù)測試20次,最后所得數(shù)據(jù)是加權(quán)平均后的結(jié)果。
5 結(jié) 語
本文主要介紹了一種以STM32為主控的寵物自動喂食系統(tǒng),旨在解決用戶喂食完成后無法獲取喂食系統(tǒng)當(dāng)前信息的問題;該系統(tǒng)在代碼層面增加了SDK_MCU移植程序,能通過涂鴉IoT云端調(diào)度系統(tǒng)的各電控模塊,達(dá)到在手機端實現(xiàn)系統(tǒng)化管理寵物喂食過程的目的,并且經(jīng)過反復(fù)調(diào)試,已達(dá)到預(yù)期效果;該喂食系統(tǒng)的優(yōu)勢在于增強了用戶對寵物喂食過程的管理,所選用的繼電器和云服務(wù)成本低廉,具有一定的社會經(jīng)濟價值。
參考文獻(xiàn)
[1]杜雨函. 基于用戶價值的寵物自動喂食機設(shè)計[J]. 信息化研究,2016,42(3):48-52.
[2]高曉斌. 基于STM32 單片機的智能寵物家居的設(shè)計與實現(xiàn)[J]. 信息系統(tǒng)工程,2018,31(7):20.
[3]蒲小年. 基于微信小程序的寵物自動喂食系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2018,8(9):79-81.
[4]胡正練,王橋,陳旭,等. 可清理殘食的自動寵物喂食系統(tǒng) [J].智能處理與應(yīng)用,2018,8(28):92-93.
[5]史磊. 單片機與嵌入式系統(tǒng)開發(fā)方法[J].電子技術(shù)與軟件工程,2018,25(22):242.
[6]張杰斌,謝澤奇. 基于STM32的寵物智能投喂裝置的設(shè)計與實現(xiàn)[J]. 信息技術(shù)與信息化,2021,46(10):93-95.
[7]龍小麗,楊澤鋒,黃闖,等. 基于STM32的智能寵物投食系統(tǒng)設(shè)計[J]. 科技創(chuàng)新與應(yīng)用,2021,11 (4):235-237.
[8]黃暉,余繼成,肖春明,等.基于STM32的揚塵監(jiān)測系統(tǒng)設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2020,10(12):15-17.
[9]李澤宇,解迎剛,曹滿鑫,等.基于物聯(lián)網(wǎng)感知的草莓采摘機器人設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2020,10(12):67-68.
[10]周書友,代銀莉,莫建麟.基于STM32和μC/OS的家居智能防盜系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2020,10(12):99-102.
[11]徐江坤,王儀昭,魏吉平.基于STM32的智能環(huán)衛(wèi)工裝系統(tǒng)的研制[J].物聯(lián)網(wǎng)技術(shù),2020,10(8):59-62.
[12]陳美玲,趙興雷,穆樂賢,等.基于WiFi遠(yuǎn)程遙控的智能逐光百葉窗的設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2020,10(1):63-64.