Comment by djangelic

1 year ago

This is incredible! I want to replicate this at home as well, but I would prefer to use QR codes since they also support URLs. Any reason why you went with NFC instead of QR code? I assume it's doable with a raspberry pi and webcam instead of tapping?

OP here

I actually hadn't considered QR codes.

To be honest, I had some NFC tags laying around and I was desperate to find a project for them ;)

QR codes might be more complicated because you need a camera and a well-lit environment. NFC tags don't have that issue.

  • My thought process was to laminate them to make them easier to make at home. I agree that it’s definitely more child friendly. This maybe a project I attempt at home and will post if I’m successful.

  • I was surprised that you opted to use the tag ID as a primary key instead of writing the relevant metadata to the NFC tags in the first place. NTAG215s have about 500 bytes worth of rewritable storage, so you could even embed the full deep links if you so desired.

    https://www.shopnfc.com/en/content/6-nfc-tags-specs

    It also seems that ESPHome has support for reading / writing this arbitrary metadata, once you move to the PN532:

    https://esphome.io/components/binary_sensor/pn532.html#ndef

    (It's not clear that you can access the metadata with the RC522 through ESPHome, but the hardware should support it.)

    But hey, what you've got works.

    • Home Assistant scans the tag-IDs by default, so you use them as a trigger, with little extra effort for each new card. "When card with ID X is detected, do Y".

      I have something similar setup in my home office for my music and I just use the ID, no need to complicate it any more than it already is.

It's probably easier to embed an NFC tag in something child-friendly, compared to printing QR codes on something that small kids won't destroy.

Also in this case (since it just laminated cards anyway) the usability is much easier. The kid just has to touch something. While with a QR it has to be positioned in a way that a camera can see and focus to it.