和主机蓝牙地址)从机收到扫描请求后同一个信道上回复 SCAN_RSP PDU 主机接收到扫描回复信息后发送CONNECT_REQ PDU 信息广播者接收到CONNECT_REQ PDU 后确认建立连接指示图如图2 所示。广播数据包按照ble 标准协议设置Appearance Values 可将ble 报警器枚举成HID 设备,例如设置成0×0180 通用遥控器(Generic Remote Control)。
图2 连接手机IRK识别码打印log图
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) / ( 10 ∗ n ))。其中A 为距离设备1 m 时的RSSI 绝对值。n 为环境衰减因子。按照BLE 报警器和1 台手机测试换算A=50,n=3.325. RSSI 和d 具体换算公式:d=10^((abs(RSSI)-50) / (10∗3.325));RSSI = log10(d)*(10*3.325)+50。RSSI 距离换算函数图如图3 所示。图中表明RSSI 信号强度和距离非线性,-22~-23db对应的距离差是1cm;-57 db ~ -58db对应的距离差是9 cm。
图3 距离换算函数图
报警器靠近解锁距离d1设置范围1~3 m,远离上锁的距离d2=d1+3(m)。按照RSSI 公式理论换算部分距离和RSSI 对应表格如表1所示。
表1 设置距离和rssi信号强度对应
6 兼容性问题
BLE 和手机建立连接时RSSI 的信号强度会因手机兼容性和BLE 安装环境不同而不同。不同手机和不同安装环境都会影响RSSI 信号强度。为了解决兼容性问题,APP 可以在感应解锁页面通过进度条设置,不同手机可以通过进度条设置各自合适的感应解锁距离。APP通过距离换算出对应的RSSI 信号强度下发给蓝牙报警器,蓝牙报警器则通过判断连接的手机IRK 选出该手机的信号强度执行靠近解锁操作。不同手机不同RSSI 灵敏度,这就可以有效解决各种因素带来的兼容性误差影响。感应解锁界面设计如图4 所示。
图4 感应解锁界面
7 靠近解锁闭环设计流程
根据HID 的RSSI 靠近解锁和远离上锁需要在电动车电门关闭的前提下实施,为了闭环设计当用户电动车电门真的忘记关闭那么引入自动落锁逻辑来实现自动关闭电门。电门ACC 打开超过5 min 静止状态(轮动和震动传感器信号判断静止状态),关闭ACC 电门之后进入hid 靠近解锁远离上锁逻辑判断,如果车主不在附近会自动设防。这样的设计是让客户无论是在什么情况下,电动车在用户远离后都会关闭电门上锁,防止被盗风险[6]。闭环设计流程如图5 所示。
图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.