HID

更新时间:2022-11-24 09:20:25下载pdf

目前市面上的大多数电动车、汽车都已支持蓝牙功能,在一般的物联网方案中,用户需要拿出手机,打开 App,确保设备在线,打开面板再点击解锁,整体的解锁流程复杂。而涂鸦蓝牙 SDK 的 HID(Human Interface Device)方案能够实现靠近设备即自动通过蓝牙解锁,简化了用户出行和骑车的解锁方式。

方案特点

涂鸦 HID 方案支持用户可配置蓝牙靠近解锁开关以及距离远近,主要通过蓝牙信号强度来区分。

该方案是基于蓝牙绑定后的重连机制,和近距离连接获取蓝牙 RSSI(Received Signal Strength Indicator)来开锁,实现车机一对一靠近自动解锁。

技术方案

涂鸦 HID 方案使用蓝牙 LE HID 和 SM(SECURITY MANAGER)协议,配对流程如下图:

HID

  • 关于蓝牙 LE HID 协议,靠近解锁不涉及 HID 数据交互,仅使用其特殊性特性。
  • 关于 SECURITY MANAGER 协议,可参考 core spec:BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 3, Part H。

与当前蓝牙方案差异点

操作过程 当前蓝牙 LE 设备 新增绑定配对蓝牙 LE 设备
连接绑定 不存在系统绑定状态。进入 App 连接,退出 App 断开连接,即连即释放。
  • 系统未绑定设备:除即连即释放外,新增 App 接收设备请求配对流程。
  • 系统已绑定设备:设备已被系统连接,App 获取设备列表中已连接的设备信息。
解绑
  • 连接时:下发涂鸦蓝牙 LE 命令解除配网状态。
  • 未连接时:由任意 App 端或网关下发异常解绑命令。
  • 连接时:下发涂鸦蓝牙 LE 命令解除配网状态,同时删除系统列表中绑定信息(取消配对)。
  • 未连接时:不支持解绑。

不支持离线解绑原因如下:

  • 电动车属安全类产品,离线解除,户外打开 App 就可配网,不允许。
  • 离线解绑后,在没有打开 App 通知设备以及没有删除”系统设置“的配对信息时,用户依旧可以靠近解锁。 假如用户把车卖掉,关闭网络和蓝牙解绑,依旧可以悄悄骑走车。

方案说明

本章节介绍设备端和 App 端实现的原理和整理方案的设计,您可以参考对应的内容进行开发

设备端

  • 特性一:初始化 GAP 关闭配对绑定能力,通过 App 内开启靠近解锁后,开启绑定配对并对 App 端发起配对请求

  • 特性二:具有 HID 服务和涂鸦蓝牙 LE 服务。

  • 特性三:配对重连且开启靠近解锁后,将间隙 200ms 读取一次连接 RSSI。进而通过判断 RSSI 值来进行开锁。

  • 特性四:支持绑定管理,当前暂支持可分享至多三个设备。

  • 特性五:本地支持轮询连接,不允许设备端删除配对信息。

    HID

App 端

  • 特性一:安卓/IOS 可灵活接收设备端发起的配对请求。

  • 特性二:配对请求由设备端发起,经涂鸦蓝牙 LE 加密数据后发起的配对请求更为安全可靠。

  • 特性三:安卓/IOS 重连将首先判断是否在系统列表当中,如果被系统连接,将通过特定特征值读取最新广播响应包。如果未被系统连接,将通过标准流程连接。

    重连流程如下:

    HID

整体方案设计

整体设计包含设备端与 App 端交互,为简化流程与方便理解,涂鸦将蓝牙 LE 流程当作默认流程。

HID

  • 安全特性一:开启靠近解锁将由涂鸦体系 App 开启,无法通过第三方软件或渠道开启。未绑定设备,开启靠近解锁后,由设备端发起配对请求。

  • 安全特性二:涂鸦将该设备唯一标识信息(IRK)写入特定区域。当靠近设备连接时,涂鸦将匹配该区域信息是否正确。当用户开启靠近解锁或远离锁车后,涂鸦将激活该唯一标识符校验。进而指定用户可无感锁车或开锁。

    HID

HID Demo

您可以下载 HID Demo,然后参考 Demo 代码进行开发。

常见问题

如何实现靠近解锁?

可简单理解为,App 连接上设备,设备通过远近来解锁与关锁。

其原理主要通过联通自动连接设备,设备通过连接 RSSI 来判定远近距离,进而实现靠近解锁。

如何保证靠近解锁安全?

目前仅 App 认证后,可让设备发起配对,实现一一对应绑定关系。

同时靠近解锁距离一般控制在 10 米可视范围内,车辆安全可受人为控制。

如何避免车主误经过?

自动锁车可独立选择,且默认不开启。

同时,靠近解锁与远离关锁将绑定,避免车主误经过时车辆未关闭。

如何保障误操作后车辆依旧可控?

任意误操作将都需经 App 加密控制后再次使用。