【android bluetooth 案例分析 01】【HiCar 详解 3】【hicar时如何交换Wifi参数的】

在这里插入图片描述

1. HiCar 如何交换 Wi-Fi Direct 连接参数?

在 HiCar 的连接流程中,蓝牙仅用于控制信道(Command Channel),实际的数据传输主要依赖 Wi-Fi Direct。为了完成 Wi-Fi Direct 连接,车机和手机需要交换以下关键信息:

  • Wi-Fi Direct 设备名称

  • SSID(Wi-Fi Direct 网络名称)

  • 密码(P2P Group 密码)

  • Wi-Fi 频道(Channel)

  • IP 地址分配方式

这些参数必须先在 蓝牙 RFCOMM 信道上交换,然后才能让 Wi-Fi Direct 进行真正的数据传输。


2. 交换 Wi-Fi 连接参数的详细流程

整个流程通常如下:

(1) 车机与手机通过 BLE 发现并建立基础蓝牙连接

  • 车机通过 BLE 广播 发送 HiCar 服务数据。

  • 手机扫描到车机后,尝试连接 BR/EDR 蓝牙

  • 手机使用 SDP(Service Discovery Protocol) 发现车机上的 HiCar 服务端口。

  • 手机通过 RFCOMM 连接到车机上的 HiCar 认证服务。

(2) 手机与车机通过 RFCOMM 进行 HiCar 认证

  • 车机发送 HiCar 认证请求,要求手机进行身份验证。

  • 手机返回 HiCar 认证数据,例如设备唯一标识、加密信息等。

  • 车机验证认证数据后,确认连接。

(3) 车机通过 RFCOMM 发送 Wi-Fi Direct 连接参数

  • 车机会向手机发送 Wi-Fi Direct 连接参数,包括:

    • SSID(Wi-Fi 网络名称)

    • 密码(WPA2 密钥)

    • Wi-Fi 频道

    • 是否作为 Group Owner(P2P GO)

  • 手机解析这些参数,并使用 Wi-Fi Direct 连接到车机。

(4) 手机使用 Wi-Fi Direct 连接到车机

  • 手机根据车机提供的 Wi-Fi 信息,主动连接 到车机的 Wi-Fi Direct 热点。

  • 车机分配 IP 地址,建立 TCP 连接。

(5) HiCar 切换到 Wi-Fi Direct 进行数据传输

  • 蓝牙仅用于控制命令,后续所有数据通信(如视频、音频、控制指令)都通过 Wi-Fi Direct 进行高速传输。

3. 为什么 Wi-Fi 参数要通过 RFCOMM 传输?

HiCar 选择在 RFCOMM 信道 上传输 Wi-Fi 连接参数,主要有以下几个原因:

(1) BLE 广播不适合大数据传输

  • BLE 广播的数据长度受限(31 字节 / 255 字节扩展),不适合传输复杂的 Wi-Fi 连接参数。

  • BLE 主要用于设备发现,不适合传输安全敏感数据。

(2) RFCOMM 是面向流的可靠传输

  • RFCOMM 基于 L2CAP,提供可靠的、有序的数据传输,适合传输 Wi-Fi 连接参数等关键数据。

  • 如果直接使用 L2CAP(不经过 RFCOMM),会需要额外的协议来保证可靠性,而 RFCOMM 天然支持。

(3) Wi-Fi 连接参数需要加密传输

  • HiCar 认证过程中,手机和车机会进行 身份验证,并使用安全通道传输敏感数据。

  • Wi-Fi Direct SSID 和密码 属于安全敏感信息,必须通过 加密的 RFCOMM 信道 传输,防止被第三方窃取。

(4) 兼容性

  • RFCOMM 是经典蓝牙(BR/EDR)中最常用的串行通信协议,几乎所有蓝牙芯片都支持。

  • 使用 RFCOMM 传输参数,可以兼容不同厂商的车机和手机,而无需依赖特殊的蓝牙功能。


4. 总结

阶段技术用途
设备发现BLE 广播车机向手机发送 HiCar 广播,提供服务信息
蓝牙连接BR/EDR 蓝牙 + RFCOMM手机连接车机的 RFCOMM 信道,进行认证
身份验证RFCOMM手机和车机交换身份验证信息
Wi-Fi 参数交换RFCOMM车机向手机发送 Wi-Fi Direct SSID、密码等信息
Wi-Fi 连接Wi-Fi Direct手机连接到车机的 Wi-Fi Direct 网络
数据传输Wi-Fi Direct传输 HiCar 画面、音频、控制指令等

核心结论

Wi-Fi 连接参数确实是在 RFCOMM 信道中交换的,因为:

  1. BLE 广播不能传输大数据,而 RFCOMM 可靠且支持加密。

  2. RFCOMM 是 HiCar 认证通道的一部分,可以安全地交换 Wi-Fi 连接信息。

  3. 这样可以避免传统蓝牙配对,提高连接速度,同时保证安全性。

所以,HiCar 采用蓝牙 RFCOMM 进行认证并交换 Wi-Fi Direct 连接参数,然后切换到 Wi-Fi Direct 进行数据传输,实现了无配对的高速连接体验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值