摘 要:當(dāng)前市場上智能寵物相關(guān)產(chǎn)品數(shù)量繁多、功能單一,不同品牌的產(chǎn)品之間使用不同標(biāo)準(zhǔn),在寵物原養(yǎng)護(hù)環(huán)境上進(jìn)行智能化改造難以實(shí)現(xiàn)。基于STM32單片機(jī)搭載ESP8266模塊的智能寵物看護(hù)系統(tǒng)旨在解決智能寵物養(yǎng)護(hù)的痛點(diǎn)。系統(tǒng)基于ESP8266模塊建立無線傳感網(wǎng)絡(luò),將硬件模塊上傳感器收集的數(shù)據(jù)采用MQTT協(xié)議上傳至OneNET云平臺(tái),用戶可以登錄Web客戶端對(duì)寵物環(huán)境進(jìn)行實(shí)時(shí)監(jiān)測和對(duì)系統(tǒng)進(jìn)行遠(yuǎn)程控制。經(jīng)驗(yàn)證,該系統(tǒng)運(yùn)行穩(wěn)定,效果良好。
關(guān)鍵詞:物聯(lián)網(wǎng)技術(shù);智能寵物;看護(hù)系統(tǒng);STM32;ESP8266;OneNET
中圖分類號(hào):TP391.44;TN929.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)06-0-04
0 引 言
隨著我國移動(dòng)智能設(shè)備、5G技術(shù)等的發(fā)展,人類不僅獲益良多,寵物也從中受益,智能設(shè)備開始在寵物界流行,我國進(jìn)入智能養(yǎng)寵時(shí)代。寵物市場快速增長受多方面因素共同影響,包括國家政策、市場經(jīng)濟(jì)、社會(huì)因素及技術(shù)驅(qū)動(dòng)等。根據(jù)寵物用品消費(fèi)者偏好調(diào)查,現(xiàn)階段養(yǎng)寵的主要矛盾在于寵物主盼望在有限的個(gè)人可支配時(shí)間內(nèi),解放雙手并且給予寵物充足的情感陪伴,越來越多的消費(fèi)者注重智能化養(yǎng)寵。在受調(diào)查的人群中,我國40.3%的消費(fèi)者購買過智能寵物設(shè)備,59.7%的消費(fèi)者未曾購買過智能寵物設(shè)備,而其中大部分人沒有使用智能產(chǎn)品的原因在于當(dāng)前市場上寵物智能養(yǎng)護(hù)產(chǎn)品價(jià)格昂貴、功能單一并且需要置換傳統(tǒng)養(yǎng)護(hù)環(huán)境,容易造成不必要的浪費(fèi)[1-3]。
在這個(gè)背景下,提出基于STM32單片機(jī)[4]搭載ESP8266模塊搭建智能寵物看護(hù)系統(tǒng)。本課題將研究一種低成本、易操作、無需置換現(xiàn)有寵物養(yǎng)護(hù)環(huán)境的智能系統(tǒng)來實(shí)現(xiàn)對(duì)傳統(tǒng)寵物養(yǎng)護(hù)環(huán)境的改造。
1 研究現(xiàn)狀
2019年京東集團(tuán)發(fā)布的關(guān)于京東商城寵物消費(fèi)預(yù)測中提到:“智能養(yǎng)寵”將會(huì)成為未來寵物消費(fèi)的主流。近年來,智能寵物產(chǎn)品多次成為國際展覽會(huì)的焦點(diǎn),智能寵物產(chǎn)品受關(guān)注程度表明產(chǎn)品智能化將會(huì)成為未來各寵物產(chǎn)品商家所追逐的重要目標(biāo)。實(shí)現(xiàn)智能養(yǎng)寵的關(guān)鍵在于解決兩個(gè)問題:一是產(chǎn)品的人性化,二是產(chǎn)品的智能化,這兩方面因素將會(huì)成為未來寵物主挑選智能寵物設(shè)備時(shí)所考慮的重要指標(biāo)。
縱觀國內(nèi)寵物智能產(chǎn)品企業(yè)的發(fā)展歷程,發(fā)現(xiàn)一些以“智能寵物設(shè)備”為核心的企業(yè)成立時(shí)間較早,如多尼斯于2003年在國內(nèi)成立,于2017年12月在美國上市,是中國首家在智能寵物領(lǐng)域推廣寵物智能生態(tài)概念的企業(yè)。國內(nèi)智能寵物產(chǎn)品生產(chǎn)商具有顯著優(yōu)勢,其打造的產(chǎn)品功能模塊多樣,覆蓋面廣,涵蓋了寵物的“吃喝住行樂”,可以說是“亮點(diǎn)紛呈”。與國內(nèi)企業(yè)相比,國外寵物智能產(chǎn)品制造商主打的產(chǎn)品功能類型較為單調(diào),但其更注重對(duì)企業(yè)品牌的締造和宣傳。例如,主攻寵物跟蹤設(shè)備的企業(yè)巨頭Whistle和FitBark,兩者均在海外具有較高的知名度。
2021年7月14日,中國央視財(cái)經(jīng)網(wǎng)發(fā)文稱中國人均單只寵物年消費(fèi)為6 653元,養(yǎng)寵進(jìn)入智能時(shí)代引起了人們的關(guān)注。近年來,隨著智能設(shè)備、5G等行業(yè)的發(fā)展,智能寵物用品也開始在我國養(yǎng)寵人群中流行起來,同時(shí),我國養(yǎng)寵人群呈現(xiàn)年輕化趨勢,年輕人對(duì)智能設(shè)備的接受程度較高,也加速了我國智能養(yǎng)寵行業(yè)的發(fā)展。2020年,中國智能養(yǎng)寵產(chǎn)品的數(shù)量較2019年增長136%,金額較2019年增長47%,用戶數(shù)較2019年增長43%,究其原因在于2020年正是新冠病毒肆虐的一年,而此次隔離使得許多寵物主被迫與寵物分離,讓許多寵物主更加意識(shí)到對(duì)寵物陪伴的重要性,從而極大程度地推動(dòng)了智能寵物產(chǎn)品數(shù)量、金額和用戶數(shù)量的增長。整體來看,未來我國智能養(yǎng)寵行業(yè)發(fā)展前景較好[5-6]。
2 系統(tǒng)總體架構(gòu)設(shè)計(jì)
在綜合分析各類電子器件以及技術(shù)實(shí)現(xiàn)的基礎(chǔ)上,將本系統(tǒng)分為3個(gè)層次:硬件端、OneNET云平臺(tái)、Web客戶端。硬件端包括感知層與傳輸層,OneNET云平臺(tái)對(duì)應(yīng)服務(wù)層,Web客戶端則對(duì)應(yīng)用戶層[7-8]。
硬件端是基于STM32單片機(jī)搭載ESP8266模塊研發(fā)的一款安裝方便、配置簡單,同時(shí)可手動(dòng)和自動(dòng)操作,使得傳統(tǒng)寵物養(yǎng)護(hù)實(shí)現(xiàn)智能化改造的硬件模塊[9]。硬件模塊通過內(nèi)置的ESP8266模塊連接WiFi實(shí)現(xiàn)聯(lián)網(wǎng),而一旦完成了聯(lián)網(wǎng),就能與服務(wù)器通信。通過與服務(wù)器通信,該模塊便能將各類傳感器獲得的數(shù)據(jù)以MQTT協(xié)議的方式封裝成消息發(fā)布到MQTT服務(wù)器。
OneNET云平臺(tái)服務(wù)器后臺(tái)程序監(jiān)聽MQTT服務(wù)器消息,保存當(dāng)前設(shè)備狀態(tài)并對(duì)數(shù)據(jù)做出解析處理后在Web客戶端顯示,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)監(jiān)測。
Web客戶端的控制操作是向OneNET云平臺(tái)的服務(wù)器后臺(tái)程序發(fā)送指令,服務(wù)器后臺(tái)將接收的指令以MQTT協(xié)議方式封裝成消息發(fā)布至MQTT服務(wù)器,ESP8266 WiFi模塊將會(huì)對(duì)MQTT服務(wù)器上的消息進(jìn)行消費(fèi),同時(shí)根據(jù)Web客戶端發(fā)送的指令對(duì)相應(yīng)終端執(zhí)行器件做出控制,實(shí)現(xiàn)對(duì)系統(tǒng)的遠(yuǎn)程控制[10]。
感知層負(fù)責(zé)采集寵物生存環(huán)境數(shù)據(jù),并對(duì)MQTT服務(wù)器發(fā)送的消息指令做出回應(yīng);傳輸層由ESP8266 WiFi模塊進(jìn)行網(wǎng)絡(luò)連接,前端通過HTTP協(xié)議調(diào)用與OneNET云服務(wù)器后臺(tái)程序相應(yīng)接口完成對(duì)寵物養(yǎng)護(hù)環(huán)境的實(shí)時(shí)監(jiān)測。其他對(duì)硬件端的控制操作都需要將指令發(fā)布到MQTT服務(wù)器,由硬件端訂閱接收;服務(wù)層選擇由中國移動(dòng)打造的物聯(lián)網(wǎng)云平臺(tái)—OneNET作為服務(wù)端,主要工作是對(duì)OneNET資源模型中的產(chǎn)品、設(shè)備、數(shù)據(jù)流進(jìn)行高效管理;用戶層采用Web客戶端的形式呈現(xiàn),避免了移動(dòng)端適配的問題以及用戶使用需下載安裝的煩惱,通過OneNET云平臺(tái)登錄Web客戶端,實(shí)現(xiàn)對(duì)寵物生活環(huán)境的實(shí)時(shí)監(jiān)測和對(duì)系統(tǒng)的遠(yuǎn)程控制。系統(tǒng)總體架構(gòu)如圖1所示。
3 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)
智能寵物看護(hù)系統(tǒng)硬件端將分模塊進(jìn)行設(shè)計(jì),分別對(duì)STM32主控器模塊、ESP8266 WiFi通信模塊、按鍵設(shè)置模塊、數(shù)據(jù)采集模塊、OLED顯示模塊和終端執(zhí)行模塊進(jìn)行設(shè)計(jì)。硬件端實(shí)物如圖2所示。
3.1 STM32主控器模塊
本系統(tǒng)設(shè)計(jì)中選用型號(hào)為STM32F103C8T6的單片機(jī)作為主控器,該單片機(jī)是一款微處理器芯片,其內(nèi)核采用ARMCortex-M3 32位RISC,具有功耗低、體積小和速度快等特點(diǎn),同時(shí)該單片機(jī)采用程序模塊化設(shè)計(jì),讓編程更加簡單快捷。在STM32主控器設(shè)計(jì)中將復(fù)位電路直接接入上拉電阻,硬件設(shè)備通電穩(wěn)定后單片機(jī)不再自動(dòng)復(fù)位,如果需要復(fù)位,斷電后再啟動(dòng)系統(tǒng)。
3.2 ESP8266 WiFi模塊
ESP8266是一款專為移動(dòng)設(shè)備、可穿戴電子產(chǎn)品以及物聯(lián)網(wǎng)應(yīng)用而設(shè)計(jì)的芯片,硬件接口豐富,其CPU最高可達(dá)160 MHz,適合小量數(shù)據(jù)的無線傳輸。ESP8266芯片共有STA、AP、STA+AP三種不同的工作模式,在本系統(tǒng)設(shè)計(jì)中,ESP8266 WiFi模塊需要連接其他AP熱點(diǎn),完成與互聯(lián)網(wǎng)之間的數(shù)據(jù)通信,因此選擇STA作為ESP8266 WiFi通信模塊的工作模式。工作在STA模式下的ESP8266屬于客戶端,需要通過接收來自路由器發(fā)出的信號(hào)來連接互聯(lián)網(wǎng),達(dá)到遠(yuǎn)程控制的目的。
3.3 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊包括DHT11溫濕度傳感器、光照強(qiáng)度傳感器、水位傳感器、壓力傳感器。DHT11溫濕度傳感器內(nèi)部含有一個(gè)電容式感濕元件和一個(gè)NTC測溫元件,與一個(gè)高性能8位單片機(jī)相連接,是一款已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。光照強(qiáng)度傳感器主體是一個(gè)光敏電阻,由半導(dǎo)體材料制成,其工作原理是將光信號(hào)轉(zhuǎn)換成電信號(hào)。水位傳感器是一款簡單易用、性價(jià)比高的水位檢測傳感器,其工作原理是通過一串暴露的平行導(dǎo)線來測量其水量大小從而判斷水位,同時(shí)能快速將水量轉(zhuǎn)化成模擬信號(hào)。壓力傳感器上下表面的應(yīng)變片內(nèi)各有2個(gè)電阻,由此組成全橋式電路來提高測量精度。
3.4 按鍵設(shè)置模塊
按鍵設(shè)置模塊主要是在系統(tǒng)通電后,對(duì)溫濕度、光照強(qiáng)度、水位值、壓力值進(jìn)行臨界值設(shè)置,設(shè)置完成后,存儲(chǔ)預(yù)設(shè)值。當(dāng)環(huán)境溫度大于預(yù)設(shè)溫度閾值時(shí),自動(dòng)啟動(dòng)風(fēng)扇;當(dāng)環(huán)境濕度或水位值低于水位預(yù)設(shè)閾值時(shí),自動(dòng)啟動(dòng)水泵;當(dāng)壓力值低于預(yù)設(shè)壓力值時(shí),蜂鳴器報(bào)警。
3.5 終端執(zhí)行模塊
終端執(zhí)行模塊包含的電子器件有:小燈泡、風(fēng)扇、水泵和蜂鳴器。選擇LED小燈泡來模擬燈光的亮暗,選擇CJY6020風(fēng)扇來模擬實(shí)際溫度過高時(shí)通風(fēng)機(jī)開啟,選擇DC3W迷你微型小水泵模擬濕度和水位值過低時(shí)加濕器開啟。一方面,OneNET服務(wù)器對(duì)數(shù)據(jù)進(jìn)行分析處理后會(huì)自動(dòng)向硬件端發(fā)送指令;另一方面,用戶也可以根據(jù)實(shí)時(shí)數(shù)據(jù)情況通過Web端手動(dòng)遠(yuǎn)程控制終端執(zhí)行器件。終端執(zhí)行模塊程序流程如圖3所示。
4 系統(tǒng)軟件程序設(shè)計(jì)
系統(tǒng)在連接電源后開始運(yùn)行,首先完成硬件設(shè)備的初始化工作,包括STM32單片機(jī)的內(nèi)部各模塊,如串口、時(shí)鐘以及ADC等。隨后ESP8266 WiFi模塊開始進(jìn)行初始化,包括模塊復(fù)位,與路由器連接建立無線傳感網(wǎng)絡(luò)。當(dāng)網(wǎng)絡(luò)連接成功后,緊接著對(duì)MQTT客戶端完成基本配置,與MQTT服務(wù)器建立連接。完成連接后,硬件端的傳感器模塊開始工作,將采集的數(shù)據(jù)在OLED液晶屏上顯示,同時(shí)經(jīng)過發(fā)送主題的方式上傳到OneNET云平臺(tái)服務(wù)器。系統(tǒng)也在不間斷檢測OneNET云平臺(tái)下發(fā)的數(shù)據(jù),在對(duì)數(shù)據(jù)解析處理后對(duì)硬件設(shè)備進(jìn)行反向控制,查看是否需要對(duì)小燈泡、風(fēng)扇、水泵進(jìn)行啟停。為保證正常的網(wǎng)絡(luò)連接,系統(tǒng)還會(huì)依據(jù)發(fā)送的掉線指令進(jìn)一步判斷系統(tǒng)服務(wù)器是否掉線,一旦判斷設(shè)備掉線則重啟ESP8266 WiFi通信模塊,初始化后連接到OneNET云服務(wù)器;反之,如果設(shè)備一直在線則會(huì)周而復(fù)始地上傳采集的數(shù)據(jù),當(dāng)寵物所生活環(huán)境的實(shí)際數(shù)據(jù)達(dá)到預(yù)設(shè)值的觸發(fā)條件,就會(huì)自動(dòng)控制終端執(zhí)行設(shè)備。另一種情況則是循環(huán)檢測OneNET云平臺(tái)和Web客戶端是否下發(fā)控制指令,進(jìn)行手動(dòng)控制。系統(tǒng)整體設(shè)計(jì)流程如圖4所示。
4.1 MQTT傳輸協(xié)議
在本系統(tǒng)設(shè)計(jì)中,ESP8266 WiFi通信模塊通過MQTT協(xié)議連接到OneNET云平臺(tái),數(shù)據(jù)的獲取和發(fā)布在硬件端設(shè)備完成。硬件端設(shè)備先與代理服務(wù)器建立連接,隨后向OneNET云平臺(tái)發(fā)送連接請求,完成授權(quán)確認(rèn)后,終端服務(wù)器根據(jù)MQTT的格式對(duì)發(fā)布主題和消息內(nèi)容進(jìn)行封裝,在數(shù)據(jù)上傳到OneNET云平臺(tái)的代理服務(wù)器后返回確認(rèn)信息,從而實(shí)現(xiàn)數(shù)據(jù)發(fā)布。MQTT通信程序流程如圖5所示。
4.2 OneNET云平臺(tái)
OneNET云平臺(tái)是由中國移動(dòng)基于物聯(lián)網(wǎng)產(chǎn)業(yè)打造的生態(tài)平臺(tái),可以在設(shè)備與物聯(lián)網(wǎng)應(yīng)用之間完成快速、平穩(wěn)、安全的連接。平臺(tái)在提供豐富的API接口的同時(shí)為各種硬件設(shè)備及傳感器提供了高效的接入服務(wù),同時(shí)還提供了豐富的組件庫,開發(fā)者可以根據(jù)需求將數(shù)據(jù)以不同的形式展示,保證數(shù)據(jù)可視化的同時(shí)讓界面保持簡潔、美觀。Web客戶端數(shù)據(jù)監(jiān)測和控制界面如圖6所示。產(chǎn)品與設(shè)備創(chuàng)建成功后,進(jìn)一步創(chuàng)建數(shù)據(jù)流,分為終端執(zhí)行器件數(shù)據(jù)流和數(shù)據(jù)采集數(shù)據(jù)流。
終端執(zhí)行器件數(shù)據(jù)流包括風(fēng)扇數(shù)據(jù)流fan;燈泡數(shù)據(jù)流light;水泵數(shù)據(jù)流water。數(shù)據(jù)采集數(shù)據(jù)流包括溫度數(shù)據(jù)流lltemp、濕度數(shù)據(jù)流llhumi、光照強(qiáng)度數(shù)據(jù)流lllevel、水位值數(shù)據(jù)流llshui、壓力值數(shù)據(jù)流llhx。
5 系統(tǒng)實(shí)驗(yàn)測試
將系統(tǒng)接入電源后等待STM32主控器初始化數(shù)據(jù),首先進(jìn)行通信測試,打開手機(jī)熱點(diǎn),設(shè)置密碼,系統(tǒng)通電并完成初始化后與手機(jī)熱點(diǎn)連接。連接成功后就可進(jìn)行功能測試,登錄OneNET云平臺(tái),進(jìn)入應(yīng)用管理中的Web客戶端界面,實(shí)時(shí)觀測智能寵物看護(hù)系統(tǒng)的環(huán)境參數(shù)。經(jīng)過對(duì)比,數(shù)據(jù)采集模塊采集的數(shù)據(jù)與實(shí)際環(huán)境數(shù)據(jù)一致,通過相應(yīng)操作遠(yuǎn)程控制終端執(zhí)行設(shè)備啟停。另外一種方式是當(dāng)寵物所生活的環(huán)境實(shí)際數(shù)據(jù)達(dá)到預(yù)設(shè)值觸發(fā)條件,系統(tǒng)自動(dòng)控制終端執(zhí)行設(shè)備啟停。系統(tǒng)驗(yàn)證結(jié)果表明,智能寵物看護(hù)系統(tǒng)功能正常,運(yùn)行穩(wěn)定、響應(yīng)速度快,可以滿足用戶需求。
6 結(jié) 語
論文基于STM32單片機(jī)搭載ESP8266模塊搭建了智能寵物看護(hù)系統(tǒng),主要分成硬件端、OneNET云平臺(tái)、前端。前端采用Web客戶端的形式呈現(xiàn),避免了移動(dòng)端適配問題以及用戶使用需下載安裝的煩惱,同時(shí)方便了開發(fā)者的部署、升級(jí)和維護(hù)等。OneNET云平臺(tái)可以適配各種網(wǎng)絡(luò)環(huán)境及協(xié)議類型,同時(shí)為各類傳感器、終端設(shè)備提供了快速接入服務(wù)及大數(shù)據(jù)服務(wù)。此外,平臺(tái)提供了豐富的API模板,可以有效降低系統(tǒng)的應(yīng)用開發(fā)和部署成本。硬件端使用STM32單片機(jī)搭載ESP8266模塊,在硬件端的功能實(shí)現(xiàn)上,同樣以模塊化思想將各功能細(xì)分,使后續(xù)功能拓展更加簡單。Web客戶端使用HTTP協(xié)議調(diào)用服務(wù)器后臺(tái)程序相應(yīng)接口完成對(duì)寵物養(yǎng)護(hù)環(huán)境的實(shí)時(shí)監(jiān)測,而硬件端與OneNET云服務(wù)器之間的通信使用MQTT,減少了通信時(shí)的首部開銷,提高了通信效率??傮w而言,本系統(tǒng)在功能實(shí)現(xiàn)上以分層、分模塊的思想極大地降低了代碼耦合度。文中針對(duì)目前智能寵物市場普遍存在的問題提供了解決方案,具有一定的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]冉建國,陳旭東,賴慶新,等.智慧型寵物飼養(yǎng)看護(hù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].技術(shù)與市場,2021,28(6):23-25.
[2]李曉茹,江河.基RaspberryPi的物聯(lián)網(wǎng)智能寵物看護(hù)系統(tǒng)[J].工業(yè)控制計(jì)算機(jī),2020,33(11):30-31.
[3]孫晴,方明星,陳露瑤.智能家居寵物看護(hù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2019,16(3):98-101.
[4]張永成.基于 STM32 的海上微藻養(yǎng)殖控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2021.
[5]周沛仰.基于ZigBee和OneNET的智慧農(nóng)業(yè)系統(tǒng)[J].現(xiàn)代農(nóng)機(jī),2022,40(1):123-124.
[6]張心儀,于洋,衣程榆,等.基于OneNET云平臺(tái)的多種有害氣體監(jiān)測分析系統(tǒng)[J].電子產(chǎn)品世界,2023,30(1):56-59.
[7]何小麗.淺析DHT11溫濕度傳感器在Arduino中的應(yīng)用[J].河北農(nóng)機(jī),2021,47(18):89-90.
[8]李志偉,東偉,黃雙成.基于DHT11的農(nóng)業(yè)大棚溫濕度監(jiān)控系統(tǒng)設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置,2021,51(1):39-43.
[9]方舟,王俊杰,朱海軒,等.基于STM32的寵物報(bào)警系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2022,12(5):5-7.
[10]雷賽楠,章文俊,李昊.基于STM32和ZigBee網(wǎng)絡(luò)的智能家居系統(tǒng)[J].電子設(shè)計(jì)工程,2023,31(7):109-112.
基金項(xiàng)目:惠州學(xué)院博士研究基金資助項(xiàng)目(2018JB021)
作者簡介:齊 海(1978—),男,天津人,本科,工程師,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)應(yīng)用。
張 丹(1979—),女,黑龍江望奎人,博士研究生,副教授,研究方向?yàn)橛?jì)算機(jī)應(yīng)用、智能計(jì)算。