アンドロイドは、現在のところ、NFCで「遊べる」唯一のプラットフォームです。NFCは、Near Field Communicationの略で「近接通信」と呼ばれる技術のことですが、一般にNFC Forumが仕様を定めた技術を指します。これは、いわゆるスマート家電や非接触カードなどに関わる技術で、アンドロイドがNFCに対応しているため、国内の多くのスマートフォンもNFCが利用できるようになっています。

NFCには、NFCタグのリーダーライター、NFCデバイス間の通信、そしてカードエミュレーションという3つの機能を持っています。ただし、カードエミュレーション機能は、NFCをベースにFelicaなどの非接触カードを実現するための「部品」的な扱いで、NFCとは別に安全に情報を管理する仕組みが必要になるため、NFC機能を搭載したスマートフォンすべてが非接触カードのエミュレーションを行えるわけではありません。ただ、国内の多くのスマートフォンは、そもそも「おサイフケータイ」機能として、Felicaなどの非接触カードの機能を持っているため、FelicaチップなどがNFC機能を内蔵することが多く、結果的にNFCに対応している機種があります。

NFCでは、非接触カードそのものの機能はありませんが、非接触カードと通信して、カードの種類などを調べる機能は実現できます。このあたりは純粋な通信プロトコルで、カードに記憶されている情報のやりとりとは別になっているからです。たとえば、NFCの機能だけでは、カードの種類を区別することは可能で、たとえば、カードがSuicaなのか、Edyなのかを判断することはできます。ですが、Suicaで利用履歴を取得するには、Felicaの仕様に対応するアプリが別途必要になります。

また、NFC技術の1つであるデバイス間通信は、スマート家電や健康機器などの情報読み取りに使われています。たとえば、オムロンが発売している体重計(正確には体組成計)や、血圧計、歩数計(正確には活動量計)は、NFCを使って、記録したデータをスマートフォンの専用アプリ「からだリンク」で読み取ることができます。そのデータは、同社の運営するクラウドサービスに転送され、読み出したスマートフォン以外の機種やPCなどからもグラフを見ることができるようになります。CSV形式でのデータのダウンロードも可能なので、あとからExcelで加工して独自のグラフを作るといったことも可能です。

また、NFCによる通信は、あまり高速ではなく、デジカメ画像などのメガバイト単位のデータの転送には向いていません。このような場合を想定して、他の高速なデータ通信経路を通知する仕組みがあります。たとえば、Bluetoothでの接続方法(ペアリング方法)などを通知するものとして「Bluetooth secure simple pairing Using NFC」という技術があります。続に「Bluetooth Handover」と呼ばれていますが、NFCで通信した情報を元にお互いのBluetoothでペアリングを行う技術です。これを利用したのが、最近はやりのNFCペアリングが可能なBluetooth機器です。マウスやキーボード、ヘッドホン、ワイヤレススピーカーなどがあり、お互いを接触させNFCで通信を行わせるだけで、簡単にペアリングできます。これは、Windows 8などにも装備されていて、機器も増えつつあります。

ソニーやパナソニックなどがNFC搭載のBleutooth機器を出しており、専用アプリを使うことでペアリングから再生までを簡単に行うことが可能です。

写真01: ソニーのNFC簡単接続。本来、同社のNFC対応製品でBluetoothのペアリングを簡単に行うものだが、規格に準じたNFC搭載Bluetooth機器なら、たとえば、マウスなどもペアリング可能だっだ

写真02: オムロンのNFC搭載健康関連機器の専用アプリ「からだグラフ」。NFCで機器から情報を読み込みクラウド側に転送、グラフを表示できる

NFCのリーダーライター機能は、「NFCタグ」に少量のデータを書き込んだり、読み出したりする機能です。NFCタグは、シールなどの簡易なものなら一枚100円以下、コイン形などのしっかりしたものでも数百円以下で入手が可能です。これらを使うと、NFC対応のアンドロイドにかざすだけで、特定のアプリを起動するなどの機能が実現できます。また、最近のイベントでは、ポスターやパネルなどにNFCタグが入れてあり、スマートフォンで読み取るだけで案内のURLや連絡先のメールアドレス、電話番号などが入手できるようなことも行われています。

NFCタグは、アマゾンなどで入手可能で、さまざまな使い方が可能になります。NFCの標準では、URLや電話番号、メールアドレスといったプラットフォームに依存しない共通の機能が定義されていますが、汎用の文字列を定義することもできます。この場合、データが直接タグに書き込まれるので、どのマシンで読み込ませても機能が利用可能です。

アンドロイドでは、アプリが、NFCタグ読み込みのイベントを検出できるようになっているため、タグにあらかじめ自分自身を区別するようなコードを書いておき、そのタグが読み込まれたら、保存していた動作を行うように設定できます。NFCタグ内には、百数十バイト程度しか容量がありませんが、タグにはすべて固有の番号があり、個々のタグを区別できます。このため、アプリがタグと動作の関係を把握していれば、タグを読み込ませただけでさまざまな処理が行えるようになるのです。なお、アプリによっては、クラウドサービスなどを使って、機器間でタグに割り当てた動作を同期させることも可能です。

NFCラウンチャーなどのアプリを使えば、タグを読み込ませたときに設定を変更してアプリを起動することができるようになります。また、読み込ませるたびに設定をオンオフすることもできるので、たとえば外出前に無線LANをオフ、帰ってきてもう一回読ませると無線LANがオンになるといった使い方ができます。アンドロイドが標準で行えない複数の設定の同時変更もNFCタグを読み込ませるだけでできるのが便利です。

