基于BLE与手机HID连接实现电动车无感靠近解锁系统
2022-02-02祝必梁
祝必梁
摘要:蓝牙报警器为两轮电动车控制器。基本功能包含电动车的设防、撤防、开电门、关电门、轮动信号检测、锁电机信号输出。Ble是作为蓝牙报警器的主控单元。无感解锁功能实现是通过Ble作为HID设备和手机系统层自动连接,通过RSSI信号强度作为手机靠近解锁距离设置依据。当多个用户手机无感靠近解锁,Ble可以通过IRK对各手机进行身份识别。手机第1次连接BLE时需要通过SMP输入配对密钥,并且需要配合APP或者小程序进行数据鉴权,整个流程闭环操作。让用户把手机作为靠近解锁的钥匙安全有效,体验方便快捷。
关键词:蓝牙报警器;无感解锁;HID设备
近年来新能源电动车越来越流行,它的特点首先动力是电能,其次相对与传统车它的智能化程度也是它的最大亮点之一[1]。两轮电动车和新能源车一样,传统报警器智能化升级需求越来越大,智能化改造目前依然处于风口之中[2-3]。
1整体设计
1.1整体设计概述
该系统方案应用于电动车蓝牙报警器和手机配合使用。解锁时无需打开小程序或者 APP ,也无需刻意拿出手机。车主只要带着手机靠近,手机就会自动连接上蓝牙报警器,蓝牙报警器通过rssi强度判断自动撤防,车主坐车上按下一键启动按键就可以把电动车开走,真正实现智能化靠近无感解锁方案。
蓝牙技术是一种短距离无线通信技术,在两轮电动车领域由于传统报警器智能化提升需求结合蓝牙技术成熟稳定成本低特点,在近几年内迅速发展,应用前景广阔[4]。本文方案以TelinkBle蓝牙8258芯片作为主控支持 open 开发。TLSR8258X 系列蓝牙内嵌LDO和DCDC供电1.8-3.6 V,支持低功耗 :5.3 mA@Rxfullchip,4.8 mA@Tx 0 dBm fullchip,<1 μA@Sleep+SRAM,0.4 μA@Sleep。靠近解锁方案Ble主控芯片设置成 HID( 人机接口 ) 从机模式,手机作为ble主机可自动连接 HID 从机设备。Ble蓝牙报警器与手机自动连接后通过 RSSI 判断距离,用户配合 app/ 小程序可以设置合适的靠近解锁距离。系统整体框图如图 1 所示。
1.2 功能介绍
本文无感靠近解锁系统具有以下功能:①Ble蓝牙报警器枚举成 HID 设备,首次配对后手机会自动连接Ble报警器。②实现手机通过 SMP 和Ble配对连接,并通过小程序或者 APP 数据鉴权安全认证客户合法性。③实现连接Ble时可以对手机用户身份识别(同个蓝牙报警器可以注册多个用户)。④实现通过调节 RSSI 设置靠近解锁远离上锁距离,各用户可自主设置靠近解锁距离(RSSI 强度)适配不同手机和Ble兼容性。⑤实现上锁功能闭环逻辑设计。
2 Ble报警器枚举成HID设备
蓝牙设备中通常把主动连接的设备叫主机,被动连接的设备叫从机。主机和从机建立连接的过程通过特定的握手协议[5]来完成。连接过程:从机广播发送 ADV_IND PDU (包含从机蓝牙地址)主机发送扫描请求 SCAN_REQ PDU (包含从机和主机蓝牙地址)从机收到扫描请求后同一个信道上回复 SCAN_RSP PDU 主机接收到扫描回复信息后发送 CONNECT_REQ PDU 信息广播者接收到 CONNECT_REQ PDU 后确认建立连接指示图如图2所示。广播数据包按照ble标准协议设置 Appearance Values 可将ble报警器枚举成 HID 设备,例如设置成0×0180通用遥控器(Generic Remote Control)。
3 SMP密鑰配对设置
SMP 配对方式有4个级别的安全等级。
A:no authenticated and no encryption(model level1)。
B : unauthenticated paring with encryption(model level2)。
C : authenticated paring with Encryption(model level3)。
D : authenticated le secure connections(model level4)。
该系统采用 model level3 Authenticated Paring with Encryption 。Level3通过加密方式建立连接,可对身份进行验证。每台蓝牙报警器会匹配一个配对 pin ,手机打开 APP 第1次连接蓝牙报警器时,会提示需要输入配对 pin,输入正确 pin 后可配对成功。为了安全设计蓝牙报警器首次连接对手机合法身份认证不仅要输入正确的配对 pin,同时也要在30 s 内连接上 APP 进行数据鉴权。如果没有在规定的时间内进行数据鉴权,蓝牙报警器也会认为时非法设备连接,自动删除存储在Ble芯片 flash 中的手机的配对信息,手机无法使用 HID 自动连接功能。
4手机身份识别
蓝牙报警器设置可以同时有4个车主用户,1个主车主、3个分享车主。为了主用户对分享用户管理,同时各车主之间靠近解锁参数设置互不影响,Ble需要连接手机时对手机身份进行识别。手机身份的唯一码采用了 SMP 中的 IRK(Identity Resolving Key)作为唯一标识。每台手机包含结构体信息,结构体定义如下:
struct{
u8 phone_IRK[16];
u8 auto_on;
u8 Hid_on_rssi;
u8 Hid_off_rssi;
}phone_info_t;
IRK 作为手机身份识别的唯一标识符。auto_on靠近解锁开关标志位,auro_on=1该手机打开靠近解锁,auto_on=0没有打开靠近解锁功能、靠近解锁rssi信号强度,大于该信号强度可以作为解锁条件、远离上锁rssi信号强度,小于该信号强度可作为上锁条件。
蓝牙报警器打印不同连接手机的 IRK 的 log 信息如图2所示。
5 RSSI距离换算
每台手机结构体信息成员Hid_on_rssi和Hid_off_ rssi是蓝牙报警器靠近解锁,远离上锁的的判断依据。它是由手机通过 APP 或者小程序下发给蓝牙报警器的。 RSSI 换算距离公式: d =10^((abs(RSSI)-A)/(10n ))。其中 A 为距离设备1 m 时的 RSSI 绝对值。n 为环境衰减因子。按照 BLE 报警器和1台手机测试换算 A =50,n =3.325. RSSI 和 d 具体换算公式: d =10^((abs(RSSI)-50)/( 103.325)); RSSI = log10(d)*(10*3.325)+50。 RSSI 距离换算函数图如图3所示。图中表明 RSSI 信号强度和距离非线性,-22~-23 db对应的距离差是1 cm ;-57 db ~-58 db对应的距离差是9 cm。
报警器靠近解锁距离 d1设置范围1~3 m,远离上锁的距离 d2=d1+3( m )。按照 RSSI 公式理论换算部分距离和 RSSI 对应表格如表1所示。
6兼容性问题
BLE 和手机建立连接时 RSSI 的信号强度会因手机兼容性和 BLE 安装环境不同而不同。不同手机和不同安装环境都会影响 RSSI 信号强度。为了解决兼容性问题,APP 可以在感应解锁页面通过进度条设置,不同手机可以通过进度条设置各自合适的感应解锁距离。APP 通过距离换算出对应的 RSSI 信号强度下发给蓝牙报警器,蓝牙报警器则通过判断连接的手机 IRK 选出该手机的信号强度执行靠近解锁操作。不同手机不同 RSSI 灵敏度,这就可以有效解决各种因素带来的兼容性误差影响。感应解锁界面设计如图4所示。
7靠近解锁闭环设计流程
根据 HID 的 RSSI 靠近解锁和远离上锁需要在电动车电门关闭的前提下实施,为了闭环设计当用户电动车电门真的忘记关闭那么引入自动落锁逻辑来实现自动关闭电门。电门 ACC 打开超过5 min 静止状态(轮动和震动传感器信号判断静止状态),關闭 ACC 电门之后进入 hid 靠近解锁远离上锁逻辑判断,如果车主不在附近会自动设防。这样的设计是让客户无论是在什么情况下,电动车在用户远离后都会关闭电门上锁,防止被盗风险[6]。闭环设计流程如图5所示。
8结束语
基于 BLE 与手机通信实现电动车无感靠近解锁,通过 HID 手机自动连接蓝牙技术实现,配对密钥加数据鉴权让系统有安全保证,进度条调整感应解锁距离可以有效解决兼容性误差问题,解锁上锁系统闭环设计流程让用户不用有忘记关锁的烦恼。整套系统实际测试安全有效,有效提高用户体验。
参考文献:
[1]刘瑾.新能源车发展势头未减全年有望实现平稳发展[J].新能源科技,2022(5):7-8.
[2]李建中,高宏.无线传感器网络的研究进展[J].计算机研究与发展, 2008(1):39-44.
[3]余愿,刘芳.传感器原理与检测技术[M].北京:电子工业出版社, 2017.
[4]钱志鸿,杨帆,周求湛.蓝牙技术原理开发与应用[M].北京:北京航空航天大学出版社,2006.
[5]谌双双,陈泽茂,王浩.一种高效的无线传输层安全握手协议[J].计算机工程,2011,37(16):123-125.
[6]徐光洪,谭巧,李佳怡,等.运用NB-IOT技术的电动车智能防盗报警系统设计[J].宁德师范学院学报(自然科学版),2021,33(1):30-35.