运动手环-物联网介绍
运动手环-物联网介绍
0x01 运动手环
八大核心功能:运动传感器、电池、内存芯片、蓝牙通讯模块、震动马达、显示屏幕,体动记录仪。
蓝牙手环运动监测功能通过重力加速传感器实现。传感器通过判断人运动的动作得到一些基础数据,再结合用户之前输入的个人身体体征的基本信息,根据一些特定算法,得到针对个人的个性化监测数据,诸如运动步数、距离以及消耗的卡路里等,从而判断运动的频率和强度。由于每个人运动随个人身体体征的不同而产生不同的效果,因而用户在使用手环进行监测前需要在APP中录入自己的性别、年龄、身高、体重等信息,信息自动同步到手环中,通过传感器监测运动动作,经过特定算法最终实现运动监测的功能。
0x02 什么是低功耗蓝牙
低功耗蓝牙(BLE)是蓝牙技术联盟设计和销售的一种鲁棒性无线技术,旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙,低功耗蓝牙旨在保持低成本、短距离、可互操作。
生平介绍
安卓的 BLE 标准在 2013 年 7 月发布,一般搭配Android 4.3 及以上系统的手机都是支持蓝牙 BLE 的。
IOS的 BLE 标准在 2013 年9月更新推出,一般搭配IOS 7.0及以上系统的手机都是开始支持蓝牙 BLE 的。
协议内容
要使安卓设备连接上智能穿戴设备(如智能手表),通过经典蓝牙的socket连接一般是连接不上的(为什么说一般呢,因为有些不良厂家和杂牌智能手环用的不是低功耗蓝牙,这个可以使用经典蓝牙连接上),必须要使用BLE的 GATT连接才能连接上。
GATT连接涉及到四个比较陌生的名词:服务(service)、特征值(Characteristic)、描述(discript)、UUID:
service:服务是包含了若干个数据包(特征值)的集合,一个智能设备可能包含多个服务,使用之恩那个设备生产厂商提供的UUID码来识别。比如之恩那个手环中有测心率的服务、步数的服务,心率和步数的数据包(特征值)都包含在服务中,通过指定的UUID来辨别到底是心率的服务还是步数的服务。
characteristic:特征值包含在服务里面,顾名思义就是一种数据值,特征值包含一个或者多个描述。如心率是多少,今天走了多少步都可以放进特征值里面,服务中有多个特征值,也是通过UUID来识别
discript:描述一般是对特征值的值进行描述,比如单位等等的描述,开发中一般用不到(我用不到)
UUID:由蓝牙设备厂商提供的UUID,UUID是在硬件编程里已经确定了的,想要操作特定的服务、特征值都需要通过UUID来找。