






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