Concernant la fonctionnalité de "robot", elle est livrée de la même façon que les versions d'esup-sgc-client pour l'édition en 1 temps avec evolis ou zebra.
Aussi vous pouvez vous référer au README d'esup-sgc-client pour les détails techniques d'installation, notamment les parties spécifiques à la marque de l'imprimante souhaitée :
Cependant, à notre connaissance, seule l'imprimante Zebra ZXP3 a été mise en oeuvre dans plusieurs établissements actuellement pour faire office de robot d'encodage.
En effet celle-ci se prête bien au positionnement d'une webcam pour lecture du QRCode. De plus, cette imprimante se retrouve dans des établissements car elle était la seule imprimante supportée par un SGC du marché.
Plus commercialisée, reconvertir la Zebra ZXP3 en robot d'encodage permet de recycler du matériel encore fonctionnel mais dont les consommables pour l'impression ne sont plus disponibles.
Ci-dessous, on vous propose donc d'utiliser la Zebra ZXP3 comme robot d'encodage.
Matériel
Il vous faut une Zebra ZXP3 avec un firmware à jour : V02.15.00 ; logiquement c'est le cas sur les ZXP3 détenus par les établissements.
Si vous avez comme encodeur intégré le Identiv SDI010, il faut également que le firmware de l'encodeur soit à jour avec la dernière version officielle (on retrouve un firmwxare zebra non officielle pour ces lecteurs souvent).
Pour ce faire téléchargez le firmware (fichier FWUpdate_SDI010_FW7.46.zip) depuis https://support.identiv.com/sdi010-011/ et lancez l'exécutable FwUpdate.exe depuis un pc windows connecté à l'imprimante zebra zxp3.
Positionnement de la webcam avec un support webcam imprimé en 3D
Si vous avez la possibilité d'utiliser une imprimante 3D et que vous avez une webcam logitech c922 pro, nous avons fait réaliser par l'Atelier Autonome de Rouen un support en imprimante 3D afin de positionner au mieux la webcam sur la zebra zxp3 au dessus de la carte lors de la phase d'encodage / enrôlement.
Ce support d'impression est disponible librement sur printables.com, nous le proposons également ici :
Une fois le support Zebra_Cam_full.stl téléchargé, téléchargez un slicer. Cet outil permet de transformer un fichier 3D en jeu d’instruction machine.
Il en existe plusieurs, nous conseillons PrusaSlicer sous licence libre www.prusa3d.com/prusaslicer.
La configuration de votre machine se fait avec un assistant au premier lancement de PrusaSlicer.
Voici ensuite les parametres conseillés pour l’impression du support :
Le logiciel de slicer va générer un fichier .gcode, à transférer sur votre imprimante 3D, en général à l’aide d’une carte SD ou via le wifi.
Une vidéo 'timelapse' d'une telle impression vous est proposée sur le Pod d'Esup-Portail.
Tout comme la réalisation du modèle de la pièce et la documentation donnée ici à son propos, cette vidéo a été réalisée par l'Atelier Autonome de Rouen (un grand Merci à eux !) dans le cadre de l'Appel À Projets Services Numériques Aux Étudiants ESUP-SGC 2022/2023.
Une fois imprimée, vous n'avez plus qu'à retirer les structures qui ont permis l'impression de la pièce en 1 seul tenant (cf vidéo ci-dessus à nouveau).
Puis vous pouvez fixer le support à l'aide d'une vis M6 standard. Le support ainsi réalisé et positionné permet de faire également office de détrompeur ; l'imprimante peut fonctionner ainsi capot ouvert.
A nouveau 2 vidéos vous montrent ici la fixation du support et son utilisation avec esup-sgc-client :
- ESUP-SGC - robot d'encodage ZXP3 - Positionnement de la caméra à l'aide du support réalisé via une imprimante 3D [13 janvier 2023]
- ESUP-SGC : robot zxp3 encodant en masse des cartes Mifare Desfire préalablement imprimées [13 janvier 2023]
Positionnement de la webcam sans le support
Si vous n'avez pas la possibilité d'utiliser une imprimante 3D pour imprimer le support, vous pouvez vous référerà la documentation Tuto robot encodeur basé sur une Zebra ZXP3 pour cette mise en oeuvre.
Logiciel
Au vu des problèmes de DLL sous windows avec les imprimantes Zebra - cf https://developer.zebra.com/content/zebranativeusbadapter64dll-and-jdk-9 vous pouvez soit faire fonctionner esup-sgc-client avec Zebra depuis un Windows avec un JDK 8 et openjfx (distribition zulu voire Oracle si vous avez la licence pour) ou alors le faire fonctionner depuis Linux. Nous décrivons la chose sous linux/debian ici.
Sous linux, et depuis la page officielle Zebra de la ZXP3, vous pouvez télécharger le driver linux (fichier Unified_Zebra_ZXP3_Series_Card_Printer_Driver-1.0.0.0-Ubuntu_Linux-x86_64-Install.tar.zip pour debian/ubuntu) et l'installer.
Installez le paquet pcscd et mettez le en route
apt install pcscd systemctl enable pcscd systemctl restart pcscd
Installez également le driver linux propriétaire du lecteur NFC Identiv SDI010 ('noubliez pas de mettre son firmware à jour depuis un windows) : https://support.identiv.com/sdi010-011/
Récupérez via http://esup-sgc-client-web-installer ou packagez le jar d'esup-sgc-client pour zebra.
Installez openjfx et openjdk :
apt install openjfx openjdk-11-jdk
Vous pouvez enfin créer un script bash esup-sgc-client-zebra.sh permettant de lancer le client simplement en donnant les paramètres attendus :
#!/bin/bash java --module-path /usr/share/openjfx/lib/ --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.media,javafx.graphics,javafx.swing,javafx.web -DprinterZebraEncoderType=MIFARE -DprinterZebraHackZxpNfcPower=true -jar esup-sgc-client-zebra.jar
Le paramètre printerZebraHackZxpNfcPower=true permet de faire fonctionner le lecteur NFC avec le firmware officiel d'Identiv, ce aussi bien sous windows que sous linux ; sans ce hack, le lecteur NFC n'est pas alimenté précisément quand la carte est positionnée sur la station d'encodage.
Pour valider le bon fonctionnement de voitre installation, n'oubliez pas de lancer en premier lieu depuis esup-sgc-client le "Stress test pc/sc" depuis le menu "zebra" d'esup-sgc-client sur une carte Mifare DESFIRE ; aucune erreur ne doit pas apparaître sur les 30 secondes de tests de communication mifare desfire.
Vous pouvez enfin lancer (bouton start) l'encodage en série en sélectionnant "Robot encodage via webcam et imprimante Evolis" et le salle d'encodage.
Si ce n'est déjà fait, il vous faudra (re)paramétrer le offset de l'imprimante à 0 (via la commande +OS 0) pour que la carte présente au mieux le QR-Code lorsque celle-ci est positionnée sur la station d'encodage, comme illustré sur la capture d'écran suivante :



