nfc-ehime 資料

Post on 04-Jul-2015

1.856 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

top related