錢玉斐++宋宇飛
摘 要:本課題結(jié)合市場的實際需求,論述了一種基于STM32的智能手表系統(tǒng)的設(shè)計方案。本設(shè)計基于STM32硬件開發(fā)平臺,通過移植C/OS-III實時操作系統(tǒng)以及emWin圖形軟件庫設(shè)計了手表的GUI界面。整個系統(tǒng)采用MPU6050模塊實現(xiàn)計步器功能,采用藍(lán)牙模塊進(jìn)行手表與安卓手機(jī)的雙向通訊,以實現(xiàn)來電短信提示、防丟功能以及短信報警定位功能。此外,該手表可以手勢識別,當(dāng)手臂抬起時屏幕自動變亮,放下時則自動變暗,設(shè)計十分人性化。
關(guān)鍵詞:可穿戴;嵌入式;計步器;藍(lán)牙通信;手勢識別
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2016)11-0-02
0 引 言
隨著移動設(shè)備技術(shù)的日益發(fā)展,可穿戴設(shè)備愈加受到重視??纱┐髟O(shè)備具有各種類的產(chǎn)品形態(tài),可佩戴于人體的多個部位,比如服飾、手表、眼鏡、手環(huán)、飾品等。而可穿戴電子外套也正在研發(fā),隨著日后研發(fā)的深入,嵌入到人體皮膚內(nèi)的電子文身、佩戴的眼鏡都有機(jī)會用到可穿戴技術(shù)。得益于各種新技術(shù)的發(fā)展,可穿戴設(shè)備將愈發(fā)不被人感知,將以更加自然的狀態(tài)進(jìn)行數(shù)據(jù)搜集,為用戶更好的提供服務(wù)。
智能手表是可穿戴設(shè)備最重要的發(fā)展方向之一,它是一種內(nèi)置操作系統(tǒng),具有手機(jī)來電、短信提醒、釋放音樂等功能,并且可以配備各種傳感器的手表形態(tài)的智能穿戴設(shè)備。
1 系統(tǒng)設(shè)計
本系統(tǒng)包含硬件工作系統(tǒng)與軟件功能系統(tǒng),其中硬件系統(tǒng)包含MCU(STM32)主控模塊、電源供電充電模塊、藍(lán)牙模塊、陀螺儀MPU6050模塊等。軟件系統(tǒng)則包含下位機(jī)嵌入式軟件程序與上位機(jī)(安卓App)軟件程序。圖1所示為系統(tǒng)組成框圖。
2 功能實現(xiàn)
本次設(shè)計的智能手表主要實現(xiàn)以下幾個功能:
(1)時間功能。具有RTC實時時鐘功能,可以通過手表看時間。
(2)手勢識別。加入手勢識別功能,當(dāng)人的手臂抬起時屏幕會自動變亮,而放下時則自動熄滅。
(3)計步器。通過陀螺儀MPU6050與濾波、計步算法得出較為準(zhǔn)確的步數(shù),同時算出距離與消耗的卡路里。
(4)藍(lán)牙通信。手表與安卓手機(jī)通過藍(lán)牙進(jìn)行雙向通信。在安卓手機(jī)上編寫App應(yīng)用軟件,該App軟件里包含3個小功能單元,可以分別實現(xiàn)來電短信提醒的手機(jī)助手功能、防丟功能以及在發(fā)生危險情況時可通過按下手表按鍵的方式向指定的手機(jī)號發(fā)送實時更新的定位信息功能。
3 硬件設(shè)計
硬件框圖如圖2所示。硬件組成框圖主要介紹了智能手表的硬件系統(tǒng)基本構(gòu)成,包括基于Cortex_M3架構(gòu)的意法半導(dǎo)體的CPU芯片STM32F103ZET6的STM32最小系統(tǒng)、電源模塊、3.2寸液晶觸摸屏、陀螺儀以及藍(lán)牙模塊。
4 嵌入式軟件設(shè)計
軟件設(shè)計包含了C/OS-III實時操作系統(tǒng)的移植、應(yīng)用程序的界面設(shè)計、STM32嵌入式軟件設(shè)計以及安卓App的相關(guān)設(shè)計等內(nèi)容。其中還有系統(tǒng)運行流程、計步器算法、與手機(jī)藍(lán)牙通信以及手勢識別等部分。嵌入式軟件框圖如圖3所示。
5 安卓App設(shè)計
App界面運用WindowsPhone的經(jīng)典風(fēng)格,整體以方塊形式出現(xiàn),界面簡潔清爽,內(nèi)含必要的提示信息。App主要實現(xiàn)手機(jī)助手、防丟功能以及安全衛(wèi)士三種功能。
5.1 藍(lán)牙通信
利用“藍(lán)牙”技術(shù)能夠有效簡化移動通信終端設(shè)備之間的通信。從智能手表與手機(jī)終端通信的短距離和簡易性考慮,我們選擇藍(lán)牙通信方式。主要處理以下內(nèi)容:
(1)藍(lán)牙連接線程。
(2)藍(lán)牙連接與斷開廣播,在重寫的方法里做特定處理。
(3)“呼吸監(jiān)測”代碼,由于手表端較難檢測藍(lán)牙是否斷開,所以我們采用一種特殊的方式,一旦藍(lán)牙連接上,便向下位機(jī)以一定頻率發(fā)送特定字符,當(dāng)下位機(jī)收到字符信息時代表藍(lán)牙連接,一旦無法接收到字符則代表藍(lán)牙斷開。
5.2 GPS定位
現(xiàn)在的安卓智能手機(jī)大多帶有GPS模塊,通過GPS我們可以獲取當(dāng)前位置。這個功能主要用于發(fā)生危情時能將帶有當(dāng)前位置與地圖的信息發(fā)出,對于得到及時援救有重要作用。主要處理以下內(nèi)容:
(1)實例化LocationManager打開GPS。
(2)獲得最佳搜索條件。
(3)獲取最后獲得的位置。
(4)請求實時更新Location數(shù)據(jù)。
5.3 短信和來電提示
采用廣播方式檢測新的短信和來電,采用監(jiān)聽數(shù)據(jù)庫的方法來判斷短信和來電是否已讀。主要步驟如下:
(1)注冊接收到新短信和未接來電的廣播,在重寫方法中發(fā)送特定字符給下位機(jī)。
(2)廣播判斷是否有短信。
(3)監(jiān)聽數(shù)據(jù)庫判斷是否有未接來電。
(4)發(fā)送短信的方法。
6 性能測試
6.1 與手機(jī)通信功能測試
與手機(jī)進(jìn)行通信時需測試如下幾項:
(1)手表與手機(jī)通信響應(yīng)時間小于0.1 s。
(2)藍(lán)牙斷開后自動連接所需時間小于0.5 s。
(3)手表觸發(fā)后,手機(jī)以30 s間隔實時更新地圖位置并將其以短信形式發(fā)出。
6.2 計步器和手勢識別測試
計步器和手勢識別需測試如下幾項:
(1)如果以標(biāo)準(zhǔn)的步伐動作和手臂擺動動作計步,計步誤差在5%以內(nèi)。
(2)手勢識別控制手表屏幕顯示反應(yīng)時間小于0.5 s。
6.3 其它功能測試
其他測試包含如下兩項:
(1)手表顯示時間功能誤差幾乎為0。
(2)手表溫度顯示誤差在2攝氏度以內(nèi)。
7 結(jié) 語
本文從市場需求出發(fā),設(shè)計融合了嵌入式技術(shù)、通信技術(shù)、Android應(yīng)用技術(shù)以及硬件設(shè)計技術(shù),介紹了一種基于嵌入式的智能手表的設(shè)計方法。實際性能測試結(jié)果表明,該系統(tǒng)性能穩(wěn)定、工作可靠、功能強大,基本可以滿足設(shè)計要求。
參考文獻(xiàn)
[1]廖義奎.Cortex-M3之STM32嵌入式系統(tǒng)設(shè)計[M].北京:中國電力出版社,2012.
[2]姚文祥.ARM Cortex-M3權(quán)威指南[M].北京:清華大學(xué)出版社,2014.
[3]劉火良.STM32庫開發(fā)實戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2013.
[4]宮輝.嵌入式實時操作系統(tǒng)μC/OS-III[M].北京:北京航空航天大學(xué)出版社,2012.
[5]莊嚴(yán).嵌入式C/C++系統(tǒng)工程師實訓(xùn)教程[M].北京:清華大學(xué)出版社,2011.
[6]李悅城,野火.C/OS-III源碼分析筆記[M].北京:機(jī)械工業(yè)出版社,2015.
[7]黃永麗,王曉,孔美云.Android應(yīng)用開發(fā)完全學(xué)習(xí)手冊[M].北京:清華大學(xué)出版社,2015.
[8]郭霖.第一行代碼—Android[M].北京:人民郵電出版社,2014.