# Example workflows ## 1. Read a MIFARE Classic sector 1. Dashboard → **Poll once** to verify presence and UID. 2. **Read** tab → enter default key (e.g. `FFFFFFFFFFFF`), block number, **MIFARE read block**. 3. Copy hex → save to **Library** (local browser). ## 2. Write a known-good block 1. Authenticate with a key that still allows write on that sector. 2. **Write** tab → paste **32 hex chars** (16 bytes) → confirm dialog. 3. Re-read the block to verify. ## 3. Ultralight / NTAG pages 1. Use **Read** → **Ultralight read page** with page index (start at `0` for UID/lock pages per datasheet — exercise caution on OTP/lock bytes). ## 4. Raw PN532 frames 1. **Raw** tab → send e.g. `4A0100` (`InListPassiveTarget`, 1 target, 106 kbps Type A). 2. Interpret response bytes per NXP **UM0701** / PN532 user manual. ## 5. Continuous scan to WebSocket consumers 1. Dashboard → **Start live scan**. 2. Connect a WebSocket client to `ws://192.168.4.1/ws` (or `ws://pn532tool.local/ws`). 3. Messages look like: `{"channel":"scan","payload":{...}}`