本文主要是介绍CarPlay wired连接与wireless连接相互切换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在CarPlay系列的前面博客中我分别对CarPlay的wired(USB)连接方案和wireless(蓝牙+Wi-Fi)连接方案作了介绍,在这篇博客中我主要介绍两种连接方案的切换。
首先,要求车载设备对CarPlay的wired(USB)和wireless(蓝牙+Wi-Fi)两种连接方案都支持,并且USB线已连接到Apple设备。
对于wireless to USB的切换方案,根据CarPlay协议要求,车载设备需要用Get Supported Capabilities USB Vendor Request来侦测与其USB连接的Apple设备是否已经使能了CarPlay,如果该Apple设备的CarPlay已经处于使能状态且尚未建立CarPlay over USB的会话,车载设备便会通过监听/接收Apple设备的Device Notification Usage与DeviceUUIDUpdate消息来判断该Apple设备CarPlay over wireless会话状态。而对于该Apple设备,当有状态改变的时候便会把其状态改变的消息发送给与其UBS连接的车载设备。车载设备通过DeviceUUIDUpdate来判断是否USB连接的Apple设备的CarPlay over wireless的状态。如果该Apple设备的CarPlay over wireless连接断开,UUID便会改变(协议规定没有任何iAP连接的时候),Apple便会发送该DeviceUUIDUpdate消息给车载设备,然后车载设备开始触发与该Apple设备的CarPlay over USB连接。
对于USB to Wireless的切换方案,相对于wireless to USB的切换方案情况要简单。在CarPlay over wired(USB)和CarPlay over wireless都支持的情况下,当车载设备与CarPlay over USB的 Apple设备的USB连接断开后,车载设备开始初始化蓝牙去做发现(discovery)、触发CarPlay over wireless连接。
首先,要求车载设备对CarPlay的wired(USB)和wireless(蓝牙+Wi-Fi)两种连接方案都支持,并且USB线已连接到Apple设备。
对于wireless to USB的切换方案,根据CarPlay协议要求,车载设备需要用Get Supported Capabilities USB Vendor Request来侦测与其USB连接的Apple设备是否已经使能了CarPlay,如果该Apple设备的CarPlay已经处于使能状态且尚未建立CarPlay over USB的会话,车载设备便会通过监听/接收Apple设备的Device Notification Usage与DeviceUUIDUpdate消息来判断该Apple设备CarPlay over wireless会话状态。而对于该Apple设备,当有状态改变的时候便会把其状态改变的消息发送给与其UBS连接的车载设备。车载设备通过DeviceUUIDUpdate来判断是否USB连接的Apple设备的CarPlay over wireless的状态。如果该Apple设备的CarPlay over wireless连接断开,UUID便会改变(协议规定没有任何iAP连接的时候),Apple便会发送该DeviceUUIDUpdate消息给车载设备,然后车载设备开始触发与该Apple设备的CarPlay over USB连接。
对于USB to Wireless的切换方案,相对于wireless to USB的切换方案情况要简单。在CarPlay over wired(USB)和CarPlay over wireless都支持的情况下,当车载设备与CarPlay over USB的 Apple设备的USB连接断开后,车载设备开始初始化蓝牙去做发现(discovery)、触发CarPlay over wireless连接。
这篇关于CarPlay wired连接与wireless连接相互切换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!