Skip to main content

蓝牙智能眼镜数据通信协议

SMART BLUETOOTH LE GLASS PROFILE

版本历史

版本时间作者描述
1.020231010胡伟初始化文档

作者

姓名邮箱公司
胡伟wei.hu@bi-ci.com上海大不自多信息科技有限公司

版权告知

本文档版权属于上海大不自多信息科技有限公司。

1. 概述

智能硬件蓝牙通信协议(以下简称本协议)用于规范化第三方硬件与行者/XOSS APP之间进行蓝牙数据传输和命令控制。我们定义传输服务以及三个数据传输通道,智能设备通过实现必须的服务和通道来与行者APP进行数据通信与传输。

1.1 描述依赖​

基于蓝牙Generic Attribute Profile (GATT) 定义。

1.2 蓝牙规范和兼容性要求​

本规范要求蓝牙版本4.0以及以上,支持低功耗蓝牙(BLE)。

1.3 专业术语​

  1. Bluetooth Glass Device:蓝牙设备,后面简称BG Device
  2. Bluetooth Glass Profile:蓝牙配置,简称BG Profile
  3. Bluetooth Glass Service:蓝牙服务,蓝牙层服务,简称BGS
  4. Device Information Service:蓝牙标准设备信息服务,简称DIS

2 配置

2.1 规则​

本规范定义了2个角色:BG Device,Collector。

  • BG Device 眼镜设备

  • Collector(APP or 码表):用户接受设备信息和控制设备

3 Bluetooth Glass设备要求

BG设备必须包含且仅包含一个Bluetooth Glass Service (简称BLS)

BG设备必须包含标准蓝牙的Device Information Service(简称DIS)

BG设备必须包含标准蓝牙的Battery Service (简称BS)

BG设备可选包含OTA Service (简称OTA)

3.1 Bluetooth Glass Service要求​

3.1.1 低功耗传输要求​

本节中描述Bluetooth Glass设备定义的Bluetooth Glass服务必须通过低功耗蓝牙传输(Low Energy)。

3.1.1.1 服务UUIDs 广播

Bluetooth Glass设备广播时,必须在广播信息中带有Bluetooth Glass Service的uuid信息,以增强用户使用体验,方便用户在发现时识别设备类型。

3.1.1.2 设备名称广播

为了增强用户体验,设备名称必须在广播时提供。

3.2 广播服务数据​

本节定义了BL设备的广播信息内容,允许客户端通过广播信息确定设备类型。自 定义广播数据如下表:

广播数据字段类型大小要求
Service Data AD TypeUINT81M
BGS UUID(short)UINT162M
FlagsUINT81M

表

在广播信息中提供蓝牙标准的眼镜穿戴设备16bits Appearance Value=0x01C0

3.3 字节顺序Byte Ordering​

本文档中当特征值或者描述值有多个字节组成时,定义如下:

LSBLeast Significant Bit(最低有效位)
LSOLeast Significant Octet(最低有效字节)
MSBMost Significant Bit(最高有效位)
MSOMost Significant Octet(最高有效字节)

表

3.4 DIS要求​

参考蓝牙官方标准协议,DIS服务UUID为0x180A,本设备需要的特征服务表定义如下:

特征UUID支持描述
Manufacturer Name String0x2A29M设备制造商的名称,写设备制造商为外界所熟识的名称
Model Number String0x2A24M由设备制造商定义,建议写为某个产品的型号
Serial Number String0x2A25M由制造商定义的产品编号,为每个产品赋一唯一的编号,可以按实际应用定义自己产品SN的格式。
Hardware Revision0x2A27M产品的硬件编号,建议使用三位数以点相隔,分别表示主版本号,副版本号,发行编号
Firmware Revision0x2A26M固件软件版本号,建议使用三位数以点相隔,分别表示主版本号,副版本号,发行编号
Software Revision0x2A27O应用软件版本号,建议使用三位数以点相隔,分别表示主版本号,副版本号,发行编号(偶数发行,奇数调试)
System ID0x2A23O包含OUI( Oranizationally Unique Identifier)和一个由制造商为该产品编排的唯一编号
PnP ID0x2A50O包含由国标组织颁给制造商的编号,制造商定义的产品ID,由制造商定义的产品版本信息

