2010-08-08 4 views
4

Nous avons conçu un périphérique qui peut servir d'hôte ou d'esclave USB et traiter les données qu'il reçoit. Je veux utiliser les téléphones Android pour envoyer les données via USB. Mes recherches m'amènent à conclure que nous ne pouvons pas utiliser les appareils Android en mode hôte USB sans modifier le matériel ou le système d'exploitation. Ce n'est pas une option car cela va être un dispositif commercialement déployé.Android: Communiquer avec un périphérique USB servant d'hôte

Cependant, je n'ai trouvé aucune information sur l'utilisation du téléphone Android comme esclave. Ceci est déjà techniquement possible car il peut se connecter au PC dans une configuration similaire. Pouvons-nous faire de même via une application? Si oui, toute information sur la façon d'y parvenir sera grandement appréciée. J'ai un accès complet au système embarqué de notre appareil, donc le code personnalisé ne devrait pas poser de problème.

+1

Jetez un oeil à http://stackoverflow.com/questions/3803871/android-apps-communicating-with-a-device-plugged-in-the-usb-port - la nouvelle réponse est l'ADK http://developer.android.com/guide/topics/usb/adk.html (publié après avoir posé la question) –

Répondre

7

déjà techniquement possible , car il peut se connecter à l'ordinateur dans une configuration similaire .

Seulement pour les choses cuites dans le firmware. Votre application SDK ne peut pas inventer de nouveaux pilotes de périphériques Linux, ni accéder au périphérique Android de la connexion adb. Pouvons-nous faire de même via une application?

Puisque vous n'avez pas dit ce que vous essayez de faire, il est impossible de répondre de façon définitive. Supposons, par exemple, que le «périphérique qui peut agir comme un hôte ou un esclave USB et traite les données qu'il reçoit» veut des captures d'écran de l'appareil Android. Cela est éminemment possible via adb, parce que adb a un protocole pour cela intégré. Tout ce que vous devez faire est de faire connecter votre appareil à l'appareil Android via le protocole adb et demander des captures d'écran, pas différent que DDMS ou hierarchyviewer. Donc, je regarderais le problème sous un angle différent: si vous pouvez l'accomplir via DDMS, vous pouvez le faire via votre périphérique personnalisé. Si vous pouvez le faire via les commandes adb shell, vous pouvez le faire via votre périphérique personnalisé. Si vous ne pouvez pas atteindre vos objectifs via des interfaces existantes, vous ne pourrez pas en inventer de nouvelles via USB, vous serez bloqué. En théorie, vous pouvez brancher votre appareil personnalisé dans un dongle Bluetooth ou WiFi, puis utiliser ceux sur Android pour la communication.

+0

Merci pour la réponse! L'appareil est une imprimante spécialisée. Le support Bluetooth/WiFi est prévu, mais pas dans la version actuelle. Mais ce que vous dites sur ADB et DDMS est intéressant. Je vais regarder plus loin, merci beaucoup. – Vaayu

+0

@CommonsWare: Pouvez-vous répondre à mon QN J'ai posté ici http://stackoverflow.com/questions/12841332/how-to-detect-usb-device-in-android – Prasad

Questions connexes