はじめに
今やスマートフォン端末の普及や、日本政府によるキャッシュレス決済の普及推進に伴い、
通信機器をかざすだけで決済ができる「キャッシュレス決済」の利用が増加しています。
このようなサービスの実現には「NFC」という技術が利用されており、
デバイス同士を近づけるだけで簡単に通信できるのが特徴です。
現在では、多くの端末に「NFC」が搭載されており、私たちの生活になくてはならない技術となりました。
今回はそんなNFC技術について記事を書いていきます。
Near Field Communication (NFC)とは
NFCとは、デバイス同士を近づけることで通信できる技術のことで、
デバイスをかざして通信する技術として利用されています。
現在では交通系ICカードやクレジットカード、スマートフォン端末などに多く搭載されており、私たちの生活で広く活用されています。
日本語では「近距離無線通信」と訳されます。
NFCの機能は小さなICチップで提供されており、13.56MHz帯の周波数を利用して、すぐ近くにあるNFC対応機器とのワイヤレス通信を可能とします。
通信可能距離は10cm程度と非常に短いものの、対応機器同士を軽く触れるほど近づけるだけで簡単に通信を行うことができるのです。
また、NFCの特徴として双方向通信が可能であることが挙げられます。
そのため、NFC対応機器同士でデータを読み出したり、書き込んだりすることができます。
ただし、NFCのデータ伝送速度は速くないため、写真や動画などの大容量データのやり取りには向きません。
一般的に、連絡先などの文字情報やキャッシュレスの少額決済など、比較的小さなデータのやり取りに向いています。
また、NFCの技術は広く世界中で利用されており、日本では FeliCa(フェリカ) と呼ばれる規格が主に利用されています。
規格には主に「Type-A」「Type-B」「Type-F」の3種類に分けられており、FeliCaは「Type-F」に分類されます。
Type-A
オランダのNXPセミコンダクターズという企業が開発したNFCの規格です。ほかの規格と比べて比較的安価で利用できるという特徴があります。
日本国内では、たばこの成人識別カード「taspo」に利用されています。
Type-B
アメリカのモトローラという企業が開発したNFCの規格です。CPUが内蔵されており、処理が速くセキュリティ面に優れているという特徴があります。
日本国内では、パスポート、運転免許証、住民基本台帳カード、マイナンバーカードなどの身分証明書に利用されています。
Type-F (FeliCa)
SONYが開発したNFCの規格です。処理速度が約0.1秒と非常に速く、セキュリティ面も優れているという特徴があります。
日本国内は、Suica、PASMOなどの交通系ICカードや、Edy、nanaco、iD、QUICPayなどの電子マネーで利用されています。
どんなことができるのか
NFCを利用したデバイス間の双方向通信により、多くのサービスが実現できるようになっています。
現在の生活で広く普及しているサービスとしては主に以下3つです。
- キャッシュレス決済
- デバイス同士のデータ通信
- 周辺機器とのペアリング
こんなことしてみた
Suicaカードの残高を確認できるアプリを作成してみました。
用意したもの
- Windows端末
- NFCカードリーダー (SONY:RC-S380)
- 自作アプリ (Python)
Suicaをかざす前
Suicaをかざした後 (残高だけではつまらないので履歴も出力)
画像では伝わらないですが、Suicaをかざした際に駅の改札のピッ!というあの音を出力するようにし、
最終残高の金額を音声出力するようにもしました。(ちょっとカタコト感が否めないですが。。)
その後、ラズパイ (Raspberry Pi) を構築し、作成したアプリを入れて社内に数日間設置してみました。
ただ、スマホアプリでもWebアプリでもカードをかざせば残高確認できるアプリが普通にたくさんあるので、
わざわざこんなアプリを作る意味はありません、お勉強のために作ってみました。
我が家でも構築し、今では電車で出かける前の子供たちのSuicaの残高チェック & ただのおもちゃになっております。
おわりに
今回はNFCについて改めて調べて簡単なアプリの作成までやってみました。
普段何気なく利用しているものでも、ちょっとした活用法を見出せそうなものはまだまだありそうです