1、电动车解锁的发展
1.1 钥匙解锁的发展与不便
电动自动车作为一类常见的交通工具发展已经多年,时至今日电动车都会增加一个防盗模块用来增强安全性,同时也带来了一个问题,用户携带一把机械钥匙用以上下电之外,还得再携带一把遥控钥匙,用以开关电动车的防盗模块。
用户操作的繁琐,也使得电动车厂商想办法化简,带一键启动的车辆出现,一键启动键替代了机械钥匙,用户只要携带个遥控钥匙,然后通过解锁后按压车辆上的一键启动键就可以启动/关闭车辆。
随着技术的发展,类似汽车的无钥匙进入(PKE)方案也出现在电动车上,不过,无钥匙进入的技术不是真的不用携带钥匙,仅仅是指不用按钥匙的按键,通过携带的感应钥匙靠近远离车辆来进行锁车/解锁。
1.2 手机解锁
到了智能手机时代,随着智能手机的普及,能否用手机来替代钥匙呢?答案是肯定的,以小牛,九号等电动车厂为代表,智能电动车开始出现,用户在自己的智能手机上安装APP后,可以打开APP,并在APP中与自己的车辆互动,包括获取车辆状态,以及对车辆进行锁车/解锁/上下电等操作。
智能车的出现,解决了用户携带钥匙的麻烦,但找到并打开APP,然后再点击车辆锁车/解锁的繁琐操作,用户体验提升并不明显。
同时智能模块离线,手机APP兼容等问题也突出。有没有一种完全无感的锁车解锁体验呢?
1.3、第一代无感解锁
真无感解锁,顾名思义,用户无需携带钥匙,也无需做什么操作,通过靠近/远离车辆,即可对车辆进行解锁/锁定操作。
要实现这个能力,需要利用手机的一个连接能力---蓝牙。
蓝牙在所有智能手机上都是个标配组件,所以有不少厂商开始基于蓝牙开发无感解锁。通过在智能电动车增加蓝牙模块与手机通信,手机APP通过监测蓝牙连接以及测量蓝牙信号等方法,计算手机与智能模块的距离。然后根据距离来判读是否要锁车解锁以及启动。
这个方案无需钥匙,也无需用户操作,大大方便了用户。
但手机APP的保活是个大问题,经常出现,用户的手机APP被系统后台杀死了,锁车/解锁就失效的问题。用户要使用这个功能,还得检查APP是否还活着,或者想方设法让手机APP不被后台杀死。
这是个好用的功能,但问题是否有办法解决呢?
2、真无感解锁
真无感解锁,就是要解决在APP无法运行时,仍能利用手机自身的蓝牙能力来对车辆进行锁车/解锁操作。我们先熟悉一下蓝牙本身以及手机的蓝牙能力。
2.1、蓝牙协议简单介绍
蓝牙发展多年,分出了经典蓝牙和BLE低功耗蓝牙2类技术,分别用在的如下应用领域
●经典蓝牙:无线耳机,蓝牙音箱,车载。
●BLE: 无线键鼠,智能家居,私有方案。
在手机端,系统基本支持经典蓝牙了大多数应用,无线耳机,车载均不需要下载安装APP,在手机系统中即可完成设备接入配置与功能应用。
而BLE应用支持有限,智能家居,私有方案都需要APP的介入。
2.2、蓝牙协议的选择
经典蓝牙基本用于音频领域,用于智能车不是很合适。且在蓝牙耳机盛行的今天,让系统支持多个蓝牙音频,本身是一个兼容性严重的问题。所以目标就在BLE低功耗蓝牙上了。
BLE应用中,有一类应用是手机系统自身就支持的---无线键鼠。
无线键鼠的蓝牙协议规范为HID---蓝牙人机接口规范,这个规范几乎所有的智能手机都是支持的,这意味着,只要支持这个规范,手机系统就可以替代APP的作用。
这里补充一点,利用手机HID协议的应用,智能电动车不是第一个,上一个比较火的产品是手机无线自拍杆/自拍器。
3、无感解锁协议的打造
无感解锁协议打造,分为3步。
- 制定无感蓝牙协议
- 解决蓝牙设备安全性
- 通过算法计算蓝牙距离
3.1、 制定无感蓝牙协议
选择完了蓝牙协议HID,还需要确认使用的HID品类,这个比较关键,否则会带来严重的兼容问题。
HID是一个比较大的规范,除了支持键盘鼠标这些常见的品类,还支持游戏手柄,消费类等品类。不常见品类容易出现兼容问题,而有些品类可能会导致手机系统的异常。比如使用键盘品类,在某些手机上会出现手机虚拟键盘打不开的问题。
这里我们选取了一个常见品类,品类这里买个关子,有兴趣的同学可以私聊,可靠性与兼容性我在后续章节给出。
3.2、蓝牙安全性考量
蓝牙作为一种无线连接技术,安全性是必须要考虑的问题。我们针对蓝牙,做了2层安全。
应用层加密
应用层加密,用于我们的手机APP与智能车蓝牙模块之间的加密,手机和智能车蓝牙模块在绑定时会协商密钥,通过阿里云的三元组中的信息作为pre-shared key结合随机数,生成无法被监听与暴力破解的密钥种子,也无法伪造设备,然后在每次连接时协商会话密钥session key。之后的应用层交互都会基于这个会话密钥进行加密通信。
智能设备在绑定后,每次连接都会等待会话密钥的协商,如果缺少这一步,智能设备会拒绝交互并断开连接。
物理层加密
物理层加密,主要是利用蓝牙的安全协议SMP,SMP协议可以在手机与智能车模块间协商出无法被破解的密钥,并在物理层使用此密钥加密。物理层加密主要用于无感解锁,当手机APP未开启时,手机系统即与智能设备通过物理层加密交互,物理层加密开启后,无感解锁才能使用。
3.3、蓝牙距离的计算
无感锁车解锁是通过距离感应来进行锁车解锁,这里可用RSSI---蓝牙参考信号强度来推导蓝牙距离,蓝牙RSSI是一个随距离变化的值,通过连接状态下读取RSSI,可以大致判断出距离。
当然RSSI存在如下问题:
抖动: 在同一距离上,RSSI会因为环境,干扰等因素产生一定的抖动。
环境: 室内,室外场景下,不同的,RSSI随距离的变化线性度不同。
手机差异: 不同的手机,信号质量存在一定的差异。
为了解决这些问题,我们在软硬件上都做了一些优化
●通过天线等硬件改造,解决了信号指向性以及接收信号质量弱的问题。
●通过软件滤波等算法,解决部分抖动与环境问题。
不过仍无法通过RSSI来精确的计算出距离。所以设定在某个比较近的范围(比如2-3米内)内进行解锁,然后在某个比较远的范围外(比如8-10米外)进行锁车。
同时为了满足客户对于锁车距离的调节,我们提供多档设定,用户可以根据自己的喜好选择合适档位进行锁车解锁。
4、无感解锁的功能进展
4.1、功能开发
目前智能车模块的无感解锁功能已经开发完毕,这个功能给客户演示时,均得到了很高的认可。且已经开始大规模的导入客户的智能电动车产品。
4.2、可靠性与兼容性
无感解锁功能目前已经做了一轮三方兼容与可靠性测试,测试手机200台,通过194台。未通过的测试的6台手机主要是一些老型号以及部分较为小众的手机。
5、展望
真无感解锁目前作为阿里智能电动车方案的主打功能,已经开始大规模在电动车厂商那边铺开。感兴趣的小伙伴可以体验一下阿里的智能电动车。
但无感解锁不仅仅可以用在电动车这一个领域,各种锁,开关,汽车,灯光等领域都可以应用。
同时,我们也在关注蓝牙多芯片,多天线技术的发展与应用,同时也关注着蓝牙官方距离测量标准(HADM)的进展。在解决距离精度不足的遗留问题,也能扩展到汽车,物流等其他领域。
开发者支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号。
更多技术与解决方案介绍,请访问HaaS官方网站https://haas.iot.aliyun.com。