基于嵌入式的智能手表設(shè)計
引 言
隨著移動設(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)運(yùn)行流程、計步器算法、與手機(jī)藍(lán)牙通信以及手勢識別等部分。嵌入式軟件框圖如圖 3 所示。
5 安卓 App設(shè)計
App 界面運(yùn)用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ù)庫的方法來判斷短信和來電是否已讀。主要步驟如下: