ESP32 S3 - Système de Serrure de Porte RFID/NFC
Apprenez à câbler un module RFID/NFC RC522 et une serrure électromagnétique ou à solénoïde contrôlée par relais à un ESP32 S3 pour construire un système de serrure de porte RFID pleinement fonctionnel. En stockant les UID des tags autorisés directement dans le firmware, l'ESP32 S3 accorde ou refuse instantanément l'accès chaque fois qu'une carte ou un tag est présenté au lecteur — sans connexion réseau nécessaire.
Ce que vous allez construire :
- Un circuit connectant le module RFID-RC522, un relais, et une serrure électromagnétique ou à solénoïde à l'ESP32 S3
- Un firmware qui lit l'UID de n'importe quel tag RFID ou NFC présenté et le compare à une liste stockée d'UID autorisés
- Une variante à clé unique qui déverrouille la porte pour un tag autorisé et refuse tous les autres
- Une variante multi-clés qui associe chaque tag autorisé à un utilisateur nommé (par exemple, gérant et secrétaire)

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du Module RFID/NFC RC522 et de la Serrure Électromagnétique
Le RFID-RC522 est un module lecteur 13,56 MHz à faible coût basé sur la puce MFRC522 de NXP Semiconductors. Il communique avec l'ESP32 S3 via SPI, fonctionne en logique 3,3 V (directement compatible avec l'ESP32 S3), et peut détecter les cartes et tags compatibles ISO 14443A à des distances allant jusqu'à environ 5 cm. Une serrure électromagnétique ou à solénoïde convertit un signal électrique de l'ESP32 S3 (acheminé via un relais) en mouvement mécanique du pêne, ce qui en fait l'actionneur idéal pour un système de contrôle d'accès physique.
Spécifications Clés
Nous avons des tutoriels dédiés couvrant chaque composant en profondeur, incluant leur brochage, principe de fonctionnement, et câblage à l'ESP32 S3. En savoir plus sur eux aux liens suivants :
Composants du Système
Un système de serrure de porte construit avec l'ESP32 S3 se compose de deux parties principales :
- Système de Serrure de Porte : ESP32 S3, lecteur RFID/NFC RC522, relais, et serrure à solénoïde ou électromagnétique
- Clé de Porte : Tags RFID/NFC (cartes, porte-clés, ou autocollants)

Comment Fonctionne la Serrure de Porte RFID/NFC
Les UID des tags autorisés sont prédéfinis dans le firmware de l'ESP32 S3. Quand un utilisateur présente un tag RFID ou NFC sur le lecteur RC522, l'ESP32 S3 lit l'UID renvoyé par le module et le compare à la liste stockée. Si l'UID correspond à une entrée autorisée, l'ESP32 S3 désactive le relais pour déverrouiller la serrure électromagnétique ou à solénoïde ; sinon, l'accès est refusé et la serrure reste engagée.
Schéma de Câblage
Connectez le module RC522, le relais, et la serrure électromagnétique ou à solénoïde à l'ESP32 S3 en suivant le schéma ci-dessous. Gardez les fils SPI entre le RC522 et l'ESP32 S3 courts pour réduire le bruit, et vérifiez toujours la connexion d'alimentation 3,3 V au RC522 avant de mettre le circuit sous tension.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Brancher des fils dans les connecteurs femelles est rapide, mais les fils peuvent glisser. Placez la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3, puis serrez chaque fil sous une vis. Voir le schéma ci-dessous pour la version avec borniers à vis.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Ou branchez la carte ESP32 S3 sur une carte d'extension GPIO pour ESP32 S3. Le même câblage ressemble alors à ceci :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de Sécurité
Le module RFID-RC522 fonctionne en 3,3 V — connecter sa broche VCC à 5 V endommagera définitivement le module, donc vérifiez deux fois le rail d'alimentation avant de mettre le circuit sous tension. La serrure électromagnétique ou à solénoïde fonctionne en 12 V DC et doit être commutée via le relais ; ne la connectez jamais directement à une broche GPIO de l'ESP32 S3. Gardez le câblage 12 V du côté charge du relais physiquement séparé du câblage SPI basse tension pour éviter les erreurs de lecture induites par le bruit.
※ Note:
L'ordre des broches sur le module RC522 peut varier selon les fabricants. Utilisez toujours les étiquettes imprimées sur le module lui-même. L'image ci-dessus montre le brochage pour les modules du fabricant DIYables.
| Module RFID/NFC RC522 | Broche ESP32 S3 |
|---|---|
| SS pin | GPIO10 (SS/CS) |
| SCK pin | GPIO12 (SCK) |
| MOSI pin | GPIO11 (MOSI) |
| MISO pin | GPIO13 (MISO) |
| IRQ pin | (non connectée) |
| GND pin | GND |
| RST pin | GPIO9 |
| VCC pin | 3.3V |
Code ESP32 S3 - Clé Unique
Le code suivant initialise le bus SPI et la bibliothèque MFRC522, puis scrute en continu pour un nouveau tag. Quand un tag est détecté, son UID est lu et comparé à l'unique UID autorisé stocké dans le firmware — s'ils correspondent, le relais est brièvement activé pour déverrouiller la porte ; sinon, l'UID est affiché sur le Serial Monitor et l'accès est refusé.
Étapes Rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez les composants en suivant le schéma de câblage montré ci-dessus.
- Connectez l'ESP32 S3 à votre ordinateur en utilisant un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre ordinateur.
- Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans le menu Tools.
- Cliquez sur l'icône Libraries sur la barre de gauche de l'Arduino IDE.
- Tapez "MFRC522" dans la boîte de recherche, puis cherchez la bibliothèque par GithubCommunity.
- Cliquez sur Install pour installer la bibliothèque MFRC522.
- Search for MFRC522 created by GithubCommunity and click the Install button.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Cliquez sur Upload pour compiler et téléverser le code sur l'ESP32 S3.

