Introduction
Dans le cadre de ce projet, l’objectif est de concevoir un système de caisse automatique similaire à ceux que l’on retrouve dans de grandes surfaces modernes, tout en utilisant des technologies comme le Raspberry Pi 4 et les tags NFC. Chaque produit est associé à un tag NFC qui, lorsqu’il passe devant un lecteur connecté au Raspberry Pi, permet d’identifier automatiquement l’article, d’enregistrer la quantité, de consulter la base de données et d’ajouter le produit à la transaction.
À la fin du passage en caisse, le total est calculé et un ticket de caisse est généré via une imprimante thermique. Ce projet met en évidence l’interaction entre le matériel, le logiciel et la base de données, tout en se rapprochant d’une application concrète et professionnelle.
Déroulement du projet
- Étude du besoin et définition de la solution (choix de la technologie NFC).
- Préparation du matériel (Raspberry Pi, lecteur NFC, tags, écran, imprimante).
- Conception de la base de données pour les produits et les transactions.
- Développement du code Python (lecture NFC, gestion de la caisse, calcul du total).
- Tests pratiques avec de vrais produits étiquetés par des tags NFC.
- Améliorations, comme l’ajout d’une imprimante thermique pour le ticket de caisse.
Matériel nécessaire
Raspberry Pi 4 Cœur du système
Exécute le code Python, gère le lecteur NFC, l’affichage et la base de données.
Voir le matériel 🔗Lecteur NFC
Permet de lire les tags NFC placés sur les produits et d’envoyer l’UID au Raspberry Pi.
Voir le lecteur 🔗Tags NFC
Chaque produit reçoit un tag NFC unique, utilisé pour l’identifier en caisse.
Acheter des tags NFC 🔗Écran tactile ou écran standard
Affiche l’interface de la caisse : produits scannés, total, messages à l’utilisateur.
Voir un écran compatible 🔗Base de données SQLite
Stocke les informations des produits (UID, nom, prix) et des transactions réalisées.
Imprimante thermique
Permet de générer un ticket de caisse similaire à ceux des grandes surfaces.
Voir une imprimante thermique 🔗Fonctionnement du système
- Chaque produit est étiqueté avec un tag NFC unique.
- Le client passe les articles devant le lecteur NFC.
- Le Raspberry Pi lit l’UID du tag et interroge la base de données.
- Le produit correspondant est ajouté à la transaction en cours.
- Une fois tous les produits scannés, le total est calculé et affiché.
- Un ticket est généré et imprimé via l’imprimante thermique.
Avantages et limites
Avantages
- Lecture des produits rapide grâce aux tags NFC.
- Coût relativement faible des tags et du matériel principal.
- Automatisation du processus de caisse et réduction des erreurs humaines.
Limites
- Obligation de coller un tag NFC sur chaque produit (esthétique parfois discutable).
- Chaque produit doit être présenté individuellement devant le lecteur NFC.
Topologie du système
La topologie du système peut se résumer ainsi : un article muni d’un tag NFC (par exemple, un t-shirt) est approché du lecteur NFC. Le lecteur envoie l’UID au Raspberry Pi, qui consulte la base de données locale pour retrouver les informations du produit. L’écran d’affichage montre alors le nom, le prix et la quantité, tandis que la transaction est enregistrée. Enfin, l’imprimante thermique produit le ticket de caisse récapitulatif.
Description du programme de simulation sur Wokwi
Pour préparer la partie logicielle, une simulation a été réalisée sur le site Wokwi à l’aide d’un Raspberry Pi Pico W. Wokwi ne pouvant pas émuler un Raspberry Pi 4 complet, le Pico W est utilisé afin de tester la logique du programme dans un environnement proche du réel.
Dans cette simulation, le lecteur NFC est remplacé par trois boutons. Chaque bouton représente un tag NFC différent. Lorsqu’un bouton est pressé, le programme récupère un identifiant (UID) correspondant et l’utilise pour retrouver le produit associé dans une petite base de données Python. Le produit est alors ajouté à un panier, qui est simplement une liste contenant tous les articles « scannés ». Après chaque détection, le programme recalcule le total de la transaction et l’affiche dans la console de Wokwi.
Le programme fonctionne en boucle continue et surveille en permanence l’état des boutons. Cette simulation reproduit la logique de détection, d’ajout au panier et de calcul du total qui sera utilisée plus tard avec le Raspberry Pi 4 et le véritable lecteur NFC.
Lien vers le projet Wokwi :
https://wokwi.com/projects/448233190537278465
Conclusion
Ce projet de caisse automatique à reconnaissance de produits par tag NFC constitue une étape importante que je m’apprête à concrétiser. Il prépare la mise en place d’un système innovant combinant Raspberry Pi 4, lecteur NFC et base de données afin d’automatiser la reconnaissance des articles, le calcul du total et la génération du ticket de caisse.
La conception de cette solution me permet d’approfondir mes connaissances en électronique, en programmation Python et en gestion de bases de données, tout en développant une application proche des technologies utilisées dans les grandes surfaces. À l’avenir, ce système pourra être amélioré avec une interface graphique plus avancée, une meilleure intégration de l’imprimante thermique ou même le paiement sans contact.