2. 通信接口¶
2.1. NFC¶
NFC可以用来读取设备的序列号。
NFC tag里记录了一条Text Record。文本内容是10个字节的序列号。整个Text Record的原始数据格式如下:
UTF-8标记
语言(en)
内容
0x02
0x65 0x6E
10字节序列号
2.2. BLE¶
BLE用来控制体测设备和获取测量结果。手机需要以下信息来扫描,连接和通信。
信息 |
数值 |
|---|---|
蓝牙名称 |
Lynx |
广播中的 Manufacture Data |
0x0059 + 序列号 |
Service UUID |
07B0C5FE-5285-45A0-9C77-AC03B69E04CA |
Write Characteristic UUID |
0A6AC844-2174-4165-84C8-3E5E632A31E4 |
Indication Characteristic UUID |
6E287A90-1C27-4057-AF80-8F7600736750 |
2.3. 扫描连接过程¶
手机读取NFC Tag的信息,获取到设备的序列号
手机扫描BLE设备,过滤条件是
蓝牙名称是 Lynx
广播中包含 Manufacture 数据
Manufacture 数据内容是 0x0059 + 10字节序列号
连接此BLE设备
查找Service 和 Characteristic 的 UUID。 UUID 需符合如下条件:
能找到 Service UUID 是 07B0C5FE-5285-45A0-9C77-AC03B69E04CA 的 service (不是唯一的service)
Service 包含一个 Characteristic UUID 是 0A6AC844-2174-4165-84C8-3E5E632A31E4 的 Characteristic(此为写通道)
Service 包含一个 Characteristic UUID 是 6E287A90-1C27-4057-AF80-8F7600736750 的 Characteristic(此为通知通道)
使能 Indication Characteristic (即 6E287A90-1C27-4057-AF80-8F7600736750) 的通知
注意
如果有手机连上设备,那么设备的BLE就不会再广播,直到手机断开连接。此时其他手机无法再搜索到设备,即使之前搜索到也无法建立连接。