2.2. 通讯接口

手环的BLE相关信息如下。

信息

数值

蓝牙名称

Cougar

广播中的 Manufacture Data

MAC+版本+电池状态

Service UUID

de4d68db-2f88-4f1b-ae6e-9bf9353bd2b2

Write Characteristic UUID

29b7c494-dd2c-43da-88a0-caf41dadf297

Notification Characteristic UUID

a846672f-ab97-46c9-9c35-a152734348fd

2.2.1. 扫描连接过程

  1. 网关扫描BLE设备,过滤条件是

    1. 蓝牙名称是 Cougar

    2. 广播中包含 Manufacture 数据

    3. Manufacture 数据的总长度是 15字节。格式是 6字节MAC + 4字节大端版本号 + 1 字节电池状态(charging << 7 | battery_level) + 1字节分钟平均心跳 + 2字节(小端)分钟平均加速度

备注

Manufacture 数据的例子:比如内容是 0xD5,0x34,0x30,0x35,0x38,0x23, 0x00,0x01,0x00,0x00, 0x40, 0x04, 0x01, 0x00 那么

  • MAC是:D5:34:30:35:38:23

  • 软件版本是:0.1.0+0

  • 电池状态是:未在充电(0x40 >> 7结果是0,表明未充电),电量64%(0x40 & 0x7F 结果是0x40,即64)

  • 平均心跳:4

  • 平均加速度:1

  1. 连接此BLE设备

  2. 查找Service 和 Characteristic 的 UUID。 UUID 需符合如下条件:

    1. 能找到 Service UUID 是 de4d68db-2f88-4f1b-ae6e-9bf9353bd2b2 的 service (可能不是唯一的service)

    2. Service 包含一个 Characteristic UUID 是 29b7c494-dd2c-43da-88a0-caf41dadf297 的 Characteristic(此为写通道)

    3. Service 包含一个 Characteristic UUID 是 a846672f-ab97-46c9-9c35-a152734348fd 的 Characteristic(此为通知通道)

    4. 使能 Notification Characteristic (即 a846672f-ab97-46c9-9c35-a152734348fd) 的通知

!pragma teoz true
participant 网关 as G #cyan
box 手环 #LightBlue
participant BLE as B
end box

autonumber
G -> B : 扫描 BLE
G -> B : 连接 BLE
G -> B : 查询 Service 和 Characteristic UUID