NDEF フォーマットは、NFC Data Exchange Format の略です。これは、NFC 対応デバイスがデータをエンコードおよびデコードする方法を定義する仕様です。
この形式により、オペレーティング システムやプログラミング言語に関係なく、デバイスで簡単に情報を共有できます。これは、NDEF 形式の包括的なガイドです。
NDEF を使用する理由
NDEF は、近距離無線技術である NFC 用に特別に設計されました。連絡先の交換、アプリケーションの起動、インターネットへの接続など、さまざまな用途に使用できます。
NDEF を使用すると、2 つの NFC 対応デバイス間でデータを簡単に共有できます。これは、すべての NFC 対応デバイスが理解できる標準形式です。
これは、NFC を使用して他の人と情報を交換する際に互換性の問題を心配する必要がないことを意味します。
NDEF はどのように機能しますか?
NDEF は、TLV (タイプ、長さ、値) エンコーディングを使用するバイナリ形式です。各レコードは、ヘッダー (データ型を指定する) とペイロード (実際のデータを含む) で構成されます。
区切り文字は、ヘッダーとペイロードを区切ります。区切り文字には任意の文字を使用できますが、通常はコンマ (,) です。
NDEF レコードの例を次に示します。
ヘッダー: PNF
ペイロード: これは私のペイロードです
ヘッダー (PNF) は、ペイロードにテキストが含まれていることを示します。この例のテキストは「これは私のペイロードです」です。
NDEF 対応デバイスは、この形式を使用してデータをエンコードおよびデコードできます。
理解しておくべき NDEF の基本
- 書式設定
書式設定は、最も重要な要素の 1 つです。 NFC技術.すべての NFC タグは、NFC 対応デバイスで読み取れるように特定の方法でフォーマットする必要があります。
NDEF は、すべての NFC チップで使用できる形式です。このフォーマットにより、すべての NFC デバイスが共有されているデータを読み取って理解できるようになります。
NDEF プロトコルに準拠するように NFC チップをフォーマットするプロセスには、ソフトウェアおよび/またはファームウェアの更新が含まれます。完了すると、互換性のあるリーダーが NFCタグ NDEF メッセージを取得します。
メッセージが NDEF 固有の構造に従わない場合、リーダーは情報を取得できず、タグは役に立たなくなります。
ほとんどの場合、NFC タグは本質的に OTP (ワンタイム プログラミング) です。これは、操作が永続的であることを意味します。それでも、NXP NTAG21x シリーズなどの一部のチップは、NDEF よりも前にフォーマットされています。そのため、NDEF 互換のデータを格納できます。
- 構造
NDEF 構造は、NFC テクノロジの全体的な機能にとって重要です。
以下は、NDEF 構造の主要な要素の概要です。
- ヘッダ。 これは、NDEF レコードの最初の部分です。ペイロードに含まれるデータのタイプに関する情報が含まれています。
- ペイロード。 これは、共有されている実際のデータです。
- デリミタ。 区切り文字は、ヘッダーをペイロードから分離するために使用されます。任意の文字を使用できますが、通常はコンマ (,) です。
- 記録。 レコードは、NDEF のデータの基本単位です。ヘッダーとペイロードで構成されます。
- タイプ。 type フィールドは、ペイロードに含まれるデータのタイプを指定します。
- 長さ。 長さフィールドは、ペイロードの長さをバイト単位で示します。
- 価値。 値フィールドには、タイプに関連付けられたデータが含まれます。
これらのコンポーネントが連携して、完全な NDEF メッセージを作成します。メッセージが理解されるためには、すべてが存在しなければなりません。
- 複数のレコード
NDEF メッセージは、複数のレコードで構成できます。各レコードは、区切り文字によって次のレコードから分離されます。以下は、2 つのレコードで構成される NDEF メッセージの例です。
ヘッダー: PNF
ペイロード: これは私のペイロードです
区切り文字: ,
ヘッダー: PNF
ペイロード: それは私のペイロードです
区切り文字: ,
最初のレコード (これは私のペイロードです) には、「これは私のペイロードです」というテキストが含まれています。 2 番目のレコード (That is my payload) には、「That is my payload」というテキストが含まれています。どちらのレコードも区切り文字 (,) で終了します。
ただし、NDEF メッセージには少なくとも 1 つのレコードが必要です。レコードがない場合、メッセージは無効になります。
NDEFメッセージがより多くを運ぶ場合 1 レコード以上の場合、リーダーは各レコードを順番に読み取って処理します。ただし、後続のレコードは通常、最初のレコードをサポートするために使用されます。補足情報を提供したり、最初の記録を明確にするために使用できます。
NDEF レコードの作成方法
NDEF レコードを作成するには、いくつかの方法があります。 1 つの方法は、テキスト エディターを使用することです。もう 1 つの方法は、Java や C++ などのプログラミング言語を使用することです。
Java を使用して NDEF レコードを作成する方法の例を次に示します。
NdefRecord ndefRecord = new NdefRecord();
ndefRecord.setType(“テキスト/プレーン”);
ndefRecord.setPayload(“これは私のペイロードです”);
NdefMessage メッセージ = 新しい NdefMessage(新しい NdefRecord[] { ndefRecord });
message.putExtra(“フォーマット”, “NDEF”);
このコードは、「TextRecord」と呼ばれる NDEF レコードを作成します。レコードのタイプは「text/plain」で、ペイロードは「This is my payload」です。
このコードは、「メッセージ」と呼ばれる NDEF メッセージも作成します。メッセージには、テキスト レコードといくつかの追加情報が含まれています。
NDEF 形式を使用する利点
NDEF 形式にはいくつかの利点があります。
- 均一。 NDEF 形式は標準化されているため、すべての NFC デバイスがそれを理解できます。
- 使いやすさ。 NDEF 形式は使いやすく、異なるデバイス間でデータを共有するのに最適です。
- 柔軟性。 NDEF 形式は柔軟性があり、さまざまな種類のデータを格納するために使用できます。
さらに、NDEF 形式は拡張可能です。これは、将来的に新しいタイプのデータを含めるように拡張できることを意味します。
異なるデバイス間でデータを共有する方法が必要な場合は、NDEF 形式が最適なソリューションです。標準化されており、使いやすく、柔軟性があります。このテクノロジーの一般的なアプリケーションには、次のようなものがあります。
- MIFARE クラシック。 MIFARE Classic は、人気のある非接触型スマート カードです。 NDEF形式を使用してデータを保存します。
- NFC タグ。 NFCタグ データの保存に使用できる小型で安価なデバイスです。これらは、NDEF 形式を使用して他のデバイスと通信します。
- アンドロイドビーム。 Android Beam は Android の機能で、ユーザーがデバイスを一緒にタップすることでデータを共有できるようにします。 NDEF形式を使用してデータを保存します。
全体として、NDEF 形式は、異なるデバイス間でデータを共有するための強力なツールです。ただし、使用するには両方のデバイスに NFC チップが必要です。デバイスに NFC が搭載されているかどうかわからない場合は、仕様を確認するか、製造元にお問い合わせください。