钱玉斐++宋宇飞
摘 要:本课题结合市场的实际需求,论述了一种基于STM32的智能手表系统的设计方案。本设计基于STM32硬件开发平台,通过移植C/OS-III实时操作系统以及emWin图形软件库设计了手表的GUI界面。整个系统采用MPU6050模块实现计步器功能,采用蓝牙模块进行手表与安卓手机的双向通讯,以实现来电短信提示、防丢功能以及短信报警定位功能。此外,该手表可以手势识别,当手臂抬起时屏幕自动变亮,放下时则自动变暗,设计十分人性化。
关键词:可穿戴;嵌入式;计步器;蓝牙通信;手势识别
中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2016)11-0-02
0 引 言
随着移动设备技术的日益发展,可穿戴设备愈加受到重视。可穿戴设备具有各种类的产品形态,可佩戴于人体的多个部位,比如服饰、手表、眼镜、手环、饰品等。而可穿戴电子外套也正在研发,随着日后研发的深入,嵌入到人体皮肤内的电子文身、佩戴的眼镜都有机会用到可穿戴技术。得益于各种新技术的发展,可穿戴设备将愈发不被人感知,将以更加自然的状态进行数据搜集,为用户更好的提供服务。
智能手表是可穿戴设备最重要的发展方向之一,它是一种内置操作系统,具有手机来电、短信提醒、释放音乐等功能,并且可以配备各种传感器的手表形态的智能穿戴设备。
1 系统设计
本系统包含硬件工作系统与软件功能系统,其中硬件系统包含MCU(STM32)主控模块、电源供电充电模块、蓝牙模块、陀螺仪MPU6050模块等。软件系统则包含下位机嵌入式软件程序与上位机(安卓App)软件程序。图1所示为系统组成框图。
2 功能实现
本次设计的智能手表主要实现以下几个功能:
(1)时间功能。具有RTC实时时钟功能,可以通过手表看时间。
(2)手势识别。加入手势识别功能,当人的手臂抬起时屏幕会自动变亮,而放下时则自动熄灭。
(3)计步器。通过陀螺仪MPU6050与滤波、计步算法得出较为准确的步数,同时算出距离与消耗的卡路里。
(4)蓝牙通信。手表与安卓手机通过蓝牙进行双向通信。在安卓手机上编写App应用软件,该App软件里包含3个小功能单元,可以分别实现来电短信提醒的手机助手功能、防丢功能以及在发生危险情况时可通过按下手表按键的方式向指定的手机号发送实时更新的定位信息功能。
3 硬件设计
硬件框图如图2所示。硬件组成框图主要介绍了智能手表的硬件系统基本构成,包括基于Cortex_M3架构的意法半导体的CPU芯片STM32F103ZET6的STM32最小系统、电源模块、3.2寸液晶触摸屏、陀螺仪以及蓝牙模块。
4 嵌入式软件设计
软件设计包含了C/OS-III实时操作系统的移植、应用程序的界面设计、STM32嵌入式软件设计以及安卓App的相关设计等内容。其中还有系统运行流程、计步器算法、与手机蓝牙通信以及手势识别等部分。嵌入式软件框图如图3所示。
5 安卓App设计
App界面运用WindowsPhone的经典风格,整体以方块形式出现,界面简洁清爽,内含必要的提示信息。App主要实现手机助手、防丢功能以及安全卫士三种功能。
5.1 蓝牙通信
利用“蓝牙”技术能够有效简化移动通信终端设备之间的通信。从智能手表与手机终端通信的短距离和简易性考虑,我们选择蓝牙通信方式。主要处理以下内容:
(1)蓝牙连接线程。
(2)蓝牙连接与断开广播,在重写的方法里做特定处理。
(3)“呼吸监测”代码,由于手表端较难检测蓝牙是否断开,所以我们采用一种特殊的方式,一旦蓝牙连接上,便向下位机以一定频率发送特定字符,当下位机收到字符信息时代表蓝牙连接,一旦无法接收到字符则代表蓝牙断开。
5.2 GPS定位
现在的安卓智能手机大多带有GPS模块,通过GPS我们可以获取当前位置。这个功能主要用于发生危情时能将带有当前位置与地图的信息发出,对于得到及时援救有重要作用。主要处理以下内容:
(1)实例化LocationManager打开GPS。
(2)获得最佳搜索条件。
(3)获取最后获得的位置。
(4)请求实时更新Location数据。
5.3 短信和来电提示
采用广播方式检测新的短信和来电,采用监听数据库的方法来判断短信和来电是否已读。主要步骤如下:
(1)注册接收到新短信和未接来电的广播,在重写方法中发送特定字符给下位机。
(2)广播判断是否有短信。
(3)监听数据库判断是否有未接来电。
(4)发送短信的方法。
6 性能测试
6.1 与手机通信功能测试
与手机进行通信时需测试如下几项:
(1)手表与手机通信响应时间小于0.1 s。
(2)蓝牙断开后自动连接所需时间小于0.5 s。
(3)手表触发后,手机以30 s间隔实时更新地图位置并将其以短信形式发出。
6.2 计步器和手势识别测试
计步器和手势识别需测试如下几项:
(1)如果以标准的步伐动作和手臂摆动动作计步,计步误差在5%以内。
(2)手势识别控制手表屏幕显示反应时间小于0.5 s。
6.3 其它功能测试
其他测试包含如下两项:
(1)手表显示时间功能误差几乎为0。
(2)手表温度显示误差在2摄氏度以内。
7 结 语
本文从市场需求出发,设计融合了嵌入式技术、通信技术、Android应用技术以及硬件设计技术,介绍了一种基于嵌入式的智能手表的设计方法。实际性能测试结果表明,该系统性能稳定、工作可靠、功能强大,基本可以满足设计要求。
参考文献
[1]廖义奎.Cortex-M3之STM32嵌入式系统设计[M].北京:中国电力出版社,2012.
[2]姚文祥.ARM Cortex-M3权威指南[M].北京:清华大学出版社,2014.
[3]刘火良.STM32库开发实战指南[M].北京:机械工业出版社,2013.
[4]宫辉.嵌入式实时操作系统μC/OS-III[M].北京:北京航空航天大学出版社,2012.
[5]庄严.嵌入式C/C++系统工程师实训教程[M].北京:清华大学出版社,2011.
[6]李悦城,野火.C/OS-III源码分析笔记[M].北京:机械工业出版社,2015.
[7]黄永丽,王晓,孔美云.Android应用开发完全学习手册[M].北京:清华大学出版社,2015.
[8]郭霖.第一行代码—Android[M].北京:人民邮电出版社,2014.