Technischer Hintergrund
Diese Seite erklärt die technischen Grundlagen hinter NFC-Tags in FilamentFlow – für Nutzer die verstehen möchten wie es funktioniert, und für Maker die eigene Hardware entwickeln wollen.
Was ist NDEF?
NDEF (NFC Data Exchange Format) ist ein standardisiertes Datenformat für NFC-Tags. Es definiert wie Informationen auf einem Tag gespeichert und ausgelesen werden – unabhängig vom Hersteller.
Ein NDEF-Tag enthält einen oder mehrere Records – vergleichbar mit Einträgen in einer Datenbank. Jeder Record hat einen Typ (z.B. URL, Text, MIME) und einen Inhalt.
Zwei NFC-Standards – Warum?
FilamentFlow unterstützt zwei verschiedene NFC-Standards weil unterschiedliche Hardware unterschiedliche Tags verwendet:
| Standard | Auch bekannt als | Verwendung |
|---|---|---|
| ISO 14443A | NFC-A, NTAG | FilamentFlow eigene Tags, Smartphone-kompatibel |
| ISO 15693 | NFC-V, NFC-ISO15693 | Prusa OpenPrintTag Original-Spulen |
ISO 14443A ist der am weitesten verbreitete Standard – nahezu jedes Smartphone kann diese Tags lesen und beschreiben.
ISO 15693 hat eine größere Reichweite und wird von Prusa Research für OpenPrintTag verwendet. Dieser Standard erfordert spezialisierte Hardware wie den PN5180 NFC-Reader im SpoolFlow.
FilamentFlow NDEF-Struktur (ISO 14443A)
Ein FilamentFlow NFC-Tag enthält zwei NDEF-Records:
| Record | Typ | Inhalt |
|---|---|---|
| Record 1 | URL | filament-flow.com/MaterialBooking?id=<Filament-ID> |
| Record 2 | Text | Name, Materialtyp, Filament-ID (zeilengetrennt) |
Die Filament-ID in Record 1 ist der primäre Identifier – Record 2 dient als Fallback falls Record 1 unvollständig ist.
Prusa OpenPrintTag CBOR-Struktur (ISO 15693)
Prusa Original-Spulen speichern ihre Daten im CBOR-Format (Concise Binary Object Representation) – einem kompakten Binärformat ähnlich JSON.
Die für FilamentFlow relevanten CBOR-Keys:
| Key | Inhalt | Beispiel |
|---|---|---|
| Key 5 | Rollen-ID | 4d7f10bc58 – identisch mit der aufgedruckten ID auf der Spule |
| Key 6 | Farbe | RGB-Wert der Filamentfarbe |
| Key 10 | Materialname | PLA Prusa Galaxy Black |
SpoolFlow liest diese Keys direkt aus dem Tag und übermittelt sie an FilamentFlow.
Kompatible Hardware
| Gerät | ISO 14443A | ISO 15693 |
|---|---|---|
| Smartphone (Android/iOS) | ✅ | ❌ |
| SpoolFlow (PN5180) | ✅ | ✅ |
| ACR122U USB-Reader | ✅ | ❌ |
Die vollständige Firmware-Implementierung inklusive NDEF-Parsing und CBOR-Dekodierung ist Open Source verfügbar: