組み込みの機能を使ってみる
手元にNFCデバイスを搭載したWindowsマシンがない場合には、外付けのUSB、NFCデバイスを利用できる。たとえば、ソニーの「RC-S380」(パソリ)は、非接触ICカードリーダー/ライターだが、NFC機能を搭載しており、Windows 8.1に接続すると、NFCデバイスとしても認識される。Windows 8では、接続すると自動的にドライバがインストールされ、特にダウンロードなどの作業も必要ない。
NFCでは、タグなどで交換するデータ形式が定められており、NFCを使って、URLやメールアドレスなどを交換できる。タグで送信できるメッセージなどの形式はNDEFと呼ばれており、Windowsは、そのうちいくつかのデータ形式に対応する機能を内蔵している。
たとえば、URLデータを読ませると画面右上にトースト(矩形のメッセージ)が表示され、データが認識されたことを示す。これをタッチすると、既定のウェブブラウザが起動する。
また、電話番号やSMSデータならば、初期状態で対応するアプリケーションが既定されていないため、アプリを選択するダイアログが表示される。対応するアプリケーションが存在しない場合には、音が鳴り続け、トーストが表示されない。
こうしたデータ交換は、タグだけでなく、たとえば、NFC機能を搭載したAndroidスマホなどとも可能だ。たとえば、アンドロイド側でウェブページを開いたまま、PC側のNFCデバイスと接触させると、Android Beamと呼ばれる機能が起動し、閲覧中のウェブページのURLを送信することが可能だ。
また、他のデータ形式についても、これを処理するプログラムを用意すれば、タグをかざすことでデータの処理が可能になる。なお、前述のように、データ形式と対応するプログラムの関係は、「既定のプログラム」→「ファイルの種類またはプロトコルのプログラムへの関連付け」で行なっているが、一回対応を定義すると、それが記録されるため、あとから対応アプリケーションを変更しようとすると、かなり大きなリストの中から目的のプロトコル(URLのスキームとして定義されていることが多い)を探して、対応プログラムを変更する必要がある。
やり方としては、拡張子とアプリケーションの関係を変更するのと同じである。Androidのように、毎回アプリを選択することはできないので注意が必要だ。
もう1つのWindowsに組み込まれたNFC機能は、Bluetoothのペアリング機能だ。これは、Bluetooth Handoverと呼ばれる仕組みの一部で、Bluetoothデバイス間のペアリング処理をNFCを使うことで簡略化(接触させるだけ)として、ユーザーによるペアリングキーの確認や入力を不要にする。
Handover機能は、ペアリングによる相互の認証とその後のデータ転送を可能にする。NFCは、テキストやURLといった小さなデータの転送にはむいているが、最大転送速度が424kbpsなので画像データのようなメガバイトクラスのデータの伝送には長時間かかってしまいあまりむいているとは言いがたい。このようなとき、NFCを使ってお互いを認証したあと、BluetoothやWi-Fiでデータ転送を行えるようにしたのがHandover機能なのだが、Windowsではペアリング部分のみ実装されており、BluetoothやWi-Fiによるデータ転送を行なう機能はまだ実装されていない。NFCによるペアリングでは、Windowsの画面右上にトーストが表示されタップするだけで、ペアリングが完了し、PC設定に画面を切り替える必要もない。
ストアアプリには、NFCのためのProximity APIを利用したものがいくつか見られる。テスト的なものが多いが、これらを使うことで、タグ内容を確認することも可能だ。そうしたアプリの1つであるNFC TagWriterは、タグの読み書きに利用できる。ただし、このアプリでは、書き込みできるタグの種類は限られていて、RTDで定義されている「メール」「URL」「テキスト」「SMS」「電話番号」の5種類だけだが、NDEFがあるために、他のTNFを使ったTYPEを表示することは可能になっている。
このあたり、Androidのほうが詳しく表示可能なアプリがあったり、タグでさまざまな機能を実行できるラウンチャーがあるなど、少し進んでいる。このあたりを含め、Windows 8.1ではまだまだアプリが少なく、実装したAPIを使い尽くすようなアプリに期待したい。

この連載の記事
- 第259回 WSL2ではRDPでLinux GUIアプリのウィンドウを表示する
- 第258回 LinuxのGUIアプリケーションに対応するWSL2
- 第257回 Windows 10の最新ビルドを用い、WSL2で仮想マシン環境を使う
- 第256回 ARM版Windows 10のプレビュー版でx64プログラムの動作に対応したので試した
- 第255回 Windowsのディスプレイとモニター いまだ96DPIが基準
- 第254回 Preview版でv1.5まで進化したWindows Terminalの新機能を確認
- 第253回 Windows 10でJSONを扱う
- 第252回 ソフトウェア開発者以外にも便利なツールが含まれるWindows SDK/WDKをインストールする
- 第251回 WindowsサーチのIndexerで使われるIFilterを調べる
- 第250回 キーボードのキー入れ替えにおける、仮想キーコードとキーボードスキャンコード
- 第249回 Windows 10で秋の大型アップデートが始まったのに、春のアップデートも落ちてこないマシンがあるのはなぜ?
- この連載の一覧へ