アンドロイドでは、特定の設定機能をオンオフするウィジェットをホーム画面に置いて、設定切替を簡素化しますが、NFCタグでも同じことができます。NFCタグに設定変更を割り当てておき、タグを持ち歩いて、必要なときにタッチさせるだけで、一連の作業を自動で開始できます。たとえば、テザリングの開始を割り当てたタグをパソコンに貼っておけば、これをスキャンさせるだけでスマートフォンをテザリング状態にできます。パソコン側は、接続可能なアクセスポイントに自動接続できるので、テザリングが始まればPCもインターネットに接続できるようになるわけです。あるいは、自動車のスマートフォンフォルダーに貼り付けておいて、フォルダー装着で読み込ませ、ハンズフリーやナビ、充電中は画面オフしないといった設定を自動で行わせることも可能です。冷蔵庫に貼り付けたタグで「買い物メモ」アプリを起動したり、部屋の入り口に貼り付けたタグで無線LANのアクセスポイントを切り替えるなど、タグはシールとしてどこかに貼り付けることで、場所やモノなどに対応させたアクションを行うことができるようになります。使って見ると体感できるのですが、モノや場所とスマートフォンのデジタルな処理を対応させられるというのは、ある種の「利便性」があり、リアルな世界とデジタルの世界が結びついた体験ができます。

写真03: 「NFCタクスランチャー」で、アンドロイドの設定などをNFCタグに割り当てできる。複数の設定やアプリ起動からなる「アクション」をまとめて1つのタグに登録でき、タグの読み込みで一括設定などが可能

写真04: NFCタグの書き込みアプリ「NFC ReTag Free」このほかに有償版もある。やはり複雑な動作を指定するタグを書き込み可能

写真05: URLやメールアドレスといった標準タグを作成する機能を中心にしたNFCタグ書き込みアプリ「Tagstand Writer」。めずらしいものとしてはFoursquare用のチェックインタグ(中身はURL)を作成できる。お店などはうれしい機能なのかも

もう1つは、最近増えてきた非接触カードの種類などをアンドロイドのアプリで調べることができます。非接触カードには、ISO/IEC 14443という規格にあるType AとType Bがあり、そのほかに日本で広く使われているFelicaがあります。NFCは、このType AとBおよびFelicaの通信方式をNFC-A、NFC-B、NFC-Fとして仕様に取り込んでいます。このため、規格に準じた多くの非接触カードと「通信」することができます。ただし非接触カードには、情報を安全に格納するしくみ(基本的にはICカードの規格に準じている)を持っていますが、NFCには、ここが含まれないため、通信してカードの種類を確認できるだけです。もちろん、カードが暗号化されていない場合などには、読み出すことも可能なのですが、Suicaのようにお金に関わるカードでは、暗号化などが行われていて、読み出すことができない部分もあります。ですが、暗号化されていない部分、たとえば、利用履歴のような情報については、これを表示できるアプリも作られています。

最近のホテルでは、金属の鍵を使うところが減り、カードキーがほとんどになりました。一般にカードキーは磁気カードなのですが、一部のホテルでは非接触カードを採用しています。こうしたカードもほとんどNFC技術が包含する無線通信技術を使っているため、カードタイプなどを読み出すことが可能です。

Taginfoというアプリは、NFC技術にも含まれているMifareという仕様を作ったフィリップス社の半導体部門だったNXPセミコンダクターの開発したアプリです。読み取ったカードの情報などを表示してくれるものですが、さまざまなカードがあって読み込ませてみると意外に面白いのです。かつて流行った「バーコードバトラー」のようなアプリもありますが、カードの情報を調べていると、いろいろなカードを集めたくなります。

また、Taginfoなどの情報表示ソフトでは、NFCタグに書き込まれた内容を見ることもできます。NDEFの解析もできるので、どのようなNDEFレコードが入ってるのかもわかります。

写真06: 「Taginfo」は、詳細な情報表示が特徴。また、NXP社製のチップを使ったタグや非接触カードを読み取ると音を出す機能もある。NDEF(NFC Data Exchange Format、NFCフォーラムで定義したデータの交換方式)を解析して表示できるほか、カード内容のダンプなども可能。ただし、暗号化やロックが解除できるわけではない

写真07: 「NFC taginfo」は、NFCタグや非接触カードの情報表示を図のようなイメージで表示できる。グレーの部分はホタンになっていて、タップする詳細を表示する

写真08: 「NFC Doctor」は、タグや非接触カードの情報を表示するアプリ。タグ情報のダンプ表示やアクセス条件(非接触カードではデータにロックをかけることができる)などをリスト形式で表示

写真09: NFCタグを読んだところ。NFCタグは、NTAG203(F)と呼ばれるデバイスが組み込まれていている(写真左)。NDEFデータを見るとデータ形式としてMIMEタイプがあり、x/nfctl-sが指定されていて、さらにアンドロイドのアプリケーションパッケージ名(NFCラウンチャーのパッケージ名)が入っている(写真中)。これらは、IC内部のストレージでは、タグ固有の番号となるUIDなどに続いて、データの形で書き込まれている(写真右)

関連リンク

連載バックナンバーはこちら