NFC元年
〜AndroidからみたNFC〜
今中幸太 (四国GTUG スタッフ)
自己紹介
今中幸太
 四国GTUG スタッフ
 徳島大学 工学部 知能情報工学科
 Android ユーザー歴 3年
  HTC Magic(HT-03A), Desire Z, Galaxy Nexus(SC-
  04D)
 Android デベロッパー歴 2年
  Commantalboost
  Douga Downloader
 只今就職活動中(←これ重要)
いきなりですが。
3月17日(土曜日)。。。
 第1回NFC勉強会
   東京六本木のKLab株式会社にて
   http://groups.google.com/group/nfc-lab
 豪華な講師陣
 FeliCaの中の人
 大規模

是非ともご確認を!
 (ぼくのはっぴょうはすごくいいかげんですよ)
この時間の流れ
NFCってなに?
 現在:身の回りのNFCについて
 未来:これからの話をしよう

具体的だがてきとーなNFC解説

AndroidからみたNFCについて
 すごく簡単なデモ
 デモの解説
NFCってなに?
まず質問。


NFCってご存じですか?

FeliCaはご存じですか?

「おサイフケータイ」?

 EdyとかSuicaとか?
おサイフケータイ
Edy , Suica
NFC大国 ニッポン
お買い物で大活躍
 コンビニでスムーズにお買い物
 徳島の某スーパーではEdyとQUICPayに対応

通勤通学にも
 電車はもちろん、バスもOK
 Suicaで買い物もできる


NFC技術が広く浸透しているのは日本だけ!
これからどうなる?
Mobile World Congress 2012 (2012年2月末)
  FeliCaの国際展開(NXP , フェリカネットワーク
  ス)
  GSMA(携帯通信事業者の業界団体)の会長
    「これから発展すべき3つの
    モバイル関係の内の一つをNFCと述べている。」
  コンサートチケットのタッチ&ゴー(ドコモ)




             http://wirelesswire.jp/special/201202/01/report/25.html
これからどうなる?
Mobile IT Asia (2012年3月)
  (ドコモの展示ブース)
  血圧計や体重計のデータを端末へ
  タグに端末をかざすと・・・
     アプリが起動する
     空調などを制御できる
  おサイフケータイの国際化
     Type A/B対応




        http://plusd.itmedia.co.jp/mobile/articles/1203/15/news018.html
これからどうなる?
KDDI新製品発表会(2012年1月)
  「国内初、モバイルNFCサービスの商用化につい
  て」
   航空機(JAL)のタッチ&ゴーサービス
   NFCでの電子マネー
   NFCでポイントカード
   NFCで勤怠管理




   http://www.kddi.com/corporate/news_release/2012/0116/index.html
まとめ
NFC技術は身近なところにたくさん!

日本はNFC技術で世界の先を進んでいる!

今後NFCが積極的に幅広く使えるようになる!




      ?
でもそれって・・・
「今ある技術でもできるんじゃないの?」
 おサイフケータイで航空機のタッチ&ゴー
 電子マネー
 トルカ(ケータイで取得できる電子カード)

「NFC = おサイフケータイ       でしょ」
 No.
 (厳密に) NFC ⊃ FeliCa


NFCについてもっと知る必要があります。
NFC解説
警告!
この登壇者、NFCの専門家・研究者にあらず
 インターネットを駆使して得た情報のまとめ
 ただでさえ複雑なNFC事情を、
 さらに複雑にしている危険性アリ

嘘、大げさ、まぎらわしい
 JARO
NFCで出来ること
カードエミュレーションモード
 端末がICカードのように振る舞う
   例:電子マネー、モバイルSuica

リーダ/ライタモード
 NFCタグ(ICカード等)から情報を読み書きする
   例:トルカ、Suica乗降データ取得

P2Pモード
 端末同士でデータをやりとりする
   例:Android Beam、FeliCa Push
NFC一覧表
                   NFC IP-2(ISO 21481)
                   NFC IP-1(ISO 18092)
  名称               Type A        FeliCa         Type B       ISO 15693
                   (ISO 14443)   (JIS X 6319-4) (ISO14443)   (Type V… ? )
                   MIFARE        Type F
  Tag.toString()   NfcA          NfcF          NfcB          NfcV
  の結果(例)           MifareClassic               IsoDep        Ndef
  android.nfc.te   NdefFormatab
  ch.XXXXX         le




注:ISO は ISO/IEC を示します。
「Type A」等は 「NFC-A」とも記載されることがあります。
Tag.toString()の結果は僕の手持ちのカードでの結果です。全部入ってません。
もっと知りたい人は http://goo.gl/wMclD (Android Developers)
NFC
Near Field Communication
   近距離無線通信
   非接触通信とも

約1m 〜 数cm程度のごく短距離
   使用周波数: 13.56MHz
NFC IP-1
NFC IP-1 (Interface Protocol 1)
   2003年12月に規格制定
   ISO/IEC 18092
   Type A(MIFARE) , FeliCaを規定

NFCフォーラム
   ソニー(FeliCa)
   NXPセミコンダクターズ(MIFARE)
   ノキア
NFC IP-2
NFC IP-2
  2005年1月に規格制定
  ISO/IEC 21481
  IP-1にType BとISO/IEC 15693を追加
  しかしNFCフォーラムでは
  ISO/IEC 15693を対象としていない
    貨物・商品用RFIDの規格
       でもAndroidではNfcVって出てくるし。。。
           ↑余計なこと書くな
NFC TagInfo
NFCタグ情報を詳細まで閲覧できるアプリ
 NXPセミコンダクターズが開発
 無料です

NFC搭載端末をお持ちの方必携のアプリ
Type A
ISO/IEC 14443
  NXPセミコンダクターズが開発
     もとはフィリップス
  国内ではたばこカードに採用

徳島大学学生証の例
  NdefFormatableついてます
     これは・・・(・∀・)
FeliCa(Type F)
JIS X 6319-4 (NFC IP-1 ISO/IEC 18092)
   ソニーが開発
   国内ではあらゆる分野に採用
   NFC-A,Bより通信速度が速いらしい

Suicaの例
   Suicaの残高や乗降履歴が
   (うまくやれば)取得できる
Type B
ISO/IEC 14443
  モトローラが開発
  国内では住基台帳カードや
  運転免許証に採用

運転免許証の例
  IsoDepとNfcB
     IsoDepが気になるが、
     Data Exchange Protocolということで
Type V
ISO 15693
  荷物や商品用のRFID
    ICタグとも
  1.5mくらい離れていても認識できる

例(@touchRLさんから貰ったタグ)
  NfcVとNdef
    Ndefがあるということは、
    読み書き自由にできる可能性高い
NDEF
NFC Data Exchange Format
  NFC準拠のデバイス・タグ間の
  共通データフォーマット
  タグを読み書きするときに用いられる
  4種類のタグを読み書きできることが
  義務づけられている
    プログラム上では意識する必要はない
  NDEF操作できるタグはNdefが取得できる
余談:FeliCa
FeliCa(おサイフケータイ)対応機種
 NFC技術を使っているがNFC完全対応ではない
 (NFCフォーラムに則っていない)
 しかしながらFeliCa Push等が使える
   Android標準APIは使えないけど、
   FeliCa API for Androidで通信できる
まとめ
NFC ≠ FeliCa である

NFCは様々な規格がある
  規格によってデータ閲覧の難易度が変わってくる
    それでも気合い入れたら読めるようです

FeliCaで出来ることはNFCでもできる
  NFC ⊃ FeliCa なので当然といえば当然
  ただしNFC操作できる端末は自由すぎる
AndroidからみたNFCについて
DEMOの時間です



 皆様お疲れ様ですm(_ _)m
これ、ご存じですか?
バーコードバトラー
バーコードバトラー(1991年)
 商品のバーコードをスキャン
 キャラクターやアイテム化する
 戦う

ありふれた数値データ「バーコード」を使う
 スキャンして強いデータを集めるソーシャル性
 対人戦によるコミュニケーション
