Android Automotive 上的 FTP 协议 — 技术深入探讨
您汽车的 Android Automotive 信息娱乐系统使用与任何联网设备相同的协议栈与 FTP 服务器进行通信。主要区别在于上下文:传输主要发生在停在家庭 WiFi 上时,汽车的电源管理会影响连接持久性,而大触摸屏使服务器导航变得舒适。
本页介绍了汽车硬件上 FTP 的协议级细节 — 连接机制、电源状态处理、WiFi 注意事项以及基于汽车的文件传输的服务器优化。
汽车领域的网络架构
汽车 WiFi 连接
Android 汽车在两种情况下连接 WiFi:
家庭/已知 WiFi(主要用于 FTP):
- 车辆停放在家庭 WiFi 范围内的车库/车道上
- 坚固、稳定的连接
- 全速访问本地网络资源
- 同一 LAN 上的 FTP 服务器可直接访问
移动热点/公共 WiFi:
- 电话或便携式热点连接
- 变速和稳定性
- 可以访问互联网 FTP 服务器(出于安全考虑,不推荐)
- 带宽有限
FTP 数据流
[Car Infotainment] ←WiFi→ [Router] ←Ethernet→ [NAS/FTP Server]
↑ ↑
AnExplorer FTP client FTP server (port 21)
Passive data channels Passive port range
所有流量都流经家庭路由器。汽车只是网络上的另一个客户端,就像电话或笔记本电脑一样。不需要特殊的基础设施。
IP配置
大多数汽车通过 DHCP 从家庭路由器接收 IP:
- 汽车被分配IP(例如,192.168.1.X)
- 可以到达同一子网上的任何设备
- DNS 解析适用于主机名
- 车端无需静态IP
提示: 为您的 NAS/FTP 服务器提供静态 IP 或 DHCP 保留,以便汽车保存的 FTP 书签始终连接到正确的地址。
协议机制
连接建立
Car → Server: TCP SYN to port 21
Server → Car: TCP SYN-ACK
Car → Server: TCP ACK (connection established)
Server → Car: 220 Welcome banner
Car → Server: USER car-sync
Server → Car: 331 Password required
Car → Server: PASS ********
Server → Car: 230 Login successful
标准 FTP 握手。汽车的 Android 网络堆栈处理 TCP 建立。AnExplorer 管理 FTP 协议层。
传输操作
下载(RETR):
Car → Server: TYPE I (binary mode)
Car → Server: PASV
Server → Car: 227 (passive port: server:50001)
Car → Server: RETR /media/music/album/track.flac
Car ← Server: [file data flows on passive connection]
Server → Car: 226 Transfer complete
上传(STOR):
Car → Server: PASV
Server → Car: 227 (passive port)
Car → Server: STOR /upload/dashcam/2024-01-15.mp4
Car → Server: [file data flows from car]
Car → Server: 226 Transfer complete
目录操作
- LIST: 完整目录列表(用于浏览)
- NLST: 仅名称列表(更轻,更快)
- MKD: 创建目录(用于上传组织)
- CWD: 更改目录(导航)
- PWD: 打印工作目录(当前位置)
- SIZE: 下载前获取文件大小
汽车特定注意事项
电源管理
汽车信息娱乐系统具有独特的电源状态:
| 状态 | 无线网络 | FTP 影响 |
|---|---|---|
| 发动机启动,停放 | ✅ 活跃 | 完整的 FTP 功能 |
| 发动机关闭,显示屏开启 | ✅ 平时活跃 | FTP 一直工作到系统休眠为止 |
| 发动机关闭,显示屏关闭 | ⚠️ 可能会超时 | 连接可能会断开 |
| 深度睡眠 | ❌ 关闭 | 没有网络访问 |
为了实现可靠的 FTP: 在传输过程中保持汽车“清醒”。在大多数车辆上,启用信息娱乐显示屏可以保持 WiFi 处于活动状态。某些车辆允许“附件模式”(点火至 ACC),该模式可在不运行发动机的情况下维持系统电源。
热注意事项
汽车的计算硬件可能会在极端温度下发生热节流:
- 阳光下的热车:CPU 节流可能会减慢传输速度
- 冬天冷车:电池可能会限制系统功率
- 气候控制有帮助:调节驾驶室也能让电子设备保持舒适
- 对 FTP 的影响:热负载下传输速度稍慢,但功能正常
存储系统
Android 汽车具有:
- 内部闪存: 通常为 32-128 GB。快速输入/输出。主要下载目的地。
- USB 驱动器: 通过汽车的 USB 端口连接。速度取决于 USB 版本和驱动器。
- SD 卡插槽: 某些车辆包含这些。与USB性能类似。
FTP 下载会写入您在 AnExplorer 中导航到的任何存储。内部存储速度最快;USB更便携。
针对汽车使用的服务器优化
超时配置
汽车可能会缓慢导航(触摸界面、短暂中断)。慷慨地设置服务器超时:
# Server-side recommended settings
idle_session_timeout=300 # 5 minutes idle before disconnect
data_connection_timeout=300 # 5 minutes for data channel
如果您停下来看看道路或与车辆控制进行交互,默认超时(通常为 60 秒)可能会在正常浏览期间断开汽车连接。
传输恢复(休息)
启用服务器端恢复支持。如果汽车的 WiFi 在传输过程中掉线(超出范围、信号干扰),则当连接恢复时可以恢复下载:
# Most servers enable this by default
# Verify with: FEAT command should list REST STREAM
目录列出速度
对于大型媒体库,如果一个文件夹中有数千个文件,目录列表可能会很慢。优化:
- 将每个文件夹的文件数控制在 < 100 个以内,以便快速列出
- 使用子目录进行组织(艺术家→专辑→曲目)
- 避免非常深的嵌套(汽车触摸屏导航速度足够慢,没有 10 层)
传输性能基准
在典型汽车硬件上进行测试:
| 内容 | 文件大小 | 5GHz WiFi 时间 | 2.4GHz WiFi 时间 |
|---|---|---|---|
| MP3歌曲 | 5 MB | < 1 秒 | 1-2 秒 |
| FLAC专辑 | 400 MB | 4-20 秒 | 20-80 秒 |
| 电影 (1080p) | 2GB | 20-100 秒 | 100-400 秒 |
| 播客批次(10 eps) | 300 MB | 3-15 秒 | 15-60 秒 |
| 行车记录仪上传(1 小时) | 4GB | 40-200 秒 | 200-800 秒 |
如果您的路由器和汽车硬件支持,强烈建议汽车使用 5 GHz WiFi。与 2.4 GHz 相比,吞吐量差异为 4-5 倍。
汽车环境中的安全性
威胁模型
- 汽车使用家庭 WiFi → 与任何家庭设备具有相同的安全性
- 如果有人访问汽车系统,FTP 凭据就会面临风险
- 保存的书签,如果汽车解锁,则可以访问凭据
缓解措施
- 有限权限 FTP 帐户: “car-sync”用户只能访问媒体和上传目录
- 家庭 WiFi 加密: WPA2/WPA3 加密所有无线流量
- SFTP 替代方案: 使用 SFTP 进行加密连接(稍慢但安全)
- 车辆 PIN 码/锁: 使用安全 PIN 码保护信息娱乐系统
不该做什么
- 不要将 FTP 暴露到互联网上以供汽车在室外访问
- 不要使用与您的管理员帐户相同的 FTP 凭据
- 不要将敏感文件(银行、个人文档)存储在汽车可访问的共享中
- 不要在没有 VPN 的情况下通过公共 WiFi 或蜂窝网络使用 FTP
与汽车工作流程集成
自动化内容管道
设置一个为汽车准备内容的服务器端系统:
- 服务器脚本每晚运行:下载播客、组织音乐、将内容移动到
/car-content/new/ - 汽车例程(在WiFi下停车时):连接FTP,检查
/new/文件夹,下载新鲜内容 - **下载后:**服务器将文件从
/new/移动到/archived/
这就创建了一个“邮箱”系统——服务器准备,汽车消费。
行车记录仪管道
对于行车记录仪录像备份:
- **日常驾驶:**行车记录仪记录到汽车的USB/内部存储器
- 晚上(停车): 打开AnExplorer → 连接 FTP → 导航至行车记录仪文件夹
- 上传: 将当天的录像发送到 NAS(服务器按日期组织)
- 清理: 从汽车存储(可用空间)中删除上传的片段
- NAS端: 应用保留策略(保留最近30天,存档事件)
协议替代方案比较
| 协议 | 最佳汽车用途 | 优势 | 限制 |
|---|---|---|---|
| FTP | 批量媒体加载 | 快速、简单 | 未加密 |
| SFTP | 安全传输 | 加密 | 比 FTP 慢 |
| 中小企业 | 媒体流 | 无需下载即可串流 | 依赖 WiFi 进行播放 |
| 网络DAV | 云/Nextcloud | 防火墙友好 | HTTPS 开销 |
汽车建议: FTP 用于将内容批量加载到内部存储。SMB 用于您不想在本地存储的流媒体。如果担心安全性,则使用 SFTP。
相关指南
- 适用于 Android Automotive 的 FTP 客户端 — FTP 功能概述
- 适用于 Android Automotive 的视频播放器 — 播放下载的视频
- Android Automotive 上的 WebDAV — 替代协议
- 适用于 Android TV 的音乐播放器 — 类似的音频设置
