機(jī)智云技術(shù)在寵物管理系統(tǒng)中的應(yīng)用
掃描二維碼
隨時隨地手機(jī)看文章
0 引 言
在我國,飼養(yǎng)的寵物越來越多,但人們由于工作、生活的原因沒有更多的時間更好地照顧管理寵物,因此對飼養(yǎng)寵物工具的要求也越來越高。目前在市場上寵物喂食系統(tǒng)部分是人工喂養(yǎng),多半是半自動喂養(yǎng),產(chǎn)品比較單一,在一定程度上無法滿足人們的需求。針對目前市場的需求,整合市場上單一產(chǎn)品的優(yōu)點(diǎn),設(shè)計(jì)實(shí)現(xiàn)基于機(jī)智云技術(shù)的智能寵物管理系統(tǒng)。本系統(tǒng)以 Cortex-M4 為內(nèi)核的 STM32F429 芯片為核心,通過機(jī)智云整合單片機(jī)、WiFi 物聯(lián)網(wǎng)實(shí)現(xiàn)對寵物智能喂養(yǎng)與管理的功能。
1 機(jī)智云技術(shù)
從 2014 年推出的機(jī)智云 1.0 到現(xiàn)在的機(jī)智云 3.0,機(jī)智云實(shí)現(xiàn)了技術(shù)積累,提供物聯(lián)網(wǎng)云平臺、硬件通信、終端APP 一體化產(chǎn)品服務(wù)和云服務(wù),為有物聯(lián)網(wǎng)管理需求的客戶提供連接、運(yùn)營管理、數(shù)據(jù)分析等服務(wù)。用戶可以自定義統(tǒng)計(jì)分析,對機(jī)智云 SDK 進(jìn)行二次開發(fā),使智能硬件設(shè)備接入機(jī)智云后的功能更加完善,更加便于管理。機(jī)智云的功能可以概括為連接硬件設(shè)備,存儲分析數(shù)據(jù)并保證數(shù)據(jù)的安全性,通過唯一的標(biāo)識碼鏈接主控設(shè)備后控制設(shè)備。物聯(lián)網(wǎng)的價值源于萬物互聯(lián)的“智能化”,機(jī)智云為企業(yè)提供智能硬件自助開發(fā)工具(PaaS)及物聯(lián)網(wǎng)行業(yè)解決方案(SaaS),走在了物聯(lián)網(wǎng)云服務(wù)市場的前列。機(jī)智云開發(fā)系統(tǒng)示意圖如圖 1 所示。
2 總體設(shè)計(jì)
寵物管理系統(tǒng)由硬件系統(tǒng)、軟件系統(tǒng)組成。硬件系統(tǒng)包括主控模塊、電機(jī)模塊、液晶屏顯示操作模塊、傳感器模塊、電源模塊和攝像頭模塊。軟件系統(tǒng)首先要開發(fā)環(huán)境搭建,完 成 MDK 軟件安裝、USB 串口驅(qū)動安裝、ST-LINK 安裝,采 用 C++/C 語言和單片機(jī) C51 等語言來編寫模塊化程序。軟件系統(tǒng)主要實(shí)現(xiàn)機(jī)智云物聯(lián)網(wǎng)功能,并在手機(jī)開發(fā)相應(yīng) APP系統(tǒng)。機(jī)智云物聯(lián)網(wǎng)系統(tǒng)一方面遠(yuǎn)程控制移動終端,利用網(wǎng)絡(luò)和底層控制相關(guān)功能,實(shí)物搭建完畢和下載好程序,上傳好數(shù)據(jù),就可以通過液晶屏、自動檢測、安卓手機(jī)進(jìn)行發(fā)送指令 ;另一方面把數(shù)據(jù)上傳到機(jī)智云端,機(jī)智云的服務(wù)器就會對收到的數(shù)據(jù)進(jìn)行處理和分析,將結(jié)果上傳到控制終端,并在終端中顯示,這種形式克服了時間和區(qū)域問題,能精確地知道寵物的活動狀況 [1]。系統(tǒng)設(shè)計(jì)如圖 2 所示。
3 硬件系統(tǒng)設(shè)計(jì)
本文的控制系統(tǒng)以 Cortex-M4 為內(nèi)核的 STM32F429 芯片為控制核心,通過溫濕度傳感器對寵物屋的空氣溫度、濕度實(shí)現(xiàn)實(shí)時監(jiān)測 ;利用嵌入式與物聯(lián)網(wǎng)技術(shù),通過溫濕度傳感器和激光傳感器的應(yīng)用,并借助 Andriod APP 終端實(shí)現(xiàn)對寵物的遠(yuǎn)程觀察。該系統(tǒng)可以實(shí)時監(jiān)測相關(guān)參數(shù),并以此判斷當(dāng)前的物理環(huán)境狀況,自動調(diào)節(jié)溫度、濕度以及投放食物量等相關(guān)操作。
主控模塊使用了 ARM 公司的 STM32F429 芯 片、CH340G 芯片、AT24C02 芯片。電機(jī)模塊使用了 Realplay 品牌的微型 130 小電機(jī)來控制風(fēng)扇轉(zhuǎn)動,使用立式的型號為ZGA37RH 電機(jī)控制喂食的閥門和清理糞便。液晶顯示屏模塊用于顯示溫濕度和激光測量距離實(shí)物的高度等。傳感器模塊由溫度傳感器、濕度傳感器組成。電源模塊有兩種供電模式 :USB 供電模式和電池供電模式。攝像頭模塊用于觀察寵物的活動狀況,應(yīng)用市場上成本較低但比較成熟的攝像頭。
3.1 WiFi 模塊
WiFi 聯(lián)網(wǎng)屬于辦公和家庭使用的短距離無線技術(shù),具有速度快、可靠性高等特點(diǎn)。在開放性區(qū)域,通信距離可達(dá)300 m 左右 ;在封閉性區(qū)域,其通信距離為 100 m 左右,組網(wǎng)的成本低。該系統(tǒng)選用的 ESP8266 WiFi 模塊芯片是一款串口轉(zhuǎn)無線芯片模塊,內(nèi)部自帶固件,用戶操作簡單,無需編寫時序信號。ESP8266 WiFi 模塊內(nèi)部配置 TCP/IP 協(xié) 議, 支 持 Smart Config 功 能 ;支 持 SPI,UART,I2C,I2S,PWM,GPIO,IR 遠(yuǎn)程控制功能,以及 2 ms 喚醒,連接并傳遞數(shù)據(jù)開發(fā)包的特性。
3.2 傳感器模塊
溫濕度傳感器模塊包括溫濕度顯示、自動調(diào)節(jié)溫濕度、人工調(diào)節(jié)溫濕度等。它有三大執(zhí)行元件 :DTH11 溫濕度傳感器、5 V 電熱片和 5 V/1 A 直流小電機(jī)。本設(shè)計(jì)中,當(dāng)DTH11 溫濕度傳感器給主控系統(tǒng)傳輸?shù)臄?shù)據(jù)高于設(shè)定值時,主控系統(tǒng)發(fā)送一個信號使直流小電機(jī)開始工作降溫 ;當(dāng)數(shù)據(jù)低于設(shè)定值時,主控系統(tǒng)發(fā)送一個信號使電熱片工作升溫。
為了防止電熱片與直流小電動機(jī)啟動和關(guān)閉時,電流過大影響芯片和 DTH11 溫濕度傳感器,本系統(tǒng)采用分開供電模式 :DTH11 的電源來自于主控板阿波羅 STM32F429IGT開發(fā)板的電源端口,而電熱片和直流小電動機(jī)的電源直接采用 18650 鋰電池來供電。電熱片和直流小電動機(jī)均采用PWM 脈沖信號控制,但不是直接使用 PWM 脈沖信號控制,而是使用兩個小繼電器單獨(dú)控制電熱片和直流小電動機(jī)。主控模塊用 PWM 脈沖信號來控制繼電器,從而間接控制電熱片和直流小電動機(jī)的啟動和關(guān)閉。采用繼電器來控制的方案是經(jīng)過綜合考慮的,這樣不僅經(jīng)濟(jì)、安全,而且使用簡單。
4 軟件系統(tǒng)設(shè)計(jì)
整個軟件系統(tǒng)設(shè)計(jì)是基于 μC/OS- Ⅲ操作系統(tǒng)和STemWin 圖形界面系統(tǒng)進(jìn)行設(shè)計(jì)。首先,對 μC/OS-Ⅲ操作系統(tǒng)和 STemWin 圖形系統(tǒng)移植 ;接著,編寫各個模塊的驅(qū)動代碼,為每個模塊開啟相應(yīng)的任務(wù),分配好棧和優(yōu)先級,同時利用仿真器制作相應(yīng)的按鈕控件,并在 Visual C++ 6.0上進(jìn)行測試 ;最后,將測試好的控件代碼移植到工程中,這樣就可以通過 μC/OS-Ⅲ對圖形界面的相關(guān)控件任務(wù)進(jìn)行調(diào)用并顯示,根據(jù)寵物家園的硬件系統(tǒng)進(jìn)行模塊化編寫,而程序使用 IAR 軟件進(jìn)行編寫。
4.1 機(jī)智云物聯(lián)網(wǎng)
在該系統(tǒng)應(yīng)用的物聯(lián)網(wǎng)技術(shù)是市面上的智能喂食系統(tǒng)版和集合版,把單一的寵物喂食系統(tǒng)的優(yōu)點(diǎn)結(jié)合起來,設(shè)計(jì)一個更加完美和符合市場需求的產(chǎn)品,是原來產(chǎn)品的升級版,實(shí)現(xiàn)對寵物遠(yuǎn)程實(shí)時監(jiān)控的功能。寵物管理系統(tǒng)遠(yuǎn)程實(shí)時監(jiān)控主要功能有兩點(diǎn) :用戶手機(jī) APP 軟件與喂養(yǎng)裝置和清理糞便裝置進(jìn)行通信 ;在安卓 APP 上隨時都可以觀察寵物的活動狀態(tài)。
物聯(lián)網(wǎng)網(wǎng)絡(luò)架構(gòu)分為應(yīng)用層、網(wǎng)絡(luò)層、感知層。通過上面分析,通信模塊主要是基于 IEEE 802.11 協(xié)議的 WiFi 低功耗 SoC 廣域網(wǎng),工作在 2.4 GHz/5 GHz 頻段,可以借助于互聯(lián)網(wǎng)、云概念和智能終端,更加方便地對任何物體進(jìn)行連接。物聯(lián)網(wǎng)對所連接的設(shè)備的通信協(xié)議要求有以下三點(diǎn) :聯(lián)網(wǎng)的每一物件均可尋址 ;聯(lián)網(wǎng)的每一物件可通信 ;聯(lián)網(wǎng)的每一物件可控制 [2]。為滿足以上要求,該系統(tǒng)采用 WiFi 聯(lián)網(wǎng)的方式,使硬件系統(tǒng)成為可通信可控制的網(wǎng)絡(luò)體。機(jī)智云物聯(lián)網(wǎng)網(wǎng)絡(luò)架構(gòu)如圖 3 所示。
4.2 手機(jī) APP 開發(fā)
本系統(tǒng)所用遠(yuǎn)程控制的客戶端是基于機(jī)智云開發(fā)的安卓APP 控制。根據(jù)機(jī)智云部署步驟和調(diào)試步驟,在機(jī)智云平臺開發(fā) SoC 模式,創(chuàng)建安卓 APP 的操作步驟如圖 4 所示,成功地把硬件系統(tǒng)接入到機(jī)智云服務(wù)。
在創(chuàng)建機(jī)智云服務(wù)之前需要先下載安卓 APP 開源框架,并準(zhǔn)備好 Eclipse 開源框架編譯環(huán)境。導(dǎo)入項(xiàng)目到 Eclipse 工程后,根據(jù)開源框架包結(jié)構(gòu)的說明,修改 UIConfig.json 文件,在這里可以配置工程的配置信息。正確填寫機(jī)智云的 ProductKey,APP ID,APP Secret 后,工程就可以部署運(yùn)行。云端會自動生成一個仿真設(shè)備,可模擬真實(shí)設(shè)備上報數(shù)據(jù)的行為。在實(shí)體設(shè)備還未開發(fā)完成的情況下,開發(fā)者可以利用機(jī)智云提供的虛擬設(shè)備工具進(jìn)行 APP 調(diào)試,測試遠(yuǎn)程控制設(shè)備的功能。其中,在 WiFi 鏈接模式時,當(dāng) WiFi 通信在無優(yōu)先級或者 BT/ZB 優(yōu)先級較高的情況下,可以人為中斷 WiFi 工作,只需通過 GPIO 口來區(qū)分各個通信的優(yōu)先級。利用聯(lián)網(wǎng)的 IP地址與安卓 APP 連接,通過該端口發(fā)送參數(shù)信息,并通過APP 界面顯示。要實(shí)現(xiàn)機(jī)智云 APP 與硬件設(shè)備聯(lián)調(diào),首先要使手機(jī)和硬件設(shè)備連接到同一個網(wǎng)絡(luò)上,通過網(wǎng)絡(luò)向服務(wù)器發(fā)出請求,并且獲得相應(yīng)的信息。信息的傳遞是雙向的,機(jī)智云 APP 可以控制硬件設(shè)備,若手動操作硬件設(shè)備,APP界面上相應(yīng)的數(shù)據(jù)也會變化。該系統(tǒng)相應(yīng)的安卓 APP 界面如圖 5 所示。
5 測 試
(1)首先在機(jī)智云平臺上的開發(fā)者中心打開已經(jīng)開發(fā)的 Android APP—寵物管理系統(tǒng),依次點(diǎn)擊“在線調(diào)試設(shè)備”“啟動虛擬設(shè)備”。在頁面上有生成已開發(fā)的寵物管理系統(tǒng)的二維碼,手機(jī)下載機(jī)智云,進(jìn)入機(jī)智云 APP 掃描二維碼進(jìn)行綁定。然后進(jìn)行電腦模擬虛擬設(shè)備控制和手機(jī) APP 操作按鈕進(jìn)行測試。在模擬設(shè)備和手機(jī) APP 上操作有數(shù)據(jù)并且在仿真軟件無誤顯示的話,證明在線測試成功。
(2)把手機(jī) APP 與實(shí)物進(jìn)行連接,寵物家園系統(tǒng)處于啟動狀態(tài),在手機(jī)終端 APP 添加實(shí)物設(shè)備。進(jìn)行一鍵配置時,嘗試多次配置并失敗。排查網(wǎng)絡(luò)問題,隨后分別連接 WiFi和 4G 網(wǎng)絡(luò)進(jìn)行配置,配置并沒成功。最后更換安卓手機(jī)后,配置成功。開始進(jìn)行遠(yuǎn)程控制各個模塊。
(3)遠(yuǎn)程控制時發(fā)現(xiàn)手機(jī) APP 中顯示溫濕度與硬件設(shè)備液晶顯示屏上數(shù)值不對應(yīng),手機(jī) APP 中需要延時很長時間,數(shù)值才更新,并且多個按鈕沒有添加松手檢測,以至于要一直按著按鈕才能使其工作。
(4)排查代碼的不嚴(yán)謹(jǐn)而導(dǎo)致的延時問題,經(jīng)過優(yōu)化代碼后,調(diào)試成功。其中,進(jìn)行 APP 調(diào)試時開發(fā) APP 是難點(diǎn) ; 對 Java 語言不太熟悉的情況下,應(yīng)用 WiFi 連接設(shè)備和 APP的連接調(diào)試,要花不少時間。
6 結(jié) 語
本文所述寵物管理系統(tǒng)可以通過安卓手機(jī) APP 遠(yuǎn)程觀察寵物的活動,隨時隨地通過手機(jī)進(jìn)行投食、清理糞便,實(shí)時顯示溫濕度并可調(diào)節(jié)溫度。該系統(tǒng)具有操作簡單、易懂、方便等優(yōu)點(diǎn),且安全性、穩(wěn)定性、智能性較高。但是,該系統(tǒng)還存在幾個可以優(yōu)化地方 :增加語音提示功能、增加遠(yuǎn)程故障短信通知等功能,有待進(jìn)行下一步研究。