77
NFC を使って端末同士で データをやり取りしよう 2013-01-19 河野聡/Re: Kayo-System NFC-EHIME 勉強会

NFC-EHIME 資料

Embed Size (px)

DESCRIPTION

NFC-EHIME で発表させていただいた資料です。端末同士って書いてるけどカードとのやり取り、FeliCa Pushの話も含めています!

Citation preview

Page 1: NFC-EHIME 資料

NFC を使って端末同士でデータをやり取りしよう

2013-01-19

河 野 聡 / R e : K a y o - S y s t e m

NFC-EHIME 勉強会

Page 2: NFC-EHIME 資料

自己紹介

R e : K a y o - S y s t e m河 野   聡

@esperia09

松山コンピュータ専門学校卒関西 Node 学園 (#00)関西 NfcLab 勉強会 (#01, #02)“10 日でおぼえる Android アプリ開発入門教室 第 2版”執筆協力

Page 3: NFC-EHIME 資料

技術的なところを協力させて頂いています

http://gallery.adobe-web.jp/web/jewelsavior/

Page 4: NFC-EHIME 資料

もくじ

● NFC とは?● 規格の話● いろんな相手とのデータの送受信

Page 5: NFC-EHIME 資料

NFC とは?まずは身近な例を紹介

Page 6: NFC-EHIME 資料

NFC とは?

● 近距離無線通信技術またはそれを使ったモノ– NFC = Near Field Communication

● 狭義には NFC-IP1 に含まれてる技術のこと

● いわゆる機械に触れるとお金を払えるアレ

http://www.sony.co.jp/Products/felica/NFC/ が詳しい

Page 7: NFC-EHIME 資料

_人人人人_> アレ < ̄ Y^Y^Y  ̄

Page 8: NFC-EHIME 資料

_人人人人_> どれ < ̄ Y^Y^Y  ̄

Page 9: NFC-EHIME 資料

身近な NFC の例

Page 10: NFC-EHIME 資料

なんか機械とかカードとか色々出てきたけど、送り側と受け側って

なんでもいいの?

Page 11: NFC-EHIME 資料

A.OK です!

Page 12: NFC-EHIME 資料

NFC 3 つのモード

送り側と受け側はだいたい分類されているので紹介

Page 13: NFC-EHIME 資料

1. カードエミュレーションモード

● 端末がカードのフリをするモード

カードのフリ…!

Page 14: NFC-EHIME 資料

2. P2P モード

● 端末から端末へ情報を送信● Android Beam, FeliCa Push 等

URL,電話番号 ,

連絡先 ,etc…

Page 15: NFC-EHIME 資料

リーダー / ライターモード

● 駅にある電子マネーシステム (ICOCA 等 )や、 PaSoRi など

Page 16: NFC-EHIME 資料

NFC の通信原理

\どうやって触れていないのに通信しているの!/

Page 17: NFC-EHIME 資料

Polling!!

1.読み取り側 (Android とか改札機とか ) は定期的に、

NFC カードがかざされているかのチェックしてます

Page 18: NFC-EHIME 資料

\なんかおった/

Page 19: NFC-EHIME 資料

2.近づけると電磁誘導により、NFC カードに電力が供給されます

Page 20: NFC-EHIME 資料

電磁誘導?

Page 21: NFC-EHIME 資料

有名な例

http://www.atmarkit.co.jp/fwin2k/words/022qi/qi.html※NFC と Qi は関係ないよ!!

触れていないのに充電ができる Qi( チー ) とか

Page 22: NFC-EHIME 資料

ちなみに、十数センチまで通信できると言われていますが

Android では 0-5 センチ程度です!

0cm - 5cm

Page 23: NFC-EHIME 資料

NFC カードは小さなコンピュータになっていて、供給された電力で動くようになっています。

CPU

OS

メモリ

e.t.c...

Page 24: NFC-EHIME 資料

3.その電力と、同時に送信された要求 ( コマンド ) を解釈して読み取り側に演算結果を返します

乗車履歴

残高

カードの ID 等

Page 25: NFC-EHIME 資料

Android x NFC で出来ることは?

技術的なポイントの解決

Page 26: NFC-EHIME 資料

- NFC Card -

- おサイフケータイ -

- AIR アプリ -

その他 PC 等 ...

Page 27: NFC-EHIME 資料

NFC カード編

Page 28: NFC-EHIME 資料

Q.NFC カードって、どんなものでも

読み書きできるの?

Page 29: NFC-EHIME 資料

A. NO!

Page 30: NFC-EHIME 資料

実は「 NFC 」に含まれる

規格というのは4つもある

Page 31: NFC-EHIME 資料

NFC の規格

NfcA NfcB NfcF (FeliCa) NfcV

NFC-IP1 (ISO/IEC 18092)

NFC-IP2 (ISO/IEC 21481)

● NfcA 等の名称は NFC Forum が便宜上決めている名前● Android は4つ全てに対応している

Page 32: NFC-EHIME 資料

規格の説明

NfcA NfcB NfcF (FeliCa) NfcV

ISO/IEC 14443 Type A世界的に最も普及しているタグ代表例は Taspo, MifareUltralight 等比較的安価で手に入ります

Page 33: NFC-EHIME 資料

Android の対応規格

NfcA NfcB NfcF (FeliCa) NfcV

ISO/IEC 14443 Type B免許証やパスポート等に利用されるNFC の特徴とも言われる IDm を持たず通信時に ID の代わりに乱数を生成する(PUPI)

Page 34: NFC-EHIME 資料

Android の対応規格

NfcA NfcB NfcF (FeliCa) NfcV

JIS 6319-4日本で最も流通しているタイプ。Sony が開発・製造しているISO/IEC 14443 Type C としての策定を目指したが失敗通信が高速で、高いセキュリティを持つ

Page 35: NFC-EHIME 資料

Android の対応規格

NfcA NfcB NfcF (FeliCa) NfcV

ISO 15693流通・物品管理等によく使われるタイプ。K○NAMI さんのゲーセンのカードにも使われてたりする

Page 36: NFC-EHIME 資料

これらは全て通信の仕方が少し違う…

Page 37: NFC-EHIME 資料

が!

しかし!!

Page 38: NFC-EHIME 資料

Android ではこれらは同じように扱える

Page 39: NFC-EHIME 資料

\ドヤァ/

Page 40: NFC-EHIME 資料

デモ( 端末間通信、カード読み書き)

Page 41: NFC-EHIME 資料

おサイフケータイ編

Page 42: NFC-EHIME 資料

質問 . おサイフケータイでできることってなんでしょう!

Page 43: NFC-EHIME 資料

おサイフケータイでできること

● お金のチャージ● お金の支払い● チャージしたお金の確認

Page 44: NFC-EHIME 資料

おサイフケータイでできること

● お金のチャージ● お金の支払い● チャージしたお金の確認● 他の端末へ情報を送信● カードの読取 / 書込

Page 45: NFC-EHIME 資料

じゃぁ早速開発していろんなアプリ作っちゃおうぜ!!

Page 46: NFC-EHIME 資料

落ち着け

Page 47: NFC-EHIME 資料

一般の方が全ての機能が利用

できるわけではない

Page 48: NFC-EHIME 資料

おサイフケータイでできること● カードエミュレーションモード

– ※ おサイフケータイは通常このモード

● P2P モード– 他の端末と通信するモード

● リーダ / ライタモード– カードを読み書きするモード

– 金銭のやりとりを行う

Page 49: NFC-EHIME 資料

おサイフケータイでできること● カードエミュレーションモード

– ※ おサイフケータイは通常このモード

● P2P モード– 他の端末と通信するモード

● リーダ / ライタモード– カードを読み書きするモード

– 金銭のやりとりを行う

Free!!

許可証 ( 無料 )があれば可能

契約が必要( リモート発行サービス )

Page 50: NFC-EHIME 資料

許可証無料なんだったらもらえばいいんじゃね?

Page 51: NFC-EHIME 資料

申請大変なんです…(´・ω・` )

Page 52: NFC-EHIME 資料

http://www.felicanetworks.co.jp/service/plugin_use.html

申請の流れ

Page 53: NFC-EHIME 資料

_人人人人人人_> 全部郵送 < ̄ Y^Y^Y^Y^Y  ̄

Page 54: NFC-EHIME 資料

デモ( フリーの部分 )

Page 55: NFC-EHIME 資料

Adobe AIR 編

Page 56: NFC-EHIME 資料

Adobe AIR とは

● いわゆる Flash● リッチなアニメーションがプログラムなしに

作成できる● ActionScript を使って、プログラムによって動

きをつけることも可能● マルチプラットフォーム対応

– Android, iOS, Desktop, AIR for TV ...

Page 57: NFC-EHIME 資料

実は AIR にはAndroid 向けに NFC を

読み取る機能が提供されていない

※デスクトップ版だったらあります!!http://www.adobe.com/jp/joc/flex/sony_felica/

Page 58: NFC-EHIME 資料

が!

しかし!!

Page 59: NFC-EHIME 資料

AIR には、デバイス標準の機能を呼び出す仕組み

(Air Native Extension) が用意されている

Page 60: NFC-EHIME 資料

通称

Page 61: NFC-EHIME 資料

姉(ANE)

Page 62: NFC-EHIME 資料

※ マジです

Page 63: NFC-EHIME 資料

http://atnd.org/events/30878

Page 64: NFC-EHIME 資料

姉に興味のある方はぜひ!

Page 65: NFC-EHIME 資料

とりあえずデモ

Page 66: NFC-EHIME 資料

Q.姉作ってみたいんだけどどうやって作るの!?

Page 67: NFC-EHIME 資料

A. 作るのは大変なのであるものを使いましょう

Page 68: NFC-EHIME 資料

必要なもの

● Flash CS6– Flash 5.5 で行うこともできますが、めんどく

さいです● Windows or Mac

Page 69: NFC-EHIME 資料

http://developer.android.com/reference/android/nfc/tech/package-summary.html

Page 70: NFC-EHIME 資料

http://developer.android.com/reference/android/nfc/tech/package-summary.html

Page 71: NFC-EHIME 資料

ライブラリを設定

Page 72: NFC-EHIME 資料

Android Manifest を設定

Page 73: NFC-EHIME 資料

ソースコードを書く

Page 74: NFC-EHIME 資料

完成

Page 75: NFC-EHIME 資料

まとめ

● NFC はかざして通信するアレ● おサイフケータイはおサイフ以外の使い道が

ある● 良き姉を持とう

Page 76: NFC-EHIME 資料

ご清聴ありがとうございました

Page 77: NFC-EHIME 資料

本日のサンプルコード

● NFC カードの読み書きサンプル– https://github.com/esperia/NFC-Ehime

● おサイフケータイのサンプル– https://github.com/esperia/TestMfc

● あねらぼ– http://code.google.com/p/ane-lab/

● 主催の方→ @tokufxug