Accessoires personnalisés

Un accessoire pour Android peut être n'importe quoi : un clavier, un thermomètre, un robot, une commande d'éclairage ou tout ce que vous pouvez imaginer. Tous les accessoires Android se connectent à un appareil Android d'une manière ou d'une autre. Par conséquent, lors de la création d'un accessoire, vous devez tenir compte du type de connexions que votre accessoire utilisera. Cette page fournit un aperçu rapide de vos options pour connecter votre accessoire Android et une liste de ressources pour vous aider à démarrer.

Connectez-vous via USB

Un accessoire qui se connecte à un appareil Android via un câble USB doit prendre en charge le protocole Android Open Accessories (AOA), qui spécifie comment un accessoire peut établir une communication avec un appareil Android via USB. En raison de la faible puissance de sortie des appareils Android, AOA nécessite que l'accessoire agisse comme un hôte USB, ce qui signifie que l'accessoire de connexion doit alimenter le bus.

AOA a deux versions qui prennent en charge différents types de communication :

  • AOAv1 . Prend en charge la communication des accessoires génériques et le débogage adb.
  • AOAv2 . Prend en charge les capacités du périphérique d'interface humaine (HID). Disponible sous Android 4.1 (API niveau 16) ou supérieur.

Si vous utilisez le protocole accessoire général pour communiquer avec votre accessoire (plutôt que le protocole adb ou audio), vous devez fournir une application Android capable de détecter la connexion de votre accessoire USB et d'établir la communication.

Prochaines étapes

Pour commencer à créer un accessoire Android utilisant une connexion USB :

  • Sélectionnez une plate-forme matérielle ou créez un périphérique matériel pouvant prendre en charge le mode hôte USB.
  • Consultez les spécifications AOA pour comprendre comment implémenter ce protocole sur votre matériel accessoire.
  • Consultez le code source du micrologiciel ADK 2012 ( <adk-src>/adk2012/board/library/ADK2/ ), qui démontre l'implémentation d'un accessoire utilisant une connexion USB pour les communications de données générales et le streaming audio.
  • Lorsque vous envisagez de créer une application Android qui communique avec votre accessoire via USB, consultez le code source de l'application Android ADK 2012 ( <adk-src>/adk2012/app/ ).

Connectez-vous via Bluetooth

Un accessoire qui se connecte à des appareils Android via une connexion Bluetooth peut utiliser les profils de connexion pris en charge par Android, notamment le profil Simple Serial Protocol (SSP) et Advanced Audio Distribution Profile (A2DP). Un accessoire qui utilise Bluetooth pour se connecter à des appareils Android doit prendre en charge les communications Bluetooth et au moins un des profils de connexion pris en charge.

Les utilisateurs doivent activer Bluetooth sur leur appareil Android et s'associer à votre accessoire pour utiliser l'accessoire. Vous pouvez également fournir une application Android secondaire qui gère les communications spécialisées telles que l'entrée de données ou les sorties de contrôle pour s'interfacer avec votre accessoire.

Prochaines étapes

Pour commencer à créer un accessoire Android utilisant une connexion Bluetooth :

  • Sélectionnez une plate-forme matérielle ou créez un périphérique matériel capable de prendre en charge les communications Bluetooth et un profil de connexion pris en charge par Android, tel que SSP ou A2DP.
  • Consultez le code source du micrologiciel ADK 2012 ( <adk-src>/adk2012/board/library/ADK2/ ), qui comprend un exemple d'implémentation de communications de données générales et de streaming audio à l'aide d'une connexion Bluetooth.
  • Lorsque vous envisagez de créer une application Android qui communique avec votre accessoire via Bluetooth, consultez le code source de l'application Android ADK 2012 ( <adk-src>/adk2012/app/ ).

Remarque : Le code source de l'ADK 2012 inclut une pile Bluetooth open source conçue pour la puce Texas Instruments CC2564, mais est conçue pour fonctionner avec n'importe quelle puce Bluetooth prenant en charge une interface hôte/contrôleur (HCI) standard.