Recherche conf ESP32 + RFID-RC522 fonctionnelle

Bonsoir,

Je lance une dernière dernière bouée sur ce sujet parce que je pense que mon sujet précédent est un peu perdu :

Et je n’ai pas non plus réussi sur ESP32-CAM : ESP32 Cam et RFID RC522

Le matériel actuel :
Un ESP32S ESP-WROOM-32
Carte RFID-RC522

La question : y a t-il quelqu’un qui a réussi à faire fonctionner LE RFID-RC522 avec un ESP32 ?
Si oui avec quel branchement ? Quel Conf yaml ESPHOME associée ? Le RC522 doit il avoir un branchement particulier lors du flashage de l’ESP32 ?

Ou subsidiaire, n’ai-je reçu lors des deux livraisons que des RC522 défectueux !

Je précise que l’ESP32 est ONLINE et que je peux piloter la led bleu.

Voici mon yaml dans ESPHome :

esphome:
  name: esp32rfidportefacade

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "JHmkAapH9pi8xdPGwwwwww2Ms3akM7QbKsShjlsbcNY="

ota:
  password: "edc08dd3de7wwwwww6a2ef9df9bfda85"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.1.37
    gateway: 192.168.1.254
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32Rfidportefacade"
    password: "WwwwwwwsTtzU"

captive_portal:

spi:
    clk_pin: GPIO18
    mosi_pin: GPIO23
    miso_pin: GPIO19

rc522_spi:
    cs_pin: GPIO04
    update_interval: 1s
    on_tag:
      then:
       - homeassistant.tag_scanned: !lambda 'return x;'

switch:
  - platform: gpio
    name: "LedBleu2RFIDPF"
    pin: 2

Dans le code donné sur RC522 NFC/RFID — ESPHome

Il y a ceci à ajouter:

binary_sensor:
  - platform: rc522
    uid: 74-10-37-94
    name: "RC522 RFID Tag"

Quand je l’ajoute j’ai ce message et l’uid est-ce un exemple ou je dois trouver le mien :

[20:40:39][D][sensor:127]: 'EspCam32a WiFi Signal Sensor': Sending state -55.00000 dBm with 0 decimals of accuracy
[20:40:40][W][rc522:394]: Communication with the MFRC522 might be down, reset in -38
[20:40:40][I][rc522_spi:013]: SPI Setup
[20:40:40][I][rc522:290]: Soft reset...
[20:40:40][I][rc522:298]: Device online.

Merci et désolé n’insister, je suis comme vous, je n’aime pas échouer :rofl:
Bob

Bon déjà là, c’est dans la doc en fait! :wink:
Le UID ça correspond à un numéro de tag, 74-10-37-94 c’est juste un exemple!

The rc522 binary sensor platform lets you track if an RFID tag with a given unique id (uid) is currently being detected by the RC522 or not.

Et ensuite ils expliquent comment lire un de tes tags à toi pour connaitre son ID:

image

Merci @AlexHass

Au départ j’ai eu des badges RFID, que j’ai déclaré via l’appli HA avec mon téléphone, détection OK, déclenchement d’automatisation OK., mais c’était un peu faire les choses à l’envers, c’est le badge que l’on souhaite présenter à un lecteur et non l’inverse.
Si je comprends bien et je n’en suis pas certain, il faut déclarer chaque badge dans le yaml ?

Sans mettre de binary_sensor

binary_sensor:
  - platform: rc522

image

Je ne détecte rien en présentant un badge déjà présent dans HA et fonctionnel avec mon téléphone.
Il me manque vraiment une étape.
Le uid: c’est le RC522 ou le badge ?
Depuis le temps que je teste ça je fini par être un peu perdu :upside_down_face:

Merci d’avance, désolé pas eu le temps de trop chercher ce soir après ta réponse @AlexHass
Dodo et suite demain mais je veux vraiment y arriver :wink:

Je n’ai jamais joué avec une lecteur RFID, mais j’ai quelques tags scannés à travers l’app.

Cela dit, je pense que tu mélanges quelques notions effectivement! :slight_smile:

« UID » c’est le code unique à l’intérieur d’un badge (= tag) RFID.
« tag_scanned » c’est l’évènement déclenché dans HA quand l’app scanne un tag, je ne pense pas qu’il ait un lien avec ton RC522 ou ESPHome.

Si j’ai bien compris, effectivement il faut enregistrer dans le Yaml ESPHome les badges que tu as pour en faire un binary_sensor pour chacun.
Ensuite le scan d’un badge connu changera l’état du binary_sensor que tu pourra utiliser pour faire ce que tu veux soit dans ESPHome soit dans HA.

ça y est ça fonctionne enfin, à voir ce que je vais en faire maintenant :joy:

J’ai suivi mais full ESPHome ce tuto : Tuto 1 : Comment débuter sur ESPHome avec un esp32 et Home Assistant - YouTube
J’ai suivi le lien d’un commentaire du tuto pour le branchement : Électronique en amateur: Module RFID-RC522 et ESP8266 / ESP32
image

Il y avait une inversion dans le mien, on trouve un peu de tout comme branchement, j’imagine qu’il peut y en avoir plusieurs possible (surtout pour le GPIO04) mais il faut que le YAML ESPHome corresponde.

Pour le YAML ESPHome (j’ajoute toujours le pilotage de la Led bleu pour tester) :

esphome:
  name: esp32rfidportefacade

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "JHmkAapH9pi8xdPG1jwwwwwws3akM7QbKsShjlsbcNY="

