nfc-ehime 資料
DESCRIPTION
NFC-EHIME で発表させていただいた資料です。端末同士って書いてるけどカードとのやり取り、FeliCa Pushの話も含めています!TRANSCRIPT
NFC を使って端末同士でデータをやり取りしよう
2013-01-19
河 野 聡 / R e : K a y o - S y s t e m
NFC-EHIME 勉強会
自己紹介
R e : K a y o - S y s t e m河 野 聡
@esperia09
松山コンピュータ専門学校卒関西 Node 学園 (#00)関西 NfcLab 勉強会 (#01, #02)“10 日でおぼえる Android アプリ開発入門教室 第 2版”執筆協力
技術的なところを協力させて頂いています
http://gallery.adobe-web.jp/web/jewelsavior/
もくじ
● NFC とは?● 規格の話● いろんな相手とのデータの送受信
NFC とは?まずは身近な例を紹介
NFC とは?
● 近距離無線通信技術またはそれを使ったモノ– NFC = Near Field Communication
● 狭義には NFC-IP1 に含まれてる技術のこと
● いわゆる機械に触れるとお金を払えるアレ
http://www.sony.co.jp/Products/felica/NFC/ が詳しい
_人人人人_> アレ < ̄ Y^Y^Y  ̄
_人人人人_> どれ < ̄ Y^Y^Y  ̄
身近な NFC の例
なんか機械とかカードとか色々出てきたけど、送り側と受け側って
なんでもいいの?
A.OK です!
NFC 3 つのモード
送り側と受け側はだいたい分類されているので紹介
1. カードエミュレーションモード
● 端末がカードのフリをするモード
カードのフリ…!
2. P2P モード
● 端末から端末へ情報を送信● Android Beam, FeliCa Push 等
URL,電話番号 ,
連絡先 ,etc…
リーダー / ライターモード
● 駅にある電子マネーシステム (ICOCA 等 )や、 PaSoRi など
NFC の通信原理
\どうやって触れていないのに通信しているの!/
Polling!!
1.読み取り側 (Android とか改札機とか ) は定期的に、
NFC カードがかざされているかのチェックしてます
\なんかおった/
2.近づけると電磁誘導により、NFC カードに電力が供給されます
電磁誘導?
有名な例
http://www.atmarkit.co.jp/fwin2k/words/022qi/qi.html※NFC と Qi は関係ないよ!!
触れていないのに充電ができる Qi( チー ) とか
ちなみに、十数センチまで通信できると言われていますが
Android では 0-5 センチ程度です!
0cm - 5cm
NFC カードは小さなコンピュータになっていて、供給された電力で動くようになっています。
CPU
OS
メモリ
e.t.c...
3.その電力と、同時に送信された要求 ( コマンド ) を解釈して読み取り側に演算結果を返します
乗車履歴
残高
カードの ID 等
Android x NFC で出来ることは?
技術的なポイントの解決
- NFC Card -
- おサイフケータイ -
- AIR アプリ -
その他 PC 等 ...
NFC カード編
Q.NFC カードって、どんなものでも
読み書きできるの?
A. NO!
実は「 NFC 」に含まれる
規格というのは4つもある
NFC の規格
NfcA NfcB NfcF (FeliCa) NfcV
NFC-IP1 (ISO/IEC 18092)
NFC-IP2 (ISO/IEC 21481)
● NfcA 等の名称は NFC Forum が便宜上決めている名前● Android は4つ全てに対応している
規格の説明
NfcA NfcB NfcF (FeliCa) NfcV
ISO/IEC 14443 Type A世界的に最も普及しているタグ代表例は Taspo, MifareUltralight 等比較的安価で手に入ります
Android の対応規格
NfcA NfcB NfcF (FeliCa) NfcV
ISO/IEC 14443 Type B免許証やパスポート等に利用されるNFC の特徴とも言われる IDm を持たず通信時に ID の代わりに乱数を生成する(PUPI)
Android の対応規格
NfcA NfcB NfcF (FeliCa) NfcV
JIS 6319-4日本で最も流通しているタイプ。Sony が開発・製造しているISO/IEC 14443 Type C としての策定を目指したが失敗通信が高速で、高いセキュリティを持つ
Android の対応規格
NfcA NfcB NfcF (FeliCa) NfcV
ISO 15693流通・物品管理等によく使われるタイプ。K○NAMI さんのゲーセンのカードにも使われてたりする
これらは全て通信の仕方が少し違う…
が!
しかし!!
Android ではこれらは同じように扱える
\ドヤァ/
デモ( 端末間通信、カード読み書き)
おサイフケータイ編
質問 . おサイフケータイでできることってなんでしょう!
おサイフケータイでできること
● お金のチャージ● お金の支払い● チャージしたお金の確認
おサイフケータイでできること
● お金のチャージ● お金の支払い● チャージしたお金の確認● 他の端末へ情報を送信● カードの読取 / 書込
じゃぁ早速開発していろんなアプリ作っちゃおうぜ!!
落ち着け
一般の方が全ての機能が利用
できるわけではない
おサイフケータイでできること● カードエミュレーションモード
– ※ おサイフケータイは通常このモード
● P2P モード– 他の端末と通信するモード
● リーダ / ライタモード– カードを読み書きするモード
– 金銭のやりとりを行う
おサイフケータイでできること● カードエミュレーションモード
– ※ おサイフケータイは通常このモード
● P2P モード– 他の端末と通信するモード
● リーダ / ライタモード– カードを読み書きするモード
– 金銭のやりとりを行う
Free!!
許可証 ( 無料 )があれば可能
契約が必要( リモート発行サービス )
許可証無料なんだったらもらえばいいんじゃね?
申請大変なんです…(´・ω・` )
http://www.felicanetworks.co.jp/service/plugin_use.html
申請の流れ
_人人人人人人_> 全部郵送 < ̄ Y^Y^Y^Y^Y  ̄
デモ( フリーの部分 )
Adobe AIR 編
Adobe AIR とは
● いわゆる Flash● リッチなアニメーションがプログラムなしに
作成できる● ActionScript を使って、プログラムによって動
きをつけることも可能● マルチプラットフォーム対応
– Android, iOS, Desktop, AIR for TV ...
実は AIR にはAndroid 向けに NFC を
読み取る機能が提供されていない
※デスクトップ版だったらあります!!http://www.adobe.com/jp/joc/flex/sony_felica/
が!
しかし!!
AIR には、デバイス標準の機能を呼び出す仕組み
(Air Native Extension) が用意されている
通称
姉(ANE)
※ マジです
http://atnd.org/events/30878
姉に興味のある方はぜひ!
とりあえずデモ
Q.姉作ってみたいんだけどどうやって作るの!?
A. 作るのは大変なのであるものを使いましょう
必要なもの
● Flash CS6– Flash 5.5 で行うこともできますが、めんどく
さいです● Windows or Mac
http://developer.android.com/reference/android/nfc/tech/package-summary.html
http://developer.android.com/reference/android/nfc/tech/package-summary.html
ライブラリを設定
Android Manifest を設定
ソースコードを書く
完成
まとめ
● NFC はかざして通信するアレ● おサイフケータイはおサイフ以外の使い道が
ある● 良き姉を持とう
ご清聴ありがとうございました
本日のサンプルコード
● NFC カードの読み書きサンプル– https://github.com/esperia/NFC-Ehime
● おサイフケータイのサンプル– https://github.com/esperia/TestMfc
● あねらぼ– http://code.google.com/p/ane-lab/
● 主催の方→ @tokufxug