ありふれたものを使う
バーコード
  今日に至るまで幅広く
      商品データを共有(はてなモノ)
      数値データをつかう(バーコードカノジョ)

GPS
  地球のどこに居るかが鍵となる
      ヒントを集めて商品ゲット(Geocaching)
      場所にチェックイン(Foursquare)

次は NFC が来るかも!?
NFC Battler
遊び方
 NFCタグ(ICカード)をスキャンする
 キャラクターが出来上がる
   (別のカードをスキャンすると成長)
 端末を重ねて相手と対決
   (勝ち負けでプレイヤーに加点とか)

構想 半年

実装 1週間
DEMO TIME
技術解説
キャラデータ生成
 NFCタグのIDm( NfcAdapter.EXTRA_ID )を使う
 16進数2ケタ×8区切り (256^8)通り
   ほぼユニークらしい。ほぼ。
 そのまま8区切りつかってもいいんだが、
 安全の為に少し細工した
   詳しくはソースをご覧ください
技術解説
P2P通信
 Android Beamで実現
   せっかくICSなんで。。。


 しかしながらこのデモは失敗するだろう。
   テストができませんでした
Github
NFC Battlerのソースコード
  https://github.com/keima/NFC-Battler


(実はGithubはじめて使ったのでよく分からない)
  (だからいろいろ助けて頂ければ嬉しいな)
    (チラッ)
まとめ
AndroidでNFCタグ情報を取ることが出来る

Android Beamで情報共有が出来る
  たぶん失敗してます



今年はNFCが流行るかも知れない
  NFC使ったなにか作ってみませんか?
参考文献
FeliCa - osdev-j (MMA) : http://wiki.osdev.info/?FeliCa

Sony Japan | FeliCa | NFCについて | NFCの定義 : http://www.sony.co.jp/Products/felica/NFC/

おサイフケータイ対応Android携帯電話アドホック機能のご紹介|技術情報|FeliCa Networks :
http://www.felicanetworks.co.jp/tech/adhoc.html

NFCと融合するおサイフケータイ|おサイフケータイについて|FeliCa Networks :
http://www.felicanetworks.co.jp/osaifu/nfc.html

NFCポータルサイト|NFCとは|【NFCとは】NFCの基礎知識と特徴について : http://www.nfc-
world.com/about/01.html

NFC(Near Field Communication)ってナニ?/株式会社トッパンTDKレーベル : http://www.toppan-
tl.co.jp/sp/nfc.html

Android NFCとNexusSで MifareClassic を読み書きする(後編) (ゆめ技:ゆめみスタッフブロ
グ) : http://yumewaza.yumemi.co.jp/2011/03/android_nfc_nexuss_mifare_classic_3.html
参考文献
近距離無線通信 - Wikipedia :
http://ja.wikipedia.org/wiki/%E8%BF%91%E8%B7%9D%E9%9B%A2%E7%84%A1%E7%B7%9A
%E9%80%9A%E4%BF%A1

MIFARE - Wikipedia : http://ja.wikipedia.org/wiki/MIFARE

FeliCa - Wikipedia : http://ja.wikipedia.org/wiki/FeliCa

Kazzzの日記 : http://d.hatena.ne.jp/Kazzz/

hiro99ma : http://hiro99ma.blogspot.com/


FeliCa/NFCの概説とAndroidの対応状況 :
http://www.slideshare.net/somafire/felicanfcandroid-6538882
参考文献
Android Beam の基本 - Android(アンドロイド)情報-ブリリアントサービス :
http://d.hatena.ne.jp/bs-android/20111020/1319107541

Android 2.3 GingerBread NFCをやってみる - TOPGATE Google関連技術サイト :
https://sites.google.com/a/topgate.co.jp/systemsolution/android/nfc-startup

AndroidBeamを使用してデータを送信する | Tech Booster :
http://techbooster.org/android/device/10979/

Y.A.M の 雑記帳: Android 2.3.3 Platform : http://y-anz-m.blogspot.com/2011/02/android-233-
platform.html

NFC元年 ~AndroidからみたNFCについて~