CarPlay 无线连接(蓝牙+WIFI)
一、引言
1.1 目的
此文档记录CarPlay 开发中无线连接开发部分,详细介绍CarPlay无线连接的流程。
1.2 简介
Carplay的无线连接,需要用户手动先连蓝牙,蓝牙连接上后,系统会自动连接WiFi,然后相关的握手认证完成后,蓝牙会自动断开。所以Carplay的连接本质上是WiFi连接。在Carplay连接成功后,用户使用Carplay的过程中,一般WiFi是连着的,蓝牙是断开的,蓝牙只是用于设备配对,身份认证,真正的CarPlay会话是通过WIFI进行。
二、架构设计
2.1 架构图
暂时无法展示此内容
三、连接流程
3.1 IPhone设备检测
通过蓝牙EIR查询设备的UUID, CarPlay UUID:2d8d2466-e14d-451c-88bc-7301abea291a
此UUID的设备支持无线CarPlay
3.2 连接socket
通过iAP2 UUID连接蓝牙socket,iAP2 socket UUID:00000000-deca-fade-deca-deafdecacafe
3.3 Beacon
无线CarPlay需要支持 Beacon Request and Report protocol以及Beacon Request and Report frame。wifi热点打开后beacon,beacon间隔为100ms。在IE中填充车机基础信息:
-
Element ID:必须设置为107
-
Length:必须设置为3
-
Access Network Options 字段:
-
Network Access Type 和Internet:必须根据互联网连接的可用性进行设置
-
ASRA:必须设置为0
-
ESR:必须设置为0
-
UESA:必须设置为0
-
-
Venue Info 是一个2位字节字段,必须包括:
-
Venue Group:必须设置为10(车辆)
-
Venue Type:必须设置为1(汽车)
-
3.4 open WiFi AP
因为在蓝牙socket通道中完成认证时需要向IPhone提供车机的热点信息并保证热点是可连接状态,所以WiFi热点的信息和打开操作需提前进行,以保证后续WiFi顺利连接。
需提供的WiFi AP信息
Name | ID | Type | Notes |
---|---|---|---|
WiFiSSID | 0 | utf8 | |
Passphrase | 1 | utf8 | |
Channel | 2 | uint8 | 参考《Accessory Interface Specification CarPlay Addendum R7》 |
IPAddress | 3 | utf8 | IPv6 address must not include a zone index. |
SecurityType | 4 | uint8 | 参考《Accessory Interface Specification CarPlay Addendum R7》 |
3.5 iAP2 身份认证
在Socket连接成功建立后,可以接收/发送iAP2数据,按照CarPlay标准流程进行Identification,Authentication,所需数据较多,且无线与有线的身份认证有差异,但数据包格式相同。具体参考《Accessory Interface Specification CarPlay Addendum R7》。
3.6 start CarPlay Session
身份认证成功且IPhone设备成功连接到车机热点后成功开启CarPlay Session,CarPlay Session相关数据传输则通过苹果官方插件库中提供的方法进行。
3.7 disable Bluetooth
在CarPlaySession成功建立后会收到Disable Bluetooth指令,此时断开蓝牙连接。
四、总结
4.1 经验总结
无线iAP2身份认证与有线大同小异,主要区别是需要提供的参数信息不同,具体需要提供哪些信息详细阅读《Accessory Interface Specification CarPlay Addendum R7》文档。
到此,CarPlay的初步开发已经完成了,但是还有一些功能未实现,比如说bunjor,Mode Change,Location 汇报,NowPlaying信息。如果对流程理解的话开发时间不会太久,最主要的还是CarPlay认证。
4.2 辅助工具
建议开发过程中使用MAC + ATS软件 ,需要从ATS下载证书安装到手机。若没有专业工具则通过爱思助手抓取IPhone日志分析。
来源地址:https://blog.csdn.net/xiaojian_007/article/details/130710124
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341