Costruttore di Messaggi NDEF: Crea Payload NFC Multi-Record Visualmente
1Cos'è un Messaggio NDEF Multi-Record e Quando ne Hai Bisogno?
La maggior parte dei tag NFC contiene un singolo record — un URL, un contatto, o una credenziale WiFi. Ma la specifica NDEF supporta i messaggi multi-record: un singolo messaggio NDEF può contenere diversi record di tipo diverso, tutti memorizzati sequenzialmente nella memoria del tag. Questo apre possibilità potenti che i tag a record singolo non possono offrire. Un messaggio NDEF multi-record permette di combinare diversi tipi di contenuto. Ad esempio, un record SmartPoster (definito dall'NFC Forum) è in realtà un messaggio NDEF multi-record all'interno di un altro record NDEF — contiene un record URI per l'URL, più uno o più record Text per il titolo in lingue diverse, più un record Action opzionale che specifica cosa fare con l'URL. Lo strumento NDEF Builder permette di comporre questi messaggi complessi visualmente, senza calcolare manualmente offset di byte e flag di intestazione. Si aggiungono record uno per uno, si sceglie il tipo (URL o Testo attualmente), si inserisce il valore, e lo strumento calcola la corretta struttura binaria NDEF per il messaggio multi-record completo, inclusi i flag MB/ME corretti, le lunghezze payload e i valori TNF per ogni record. Questo strumento è principalmente destinato a sviluppatori NFC e integratori che necessitano di testare contenuto di tag multi-record, sperimentare con strutture NDEF, o generare vettori di test per applicazioni di lettura NFC.
2Come il Costruttore NDEF Genera Messaggi Multi-Record
Costruire un messaggio NDEF multi-record richiede una costruzione attenta a livello di byte. Il Costruttore NDEF automatizza questo processo. Regole chiave per i messaggi NDEF multi-record: Solo il primo record ha il flag MB (Message Begin) impostato a 1. Solo l'ultimo record ha il flag ME (Message End) impostato a 1. I record intermedi (se più di 2 record) hanno sia MB che ME impostati a 0. Ogni record specifica indipendentemente il proprio TNF, tipo, lunghezza payload e payload. Il costruttore elabora i record nell'ordine: Per ogni record URL, crea un record Well-Known URI (TNF=0x01, type='U') con il codice prefisso URI appropriato. Per ogni record Text, crea un record Well-Known Text (TNF=0x01, type='T') con il codice lingua anteposto al testo secondo la specifica NFC Forum Text RTD. Una volta costruiti tutti i singoli record, il costruttore li concatena in un unico array di byte, impostando il flag MB sul primo record e ME sull'ultimo. L'array di byte risultante viene convertito in esadecimale e visualizzato. Viene mostrata la dimensione totale del messaggio, che aiuta a determinare se il payload rientra nella memoria del tag NFC di destinazione. NTAG213 supporta fino a 137 byte, NTAG215 fino a 504 byte, e NTAG216 fino a 888 byte.
3Casi d'Uso Pratici dei Messaggi NDEF Multi-Record
Mentre i tag a record singolo coprono la maggior parte dei casi d'uso quotidiani, i messaggi multi-record sbloccano applicazioni NFC più sofisticate. Implementazione SmartPoster: Un tag NFC su un manifesto cinematografico può contenere sia l'URL del trailer che il titolo del film come record di testo. Alcuni dispositivi mostrano il titolo come titolo della notifica quando il tag viene letto, rendendo l'esperienza più curata. Contenuto multilingue: Memorizza lo stesso testo in più lingue (italiano, inglese, spagnolo) come record Text separati. Lo stack NFC del dispositivo lettore può selezionare il record nella lingua appropriata in base alla locale del dispositivo. URL + record azione: Combina un record URI con un record Action (NFC Forum RTD Action) per specificare cosa deve fare il dispositivo lettore — aprire l'URL nel browser, salvarlo nei preferiti, o semplicemente visualizzarlo. Test per sviluppatori: Genera messaggi NDEF con combinazioni specifiche di tipi di record per testare il parser della tua applicazione di lettura NFC. La tua app gestisce correttamente i messaggi a 3 record? Il costruttore ti permette di creare casi limite. Prototipazione senza hardware: Durante lo sviluppo di applicazioni NFC, usa il costruttore per generare payload di test da inserire direttamente nel parser NDEF della tua app senza bisogno di un tag fisico. Questo accelera significativamente lo sviluppo. Record aziendali personalizzati: Combina un record URL (per una pagina prodotto) con un record External Type (per un ID prodotto interno) in modo che una singola scansione apra sia la pagina web che catturi l'ID prodotto nella tua app aziendale.
4Dettagli della Specifica Tecnica NDEF Multi-Record
Comprendere la struttura a livello di byte dei messaggi NDEF multi-record è essenziale per gli sviluppatori che implementano parser NFC o verificano il contenuto dei tag. La struttura del messaggio NDEF per record multipli segue queste regole dalla specifica tecnica NDEF v1.0 dell'NFC Forum. Combinazioni di flag di intestazione: Solo il primo record: MB=1, ME=0. Solo l'ultimo record: MB=0, ME=1. Primo E ultimo (record singolo): MB=1, ME=1. Record intermedi: MB=0, ME=0. Per un messaggio a 2 record (URL + Testo), il layout binario è: [intestazione_URL con MB=1,ME=0][lunghezza_tipo_URL][lunghezza_payload_URL][tipo_URL][payload_URL][intestazione_TEXT con MB=0,ME=1][lunghezza_tipo_TEXT][lunghezza_payload_TEXT][tipo_TEXT][payload_TEXT]. Struttura del record Text (TNF=0x01, type='T'): Il payload inizia con un Byte di Stato che codifica la codifica UTF (bit 7: 0=UTF-8, 1=UTF-16) e la lunghezza del codice lingua (bit 5-0). Poi viene il codice lingua IANA (es. 'it', 'en', 'es') in ASCII, seguito dal contenuto testuale nella codifica specificata. Limiti di dimensione del messaggio: NTAG213 supporta fino a 137 byte, NTAG215 fino a 504 byte, e NTAG216 fino a 888 byte. Per i record con flag SR impostato a 1, la lunghezza del payload è limitata a 255 byte per record.
5Tipi di Record Supportati ed Estensioni Future
La versione attuale del Costruttore NDEF supporta i tipi di record URL e Testo, che coprono i casi d'uso multi-record più comuni. Ecco una panoramica di tutti i tipi di record NFC Forum standard e la loro potenziale inclusione futura. Attualmente supportati: Record URL (TNF=0x01, type='U') — record URI Well-Known con compressione dei prefissi. Record Text (TNF=0x01, type='T') — record testo Well-Known con codice lingua. Aggiunte future previste: SmartPoster (TNF=0x01, type='Sp') — record composito contenente URL + testo titolo + azione e icona opzionali. È lo standard per i tag NFC pubblicitari. Record MIME (TNF=0x02) — payload MIME arbitrari inclusi vCard (text/vcard) e credenziali WiFi (application/vnd.wfa.wsc). Record External Type (TNF=0x04) — per tipi di record con namespace specifici dell'applicazione usati nei sistemi NFC aziendali. Record Action (TNF=0x01, type='act') — complementare a SmartPoster, specifica l'azione predefinita. Quando si combinano record, considera sempre la dimensione totale del payload. Una combinazione URL + vCard può facilmente superare la memoria del NTAG213. Controlla sempre il conteggio dei byte mostrato dopo la costruzione del messaggio e scegli di conseguenza il chip del tag appropriato.
FAQDomande Frequenti
Quanti record può contenere un messaggio NDEF?
La specifica NDEF non definisce un numero massimo di record — teoricamente è consentito qualsiasi numero purché la dimensione totale del messaggio rientri nella memoria del tag. In pratica, il limite di memoria del chip del tag vincola il numero di record. Un NTAG213 con 137 byte può tipicamente contenere 1–2 record in base alla lunghezza del contenuto. Un NTAG216 con 888 byte ne può contenere 5–10. La maggior parte delle applicazioni reali usa 1–3 record. Più di 3 record in un singolo messaggio è insolito.
Tutti i telefoni NFC supportano i messaggi NDEF multi-record?
Tutti i dispositivi conformi NFC devono supportare i messaggi NDEF multi-record secondo la specifica NFC Forum. Tuttavia, il modo in cui il dispositivo agisce su un messaggio multi-record dipende dal suo stack software NFC. Il dispatcher NFC di Android elabora il primo record corrispondente che trova — se il primo record è un URI, apre il browser. iOS elabora similmente il primo record riconosciuto. Alcuni tipi di record esotici in un messaggio multi-record potrebbero essere ignorati dai sistemi operativi mainstream, quindi testa sempre sui dispositivi di destinazione.
Cos'è un record SmartPoster e come lo creo?
Un SmartPoster è un tipo di record NFC Forum standard progettato per i tag NFC pubblicitari — un manifesto o prodotto che, al tocco, apre un URL con un titolo leggibile dall'uomo. È tecnicamente un messaggio NDEF annidato: un record Well-Known (TNF=0x01, type='Sp') il cui payload è esso stesso un messaggio NDEF contenente un record URI e uno o più record Text per il titolo in lingue diverse. Il Costruttore NDEF aggiungerà il supporto SmartPoster in un aggiornamento futuro. Per ora, è possibile combinare un URL e un record Text come approssimazione.