Poesía MIFARE

Roni Bandini
4 min readAug 22, 2024

--

MIFARE Poetry

Las tarjetas MIFARE fueron desarrolladas por la empresa Philips en el año 1994 para cobranzas en medios de transporte. Sin ir más lejos la mismísima SUBE de Argentina usa esta tecnología.

Resulta que la mayoría de las implementaciones MIFARE dejan libres bloques de memoria. La idea entonces es desarrollar un tipo de curiosa y efimera poesía que usa de soporte los espacios de memoria libre en las tarjetas MIFARE.

Reglas del MIFARE Poetry

1. Cada poesía MIFARE solo puede tener tres líneas

2. Cada línea solo puede tener hasta 16 caractéres incluyendo espacios

3. Una poesía MIFARE solo puede leerse tres veces

Ejemplos (sin valor comercial)

Waves crash
Time bends
Echoes fade

sobre el teclado
hay huellas que
no recuerdo

Arquitectura

Mapa de memoria de la tarjeta MIFARE de 1K

La memoria de las tarjetas MIFARE de 1K se organiza en sectores y bloques. Cada sector tiene cuatro bloques y el último de ellos es el Trailer, un bloque especial que indica las claves y permisos de todo el sector.

El bloque #0 del sector #0 tiene la particularidad de contener el UID de la tarjeta.

La poesía MIFARE se graba en los bloques 4, 5, 6 del sector 1. Por su parte el bloque 8 del sector 2 se usa para el contador de lecturas.

MIFARE Poetry Device

Primera versión del MIFARE Poetry Device con ARDUINO UNO R4

El Mifare Poetry Device fue fabricado con un Arduino UNO R4 WiFi, una placa RC522, dos partes impresas en 3D, código de programación C++ y PHP.

Al colocar una tarjeta, el lector se comunica con un servidor web que indica lectura o grabacion, así como las tres líneas de la poesía.

Gabinete del MIFARE Poetry Device

Carga de poesías MIFARE

Pantalla para cargar las poesías MIFARE

La carga de poesías se lleva a cabo desde una web PHP. Al indicar modo escritura las líneas de la poesía se escriben en un archivo mifare.json con el siguiente formato

{“mode”:”r”,”line1":”Hi there”, “line2”:”how are you”, “line3”:”ok”}

Lectura de poesías MIFARE

Diagrama funcional

Al cargar en la web el modo lectura, la poesía de la tarjeta se puede visualizar en pantalla y también en el monitor serial del Arduino IDE.

Circuito

Circuito del MIFARE Poetry device

Preguntas

¿Es posible cargar poesia MIFARE en los tags/llaveros?

¿Qué pasa si mis tarjetas MIFARE tienen los data sectors del bloque 0 y 1 ocupados? Es posible configurar otros sectores y bloques desde el código

¿Qué pasa si escribo en un trailer sector de la tarjeta? Todos morir.

Quiero fabricar uno, ¿adónde está el código? Tutorial en Hackster y código fuente en Github

Primeras pruebas del MIFARE Poetry con otro gabinete

Poesía automática

Por último, escribí unas rutinas que usan random y templates para generar automáticamente MIFARE poems, respetando las líneas y largos.

Van algunos ejemplos:

nostalgic fuel
half cake
sniff zestily

releasing coil
belligerent mass
lake, vest

Poesia automática con Python
Otro ejemplo

Está en planes, mejorar la generación automática de MIFARE Poetry con ayuda de LLM.

Versión 2 de la poesía automática

En esta versión incorporé la posibilidad de rimar la tercera línea. Necesita descargar http://rhyme.sourceforge.net/ y ejecutar make-rhyme-db.py para crear las tablas

Poesía automática con rima
Cada tanto sale alguno decente

Tutorial y descarga de archivos

Tutorial en https://www.hackster.io/roni-bandini/mifare-poetry-with-arduino-uno-r4-wifi-1358b7

Archivos en https://github.com/ronibandini/MIFAREPoetry

Nota en el blog de Arduino

Storing ephemeral micropoetry on RFID cards for bite-sized readings

Demo

TikTok

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Roni Bandini
Roni Bandini

Written by Roni Bandini

Contracultura maker 🛠️ Arte electrónico 💡Inteligencia Artificial 🚀 Embedded System developer

No responses yet

What are your thoughts?