IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Open Accessory Mode


Sujet :

Android

  1. #1
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut Open Accessory Mode
    Bonjour,

    Je suis actuellement en train d'écrire un programme en C (et la libusb1.0) pour discuter avec mon téléphone en mode open accessory, comme illustré dans le magasine Open Silicium n°3.

    Mon téléphone est un Samsung Teos. Quid de la version d'Android utilisée.... J'utilise le firmware Samsung mis à jour il y a peu... Il est donc tout à fait possible que ce protocole ne soit pas supporté. Néanmoins, le comportement que j'observe au moment où je lui demande sa version du protocole est "bizarre".

    Pour situer dans la documentation Android, j'en suis à cette étape.. Je fais donc appel à la fonction de la libusb qui est libusb_control_transfer. Mon "soucis" est que la fonction, au lieu de sortir en succès et de me donner une version 0, sort en erreur avec l'erreur suivante : LIBUSB_ERROR_PIPE, ce qui dans le contexte de cette fonction veut dire if the control request was not supported by the device.

    Je ne souhaite pas parler ici des aspects purement C, je cite les détails au cas où. Mes questions sont :
    • comment puis-je savoir si mon téléphone supporte ce mode ?
    • s'il ne le supporte pas, comment "l'installer" ?
    • avez-vous déjà essayer ce mode ? Avez-vous réussi ?
    • pourquoi j'ai une erreur et non une réponse "zéro" comme dit dans la doc Android ?

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Salut,

    Je n'ai jamais encore explorer cette piste de l'open accessory, mais ce que je crois en savoir c'est que ce n'est pas supporté par tous les devices, donc pourrait tu nous préciser la version android de ton telephone et éventuellement également la version du firmware du téléphone ?
    merci
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Je me suis fait un peu violence...euh j'ai cherché dans les paramètres du téléphone et dans Google et j'ai trouvé la version. Dans les paramètres du téléphone, je cherchais un numéro mais elle est donnée par le nom de la version. Dans mon cas, j'ai "Numero de version : FROYO.POJPE" Informations complémentaires :
    • Version Kernel : 2.6.32.9
    • Version du micrologiciel : 2.2

    Pas super à jour les Samsung

    On lit sur le site d'Android :
    Android 3.1 (API level 12) supports USB accessory mode and the feature is also backported to Android 2.3.4 (API level 10) to enable support for a broader range of devices.
    Autrement dit, je n'ai plus qu'à rooter le téléphone pour installer une version plus récente... ce qui ne m'enchante pas franchement.

    Ma interrogation en gras dans la liste reste : pourquoi sortir en erreur au lieu d'un succès avec une version égale à zéro ?

  4. #4
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    A mon avis la sorti en erreur c'est que justement ce n'est pas implémenter sur ton téléphone, donc tu demande quelques chose à ton téléphone qu'il ne connais pas, donc erreur.
    Une sortie avec version = 0 voudrait dire que c'est au moins un minimum implémenté sur ton téléphone... là ça n'a pas l'air d'être le cas.
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    J'espère que c'est bien ça et non un soucis dans mon code

    Si je souhaite installer le protocole sur mon téléphone, est ce que je dois le rooter pour installer une version plus récente d'Android ? Est-ce que cette fonctionnalité sera forcément incluse dans la version 3.1 d'Android ou est ce que cela aussi du matériel ? Je suis totalement noob dans ce domaine

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Ingénieur validation
    Inscrit en
    Janvier 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur validation

    Informations forums :
    Inscription : Janvier 2012
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Usb Open Accessory
    Pour savoir si ton téléphone supporte le mode ou pas, faut savoir la version android sur laquelle tu travailles sachant que :
    Android 3.1 supporte le mode accessoire USB et la fonction est également rétro portés à Android 2.3.4 pour activer le support pour une large gamme d'appareils.
    Sinon tu peux voir la librairie suivante: http://www.microchip.com/stellent/id...cName=en553676
    c'est une application ".run" que tu lances sous linux, elle te fournit ensuite le code source d'une application qui correspond vraisemblablement à ce que tu es entrain de faire, tu vas directement sur le fichier usb_host_android.c sous microchip/usb..
    Peux tu m'expliquer davantage le cadre de ton projet? j'aurais peut être besoin de ton aide

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    J'irai regarder tes liens ce soir, merci.

    J'avais lu ça pour la version 3.1 et le back-port en 2.3.4 Est ce que ça sous-entend que :
    1. si on a une de ces versions, alors on dispose forcément du protocole ?
    2. le protocole est disponible pour les versions intermédaires (3.0 ou 2.3.7 par exemple) ?


    Mon projet n'est pas vraiment un projet... En tout cas, il s'est arrêté prématurément puisque mon téléphone est en version 2.2 d'Android. Mon idée était de suivre un article de magasine qui expliquait comment tester ce protocole directement sur PC. C'est plus facile et surtout économique que d'acheter un module Arduino ou Microchip par exemple. Le premier objectif était d'établir la communication et faire quelques échanges bidons. Si ça avait marché, j'aurais sûrement réfléchi à une application plus étoffée

    D'ailleurs, j'ai rooté mon téléphone pour tenter d'installer une nouvelle version du système....mais ce n'est pas si trivial

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Ingénieur validation
    Inscrit en
    Janvier 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur validation

    Informations forums :
    Inscription : Janvier 2012
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Bktero Voir le message
    J'irai regarder tes liens ce soir, merci.

    J'avais lu ça pour la version 3.1 et le back-port en 2.3.4 Est ce que ça sous-entend que :
    1. si on a une de ces versions, alors on dispose forcément du protocole ?
    2. le protocole est disponible pour les versions intermédaires (3.0 ou 2.3.7 par exemple) ?


    Mon projet n'est pas vraiment un projet... En tout cas, il s'est arrêté prématurément puisque mon téléphone est en version 2.2 d'Android. Mon idée était de suivre un article de magasine qui expliquait comment tester ce protocole directement sur PC. C'est plus facile et surtout économique que d'acheter un module Arduino ou Microchip par exemple. Le premier objectif était d'établir la communication et faire quelques échanges bidons. Si ça avait marché, j'aurais sûrement réfléchi à une application plus étoffée

    D'ailleurs, j'ai rooté mon téléphone pour tenter d'installer une nouvelle version du système....mais ce n'est pas si trivial
    Bonjour,
    oui tte à fait il te faut des version >=2.3.4
    Par contre peux tu m'expliquer STP l'apport de ce protocole?
    après une petite recherche je viens de retenir que ce protocole fonctionne au-dessus du protocole usb et utilise entre autres les Api USB.
    je veux savoir exactement qu'est ce qu'il fait ? et qu'est ce qu'il apporte de plus/USB Standard?

  9. #9
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    USB accessory mode allows users to connect USB host hardware specifically designed for Android-powered devices. The accessories must adhere to the Android accessory protocol outlined in the Android Accessory Development Kit documentation. This allows Android-powered devices that cannot act as a USB host to still interact with USB hardware. When an Android-powered device is in USB accessory mode, the attached Android USB accessory acts as the host, provides power to the USB bus, and enumerates connected devices. Android 3.1 (API level 12) supports USB accessory mode and the feature is also backported to Android 2.3.4 (API level 10) to enable support for a broader range of devices.
    Source : http://developer.android.com/guide/t...accessory.html

    Je ne sais pas si ça répond complètement mais je n'ai pas mieux

Discussions similaires

  1. [XL-2013] Workbooks.Open et mode protégé bannière rouge
    Par Quentinou dans le forum Excel
    Réponses: 3
    Dernier message: 02/04/2014, 19h20
  2. [XL-2010] Worgroup.Open et Mode protégé bannière rouge
    Par Kalion dans le forum Excel
    Réponses: 2
    Dernier message: 14/03/2014, 10h24
  3. Android Open Accessory applications
    Par amine psyco dans le forum Android
    Réponses: 0
    Dernier message: 11/07/2013, 14h45
  4. Android Open Accessory
    Par myrou dans le forum Android
    Réponses: 1
    Dernier message: 11/07/2013, 14h38
  5. Réponses: 1
    Dernier message: 03/07/2012, 23h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo