Caisse à reconnaissance de produit par tag NFC

TFE – Année 2025-2026

Auteur : Hurst Danny – 6I

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

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

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.