Enioka Scan est une bibliothèque Android open-source qui simplifie l’intégration des scanners de code-barre dans son application.
La bibliothèque a récemment sorti sa version 2.4, ajoutant une interface avec les services DataWedge de Zebra, et ainsi la compatibilité avec de nombreux scanners Android autonomes de ce fabricant. Cette version comporte également de nombreuses améliorations de la camera, notamment la possibilité de relancer manuellement l'autofocus, de récupérer l'image du dernier scan, et un indicateur visuel de l’état de pause du scanner.
Les scanners de code-barre souffrent d’un problème répandu : en plus de la base commune, chacun ajoute des fonctionnalités propres et chaque constructeur propose son propre SDK, souvent propriétaire et/ou mal documenté. Pire, il arrive que le constructeur sorte sa propre application sans possibilité de customisation. Avec toutes ces spécificités qui limitent ou interdisent la compatibilité logicielle voire matérielle, il devient donc difficile de changer de constructeur voire de modèle, et impossible de faire cohabiter simplement des scanners de marques différentes au sein d’une même application.
Enioka Scan propose une abstraction aux SDKs propres à chaque scanner et expose une unique API comportant les fonctionnalités les plus utilisées (lecture de code barre, illumination, signaux sonores, etc.) : il n’y a besoin de maintenir qu’une seule application quel que soit le constructeur, et il devient enfin possible de choisir librement son fournisseur sans contrainte de compatibilité. Certains scanners nécessitent encore un SDK propriétaire afin d’être compatibles, mais la majorité fonctionne grâce à un driver open-source inclus dans la bibliothèque.
Aller plus loin
- Journal à l’origine de la dépêche (60 clics)
- Le projet Enioka Scan sur GitHub (96 clics)
- Annonce de la disponibilité de enioka Scan 2.4 (37 clics)
- Maven Central (15 clics)
- Présentation du process de rétro-ingénierie utilisé pour Enioka Scan (49 clics)
# Usage initial et "alternative"
Posté par Frédéric Heulin . Évalué à 2.
Je suis curieux de savoir pour quel usage la lib a été créée initialement : logiciel de caisse, logiciel de gestion de stock ?
Il n'y a pas (il me semble) de section détaillant des logiciels connus pour utiliser enioka ?
Et sinon, y a-t-il un avantage à utiliser un scanner externe plutôt que les solutions qui utilisent la caméra du smartphone ?
(Je cherche d'ailleurs une alternative à scandit demo pour lire tous les code barres/qrcode … efficacement, quitte à contribuer !)
[^] # Re: Usage initial et "alternative"
Posté par orfenor . Évalué à 4.
La rapidité. Les scanners professionnels sont conçus pour ça. Non seulement ils scannent vite mais décodent aussi très vite les multiples formats de codes barre et flashcode. En période d'inventaire, par exemple, c'est très précieux.
[^] # Re: Usage initial et "alternative"
Posté par BAud (site web personnel) . Évalué à 3.
pourquoi s'embêter avec une appli proprio qui a 0 étoiles sur https://alternativeto.net/software/scandit-barcode-scanner/ ?
il y a déjà de quoi faire avec https://search.f-droid.org/?q=qr&lang=fr
ou aussi https://alternativeto.net/software/barcode-scanner/?license=opensource
[^] # Re: Usage initial et "alternative"
Posté par Frédéric Heulin . Évalué à 1.
Oui j'ai vu ça en rédigeant mon commentaire, je vais m'empresser de (re?)tester ça. Merci de vos réponses respectives.
[^] # Re: Usage initial et "alternative"
Posté par DaSpood . Évalué à 3. Dernière modification le 22 novembre 2023 à 10:59.
Dans notre cas, plutôt chaîne logistique, mais en théorie pas de limitation particulière au cas d'usage, du moment que l'appareil "maître" utilise Android.
Je n'ai pas de chiffre a jour, et je ne peux bien évidemment pas révéler l’identité de clients, mais a ma connaissance la bibliothèque tourne plusieurs milliers de terminaux dans un contexte pro.
Dans un cas d'usage qui nécessite un traitement rapide, par exemple sur une chaîne logistique ou les codes barre défilent et il ne serait pas pratique de dépendre d'un smartphone (temps de mise au point, contraintes de luminosité…), un appareil de scan laser permet de garantir un scan efficace rapide. Même exemple sur les caisses d'un supermarché, même si en théorie une camera fonctionnerait, dans la pratique la nature aléatoire du placement des objets a scanner fait qu'un scanner laser sera préféré.
Toutefois pour du scan a petit volume, par exemple pour un facteur livrant quelques colis a la fois, la camera d'un smartphone suffit, mais la problématique devient "comment traiter la donnée lue par ma camera automatiquement dans une application". La bibliothèque gère la camera comme n'importe quel autre scanner, donc on garde la possibilité d'automatiser le traitement des scans sans avoir a copier-coller manuellement les codes lus.
[^] # Re: Usage initial et "alternative"
Posté par Frédéric Heulin . Évalué à 1.
Merci pour cette réponse, je vois beaucoup mieux l'usage maintenant.
Je vois que des marques comme Zebra propose aussi des lecteurs RFID, est-ce que ça pourrait être une cible pour enioka à terme ou ce sont des appareils trop différents ?
[^] # Re: Usage initial et "alternative"
Posté par DaSpood . Évalué à 1.
Les RFID semblent répondre a des cas d'usage assez différents avec surtout un matériel fonctionnant d'une autre manière que les scanners de code barre, donc probablement un set de fonctionnalités et contraintes assez éloignés. Pour le moment ce n'est pas dans nos projets, et cela irait probablement mieux dans une bibliothèque différente, plus spécifique a ce type marqueurs.
# Zebra
Posté par ff9097 . Évalué à 3.
J'ai eu à travailler avec un scanner Zebra sous Android et en gros il faut fuir comme la peste le SDK Zebra. Il est possible de configurer Datawedge pour simplement recevoir un "broadcast intent" dans son application (en gros la chaine de caractère contenant le scan).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.