nisargjhaveri/WirelessAndroidAutoDongle
GitHub: nisargjhaveri/WirelessAndroidAutoDongle
基于树莓派自制无线 Android Auto 适配器,使仅支持有线 Android Auto 的汽车也能实现无线连接。
Stars: 2574 | Forks: 232
# 无线 Android Auto Dongle
使用 Raspberry Pi 自制无线 Android Auto 适配器,适用于仅支持有线 Android Auto 的汽车。
本仓库包含 buildroot 设置,用于生成 SD 卡镜像,从而打造你自己的无线 Android Auto 适配器。
## 功能
- 原生无线 Android Auto 连接手机,手机端无需额外安装应用。
- 无修改地透传所有 Android Auto 流量,确保无缝且安全的体验。
- 启动迅速,30 秒内即可完成连接。
- 支持多种开发板(目前支持多款 Raspberry Pi 开发板)。
## 支持的硬件
目前已在以下支持 USB OTG 的 Raspberry Pi 开发板上进行了测试和构建。
- **Raspberry Pi Zero W**
- **Raspberry Pi Zero 2 W**
- **Raspberry Pi 3 A+** _(由于缺乏 USB OTG 支持,不支持 Raspberry Pi 3 B+。)_
- **Raspberry Pi 4**
理论上,未来只要满足以下基本要求,即可将其扩展至更多硬件设备。
- 开发板需支持 USB OTG 或 Gadget 模式。
- 具备 Wifi 和 Bluetooth。如果不是内置的,使用外置设备同样可行。
- 能够在汽车提供的电力下运行。
## 安装与运行
[下载适用于你开发板的预构建 SD 卡镜像](https://github.com/nisargjhaveri/WirelessAndroidAutoDongle/releases)。你也可以[自行构建镜像](BUILDING.md)。使用你喜欢的工具将镜像安装到 SD 卡上。
你可能需要更新国家代码及其他最适合你的设置。请参阅[配置说明](#Configurations)
### 首次连接
- 使用 USB 数据线将手机连接至车载主机,确保 Android Auto 启动。随后断开手机连接。
- 将开发板连接至汽车。请务必使用数据线,并插入开发板上启用了 USB OTG 的端口。
- 在 **Raspberry Pi Zero W** 和 **Raspberry Pi Zero 2 W** 上:使用标有“USB”而非“PWR”的第二个 micro-usb 端口。
- 在 **Raspberry Pi 3 A+** 上:使用仅有的一处 USB-A 端口,并搭配 USB-A 转 USB-A 数据线。
- 在 **Raspberry Pi 4** 上:使用通常用于为开发板供电的 USB-C 端口。
- 打开手机上的蓝牙设置,配对名为 `AndroidAuto-Dongle-*` 或 `WirelessAADongle-*` 的新设备。
- 完成此操作后,手机将自动通过 Wifi 连接,dongle 将通过 USB 连接到车载主机,并在车载屏幕上启动 Android Auto。
### 后续连接
从下次开始,它将自动连接到手机并启动 Android Auto。
请确保手机上的蓝牙和 Wifi 已开启。
## 配置说明
将镜像安装到 SD 卡后,你可以将 SD 卡视为 `WirelessAA` 驱动器。
使用文本编辑器编辑 `WirelessAA` 驱动器内的 `aawgd.conf` 文件以更新配置。该文件包含了各项可用的配置选项及其相关说明。
## 故障排除
### 常见问题
#### 蓝牙和 Wifi 似乎已连接,但手机卡在“Looking for Android Auto”
导致此问题的最常见原因是 USB 数据线故障或设备上使用了错误的 USB 端口。请确保:
1. 使用的是优质的数据线,而不是仅支持充电的电源线
2. 使用的是开发板上启用了 OTG 的 USB 端口,而不是仅供电的端口。
#### 车载主机提示“Device not responding”错误
请确保已在手机的 Andriod Auto 设置中启用“Wireless Android Auto”。此选项仅在部分较旧的手机上可用且需要开启。
### 获取日志
如果你已经尝试了多次仍然无法正常工作,可以通过 SSH 登录设备并尝试获取一些日志。
- 通过设置 `AAWG_WIFI_PASSWORD` 来设定静态密码,并通过设置 `AAWG_ENABLE_SSH` 来启用 SSH。请参阅[更新配置的说明](#Configurations)。
- 将设备连接到车载主机,让其启动并尝试连接一次。日志不会在重启后保留,因此你需要在遇到问题的同一个实例中尽快获取日志。
- 通过 Wifi 连接到设备(SSID: AAWirelessDongle,密码:\<在第一步中设置的密码>)。
- 通过 SSH 登录设备(用户名:root,密码:password,请参阅相关的 defconfigs,例如 [raspberrypi0w_defconfig](aa_wireless_dongle/configs/raspberrypi0w_defconfig))。
- 登录后,请尝试查看 `/var/log/messages` 文件,其中应该包含最相关的初始日志。你也可以复制该文件,并在提交问题时将其作为附件上传。
## 支持
如果你觉得这个项目有用,请[考虑赞助](https://github.com/sponsors/nisargjhaveri)。即使是一点小小的捐助也会有所帮助。这将有助于我们持续修复问题,并在未来为更多设备和车载主机提供支持。
无论如何,如果你认为这个项目可能对其他人也有帮助,请不要忘记在 GitHub 上点 Star 并广而告之。
## 限制
目前仅在有限的车载主机和汽车型号上进行了测试。如果在你的车载主机上无法使用,请告知我。
标签:Android Auto, DIY硬件, USB OTG, 嵌入式系统, 无线适配器, 物联网