Lire et écrivain de données via le port USB sur Android 3.1
Je suis en train d'écrire une application android pour lire et écrire des données à partir d'une tablette android à notre appareil embarqué. La tablette et intégré de l'appareil sont connectés via un adaptateur usb-série. Est-il possible de lire les données à partir du périphérique intégré dans notre tablette android? Les exemples de code que je peux prendre un coup d'oeil à?
Avez-vous vu ceci ou ceci de la documentation?
Oui, Jack, j'ai lu le plus récent. J'ai commencé une nouvelle question, veuillez jeter un oeil. Merci!
Oui, Jack, j'ai lu le plus récent. J'ai commencé une nouvelle question, veuillez jeter un oeil. Merci!
OriginalL'auteur dan | 2012-04-26
Vous devez vous connecter pour publier un commentaire.
Comme un convertisseur série USB appareil, la tablette android de a à agir comme un USB hôte. Cette fonctionnalité est disponible depuis Android 3.1. La documentation de l'API est disponible sur le développeur android page et contient des exemples de code.
De réellement communiquer avec le convertisseur, vous aurez à en savoir un peu plus sur elle-même: Il ya beaucoup de différents appareils sur le marché, certains à l'aide de l'USB HID, d'autres sont en utilisant le câble USB CDC appareil de classe ou de ne même pas se conformer à toute la classe. Le linux lsusb commande peut être utile pour obtenir de l'appareil/l'interface de descripteurs.
Sur un typique de la CDC de l'appareil, vous aurez à interagir avec les deux en vrac les points de terminaison et probablement utiliser une interface demandes liées à la configuration de la vitesse en bauds, etc. Voir le Dispositif de Communication spécification de Classe sur L'USB implementers forum.
Si votre appareil n'a qu'un seul et un point de sortie en bloc (à côté du point de sortie de contrôle), vous pouvez utiliser le UsbDeviceConnection.bulkTransfer() la méthode sur le point de terminaison pour écrire des octets de la ligne série. Il ya une bonne chance ce sera juste le travail, mais pour un nettoyage de mise en œuvre vous devez vous en tenir à la spécification de classe.
Salut Bill, oui à droite linux ou mac est à portée de main ici. Il y a peut être des outils sous Windows, mais sous linux il est vraiment simple. Vous pouvez utiliser un linux live CD/USB de démarrage de la version. Ensuite, exécutez la commande lsusb dans un shell avec votre convertisseur relié à l'ordinateur. Il devrait apparaître dans la sortie de la commande. Le mien ressemble à:
Bus 004 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Les chiffres après ID sont les fournisseur : Id de votre appareil. Ensuite, exécutez
lsusb -v -d 067b:2303
pour obtenir le plein descripteur de périphérique. Vous pourrez y lire à propos de la classe et sous-classe. Comme vous ne semblez pas tout à fait familier avec USB je vous suggère de lire un peu plus sur l'ensemble de l'USB concept. Peut-être que ici. Cela vous aidera à obtenir votre objectif.J'ai commencé une nouvelle question de suivi, veuillez jeter un oeil à ce parce que, pour une raison quelconque, il ne pourrait pas ajouter un commentaire tout à l'heure... Merci!
OriginalL'auteur Alexander
Je suggère d'utiliser le porté usb-pour-android lib, qui a le PL2303 pilote déjà mis en œuvre:
https://code.google.com/r/felixhaedicke-usb-serial-for-android
Je l'ai utilisé avec succès.
OriginalL'auteur Vaiden