表

3.5 BS要求​

参考蓝牙官方标准协议,BS服务UUID为0x2A1B,本设备需要的特征服务表定义如下:

特征UUID支持描述
Battery Level0x2A19M电池电量 0~100
Battery Level Status0x2A24O电池电量状态定义,包括是否充电中

表

4. 蓝牙服务和特征​

BGS 是设备的主要属性和功能,设备支持的服务和特征如下表:

Profile需求章节支持
Service 发现4.1必需
BGS 服务发现4.1必需
DIS 服务发现4.1必需
特性发现4.2必需
BGS 服务特征发现4.2.1必需
DIS 服务特征发现4.2.2必需

4.1 服务发现​

使用低功耗蓝牙传输时,Collector应该在遍历发现主服务,并比对出相应的uuid的服务。

Bluetooth Glass Service UUID:0xADB401C0-B1C6-11ED-AFA1-0242AC120002

Bluetooth Glass Service UUID(Short):01C0

4.2 特征发现​

4.2.1 Bluetooth Glass 特征发现​

Bluetooth Glass Characteristics包含以下特性

Characteristics支持属性描述
Bluetooth Glass FeatureMRead支持的特性
Bluetooth Glass Machine StatusMRead, Notify当前状态,支持读和通知模式
Bluetooth Glass Control PointOWrite, Indicate控制和设置设备,支持写和写响应

4.2.2 DIS特征发现​

参考蓝牙官方标准协议

4.2.3 BS特征发现​

参考蓝牙官方标准协议

4.3 Bluetooth Glass Features特征​

特征UUID:0xADB40001-B1C6-11ED-AFA1-0242AC120001

Bluetooth Glass Feature特征用于描述本设备支持的特性。定义结构如下:

FeatureGlass TypeGlass ModeReserved
字段类型UINT16UINT16
大小2 octets2 octets
字节顺序LSO...MSOLSO...MSO
单位NoneNone

表

4.3.1 设备类型特性支持(Glass Type Feature)定义​

当Glass Type Feature 字段中的某个位设置为 1 (True) 时,服务支持关联的功能。 如果服务不支持相关功能,则相关功能位应设置为 0(false),设备Type支持配置表:

Bit定义值
0Single0 - Not Support 1 - Support
1Double0
2Reserved0
3Reserved0
4Reserved0
5Reserved0
6Reserved0
7Reserved0
8~15Reserved0

4.3.2 设备模式特性支持(Glass Mode Feature)定义​

当Glass Mode Feature 字段中的某个位设置为 1 (True) 时,服务支持关联的功能。 如果服务不支持相关功能,则相关功能位应设置为 0(false),设备支持模式表如下:

Bit描述值
0设备OFF0 - Not Support 1 - Support
1投影模式0 - Not Support 1 - Support
2自定义模式0 - Not Support 1 - Support
3~15保留0

4.4 Bluetooth Glass Machine Status特征​

Bluetooth Glass Machine Status特征用于描述本设备目前的设备状态。

特征UUID:0xADB40002-B1C6-11ED-AFA1-0242AC120002,定义结构如下:

Byte描述大小默认值单位
0Flags1 octet
1Glass type 表 3-41 octet
2Glass Mode Status 表 4-91 octet

Flags field

Flag bitValue = 0Value = 1
0Glass type field not presentGlass type field present
1Glass mode field not presentGlass mode field present
2~7Resevred

4.4.1 Light type​

设备类型参考表

4.4.2 设备模式当前状态​

1字节表示,每个已链接设备模式状态描述如下表:

值定义
0设备关闭
1投影
2自定义
3~63保留

4.5 Bluetooth Glass Control Point 特征​

特征UUID:0xADB40003-B1C6-11ED-AFA1-0242AC120003,在Bluetooth Light Control Point 特征通道中,向本通道写入命令,命令的格式定义如下表:

     LSO           MSO
Op CodeParameter
OrderLSO...MSO
TypeUINT8Variable
Size1 octet0~18 octets

4.5.1 Operate Code 操作定义

4.5.1 Operate Code 操作定义​

控制命令操作符号表

Op Code支持定义参数描述
0x00MRequest ControlN/A请求对设备的控制,响应码为0x80
0x01MResetN/A请求重置设备的控制,响应码为0x80
0x02OSet Glass TypeGlass Type:设置类型
0x03OSet Glass ModeGlass Mode:设置模式
0x04~0x09O保留
0x0AOSet Workout Data最长MTU—2字节最长MTU—2字节 运动数据
0x0BOSet Navigation最长MTU—2字节最长MTU—2字节 导航数据
0x0C~0X7FN保留
0x80M响应代码表 4-12标记对Control Point的请求响应
0x81~0xDFN保留
0xDFO请求设备进入DFU状态N/A设备进入DFU状态,即断开,无返回值
0xF0~0xFFN保留

表 4-11

MTU 是硬件设备和APP之间握手的单次最大包大小。

4.5.2 Response Code 操作定义​

在Bluetooth Light Control Point 特征通道中响应数据格式如下:

Reponse CodeOp Code=0x80Request Op CodeResult CodeResponse Parameter
OrderLSO...MSO
TypeUINT8UINT8UINT8
Size1 octet1 octet1 octet0~17 octets

表 4-12

4.5.3 Reslut Code 定义​

Result Code定义Request Op CodeResponse Parameter
0x00ReservedN/AN/A
0x01成功表 4-11N/A
0x02不支持Op Code表 4-11N/A
0x03非法参数表 4-11N/A
0x04失败表 4-11N/A
0x05没有权限表 4-11N/A
0x06~FFReservedN/AN/A

表 4-13

4.5.4 Workout Data 定义​

WorkoutData 约束为1个字节数据类型和2个字节值类型:

Workout Data TypeData Value
Order
TypeUINT8
Size1 octet1~4 octets

Workout data type 定义如下:

值Title定义Data Type
0Type运动类型枚举UINT8
1Sub Type子类型UINT8
2Workout State状态UINT80, 记录中,1,暂停中
3CaloriesUINT16
4Moving TimeUINT32
5Total TimeUINT32
6Paused TimeUINT32
7DistanceUINT32单位米,scale: 100
8SpeedUINT16单位米/秒,scale: 1000
9Avg Moving SpeedUINT16
10Avg SpeedUINT16
11Max SpeedUINT16
12PaceUINT8
13Avg PaceUINT8
14Max PaceUINT8
15ElevationUINT16单位米
16GradeUINT8%,scale: 100
17Elevation GainUINT32单位米,scale: 100
18Elevation LossUINT32单位米,scale: 100
19Avg GradeUINT8%,scale: 100
20VAMUINT16单位米,scale: 100
21HeartrateUINT8
22Max HRUINT8
23AVG HRUINT8
24% MAX HRUINT8
25% LTHRUINT8
26CadenceUINT8
27Max CadenceUINT8
28Avg CadenceUINT8
29PowerUINT16watts
30Avg PowerUINT16
31Max PowerUINT16
323s Avg PowerUINT16
3310s Avg PowerUINT16
3430s Avg PowerUINT16
35% FTPUINT8%,scale: 100
36NPUINT8
public enum WorkoutType:UInt {
case Generic = 0
case Walk = 1
case Running = 2
case Cycling = 3
case Hiking = 4
case Swimming = 5
case Skiing = 6
case Travel = 7
case Trainer = 8
case IndoorCycling = 11
case Virtual = 12
}

4.5.5 Navi Data 定义​

TODO

5. 链接流程

5.1 首次链接流程​