Apple External Accessory

Apple EA 外设完整方案:USB iAP2 + Classic Bluetooth 双传输

从外设端底层通信程序、MFi 认证芯片、iAP2 会话,到 iOS ExternalAccessory.framework / EASession 与业务 App,完成端到端开发。

USB iAP2Classic Bluetooth EAMFi 3.0 / 4.0EASessionExternalAccessory.framework
Apple External Accessory USB iAP2 与经典蓝牙双传输完整方案图
点击图片查看完整架构图

Dual Transport Architecture

USB iAP2 与 Classic Bluetooth EA 双模实现

同一套 EA 协议和业务数据层,通过 USB 与经典蓝牙两种传输适配器连接 iPhone / iPad,统一处理认证、会话、互斥和恢复。

  • USB Device / FunctionFS 与 Bluetooth Classic / RFCOMM
  • MFi 3.0 / 4.0 Authentication Coprocessor
  • ExternalAccessory.framework / EASession 双向数据流

Engineering Flow

Apple EA 双传输通信流程

01

外设功能与协议定义

确定 Protocol String、业务数据格式、传输方式和异常策略。

  • USB / Bluetooth / 双模
  • 数据帧与版本
  • 传输互斥与切换
02

物理连接与建链

USB 走 Device / Gadget;经典蓝牙完成 BR/EDR 配对和 RFCOMM 通道。

  • USB 枚举
  • BR/EDR Pairing
  • RFCOMM / SDP
03

iAP2 Identification

交换版本、能力和协议字符串,使 iPhone / iPad 识别 EA 外设。

  • Protocol Version
  • Protocol String
  • Capabilities
04

MFi Authentication

通过 MFi 3.0 / 4.0 Authentication Coprocessor 完成 Challenge / Response。

  • I²C / SPI
  • 证书与密钥安全
  • 超时与重试
05

Control 与 EA Session

建立 Control Session,随后打开 EA Protocol Session。

  • Session 状态机
  • InputStream / OutputStream
  • KeepAlive / Timeout
06

业务数据与恢复

实现双向数据收发、断连通知、资源释放和自动重连。

  • 数据封包 / 拆包
  • USB / BT 恢复
  • 状态重同步

Architecture

Apple EA 端到端架构

iOS App
EAAccessoryManagerEAAccessoryEASessionInputStream / OutputStream
iAP2 / EA
IdentificationAuthenticationControl SessionEA Protocol Session
双传输
USB iAP2Classic Bluetooth EARFCOMM链路互斥 / 切换
外设程序
EA Protocol EngineTransport Adapter业务数据处理异常恢复
系统与硬件
Android / Linux DaemonFunctionFS / ConfigFSMFi 3.0 / 4.0USB / BT PHY

Dual Transport

有线与无线不是两套彼此孤立的业务协议

统一 EA 协议层

业务层保持一致,USB 与 Bluetooth 由传输适配层承载。

  • 统一数据格式
  • 统一 Session 生命周期
  • 统一错误码

传输互斥与切换

按产品策略处理同时存在、优先级、释放和恢复。

  • 同一时间激活策略
  • 异常切换
  • 状态同步

iOS App 通信

通过 EASession 的 Stream 与外设进行双向数据通信。

  • 前后台切换
  • 断连通知
  • 版本兼容

FAQ

常见问题与技术说明

围绕项目范围、技术边界、实施条件和交付内容进行说明。

Apple EA 是否支持无线实现?

支持。可基于 Classic Bluetooth 建立 EA 通信链路,并与 USB iAP2 共用统一的 EA 协议与业务数据层。

是否支持 MFi 3.0 和 MFi 4.0 芯片?

支持 MFi 3.0 / MFi 4.0 Authentication Coprocessor 的外设侧接入、驱动通信和认证链路调试。

是否包含 iOS App?

可以包含。可开发或集成 ExternalAccessory.framework、EAAccessoryManager、EASession 和 Stream 数据通信模块。