Comment utiliser nos coupleurs USB sous Android ?
Le tsunami Android
En quelques années, Android s’est imposé comme le système d’exploitation le plus diffusé au monde, avec plus d’un milliard d’appareils vendus rien qu’en 2016. Smartphones, tablettes, ordinateurs personnels low-cost ou terminaux industriels, objets connectés, aucun segment de marché ne semble pouvoir échapper à la tornade Android !
Connectivité USB
Si la plupart des tablettes et autres terminaux grands publics sont dépourvus de connectique USB et doivent se contenter de périphériques sans fils, les équipements destinés aux professionnels peuvent accéder au vaste catalogue des périphériques USB initialement conçus pour les ordinateurs personnels - pourvu que le fabricant ait prévu une solution logicielle ou un pilote pour Android, et ils sont encore peu nombreux.
Le service SpringCard USB PC/SC
SpringCard a fait cet effort il y a déjà plusieurs années en développant le SpringCard USB PC/SC Service, disponible sur Google Play Store, et associé à une librairie cliente open-source, à télécharger sur GitHub.
Les applications sont multiples : terminal commerçant associé à un système de cartes de fidélité RFID ou à un porte-monnaie électronique sur carte sans-contact, lecture de forfaits de ski ou de badges d’accès à un événement… le tout sans le coût ni la lourdeur d’administration d’un PC sous Windows.
Concrètement, notre service pour Android utilise l’API USB Host d’Android pour communiquer avec les coupleurs PC/SC SpringCard, comme par exemple le Prox’N’Roll HSP PC/SC, et la librairie cliente envoie ses APDUs à la carte sans-contact à travers le service, comme elle le ferait dans un flux SCardTransmit sous Windows ou Unix.
Avantages
Cette architecture assure la compatibilité immédiate avec toutes les tablettes dotées d’un véritable port USB Host (elles sont hélas peu nombreuses sur le marché), sans qu’il soit nécessaire de produire une image spécifique du système, puisque tous les développements sont faits en Java et permettent une installation depuis le Play Store.
Il est aussi théoriquement possible d’utiliser une tablette munie plus classiquement d’un port USB On-The-Go (OTG) à travers un adaptateur, mais cette mise en oeuvre peut être contrariée par des problématiques d’alimentation (incapacité de la tablette à fournir suffisamment d’énergie au coupleur, impossibilité sur la plupart des tablettes de recharger sa batterie tant qu’il y a un périphérique connecté sur le port OTG). Il est donc nécessaire de valider sérieusement le dispositif avec la tablette pressentie avant tout déploiement !
Usage industriel
Les fabricants qui conçoivent leur propre terminal Android avec une image spécifique du système peuvent également profiter du SpringCard USB PC/SC Service. Cependant, il est vraisemblable que les performances d’une telle implémentation CCID en Java seront en retrait par rapport à une solution utilisant un driver en code C natif. Or, cette solution existe : le projet open-source Seek-For-Android propose (entre autre) un portage sur Android de PCSC-Lite (largement utilisé dans le monde Linux) et de son driver CCID, compatible avec tous les coupleurs PC/SC SpringCard.
Une solution plus industrielle, mais qui impose évidemment de maîtriser son BSP (Board Support package) afin de pouvoir rajouter toutes les couches indispensables à Seek-For-Android dans son image du système.
N’hésitez pas à vous reporter à notre article (blog technique) pour plus de détails et à nous contacter pour toute question.
Prochainement
Notez que SpringCard contribue sans cesse à faciliter les usages du sans-contact. Afin de répondre aux besoins de mobilité (incluant l’usage de smartphones et de terminaux professionnels, pour des usages de logistique, de contrôle, d’inspection de terrain, etc.), mais aussi aux besoins d’interaction sans fil (tablettes ou terminaux sans ports USB), nos ingénieurs travaillent sur une nouvelle palette de solutions BLE (Bluetooth Low Energy).
À suivre dans un prochain article…
Publié le 27/01/2017
Laisser un commentaire