夏倫騰 ,張 莉 ,吳 飛
(1.中南民族大學 生物醫(yī)學工程學院,湖北 武漢430070;2.中南民族大學 檢測與儀器校級工程中心實驗室,湖北 武漢430070;3.中南民族大學 腦認知國家民委重點實驗室,湖北 武漢430070)
第一財經(jīng)商業(yè)數(shù)據(jù)顯示2018 年中國寵物行業(yè)市場規(guī)模已經(jīng)達到了1 722 億元,為五年前市場規(guī)模的3 倍之多。寵物對于主人來說,已經(jīng)成為重要的精神陪伴者。如果寵物走丟,寵主會花費大量的人力和物力進行找回,但找尋如大海撈針,找回幾率極低,同時寵物丟失所造成的安全隱患和財產(chǎn)損失一直是一個亟待解決的社會問題[1]。 如何設計一款寵物智能可穿戴設備——寵物防丟器便顯得尤為重要,具有很大的市場價值。 國內的寵物可穿戴設備應用并不廣泛,功能且單一;國外的寵物可穿戴設備多以單純測量寵物的生理參數(shù)為主,用以監(jiān)測寵物的健康情況。 因此,本文提出了一種基于物聯(lián)網(wǎng)技術的寵物尋回可穿戴設備系統(tǒng)的設計方案。
物聯(lián)網(wǎng)概念在1999 年正式提出,顧名思義就是“物與物相連的互聯(lián)網(wǎng)”,目前國內的定義是:通過傳感器、無線射頻技術(Radio Frequency Identification,RFID)、全球定位系統(tǒng)等信息傳感設備,按約定協(xié)議,把任何物品與互聯(lián)網(wǎng)連接起來,進行信息交換和通信,以實現(xiàn)智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡[2]。 2016 年9月微信小程序面世,在微信生態(tài)下,觸手可及、用完即走的微信小程序引起廣泛關注,微信公開數(shù)據(jù)顯示,小程序日活已達2.8 億,人均使用20 個小程序,人均使用時長超過10 min。 因此越來越多的開發(fā)者將用戶端的操作移植到了微信小程序端,相信以微信小程序作為用戶端的設備開發(fā)更容易被市場所接受。
本文著重于在寵物出行時丟失,及時幫助主人尋回而設計了一款基于物聯(lián)網(wǎng)技術的寵物防丟可穿戴設備系統(tǒng),用戶通過微信小程序控制LED 燈的閃爍,亦可以控制音樂、語音播放。 通過語音播放存儲的狗語或者貓語文件來安撫寵物,避免其在走丟時亂跑,可以幫助用戶迅速對寵物進行尋找,大大提高了寵物的尋回可能性;同時,在藍牙控制信號覆蓋以外,可以通過微信小程序查看寵物的地理位置和速度信息,調用手機上的騰訊地圖實時顯示出來,這兩項信息由可穿戴設備上GPS+GPRS模塊負責采集和傳輸;最后,在一定的范圍內可以通過喚醒詞對語音識別模塊功能進行喚醒,通過指令關鍵詞完成不同的功能,例如通過語音播放貓語或者狗語對寵物進行安撫,或者喊出“回家”的指令,命令寵物回家等。 本文從寵物外出丟失尋回及實際相處應用方面出發(fā),設計了一套完整的、以可穿戴設備為基礎的系統(tǒng)。
本文寵物可穿戴系統(tǒng)主要由硬件端、云端服務器、用戶端三部分構成。硬件端主要包括鋰電池及電源管理模塊、藍牙模塊、定位及數(shù)據(jù)傳輸模塊[3]、語音識別模塊、LED 燈顯示模塊、語音播放模塊。云端服務器主要負責地理位置數(shù)據(jù)及速度信息的云端存儲。用戶端主要包括藍牙控制部分及地圖信息顯示部分。 基本結構如圖1所示。
圖1 系統(tǒng)示意圖
本文設計用兩節(jié)3.7 V 18650 鋰電池進行供電,容量為2 000 mA·h。 鋰電池具有電池轉化效率較高、穩(wěn)定性能好、工作時發(fā)熱低等優(yōu)點,適合應用于便攜式設備上。 鋰電池通過低壓差線性穩(wěn)壓器(Low Dropout Regulator,LDO)進行輸出電壓校正[4],使其穩(wěn)定輸出5 V 電壓,為整個可穿戴設備進行穩(wěn)定的供電。 本文在實際應用中可以保證寵物可穿戴設備的穩(wěn)定、持續(xù)運行。
本文藍牙4.2 模塊采用SKB369,該模塊各方面性能較為出眾[5]。 通過上文的電源模塊為藍牙模塊供電,將信號輸出端口與底層的LED 燈以及語音播放模塊Y3-M3耦合, 通過手機特定的微信小程序對藍牙的輸出信號進行控制,從而在需要的時候打開LED 燈以及特定語音文件,幫助用戶更容易地找到寵物。
當寵物跑出小區(qū)或者更大的范圍時,上述藍牙功能便不足以幫助用戶尋找到寵物,用戶可以通過微信小程序查看寵物可穿戴設備的地理位置及速度信息,幫助其實時定位到寵物的位置及狀態(tài)。 本文采用的是SIM80-8GPS+GPRS 模塊,模塊集定位數(shù)據(jù)、速度信息的采集與傳輸為一體,它是四頻模塊,全球范圍內可用,并且定位的精度極高,目前廣泛應用于各類應用之中,例如OFO小黃車。 利用模塊上SIM 卡的GPRS 數(shù)據(jù)傳輸功能進行底層數(shù)據(jù)的傳輸,將數(shù)據(jù)傳輸至云端服務器數(shù)據(jù)庫進行存儲,隨時等待微信小程序端的調取顯示。
用戶在遛寵物或者與寵物相處時,都會有聽不懂主人的指令或者在呼喊寵物時寵物并不會給予應答的情況。 如果這種情況發(fā)生在寵物走丟的初期,主人可以通過呼喊喚醒詞來激活語音識別系統(tǒng),然后喊出指定的口令點亮LED 燈、播放音樂,例如播放指定的狗語或者貓語文件來對寵物進行安撫和命令,從而在最有可能發(fā)生寵物丟失的時間段避免寵物走丟的距離更遠,大大增加了尋回寵物的難度。
本文采用STC11L08XE 為核心處理芯片,LD3320 作為語音識別芯片。LD3320 是一顆基于非特定人語音識別(Speaker-Independent Automatic Speech Recognition,SIASR)[6]技術的語音識別/聲控芯片,無需用戶對其進行錄音訓練, 只需將識別的關鍵詞以字符串的形式傳送進芯片,即可在下次識別中立即生效。 本文語音識別模塊內置高精度A/D 和D/A 通道,支持用戶在程序中添加50 條關鍵詞語的內容,有16 個IO 口可以用以控制多項執(zhí)行元器件(例如LED燈)、語音播放模塊以及震動電機等。
本文基于微信小程序設計了遠程藍牙控制微信小程序[7],可以遠程控制多項底層執(zhí)行元器件,例如LED燈的閃爍和語音播放,理論上可以實現(xiàn)方圓100 m 內的無障礙通信控制。 藍牙微信小程序執(zhí)行流程框圖如圖2所示。
圖2 藍牙微信小程序執(zhí)行流程圖
當寵物丟失寵物走出的距離可能已經(jīng)大于藍牙4.2的最大感應距離,這時便需要通過GPS 定位來尋找寵物。通過SIM808 模塊對寵物的定理位置信息及速度信息進行數(shù)據(jù)采集,采集到的信息數(shù)據(jù)通過模塊的GPRS 數(shù)據(jù)傳輸功能以IP 地址的方式傳輸至云端服務器存儲,采集的信息是符合NEMA0183 標準的信息格式。SIM808 模塊的程序流程圖如圖3 所示,微信小程序端查看地理位置的流程如圖4 所示。
語音識別(ASR)技術是一種基于關鍵詞列表識別的技術,只需要提前設定好識別的關鍵詞語的列表,并且把這些關鍵詞語以字符的形式傳輸至LD3320 語音識別芯片的內部[8]。 應用時,用戶只需要說出關鍵詞進行識別,無需用戶提前進行任何錄音訓練。 語音識別芯片都采用了模式匹配的原理,說出的關鍵詞的語音信號首先經(jīng)過預處理,包括語音信號的采樣、反混疊濾波、語音增強;接下來是特征提取[9],從語音信號波形中提取一組或幾組能夠描述語音信號特征的參數(shù),若識別成功則在指定的IO 口輸出高電平或者低電平信號,此信號的類型可以在程序中進行設置,以滿足各種功能需要。 此模塊的執(zhí)行流程圖如圖5 所示。
對于尋找寵物的問題,藍牙連接的穩(wěn)定性及連接控制的距離有很大的影響,只有穩(wěn)定的系統(tǒng)以及足夠大的連接距離才能保證寵物尋回的及時性。為了測試本文可穿戴設備的藍牙通信的穩(wěn)定性以及可控制的極限距離,將測試寵物穿戴設備在校園、小區(qū)及公園3 個不同的地點進行測試,并且不同的距離內進行LED 燈及語音播放模塊進行控制。校園內人流量大,小區(qū)內墻體多,公園內較空曠,通過這三個地點測試藍牙信號傳輸?shù)姆€(wěn)定性,具體的測試數(shù)據(jù)如表1 所示。
圖3 GPS 定位流程圖
圖4 微信小程序端執(zhí)行流程圖
圖5 語音識別功能執(zhí)行流程圖
表1 藍牙穩(wěn)定性測試結果
由表1 結果可以看到:根據(jù)3 個不同地方的特點,人群和建筑對藍牙信號都有一定的影響,建筑對藍牙信號的減弱有最大的影響,人群對藍牙信號的影響次之,空曠地方影響最小。 在較為空曠的地方可連接的有效距離達到80 m,在人群較多的地方有效距離在70 m 左右,在建筑為較多的地方有效距離在60 m 左右??偠灾疚目纱┐髟O備系統(tǒng)的穩(wěn)定性良好,并且LED 燈的閃爍及語音播放的提醒非常明顯,對尋找到寵物具有相當大的幫助,在實際應用中具有很好的效果。
當寵物丟失時間過長,就需要通過GPS+GPRS 定位功能來對寵物進行尋找,此模塊會將地理位置及速度信息實時傳輸至云端服務器,用戶可以通過微信小程序實時調取騰訊地圖顯示[10]。 GPS 定位的精度對尋找到寵物所需要的時間有很大的影響,實驗測試人員攜帶可穿戴設備在不同地點、不同速度下進行地理位置信息和速度信息的采集,并且與百度地圖實際地理位置以及電子表記速度進行準確對比,比較本文可穿戴設備的精度及穩(wěn)定性,以NEMA 格式數(shù)據(jù)顯示(例如11423.2349E 即經(jīng) 度114°23′0.2349×60″, 地 圖1″誤 差 約 等 于30.9 m),具體測試數(shù)據(jù)如表2 所示。
由表2 實驗結果可以看出:本文可穿戴設備應用的GPS+GPRS 模塊精度較高, 定位的誤差基本都在2 m以內,在空曠地帶的定位效果更佳。另外,測試過程中模擬了各種不同速度下的采集精度情況, 與電子表記的速度信息對比, 采集的速度信息相當準確, 當速度較小時采集的誤差較小。
本文語音識別控制的功能是最大的特點, 通過一個特定的喚醒詞喚醒語音識別模塊[11],之后再說出二級關鍵詞,不同的關鍵詞代表不同的指令,控制著不同IO口, 利用輸出信號來完成不同的功能。 本文實驗測試在程序中設定“你好”為喚醒詞,設置了7 個二級關鍵詞,分別為“調試”、“音樂”、“開燈”、“關燈”、“別動”、“回家”和“關閉”,不同的指令對不同的IO 口進行了輸出電平的控制:
(1)“調試”口令識別成功后,調試識別口令無輸出IO 口控制;
(2)“音樂”口令識別成功后,播放語音播放模塊指定端口存儲的動感音樂,控制PA1 口輸出低電平;
(3)“開燈”口令識別成功后,開啟LED 炫燈,控制PA2 口輸出高電平;
(4)“關燈”口令識別成功后,關閉LED 炫燈,控制PA2 口輸出低電平;
(5)“別動”口令識別成功后,播放存儲在指定端口的狗語或者貓語翻譯文件,內容為:不要動,控制PA3 口輸出低電平;
(6)“回家”口令識別成功后,播放存儲在指定端口的狗語或者貓語翻譯文件,內容為:回家,控制PA4 口輸出低電平;
(7)“關閉”口令識別成功后,關閉所有的端口用電器,控制PA1、PA3、PA4 輸出高電平,PA2 輸出低電平。
為測試模塊功能的穩(wěn)定性,將喚醒詞及上述指令進行多次調試,利用串口上位機輸出識別結果和萬用表測量指定端口的電平輸出情況,對每個指令進行10 次測試,計算成功識別率以及輸出IO 口的正確率。
表2 GPS 定位精度測試結果
表3 語音識別功能測試結果
同時在測試過程中,加入一個測試程序中未設置的的關鍵詞“有趣”,目的是測試其是否存在指令詞誤識別的可能性,表中總準確率只計算已設置的指令詞成功識別和IO 口準確輸出的成功率,具體的測試數(shù)據(jù)如表3所示。
由表3 測試結果可以看出:由于每個關鍵詞的基元語音的細節(jié)特征不同,因此在測試時不同指令的識別成功結果不同,本文識別成功的準確率達到了81.25%,IO口正確輸出的準確率達到了76.67%,并且不存在對未設置關鍵詞“有趣”詞語的誤識別,穩(wěn)定性較高。 可以看出當關鍵詞的基元語音的特征越多,該關鍵詞的識別成功率越高即模塊更容易識別。 總的來說,語言識別模塊的功能在實際應用中具有較好的效果,能夠成功地實現(xiàn)通過用戶的語音關鍵詞控制可穿戴設備執(zhí)行特定的底層功能。
本文系統(tǒng)設計綜合運用傳感器技術、物聯(lián)網(wǎng)通信技術及微信小程序開發(fā)技術為一體, 以鋰電池作為電源,經(jīng)電源管理模塊穩(wěn)定輸出供電給藍牙模塊、GPS+GPRS定位模塊及語音識別模塊。在微信小程序端控制藍牙模塊,控制距離達到了80 m,它是基于藍牙4.2 的數(shù)據(jù)傳輸控制LED 燈及語音、音樂播放,便于用戶在近距離內迅速找到寵物;另外,還可以在微信小程序操作,通過GPS+GPRS 模塊查詢寵物的具體地理位置和速度信息;最重要的是本文應用了語音識別模塊,用于與寵物的互動,通過喚醒詞激活模塊系統(tǒng),通過最多50 個關鍵詞進行不同的功能操作,例如播放狗語或者貓語安撫寵物、播放音樂、開啟LED 燈等。 通過實驗調試,本文設計的系統(tǒng)上述功能基本實現(xiàn),采集測試精度較高,可以在實際應用中具有很好的效果。