馮欣悅,劉李河,姚佳露
(佛山職業(yè)技術(shù)學(xué)院,廣東佛山,528000)
近年來(lái)隨著人們生活水平的提高,飼養(yǎng)寵物的家庭越來(lái)越多,寵物可穿戴設(shè)備成為當(dāng)前一個(gè)熱點(diǎn)研究課題。數(shù)據(jù)顯示,全球?qū)櫸镫娮釉O(shè)備市場(chǎng)規(guī)模到2024年將達(dá)到至少25億美元,中國(guó)的市場(chǎng)份額將超過(guò)20%。國(guó)內(nèi)寵物智能產(chǎn)品從創(chuàng)新設(shè)計(jì)、研發(fā)再到銷售,都逐漸進(jìn)入社會(huì)市場(chǎng)中,越來(lái)越多的人們開始接受、并開始改變養(yǎng)寵方式。從長(zhǎng)遠(yuǎn)看,寵物智能穿戴設(shè)備的需求將會(huì)越來(lái)越大?;诖?,本文設(shè)計(jì)和開發(fā)除了一款基于STM32單片機(jī)的智能寵物穿戴設(shè)備。
本文所設(shè)計(jì)的智能寵物穿戴設(shè)備,主要包括健康指標(biāo)檢測(cè)、心電圖、語(yǔ)音交互、精準(zhǔn)定位、實(shí)時(shí)傳輸、系統(tǒng)化管理、云端數(shù)據(jù)同步等功能。
(1)健康指標(biāo)檢測(cè):系統(tǒng)可檢測(cè)寵物心率,血氧濃度,脈搏等健康指標(biāo)。
(2)心電圖功能:可實(shí)時(shí)輸出寵物心電(ECG)顯示在LCD電容屏幕上。
(3)語(yǔ)音交互功能:語(yǔ)音識(shí)別加語(yǔ)音播報(bào)功能,可識(shí)別亦可反饋,通過(guò)語(yǔ)音控制系統(tǒng)。
(4)精準(zhǔn)定位功能:系統(tǒng)采用NEO-M8N+GPS+北斗三重定位芯片,可迅速精準(zhǔn)定位寵物位置。
(5)實(shí)時(shí)傳輸功能:采用GSM模塊,可將寵物健康指標(biāo)與位置信息通過(guò)短信發(fā)送至指定手機(jī)號(hào)碼。
(6)系統(tǒng)化管理:采用WIFI模塊將系統(tǒng)采集到的各項(xiàng)數(shù)據(jù)上傳至手機(jī)APP,可在線管理分析。
(7)云端數(shù)據(jù)同步:系統(tǒng)將各項(xiàng)數(shù)據(jù)實(shí)時(shí)上傳至中移物聯(lián)云端,通過(guò)數(shù)據(jù)分析與處理,得到更加精準(zhǔn)的寵物健康信息。
系統(tǒng)硬件整體連接示意圖如圖1所示。由于系統(tǒng)各功能模塊較多,功能模塊多采用串口通信,為了滿足這些功能模塊通信接口需求,采用一片STM32F103芯片和一片STM32F407芯片進(jìn)行數(shù)據(jù)傳輸和數(shù)據(jù)處理。STM32F103芯片與NBIOT模塊和GSM模塊連接。STM32F407芯片與GPS模塊、心電監(jiān)測(cè)模塊等其他模塊連接。STM32F103芯片與STM32F407芯片之間是通過(guò)串行外設(shè)接口(SPI)通信。SPI是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳。
圖1 系統(tǒng)硬件整體連接圖
選用STM32F103RCT6作為系統(tǒng)控制核心。STM32F 103RCT6是一種嵌入式-微控制器的集成電路(IC),芯體尺寸是32位,主頻是72MHz,程序存儲(chǔ)器容量是256KB,程序存儲(chǔ)器類型是FLASH,RAM容量是48K。該芯片使用ARM Cortex-M3處理器內(nèi)核,具有外設(shè)接口豐富、高性能、低成本和低功耗的優(yōu)點(diǎn)。
本項(xiàng)目主要使用該芯片的串口外設(shè)資源。其中,UART2與NBIOT連接;UART3與SIM900A連接;UART1作為調(diào)試串口,方便開發(fā)過(guò)程軟件調(diào)試;SPI1與STM32F407通信。其他外設(shè)資源可以為功能擴(kuò)展預(yù)留。
該最小系統(tǒng)選用STM32F407VET6芯片作為控制核心。STM32F407VET6使用ARM Cortex-M4處理器內(nèi)核,具有強(qiáng)大的浮點(diǎn)運(yùn)算功能,主頻是168MHz,外設(shè)接口豐富。項(xiàng)目中感知模塊、GPS模塊、WIFI模塊、語(yǔ)音識(shí)別模塊和語(yǔ)音播報(bào)模塊都與其連接。STM32F407VET6芯片采集GPS數(shù)據(jù)、心電數(shù)據(jù)、血氧數(shù)據(jù)、溫度數(shù)據(jù)和心率數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理;通過(guò)OLED模塊顯示指標(biāo)數(shù)據(jù);通過(guò)WIFI模塊將健康指標(biāo)數(shù)據(jù)發(fā)送到手機(jī)客戶端。
寵物智能穿戴設(shè)備連接的模塊多,需要處理較多數(shù)據(jù),因此需要處理芯片外設(shè)多、實(shí)時(shí)數(shù)據(jù)處理能力強(qiáng),STM32F407VET6顯然能夠勝任該需求。
MAX30102是一個(gè)集成的脈搏血氧和心率監(jiān)測(cè)生物傳感器模塊。它集成一個(gè)紅光LED、光電檢測(cè)器、光器件,以及帶環(huán)境光抑制的低噪聲電子電路。適用于穿戴設(shè)備進(jìn)行心率和血氧采集和檢測(cè)。MAX30102采用標(biāo)準(zhǔn)的I2C兼容的通信接口,將采集的數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)進(jìn)行處理。
系統(tǒng)使用AD8232模塊來(lái)實(shí)時(shí)監(jiān)測(cè)寵物心率。AD8232是一款用于ECG及其他生物測(cè)量應(yīng)用的集成信號(hào)調(diào)理模塊。該模塊主要用于在運(yùn)動(dòng)或遠(yuǎn)程電極放置產(chǎn)生的噪聲的情況下提取、放大及過(guò)濾微弱的生物信號(hào),適用于心電信號(hào)采集。AD8232模塊輸出心電信號(hào)范圍是0~3.3V,通過(guò)STM32F407的AD轉(zhuǎn)換外設(shè)以50Hz頻率讀取模擬電壓信號(hào),并轉(zhuǎn)換成數(shù)據(jù)信號(hào)。
系統(tǒng)的語(yǔ)音交互功能包括語(yǔ)音識(shí)別、語(yǔ)音播報(bào)和邏輯控制。
語(yǔ)音播報(bào)功能由MP3模塊實(shí)現(xiàn)。MP3模塊原理圖如圖2所示。MP3模塊自帶SD卡槽,將存有語(yǔ)音文件的SD卡插入,通過(guò)串口給MP3模塊發(fā)送播放指令,MP3模塊會(huì)使用外接的揚(yáng)聲器播放語(yǔ)音。其中端口RX和TX分別是UART接收端口和發(fā)送端口,它們分別與STM32F407的TX和RX連接。SPK1和SPK2是連接揚(yáng)聲器。
圖2 MP3模塊接線原理圖
語(yǔ)音識(shí)別功能由LD3320模塊實(shí)現(xiàn)。它與STM32F407通過(guò)UART串口連接。模塊具有口令識(shí)別模式和普通模式。其中口令模式又分為一級(jí)口令和二級(jí)口令。系統(tǒng)使用LD3320的口令識(shí)別模式,一級(jí)口令用于喚醒識(shí)別功能,二級(jí)口令用于發(fā)出指令。LD3320模塊識(shí)別到指令后,通過(guò)串口將指令發(fā)送到STM32F407。STM32F407根據(jù)指令執(zhí)行相應(yīng)任務(wù)(語(yǔ)音播報(bào)、指標(biāo)發(fā)送等)。LD3320模塊的指令可以根據(jù)需要設(shè)置,但是STM32F407程序中要有對(duì)應(yīng)的指令處理流程。
系統(tǒng)使用中微GPS模塊定位。該模塊支持北斗、GPS和GLONASS衛(wèi)星系統(tǒng)。模塊通過(guò)串口將GPS數(shù)據(jù)發(fā)送到STM32F407,由STM32F407進(jìn)行數(shù)據(jù)解析。中微GPS模塊定位精度10m左右,需要在室外才能收到衛(wèi)星信號(hào),因此在室內(nèi)是無(wú)法完成定位的。中微GPS模塊還可以為系統(tǒng)提供準(zhǔn)確的時(shí)間。GPS模塊電路原理圖如圖3所示。
圖3 GPS模塊電路原理圖
系統(tǒng)使用ESP8226串口WIFI模塊。該模塊具有成本低、穩(wěn)定性好和抗干擾能力強(qiáng)的特點(diǎn)。模塊內(nèi)部使用LWIP協(xié)議,支持AP、STA和AP+STA三種模式。采用AT指令對(duì)模塊進(jìn)行讀寫操作,簡(jiǎn)單高效。
在系統(tǒng)中,使用WIFI模塊將寵物指標(biāo)發(fā)送到移動(dòng)客戶端,發(fā)送頻率為1Hz。
系統(tǒng)使用DS18B20數(shù)字溫度傳感器測(cè)量寵物的體溫。DS18B20是美國(guó)DALLAS公司生產(chǎn)的單總線數(shù)字溫度傳感器。其測(cè)溫范圍是-55℃~+125℃,最大分別按率達(dá)0.5℃。
系統(tǒng)使用0.96寸的OLED顯示屏模塊顯示主要參數(shù)指標(biāo),分辨率為128×64,采用SSD1306作為驅(qū)動(dòng)芯片。OLED顯示屏具有自發(fā)光的特性,其上有非常薄的有機(jī)材料涂層和基板,當(dāng)有電流通過(guò)時(shí),這些有機(jī)材料就會(huì)發(fā)光,而且屏幕可視角大(大于160°)、功耗低、反應(yīng)速度快。OLED顯示屏通過(guò)I2C總線與STM32F407通信。
系統(tǒng)通過(guò)NBIOT模塊云端數(shù)據(jù)同步,通過(guò)數(shù)據(jù)分析與處理,得到更加精準(zhǔn)的寵物健康信息。STM32F407將采集到的寵物健康指標(biāo)數(shù)據(jù)通過(guò)SPI串口發(fā)送到STM32F103,STM32F103通過(guò)UART串口將寵物健康指標(biāo)數(shù)據(jù)轉(zhuǎn)發(fā)到NBIOT模塊,最后由NBIOT模塊發(fā)送到云端服務(wù)器。
GPRS/GSM模塊選用型號(hào)為SIM9000A,它搭載GA6-B模組。GA6-B模組采用2G通信標(biāo)準(zhǔn),覆蓋范圍廣。GA6-B模組傳輸速度快,支持85.6kbps峰值傳輸速率。采用UART與單片機(jī)通信,使用方便。
軟件設(shè)置如圖4所示,系統(tǒng)上電后首先初始化單片機(jī)外設(shè)和各功能模塊。初始化完成后就進(jìn)入系統(tǒng)軟件主循環(huán)。每一次循環(huán)都會(huì)從相應(yīng)模塊中獲取數(shù)據(jù)并進(jìn)行計(jì)算,得到最終的寵物健康指標(biāo)。然后根據(jù)初始化的情況分別執(zhí)行相應(yīng)的動(dòng)作。如果OLED初始化成功,則會(huì)實(shí)時(shí)顯示健康指標(biāo)。健康指標(biāo)顯示的刷新頻率是1Hz。如果WIFI連接,則系統(tǒng)會(huì)以1Hz的頻率向移動(dòng)客戶端發(fā)送寵物健康指標(biāo)信息。如果NBIOT模塊運(yùn)行正常,則會(huì)以1Hz的頻率將寵物健康指標(biāo)同步到云端。當(dāng)系統(tǒng)檢測(cè)到寵物指標(biāo)有異常,會(huì)將異常提示以短信的形式發(fā)送時(shí)到寵物主人手機(jī)。
圖4 系統(tǒng)軟件設(shè)計(jì)圖
主要進(jìn)行了三個(gè)測(cè)試,分別為語(yǔ)音控制寵物健康指標(biāo)數(shù)據(jù)發(fā)送(通過(guò)短信發(fā)送到手機(jī)),WIFI發(fā)送寵物健康指標(biāo)數(shù)據(jù)到手機(jī)APP,模擬移動(dòng)客戶端接收數(shù)據(jù),通過(guò)NBIOT將寵物健康指標(biāo)數(shù)據(jù)同步到云端,使用騰訊云服務(wù)器模擬云端服務(wù)器。
語(yǔ)音控制指標(biāo)發(fā)送流程為:
(1)用戶說(shuō)“小杰”作為一級(jí)指令,喚醒語(yǔ)音模塊。
(2)系統(tǒng)識(shí)別到一級(jí)指令,回復(fù)“我在,請(qǐng)吩咐”,此時(shí)用戶可以說(shuō)二級(jí)指令。如果系統(tǒng)未識(shí)別到正確的指令,則會(huì)回復(fù)“聽不清,請(qǐng)重新說(shuō)”,返回第一步。
(3)用戶說(shuō)“指標(biāo)發(fā)送”作為二級(jí)指令,控制短信發(fā)送指標(biāo)到手機(jī)。
(4)系統(tǒng)識(shí)別到二級(jí)指令,則通過(guò)SIM900A模塊發(fā)送指標(biāo)到指定手機(jī)。如果系統(tǒng)未識(shí)別二級(jí)指令,則回復(fù)“聽不清,請(qǐng)重新說(shuō)”,此時(shí)返回第三步。
測(cè)試結(jié)果如圖5所示。
圖5 手機(jī)短信接收指標(biāo)數(shù)據(jù)實(shí)驗(yàn)結(jié)果
系統(tǒng)正常運(yùn)行時(shí),會(huì)以1Hz的頻率發(fā)送寵物健康指標(biāo)到指定的移動(dòng)客戶端。該測(cè)試使用手機(jī)APP模擬移動(dòng)客戶端。APP接收結(jié)果如圖6所示。
圖6 手機(jī)APP接收寵物數(shù)據(jù)實(shí)驗(yàn)結(jié)果
系統(tǒng)正常運(yùn)行時(shí),NBIOT模塊會(huì)以1Hz的頻率發(fā)送寵物健康指標(biāo)到指定的服務(wù)器。實(shí)驗(yàn)使用騰訊云服務(wù)器打開網(wǎng)絡(luò)調(diào)試工具接收系統(tǒng)發(fā)送出來(lái)的數(shù)據(jù),測(cè)試結(jié)果如圖7所示。
在本設(shè)計(jì)中通過(guò)STM32單片機(jī)實(shí)現(xiàn)了智能寵物穿戴設(shè)備的健康指標(biāo)檢測(cè)、心電圖、語(yǔ)音交互、精準(zhǔn)定位、實(shí)時(shí)傳輸、數(shù)據(jù)實(shí)施監(jiān)控等功能。本設(shè)計(jì)可以通過(guò)GPS定位,向主人發(fā)送寵物位置信息,脫離既定的活動(dòng)范圍會(huì)向主人發(fā)出警報(bào),這樣可以很大程度上防止寵物走失。本設(shè)計(jì)可以監(jiān)測(cè)寵物的心率和呼吸速率的功能。呼吸、心率數(shù)據(jù)也會(huì)發(fā)到云端分析,一旦數(shù)據(jù)異常,主人手機(jī)上的客戶端就會(huì)建議主人帶寵物上醫(yī)院。作為守護(hù)寵物健康的先頭部隊(duì)。