Pourquoi tester ce lecteur de code barre et QR-Code ? De temps en temps je participe aux activités d’une association qui vend à bas prix des vêtements (toutes tailles y compris puériculture), des objets de puériculture et jeux d’enfants et ados (peluches, petits jouets…). Je valide les jouets ou petits ordinateurs/consoles… (État de la batterie, coulures de piles, pas de mot de passe, présence de la doc…) …
Au sommaire :
- 1 Module lecteur de QR-code et Code Barre YHD-M800D
- 2 Code-barre, codes-barres, code à barres, QR code…
- 2.1 Le code-barres : pour quoi faire ?
- 2.2 Quelques types de code-barres utilisés
- 2.3 Code39
- 2.4 Code-barre 128
- 2.5 Code EAN13
- 2.6 Code-barres UPC
- 2.7 QR-code
- 2.8 Le Scanner de code barre / QR Code YHD-M800D
- 2.9 Les dessous de la carte Scanner Code Barre / QR code
- 2.10 La notice
- 2.11 Caractéristiques
- 2.12 Boîtier en 3D
- 2.13 Les tests
- 3 Conclusion
- 4 Sources
Module lecteur de QR-code et Code Barre YHD-M800D
Là où j’ai un peu de mal, c’est que tous les objets, et il y en a des centaines, sont étiquetés manuellement, notés dans un cahier… Les personnes viennent déposer des objets à vendre. Chaque objet est examiné et validé manuellement. Une étiquette est fixée avec le pistolet ci-contre. Pour les jouets c’est une étiquette ficelée ou autocollante. Tout est mis en expo dans une grande salle. Après la vente, les membres de l’association font un inventaire manuel et re-pointent ce qui n’a pas été vendu. Les objets sont regroupés par vendeur et les déposants peuvent récupérer le montant de la vente (moins le % de l’asso) ainsi que les invendus.
Ces manipulations m’agacent un peu et j’imagine un système avec un Raspberry Pi qui gèrerait tout ça en automatique, avec un lecteur de code barre / QR-code et une imprimante de codes barres. Mais bon, c’est pas gagné car l’inertie est importante dans ce genre d’association 😀 , du genre : « On a toujours fait comme ça », « T’es sûr que c’est fiable ton truc? » etc… etc…
Un lecteur de codes pas cher
La première étape est de trouver un lecteur de code QR et code barre pas trop cher. Il y a des modèles disponibles en ligne sous forme de douchette sans fil, en USB… je me suis arrêté sur ce lecteur miniature qui dispose d’une sortie au choix (USB ou série).
Code-barre, codes-barres, code à barres, QR code…
L’orthographe de notre sujet du jour n’est pas aussi nette que les barres qui composent le code 😀 . Après s’être appelé code à barres il est devenu le code-barres (bin oui il y a plusieurs barres) et codes-barres au pluriel. On trouve aussi parfois codabar… Pour nos voisins anglo-saxons, c’est barcode qu’on le nomme.
Le code-barres : pour quoi faire ?
Le code à barres permet d’identifier un produit rapidement et il offre d’autres avantages : voici quelques utilisations courantes du code à barres :
- Entrer un produit en stock
- Sortir un produit du stock
- Connaître le prix du produit
- Lancer automatiquement une commande
- Assurer la traçabilité d’un produit, d’un colis
- Gérer des prêts de livres, de films
- …
Quelques types de code-barres utilisés
Parmi la quantité de codes disponibles (voir les sources) voici quelques exemples qui vous rappelleront sans doute des choses… Avec un décryptage de ces codes. Mais si vous voulez en savoir plus, faites un tour chez Gomaro.
Code39
Le code 39 est le code-barres le plus utilisé dans les applications industrielles. Il est alphanumérique et permet de coder 43 caractères : 0-9, A-Z, plus quelques symboles (– , . , Espace, * , $ , / , + , %). Ce code-barres est de longueur variable, bidirectionnel (il se lit dans les deux sens). Son nom provient de sa structure qui est de 3 parmi 9.
Chaque caractère est toujours composé de 9 éléments : 5 barres et 4 espaces.
Chaque barre ou espace est large ou étroit et 3 parmi les 9 éléments sont toujours larges. C’est d’ailleurs ce qui est à l’origine de son nom : Code 39
Code-barre 128
Le code-barres 128 est un code utilisé en transport, santé, industrie et distribution. Chaque caractère est composé de 11 modules blancs ou noirs. Ces 11 modules composent 3 barres et 3 espaces. La largeur de chaque barre et espace varie de 1 à 4 modules. Le caractère STOP est composé de 13 modules.
Code EAN13
EAN signifie European Article Numbering = Numérotation Européenne des articles.
Celui là vous le connaissez forcément, c’est celui qu’on trouve sur tous les produits vendus en supermarché. Il diffère de l’UPC qui suit par l’affichage de 13 chiffres au lieu de 12… D’où son nom EAN13 !
Celui-ci a été pris sur un Hortensia rouge vendu en jardinerie. Au début du code 33 représente la France.
Le code peut se décomposer comme sur l’image à gauche ( © Gomaro) : le préfixe est le code du pays, le N° de participant identifie l’entreprise.
Le N° d’article désigne l’article de ce fabricant.
Enfin un dernier chiffre sert de clé de vérification pour s’assurer que le code a été lu correctement.
Celui-là est pas mal aussi… C’est un code débutant par 978, ce qui indique que c’est un livre. Ici c’est donc aussi le N° ISBN du livre (ah oui, c’est le Raspberry Pi 2 de chez ENI 🙂 )… L’ISBN (International Standard Book Number ou Numéro international normalisé du livre) est un numéro international qui permet d’identifier de manière unique chaque édition de chaque livre publié, que son support soit numérique ou sur papier. Il est destiné à simplifier la gestion informatique pour tous les intervenants de la chaîne du livre (imprimeur, éditeur, libraire, bibliothèque, etc.).
Après le code 978 qui indique que ce code concerne un livre, l’ISBN se décompose ainsi :
- 1 chiffre pour le groupe
- 6 chiffres pour l’éditeur
- 2 chiffres pour le titre
- 1 clé de vérification
Code-barres UPC
C’est un équivalent américain du code EAN13. Historiquement le code universel des produits (en anglais Universal Product Code) est le premier système d’identification numérique utilisé aux États-Unis et au Canada, pour les articles vendus en magasin. Il a été inventé dans les années 1970 par George Laurer, ingénieur chez IBM, et adopté en mai 1973. Celui qui est représenté ci-dessus figure sur… la boîte d’un Raspberry Pi 3 made in UK, distribué par Kubii.
Dans le code-barres, chaque chiffre est représenté par un agencement de barres et d’espace, au nombre de sept en tout.
Selon que le chiffre se trouve dans la partie gauche (L) ou droite (R), sa représentation diffère. Les R sont le complément à 1 des L. Cette différence a pour but de permettre la reconnaissance du produit, que la lecture soit faite de gauche à droite, ou vice-versa.Les barres de garde, surlignées en vert, séparent deux groupes de six chiffres.
Depuis 2004, l’organisme de réglementation Uniform Code Council oblige tous les systèmes commerciaux de reconnaissance de code-barres à reconnaître l’UPC et l’EAN dès la fin de 2004.
QR-code
Un code QR (en anglais QR code), en forme longue quick response code (« code à réponse rapide »), est un type de code-barres à deux dimensions constitué de modules-carrés noirs disposés dans un carré à fond blanc. Ces points définissent l’information que contient le code.
Ce dessin, lisible par machine, peut être visualisé sur l’écran d’un appareil mobile ou imprimé sur papier. Il existe d’autres formats de code-barres deux dimensions au fonctionnement similaire, comme le Flashcode ou encore le 2D-Doc, confondus avec le code QR. (Source et plus d’infos sur Wikipedia)
Le Scanner de code barre / QR Code YHD-M800D
Le scanner de code seul est de taille réduite. Ici il ne comporte pas l’adaptateur USB ou série qui va augmenter sa taille. Le câble USB est livré avec le scanner
Le scanner peut lire des codes barres classique 1D, mais aussi des codes QR en 2D. En USB il simule une saisie au clavier, ce qui fait qu’il ne nécessite aucun driver. Il suffira d’ouvrir l’application qui sera utilisée et de scanner les codes pour remplir les champs de données.
Ci-dessus les dimensions de la carte complète, avec le scanner et l’adaptateur USB.
Vous pouvez également choisir d’utiliser directement le scanner et de développer votre interface. Vous accéderez alors directement à l’interface du scanner.
En fonction de votre configuration, vous pouvez choisir différents types d’interface.
Le capteur comporte de gauche à droite une LED rouge pour éclairer le code barre, le capteur CMOS et deux LED blanches haute luminosité pour éclairer la cible :
Sur le dessus du capteur, le microprocesseur V133 Allwinner qui gère le scanner et sa configuration en fonction des codes qui sont lus dans le manuel de configuration.
Sur cette vue de dessus, on voit les composants ajoutés sur la carte d’interface : la LED D1 qui clignote quand la lecture est faite et au dessus de la prise USB le Beeper qui signale auditivement la prise en compte du code barre.
Sur ces photos vous voyez le scanner sous différents angles. On repère le bouton poussoir qui déclenche la lecture et la LED qui confirme la bonne prise en compte du code barre. Le tapis sous le scanner donne l’échelle.
Les dessous de la carte Scanner Code Barre / QR code
Alors que les composants CMS ont été soudés automatiquement, les composants traversants ont été soudés à la main, ce qui réserve quelques surprises. J’ai dû couper les pattes, en particulier celles de la LED et du buzzer, pour que l’ensemble ne soit pas trop épais et rentre dans un boîtier sans être gêné par ces pattes.
La notice
Le service client YHDAA m’a envoyé le manuel utilisateur du Scanner en PDF, vous pouvez le télécharger en cliquant sur ce lien. Il y a aussi le driver pour Windows 7… au cas où !
Caractéristiques
- Taille miniature : 21 x 16 x 17 mm + adaptateur USB = 44 x 33 x 17 mm
- Plug and play, sans pilote, pratique à utiliser.
- Existe avec interface RS232, USB, TTL, Micro USB.
- Le scanner lit les codes à barres 2D et 1D imprimés sur les étiquettes ou affichés sur les écrans des appareils.
- Petite taille, facile à intégrer dans n’importe quel appareil, en particulier pour les applications à espace limité.
- Puissante capacité de décodage pour la plupart des codes 1D et 2D, peut lire des codes incomplets et flous.
- Facilite le développement d’applications – les instruction de développement du port série sont complètes pour permettre de développer un contrôle interactif à partir de l’ordinateur hôte.
- Champs d’application : casier à colis, casier de supermarché, machine de billetterie, machine de vente en libre service, armoire express intelligente, kiosque, casier, machine de contrôle d’accès, magasin libre-service, machine d’enregistrement, guichet bancaire, ligne d’assemblage d’usine, logistique, hôpital, PDA, etc.
- Si vous avez des besoins particuliers, le scanner peut être personnalisé selon votre demande
Nom du produit | YHD-M800D 2D CMOS Module Scanner Barcode |
Capteur | CMOS 640×480 CMOS (300 000 pixels) |
Source optique | Diode rouge visible 620nm |
Scan | Balayage à détection automatique |
Informations en retour | Buzzer et LED |
Vitesse de décodage | 500 fois/seconde |
Contraste minimum | ≥ 25% |
Résolution | 0,1 mm |
Décodage | 1D : UPC/EAN, avec UPC/EAN complémentaire, Code128, Code39, Code 39Full ASCII,Coda bar,industriel /Interleaved 2 of 5 Code93,MSI,Code11,ISBN,ISSN,China post,GS1 Databar,etc.
2D : PDF417 QR Aztec DataMatrix Maxicode MicroPDF417 etc. |
Profondeur de champ | 40-120mm Code 39(5MIL) 20-300mm EAN-13 (13MIL) 25-340mm Code 39(20MIL) 15-500mm Code 39(40MIL) 20-150mm PDF417(6.8MIL) 15-250mm QR Code(20MIL) |
Angle de lecture | Roulis 360°, tangage ± 65°, inclinaison ±60°. |
Consommation | Max. : 212mA En fonctionnement : 156mA~212mA En veille : 156mA |
Tension | 3.3 V ± 10% continu |
Température de stockage | -40°C ~ 70°C |
Température de fonctionnement | -20°C ~ 60°C |
Humidité relative | 0 ~ 95% |
Poids | 3g (scanner sans câble et sans carte d’adaptation)
11g (scanner avec câble et carte d’adaptation) |
Test de chute | Résiste à une chute de 1,5 m sur du béton |
Boîtier en 3D
Bien entendu le module est livré « tel quel » et n’a pas de boîtier. pour éviter tout risque « d’accident » j’ai dessiné vite fait un boîtier.
Mesure des cotes du scanner code barre / QR Code. J’ai dessiné une platine dans Fusion 360 pour simuler la carte et ses principaux composants.
Le boîtier avec la carte à l’intérieur
Le boîtier sans la carte. J’ai dû ajuster un peu le trou de passage du bouton poussoir et le plat à l’arrière du bouton, mais tout rentre bien.
Le boîtier avec ses deux ouvertures. La carte se positionne sur les encoches des piliers et le couvercle vient bloquer la carte. Pensez à mettre en place le bouton poussoir avent de fermer…
L’ensemble des fichiers 3D est disponible en cliquant sur ce lien.
Il a fallu réduire la taille de ces pattes de composants, inutilement longues.
La carte se positionne dans les encoches prévues sur les piliers
Le bouton poussoir en place après un petit ajustement à la lime…
Le scanner bien à l’abri dans son boîtier. Le couvercle est en place sur le dessus et bloque la carte. Il resterait à faire un guide de lumière pour ramener la lumière de la LED sur le dessus du boîtier, mais le bip est suffisant pour savoir qu’on a bien lu.
Les tests
Ce qui est intéressant c’est aussi le test pour voir si le produit répond bien…
J’ai testé sur un Pi3 avec LibreOffice et sur un PC Windows 11 avec LibreOffice également. Dans les deux cas le scanner se comporte comme un clavier et la lecture envoie les codes sur l’écran.
La lecture a été très variée… Dans ces cas là on prend tout ce qui comporte un code barre ou QR et on teste. Dans 90 pour cent des cas, la lecture fonctionne. Seuls quelques cas de codes postaux exotiques n’ont pas été lus.
Sur écran de PC la lecture des codes QR (wikipedia) fonctionne jusqu’au 57×57, ce qui est déjà pas mal. Sur le téléphone tous les codes ont été lus parfaitement.
Lecture de Code barre sur des emballages (vous retrouvez ces codes sur la capture d’écran LibreOffice
Même ce code abîmé a été lu correctement. (voir ScreenShot LibreOffice)
Conclusion
Pour un prix aux alentours de 30€ vous aurez un lecteur de code barre/QR code pas embêtant à connecter puisqu’il émule un clavier et que vous pouvez programmer son fonctionnement de façon assez souple avec … des codes barres.
Le lecteur est en vente sur Aliexpress
Sources
- http://www.yhdaa.com/English/Product/324971564.html
- http://www.yhdaa.com/English/Download/
- Générateur de code-barres en ligne utilisé pour générer les codes de cette page : http://barcode.tec-it.com/fr
- http://www.transbar.fr/choisir/choisir_pressbar.html
- http://www.technicod.com/numerique/numeriq.php
- http://www.codesbarres.com/frprimer.pdf
- http://www.gomaro.ch/Specifications/lecteur.htm
- http://www.atscan.com/atscan-le-guide-du-code-barre-13.asp
- http://lecteurcodebarre.com/
- http://alafortunedumot.blogs.lavoixdunord.fr/tag/code-barre