- Ouvrez le Serial Monitor dans l'Arduino IDE après le téléversement.

- Présentez un tag RFID ou NFC que vous voulez autoriser sur le lecteur RC522 et notez l'UID affiché dans le Serial Monitor.
- Mettez à jour l'UID à la ligne 18 du code ci-dessus. Par exemple, changez byte keytagUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; en byte keytagUID[4] = {0x2B, 0xB8, 0x59, 0xB1};
- Téléversez à nouveau le code mis à jour sur l'ESP32 S3.
- Présentez le tag RFID/NFC autorisé sur le lecteur RC522 et vérifiez le Serial Monitor.
- Vérifiez que la serrure électromagnétique ou à solénoïde se désactive (se déverrouille) quand l'accès est accordé.
- Présentez un tag différent (non autorisé) et confirmez que la serrure reste engagée.
- Astuce : Pour faciliter les tests, la durée de déverrouillage est réglée à 2 secondes dans le code — augmentez cette valeur avant de déployer le système dans une installation réelle.
Code ESP32 S3 - Clés Multiples
Le code suivant étend l'exemple à clé unique pour prendre en charge plusieurs utilisateurs autorisés, chacun identifié par un UID unique et un nom lisible par un humain stocké dans le firmware. Quand un tag correspondant est présenté, l'ESP32 S3 affiche le nom de l'utilisateur sur le Serial Monitor et déverrouille la porte ; tout tag non reconnu est refusé et son UID est journalisé.
Étapes Rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Suivez les mêmes étapes d'installation de bibliothèque et de câblage décrites dans la section à clé unique ci-dessus.
- Découvrez l'UID de chaque tag que vous voulez autoriser en exécutant d'abord le code à clé unique (voir l'étape 12 ci-dessus).
- Mettez à jour les deux UID autorisés dans le code avec les UID de vos tags de gérant et de secrétaire.
- Téléversez le code mis à jour sur l'ESP32 S3.
- Présentez le tag du gérant sur le lecteur RC522, puis présentez le tag de la secrétaire, et observez le Serial Monitor.
- Astuce : Vous pouvez ajouter trois, quatre, ou plus de tags autorisés en étendant le tableau d'UID dans le code — chaque entrée supplémentaire nécessite un UID de plus et une chaîne de nom de plus.
※ Note:
Dans ce tutoriel, les UID autorisés sont compilés dans le firmware. Pour un système de production, vous stockeriez typiquement les UID dans une mémoire non volatile (comme l'EEPROM ou la flash) afin qu'ils puissent être ajoutés ou supprimés pendant l'exécution sans reflasher. Si vous avez besoin d'aide pour implémenter cette fonctionnalité, n'hésitez pas à nous contacter via notre service de programmation.
Applications et Idées de Projets
L'ESP32 S3 associé à un module RFID RC522 et une serrure contrôlée par relais ouvre une large gamme d'applications de contrôle d'accès et de sécurité qui peuvent être déployées avec un minimum de matériel supplémentaire. Voici des façons pratiques de mettre ce système au travail :
- Serrure de porte de bureau : Attribuez une carte RFID par employé et restreignez l'entrée au seul personnel autorisé, avec les tentatives d'accès journalisées sur le Serial Monitor.
- Serrure intelligente domestique : Remplacez une clé traditionnelle par une carte RFID ou un porte-clés que seuls les membres de la famille portent.
- Sécurité de baie de serveurs : Protégez un équipement informatique sensible à l'intérieur d'une armoire verrouillée qui ne s'ouvre que pour des techniciens de service autorisés.
- Système de vestiaire : Donnez à chaque casier son propre pêne à solénoïde contrôlé par RFID piloté par un ESP32 S3 dédié pour un fonctionnement autonome.
- Accès à un atelier partagé : Accordez l'accès RFID aux membres enregistrés et journalisez automatiquement chaque entrée à des fins d'audit.
- Laboratoire de sécurité de prototype : Construisez un banc de test qui journalise chaque tentative d'accès avec un horodatage sur une carte SD ou une base de données cloud.
- Contrôleur de barrière de parking : Remplacez les lecteurs de carte-clé aux barrières de parking par un RC522 et un ESP32 S3 pour autoriser les véhicules par leurs autocollants RFID de pare-brise.
Tutoriel Vidéo
Regardez la vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défiez-vous
Maintenant que votre ESP32 S3 contrôle avec succès une serrure de porte avec des cartes RFID, poussez le projet plus loin avec ces défis progressivement plus difficiles :
- Débutant : Ajoutez une LED verte qui s'allume pendant 2 secondes quand l'accès est accordé et une LED rouge qui clignote quand l'accès est refusé.
- Débutant : Connectez un buzzer passif et jouez un court bip quand l'accès est accordé et un double bip plus long quand l'accès est refusé.
- Intermédiaire : Implémentez un verrouillage qui désactive le lecteur RFID pendant 30 secondes après trois tentatives consécutives de tag non autorisé.
- Intermédiaire : Stockez les UID autorisés dans l'EEPROM afin qu'ils survivent aux cycles d'alimentation et puissent être mis à jour sans reflasher l'ESP32 S3.
- Avancé : Ajoutez une interface web via le Wi-Fi de l'ESP32 S3 afin qu'un administrateur puisse ajouter ou révoquer des UID autorisés depuis un navigateur sans toucher au matériel.
- Avancé : Combinez le lecteur RC522 avec un clavier afin que la porte ne s'ouvre que quand un tag RFID valide et le bon PIN sont présentés ensemble.