ota:
  password: "edc08dd3de7dwwwwwwa2ef9df9bfda85"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.1.37
    gateway: 192.168.1.254
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32Rfidportefacade"
    password: "WcHkwwwwTtzU"

captive_portal:

spi:
    clk_pin: GPIO18
    mosi_pin: GPIO23
    miso_pin: GPIO19

rc522_spi:
    cs_pin: GPIO04
    #update_interval: 1s
    on_tag:
      then:
       - homeassistant.tag_scanned: !lambda 'return x;'

binary_sensor:
  - platform: rc522
    uid: 74-10-37-94
    name: "RC522 RFID Tag"
    
switch:
  - platform: gpio
    name: "LedBleu2RFIDPF"
    pin: 2

Résultat dans les logs lorsque je présente deux badges que j’ai déjà enregistré dans HA avec mon téléphone:

[12:51:51][C][spi:101]: SPI bus:
[12:51:51][C][spi:102]:   CLK Pin: GPIO18
[12:51:51][C][spi:103]:   MISO Pin: GPIO19
[12:51:51][C][spi:104]:   MOSI Pin: GPIO23
[12:51:51][C][spi:106]:   Using HW SPI: YES
[12:51:51][C][switch.gpio:050]: GPIO Switch 'LedBleu2RFIDPF'
[12:51:51][C][switch.gpio:051]:   Pin: GPIO2
[12:51:51][C][switch.gpio:073]:   Restore Mode: Restore (Defaults to OFF)
[12:51:51][C][rc522:099]: RC522:
[12:51:51][C][rc522:110]:   Update Interval: 1.0s
[12:51:51][C][rc522:113]:   Tag 'RC522 RFID Tag'
[12:51:51][C][rc522_spi:021]:   CS Pin: GPIO4
[12:51:51][C][captive_portal:088]: Captive Portal:
[12:51:51][C][mdns:094]: mDNS:
[12:51:51][C][mdns:095]:   Hostname: esp32rfidportefacade
[12:51:51][C][ota:089]: Over-The-Air Updates:
[12:51:51][C][ota:090]:   Address: 192.168.1.37:3232
[12:51:51][C][ota:093]:   Using Password.
[12:51:51][C][api:138]: API Server:
[12:51:51][C][api:139]:   Address: 192.168.1.37:6053
[12:51:51][C][api:141]:   Using noise encryption: YES
[12:51:55][D][rc522:263]: Found new tag '04-99-25-2A-F7-0F-90'
[12:52:02][D][esp32.preferences:113]: Saving 1 preferences to flash...
[12:52:02][D][esp32.preferences:142]: Saving 1 preferences to flash: 1 cached, 0 written, 0 failed
[12:52:02][D][rc522:263]: Found new tag '04-B4-35-2A-F7-0F-90'
[12:52:12][D][rc522:263]: Found new tag '04-B4-35-2A-F7-0F-90'
[12:52:15][D][rc522:263]: Found new tag '04-99-25-2A-F7-0F-90'

Résultat dans les évènements :

Dans les étiquettes HA :
image
La balise peut être renommée directement ici.

Ce fut laborieux mais encore un succès :rofl:

Merci
Bob

AH cool donc le tag_scanned passe directement, et t’as pas besoin du binary_sensor du coup.
C’est pas mal :slight_smile:

Le binary_sensor est dans le yaml ESPHome.
Il faut que j’étudie un peu mieux les ESP32 :wink:
C’est rare ou j’ai mal cherché, de trouver le branchement + le yaml en même temps, maintenant c’est ici sur le forum pour un ESP32.
Je passe à un nouveau sujet toujours sur ESP32 :wink:

Hello,

J’ai galéré comme vous sur le RC522 en ESP32 et j’ai trouvé la solution au fond d’un forum en anglais

La solution est de connecter la pin RST ! et d’ajouter dans la balise « rc522_spi: " la pin de reset " reset_pin: 13 » . sans ca meme avec le yamel proposé impossible de faire marcher

voici le code qui va bien et quelques photos

esphome:
  name: cardreader

esp32:
  board: lolin32
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: ""

ota:
  - platform: esphome
    password: ""

wifi:
  ssid: "Bbox-yyyyyyy"
  password: "yyyyyy"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Cardreader Fallback Hotspot"
    password: "qdA13c14lpjf"

captive_portal:
    
    
web_server:
  port: 80

spi:
   clk_pin: 18
   miso_pin: 23
   mosi_pin: 19

switch:
  - platform: gpio
    pin: 26
    name: "Bip"
  - platform: gpio
    pin: 15
    name: "Led Red"
  - platform: gpio
    pin: 2
    name: "Led Yellow"   
    
    
rc522_spi: 
  cs_pin: 12
  reset_pin: 13
  update_interval: 1s
  on_tag:
      then:
       - homeassistant.tag_scanned: !lambda 'return x;'

binary_sensor:

    
  - platform: rc522
    uid: XX-9E-38-XX 
    name: "Tag David"

  - platform: rc522
    uid: XX-9E-38-XX 
    name: "Tag Melinda"
    
  - platform: rc522
    uid: XX-9E-38-XX 
    name: "Tag Arthur"


  - platform: gpio
    pin: 22
    name: "Push Button"
    device_class: lock



1 « J'aime »

Je m’y suis perdu également sur ce projet, je l’avais mis de côté… mais ta publication le déterre. Merci beaucoup pour ton partage !!

Est ce que tu aurais le schéma de câblage qui va avec stp ?
ou c’est le même que celui de ce post de @Bob

(car j’ai vu à droite et gauche des choses différentes …)