怎样实现无感控车?带你IIFAA技术探索
数字车钥匙
汽车钥匙的变迁大约经过了摇摆钥匙(也称工型钥匙)、机械钥匙到芯片钥匙、遥控钥匙几个阶段。钥匙的发展,除了提供给用户更丰富的功能外,还显著提高了钥匙的安全水位。随着移动互联网的发展,以手机为代表的数字车钥匙技术日渐成熟,并有替代实体钥匙的趋势。相较于实体钥匙,数字车钥匙的功能更丰富,比如定位、分享、远程控车等,在使用体验上具有明显的优势。 除了四轮汽车,数字车钥匙也应用到二轮电瓶车领域,小牛、九号、哈罗等厂商把车辆智能化作为产品主打方向。IIFAA团队基于在手机生物认证等安全领域的沉淀,于2020年推出了四轮车数字车钥匙,主要面向四轮车后期改装的场景(简称:后装);在2021年和雅迪合作推出了二轮车的数字钥匙方案,并上线了“雅迪智享”小程序,助力雅迪向智能化迈进;2022年,团队继续深耕数字车钥匙领域,并在设备认证、行业标准化等方向取得了显著成绩。下图左侧是面向四轮车的“数字车钥匙”小程序,适配大部分主流车型;右侧是和雅迪合作开发的“雅迪智享”小程序,已经应用到雅迪的多个车型。无感入车
中高端的四轮汽车,无感入车几乎已经成为标配功能。用户携带手机或者实体钥匙在车辆周围时,车机端根据近场通信信号,进行用户认证和距离判断,进而自动触发解落锁。- 车机端天线数量
- 单天线:定位精度低,空旷情况下可以达到1-2米,适用于二轮车以及后期改装的四轮车(简称:后装)。
- 多天线:定位精度高,可以达到0.3米。但由于成本、安装工艺的限制,适用于产线集成无感的四轮车(简称:前装)。
- 手机端蓝牙工作模式
- 保活:通过手机应用的保活,进行数据传输和蓝牙工作模式的切换。但由于保活难度高而且蓝牙多桩定位需要手机端蓝牙开启从机模式(Slave)进行蓝牙广播,因此主要应用于前装四轮车。
- 配对:基于蓝牙的HID协议,实现手机和车机蓝牙的快速连接。配对不需要应用保活,也就无法控制手机侧蓝牙的工作模式,进而无法进行业务数据传输,因此主要适用于车机端单蓝牙场景,通常是二轮车以及后装四轮车。
| 技术 | 前装四轮车 | 后装四轮车 | 二轮车 |
| 单天线 | ✅ | ✅ | |
| 多天线 | ✅ | ||
| 保活 | ✅ | ||
| 配对 | ✅ | ✅ |
概念介绍
UWB(Ultra Wideband) 是一种无载波通信技术,利用纳秒至微秒级的非正弦波窄脉冲传输数据,通过在较宽的频谱上传送极低功率的信号,它能够非常准确地测量无线电信号的飞行时间,从而实现厘米精度的距离/位置测量。应用场景
UWB作为一种新型技术,现阶段只有苹果、小米部分手机机型支持。在应用场景上,2021年苹果发布了支持UWB技术的Airtag,同年8月小米随着小米Mix4手机发布了“一指连”功能。头部手机厂商的对UWB技术的探索,带动了更多手机厂商、设备厂商、汽车厂商对UWB技术的研究。 iphone11系列开始搭载了U1芯片,定位AirTag搭载了同块芯片。小米Mix4手机搭载了UWB技术,并且应用到米家IoT场景。 2021年,汽车连接协会CCC(Car Connectivity Consortium)发布了《数字车钥匙3.0版本规范》,把低功耗蓝牙(BLE)和超宽带(UWB)技术作为无感入车的基础技术方案。行业内通用的UWB的布局如下图所示,BLE模块负责和手机端进行通信,并唤醒手机端和车机端的UWB模块进行工作,UWB模块进行高精度定位,并通知车机端进行解落锁操作。关键技术
前一部分对无感入车的发展历史以及相关技术进行了概括性介绍,这部分主要介绍进行蓝牙无感探索时遇到的一些问题和解决思路。在过去两年的时间里,团队在业务推进中覆盖后装四轮车、前装四轮车、二轮车,也因此对所有无感相关的关键技术进行了比较深入的研究,主要包括单蓝牙测距、多蓝牙(UWB)测距、手机App保活和蓝牙配对。 单蓝牙测距 蓝牙信号处于2.4G共用频段,干扰比较多,而且12CM的波长容易被阻挡,因此通过蓝牙信号进行测距精度误差比较大。实测下来,在空旷场所,单蓝牙测距精度能做到1-2米。我们在基于单蓝牙实现无感入车时,主要创新有两点:基于信号强度RSSI进行模糊化测距和更快捷的设置交互。测距算法
蓝牙信号强度RSSI和物理距离的转换,有一个经验公式:计算公式:下图蓝色是实际蓝牙信号强度,橙色是平滑后的信号强度:
d = 10^((abs(RSSI) - A) / (10 * n))其中:
d - 计算所得距离
RSSI - 接收信号强度(负值)
A - 发射端和接收端相隔1米时的信号强度
n - 环境衰减因子从参数可知,这种测距的误差会比较大,而且蓝牙信号的RSSI值一直处于跳变状态。为此在工程上,只对RSSI信号进行处理,把处理后的RSSI值作为距离的表征值。通过多次优化,我们找到了一个效果比较好的平滑算法,可以“削峰抑谷”,较好地反应信号强度的变化趋势。
- 限幅。通过限定信号的变化幅度,降低信号突变的影响
- 中位值。排序取中间值。
- 算术平均。通过一定量的信号强度进行平均,作为实际值
- 中位值平均。采一组队列去掉最大值和最小值,然后取均值。
交互优化
依据RSSI设置开落锁的距离,在交互上对用户有较大的困扰。用户并不知道“-80”或者“80”的数值代表什么,为此我们在交互上进行优化。一方面通过引导用户在一个期望位置进行信号强度采集,完成开落锁位置的设定;另一方面提供“远中近”的经验设定,满足用户不同体验的需要:发展方向
为了提高蓝牙的测距精度,蓝牙V5.1引入了AoA和AoD高精度定位法。AoA定位是基于到达角度进行定位,AoD是基于出发角度进行定位。由于蓝牙模块成本和工艺的上升,以及手机端蓝牙模块的覆盖度还不够高,这两种方法现阶段还处于实验室阶段。随着更多设备的支持,在不远的将来单蓝牙模块测距精度会提升到10cm的量级。背景
在介绍保活之前,先介绍下为什么在蓝牙无感需要应用保活。 四轮车的无感入车,为了实现多蓝牙定位,需要手机蓝牙模式打开从模式进行广播。由于手机平台、车钥匙安全性的限制,手机蓝牙从模式不可能一直打开,需要特定时机进行唤起,此时应用保活就是一个前提基础条件:行业现状
应用保活是指在用户退出应用,或者系统基于当前内存不足状态而触发清理进程后,该进程设法让自己免于被杀或者被杀后能自动拉起的手段。由于系统对运行内存和能耗的控制,iPhone和安卓对应用保活的限制主要有以下几点:- iPhone主要是对内存使用的限制,在运行一些高内存应用时(比如抖音),杀死后台应用。
- 安卓的问题比较复杂,除了内存限制外,还有耗电优化策略。相较于原生的安卓系统,国内厂商华米OV引入了省电模式,而且会默认开启。实测下来,大部分情况下,应用处于后台10分钟左右就会被杀死。
- 蓝牙类:通过蓝牙的近场能力,进行拉活,这个在安卓和IOS上表现都比较稳定,但是有局限性。
- 系统设置类:引导用户关闭省电模式、开启应用自动权限以及开启前台服务等。
- 推送类:通过厂商提供的通道,通过push通道下发拉活应用。
探索
基于行业沉淀的经验以及车钥匙团队在此方面的探索,现阶段比较通用的保活方案是蓝牙拉活。以支付宝App为例,概括起来有以下几点:- IOS:基于蓝牙拉活,可以满足大部分场景。
- 安卓:a. 基于蓝牙进行拉活,成功率比较高,b. 引导用户去设置能耗策略、开启通过前台服务,实现更好的保活效果。
介绍
The Human Interface Device (HID)定义了蓝牙在人机接口设备中的协议、特征和使用规程。典型的应用包括蓝牙鼠标、蓝牙键盘、蓝牙游戏手柄等。设备配对的过程,主要是基于HID协议和SMP(Security Manager Protocol)进行密钥的交换,最终建立一个可自动回连的安全链路。配对的优点
在车机端搭载单蓝牙的二轮车或者后装四轮车领域,配对是一个常见的方案。基于蓝牙的HID协议,可以实现蓝牙的自动连接,摆脱了对应用保活的限制。进行配对
安卓系统提供了开放的配对Api,可以在应用内快速进行配对。IOS系统没有提供配对Api,需要手机和蓝牙模块进行配合,现行比较成熟的配对方式有两个:从机发起和改变服务安全等级。配对回连
虽然配对基于蓝牙的HID协议,而且不同手机都默认支持,但是实测下来,回连的稳定性并没有预期的那么高。也就是配对后,手机和蓝牙模块靠近时,并不能保证100%建立连接。华为和苹果手机出现回连失败的概率比较高,他们自家生产的蓝牙耳机也有类似问题。 在数字车钥匙这个场景,如果配对不回连,无感功能就无法正常运行,给用户带来比较大的体验问题。通过抓包分析,回连失败的原因是手机侧没有发起主动连接,而核心原因推测是由于蓝牙频繁断连触发了手机侧的安全和能耗策略。为此我们在蓝牙协议上进行优化,同时针对不同机型,在开通无感时对回连策略进行动态化配置,经过实测,华为、iphone等手机上,回连稳定性有了明显的提升。总结
文章介绍了蚂蚁金服IIFAA团队在数字车钥匙无感入车领域一些经验和探索,欢迎大家交流。