Escape Game - arnaudrco/exemples GitHub Wiki

8 dépôts github : exemples-de-montages festisol CROUS-micro-python piano visio anumby jouets developpement-voiture raspberry-pico Blog ateliers numériques Repair Café d'Orsay

12 bouteilles doivent être placées sur 12 tables pour ouvrir un coffret en résolvant des énigmes ! Comment lire à distance la position des bouteilles sur chaque table ? Pour cela, nous avons placé une puce RFID sur chaque bouteille. La puce RFID est très courante : elle équipe certaines cartes sans contact ou sert d'antivol. Nous nous amusons à réaliser sans soudure et sans programmation un lecteur de puce.

Préparer un escape game RFID.

Il nous faut un mini lecteur de carte tout prêt très économique RC522, une carte sans soudure, un microprocesseur esp et un peu de fil électrique.

https://user-images.githubusercontent.com/90700891/209952272-8dfb06a0-b46a-41f5-b134-6bbaebf8358a.mp4 téléchargeable https://github.com/arnaudrco/exemples/blob/main/escape/nuid.mp4

avec un afficheur, je lis les 4 premiers chiffres "C353" du code de ma carte à puce

https://user-images.githubusercontent.com/90700891/210054100-5fdac388-481e-4cea-9b9a-120b6ab9bbad.mp4

lecteur RFID

image

Nous utilisons un lecteur de carte RFID : à chaque fois qu'il détecte une nouvelle carte il affiche son numéro d’identification "nuid"

image

Le lecteur se branche sur un esp 8266 sur le port (D5 D6 et D7 sont fixés par le port SPI de communication) et en choisissant D1 et D2 pour RST et SS

  • RST/Reset D2 dupond blanc
  • SPI SS/SDA D1 dupond noir
  • SPI MOSI D7 fil jaune
  • SPI MISO D6 fil noir
  • SPI SCK D5 fil vert

voici le code pour lire le numéro unique d'identification de la carte NUID ici

lecteur RFID avec affichage

image

Amusons nous à lire les 4 premiers chiffres du code : nous utilisons un petit afficheur à 7 segments qui se branche directement sans soudure en reliant CLK et DIO

CLK sur D3

DIO sur D4

La bibliothèque est ici : nous utilisons la fonction showNumberHexEx(0xffff) ; elle affiche directement en hexadécimal le nombre FFFF

lecteur RFID avec affichage du numéro de la bouteille

Avec un peu de programmation cette fois, vous devez remplacer les codes nuid des puces posés sur les bouteilles par ceux de vos puces RFID ; j'ai rempli les codes avec 4 chiffres mais vous pouvez remplir les 8 chiffres

 #define BOUTEILLE1 0xC353
 #define BOUTEILLE2 0x518A
 #define BOUTEILLE3 0x51FF

https://github.com/arnaudrco/exemples/blob/main/escape/nuid-tm1637-record/nuid-tm1637-record.ino

lecteur RFID avec MQTT

Pour ceux qui aime programmer, un logiciel tout prêt est disponible ici https://www.hackster.io/270906/mqtt-based-event-management-using-esp8266-and-rfid-678c54

image

Avec le protocole MQTT je peux vérifier que 12 objets sont bien placés

lecteur RFID avec MQTT avec Tasmota

Nous allons maintenant réaliser un lecteur à distance sans programmer ; je lis à distance le code C353E4CD de ma bouteille sans fil et sans écrire une seule ligne de code ; Tasmota affiche directement le code nuid et l'envoie avec le protocole MQTT si je veux

image

amusez vous à installer Tasmota

https://tasmota.github.io/install/

image

Pour avoir une version incluant le lecteur RFID, j'ai recompilé le firmware avec les options suivantes

 #define USE_SPI                         // Hardware SPI using GPIO12(MISO), GPIO13(MOSI) and GPIO14(CLK) in addition to two user selectable GPIOs(CS and DC)
 #define USE_RC522                       // Add support for MFRC522 13.56Mhz Rfid reader (+6k code)
 #define USE_RC522_DATA_FUNCTION         // Add support for reading data block content (+0k4 code)
 #define USE_RC522_TYPE_INFORMATION      // Add support for showing card type (+0k4 code)

Pour ceux qui veulent enregistrer avec une commande linux le firmware https://github.com/arnaudrco/exemples/blob/main/escape/tasmota.bin

 esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 tasmota.bin

Les deux entrées D1 et D2 du lecteur (RC522) sont à déclarer dans le menu configuration ; les 3 autres entrées (SPI) ont été automatiquement remplies sans que je ne fasse rien.

image

Tasmota affiche le code nuid toutes les 5 secondes environ sur la console

image

Note : pour les utilisateurs ayant une installation de domotique sur un PC ou un serveur, j'utilise MQTT

 mosquitto_sub -d -t "#" 

Je note l'adresse RC522UID dans la configuration MQTT

ttt

le serveur mosquitto envoie alors les informations RFID automatiquement

 Client mosqsub|8393-orangepion received PUBLISH (d0, q0, r0, m0, 'tele/tasmota_552FD8/RC522UID/SENSOR', ... (87 bytes))

Je reçois alors les informations de la puce "C353E4CD" lorsque je l'approche du lecteur

{"Time":"2023-01-01T16:32:13","RC522":{"UID":"C353E4CD","Data":"","Type":"MIFARE 1KB"}}

lecteur RFID avec MQTT avec Home Assistant

avec EspHome, une version avec le lecteur RFID existe https://esphome.io/components/binary_sensor/rc522.html ( pas encore testé )

voici le code pour afficher le numéro unique d'identification de la carte NUID ici

  1. Domotique / Énergie / Objets connectés
  2. Lampe connectée
  3. Escape Game
  4. Lire-sa-consommation-avec-un-module-PZEM
  5. Lire sa consommation avec un esp relié au compteur LINKY
  6. un réseau sans logiciel de domotique avec MQTT
  7. un répéteur wifi
  8. les logiciels de domotique
  9. Pour aller plus loin pour connaître sa consommation
  10. Video

Liste des ateliers ici