Accessoires personnalisés

Un accessoire pour Android peut être n'importe quoi: clavier, thermomètre, robot, 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.

Connexion via USB

Un accessoire qui se connecte à un appareil Android via un câble USB doit prendre en charge le protocole Android Open Accessory (AOA), qui spécifie comment un accessoire peut établir la 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 accessoire générique et le débogage adb.
  • AOAv2 . Prend en charge les capacités des périphériques d'interface utilisateur (HID). Disponible sous Android 4.1 (niveau d'API 16) ou supérieur.

Si vous utilisez le protocole d'accessoire général pour communiquer avec votre accessoire (plutôt que l'adb ou le protocole 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 prenant en charge le mode hôte USB.
  • Passez en revue les spécifications AOA pour comprendre comment implémenter ce protocole sur votre matériel accessoire.
  • Passez en revue le code source du micrologiciel ADK 2012 ( <adk-src>/adk2012/board/library/ADK2/ ), qui illustre une implémentation d'un accessoire utilisant une connexion USB pour les communications de données générales et le streaming audio.
  • Lorsque vous prévoyez 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/ ).

Connexion via Bluetooth

Un accessoire qui se connecte à des appareils Android via une connexion Bluetooth peut utiliser des profils de connexion pris en charge par Android, y compris 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 l'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 qui peut prendre en charge les communications Bluetooth et un profil de connexion pris en charge par Android, tel que SSP ou A2DP.
  • Passez en revue le code source du micrologiciel ADK 2012 ( <adk-src>/adk2012/board/library/ADK2/ ), qui comprend un exemple d'implémentation des communications de données générales et du streaming audio à l'aide d'une connexion Bluetooth.
  • Lorsque vous prévoyez 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 ADK 2012 comprend une pile Bluetooth open source conçue pour la puce Texas Instruments CC2564, mais est conçue pour fonctionner avec toute puce Bluetooth prenant en charge une interface hôte / contrôleur (HCI) standard.