SlideShare a Scribd company logo
1 of 37
Download to read offline
NFC 基礎の基礎


12年3月17日土曜日
自己紹介

              下川 敬弘(32歳)

              twitter ID: androhi
              自宅:        城県水戸市

              勤務地: 東京都新宿区


12年3月17日土曜日
日本Androidの会

               コニュニティ運営委員

                 城支部 支部長




12年3月17日土曜日
ABC2012 Spring in 東京大学

                何気にカンファレンス熱いです!

                インテルさんとか、FXI Technologiesさんとか

                みなさん、来てください。


12年3月17日土曜日
ABC2012 Spring in 東京大学

                何気にカンファレンス熱いです!

                インテルさんとか、FXI Technologiesさんとか

                みなさん、来てください。


12年3月17日土曜日
そもそもNFCって何?




12年3月17日土曜日
NFCって何?

              Near Field Communication
              近距離無線通信

              Felica (SONY) や Mifare (NXP) の上位に位置する国
              際規格


12年3月17日土曜日
NFCって何?
              よく聞くRFID (radio frequency identifier) との関係

          自動認識技術とデータ収集技術           カードおよび個人識別に関する
                  の標準化                 技術の標準化



                    RFID               非接触ICカード

                 目的:物の管理               目的:人の管理
                 例:コインの中                例:交通系
                  回転寿司の皿                 電子マネー 
                  本の包装の裏


12年3月17日土曜日
NFCって何?
              非接触ICカードの規格
                                        NFCIP-2
                                   ( ISO/IEC 21481 )



                                                       ISO/IEC 15693 = ISO/IEC
            NFCIP-1                 ISO/IEC 14443
                                                           18000-3 Model 1
       ( ISO/IEC 18092 )                Type B
                                                                 RFID




         ISO/IEC 18092       ISO/IEC 18092
        Type F ( FeliCa )   Type A ( MIFARE )

12年3月17日土曜日
NFCの特徴って?




12年3月17日土曜日
特徴は?

              使い方は、”かざす”だけ。

              ICカード規格 ( FeliCa, Mifare ) に依存しない通
              信が可能。

              形状を自由に変えられる。


12年3月17日土曜日
身近にあるの?




12年3月17日土曜日
身近にある?
              リーダー・ライタ

               おサイフケータイ

               コンビニレジ横の箱

               改札

               (かざす系の)入退室管理、勤怠管理
12年3月17日土曜日
身近にある?

              NFC ( IC ) カード

                PASMO, Suica, ICOCA, TOICA, ICa, IruCa, RapiCa, passca,
                Hareca, LuLuCa, monoca, nimoca, Kitaca, SAPICA,
                SUGOCA, Ecomyca, manaca, ですか, など...



12年3月17日土曜日
Ca ばっかりじゃ (ry




12年3月17日土曜日
身近にある?
              NFC ( IC ) カード

                WAON, nanaco, Edy
                免許証

                タスポ

                住民基本台帳カード

12年3月17日土曜日
NFCって誰が決めてるの?




12年3月17日土曜日
誰が決めてるか?
              NFC Forum
                設立

                    Sony, NXP
                メンバー企業

                    Microsoft, Google, docomo, KDDI, Samusung, NOKIA,
                    etc
12年3月17日土曜日
NFCのカードとかって電池
              が入ってるんでしょ?



12年3月17日土曜日
仕組みは?


              電池は不要

              寿命は半永久




12年3月17日土曜日
仕組みは?

              電磁誘導方式

               モーター回す原理とか

               リニアモーターカーが浮く原理とか



12年3月17日土曜日
電磁誘導の実験




12年3月17日土曜日
※テクニカルレビューより




12年3月17日土曜日
結局どのスマートフォン
               が対応してるの?



12年3月17日土曜日
対応スマフォは?

              Android端末(国内)

               Galaxy S2, Galaxy Nexus
              BlackBerry端末(国内)

               BlackBerry Bold 9900


12年3月17日土曜日
普及すると何かいいこと
                 あるの?



12年3月17日土曜日
何が出来るか?
              高齢者向けサービ
              スに活用(フィン
              ランド)

               例)音声連携

               HearMeFeelMe

12年3月17日土曜日
何が出来るか?


              チェックインの簡略化

               例)Foursquare




12年3月17日土曜日
何が出来るか?

              ゲームのインター
              フェースへの活用

               例)Wii U



12年3月17日土曜日
とりあえず NFCDemo ?




12年3月17日土曜日
NFCDemo

                   NFCDemoのソース群




12年3月17日土曜日
NFCDemo
                Tag読み取り処理
                The Tag Dispatch System

                Android-powered devices are usually looking for NFC tags when the screen is unlocked, unless NFC is
                disabled in the device's Settings menu. When an Android-powered device discovers an NFC tag, the
                desired behavior is to have the most appropriate activity handle the intent without asking the user what
                application to use. Because devices scan NFC tags at a very short range, it is likely that making users
                manually select an activity would force them to move the device away from the tag and break the
                connection. You should develop your activity to only handle the NFC tags that your activity cares about
                to prevent the Activity Chooser from appearing.

                To help you with this goal, Android provides a special tag dispatch system that analyzes scanned NFC
                tags, parses them, and tries to locate applications that are interested in the scanned data. It does this
                by:

                 1.   Parsing the NFC tag and figuring out the MIME type or a URI that identifies the data payload in
                      the tag.
                 2.   Encapsulating the MIME type or URI and the payload into an intent. These first two steps are
                      described in How NFC tags are mapped to MIME types and URIs.
                 3.   Starts an activity based on the intent. This is described in How NFC Tags are Dispatched to
                      Applications.



                                                                                             Android Developersより


12年3月17日土曜日
NFCDemo
                Tag読み取り処理
                タグ ディスパッチ システム

                通常 Android 搭載デバイスは、NFC がデバイスの設定メニューで無効になっていない限りは、画面がロック解除された時に、NFC タ
                グを見つけようとします。Android 搭載デバイスが NFC タグを発見すると、どのアプリケーションを使用するのかをユーザに尋ねる
                ことなく、もっとも適切なアクティビティにそのインテントをハンドルさせることがデバイスに期待される動作です。デバイスは NFC
                タグをとても短い距離でスキャンすることから、ユーザが手動でアクティビティを選択すると、デバイスがタグから離れてしまい、接
                続が切れてしまうといったことになりかねません。開発者は、アクティビティの選択ダイアログが表示されないようにするためにも、
                アクティビティがケアする NFC タグをハンドルするだけにするように設計すべきです。

                この目的を果たすために、スキャンされた NFC タグの解析、タグのパースおよび、スキャンされたデータを期待するアプリケーショ
                ンへの検索の試みが Android により提供されています。これは以下のようにして実現されます。

                1.   NFC タグのパースとタグにあるデータ ペイロードを識別する MIME タイプや URI を解読します。
                2.   MIME タイプや URI とペイロードをインテントにカプセル化します。これらの最初の 2 つのステップについては NFC タグの
                     MIME タイプと URI へのマッピング方式 で説明しています。
                3.   インテントを基本としてアクティビティを開始します。これについては NFC タグの アプリケーションへのディスパッチ方式 で
                     説明しています。

                                             ソフトウェア技術ドキュメントを勝手に翻訳 より


12年3月17日土曜日
NFCDemo

   “AndroidManifest.xml”



              <activity android:name="TagViewer"
                  android:theme="@android:style/Theme.NoTitleBar"
              >
                  <intent-filter>
                      <action android:name="android.nfc.action.TAG_DISCOVERED"/>
                      <category android:name="android.intent.category.DEFAULT"/>
                  </intent-filter>
              </activity>




12年3月17日土曜日
NFCDemo

              “TagView.java”



                  @Override
                  protected void onCreate(Bundle savedInstanceState) {
                      super.onCreate(savedInstanceState);
                      setContentView(R.layout.tag_viewer);
                      mTagContent = (LinearLayout) findViewById(R.id.list);
                      mTitle = (TextView) findViewById(R.id.title);
                      resolveIntent(getIntent());
                  }




12年3月17日土曜日
NFCDemo
  “TagViewer.java”



              String action = intent.getAction();
              if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) {
                   Parcelable[] rawMsgs =
                      intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
                   NdefMessage[] msgs;
                   if (rawMsgs != null) {
                       msgs = new NdefMessage[rawMsgs.length];
                       for (int i = 0; i < rawMsgs.length; i++) {
                           msgs[i] = (NdefMessage) rawMsgs[i];
                       }
               ...




12年3月17日土曜日
ご清聴ありがとう
              ございました。

12年3月17日土曜日

More Related Content

Similar to 3.17 第1回nfc勉強会

Nfcのアプリつくってみる
NfcのアプリつくってみるNfcのアプリつくってみる
Nfcのアプリつくってみるmeco300
 
関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 Masafumi Terazono
 
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -Ikkai Takeshi
 
関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)Masafumi Terazono
 
Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Masafumi Terazono
 
福岡NFC勉強会
福岡NFC勉強会福岡NFC勉強会
福岡NFC勉強会treby
 
IDm Snatcher
IDm SnatcherIDm Snatcher
IDm Snatchertreby
 
iBeaconで進化するメイドさんにたっちなう_ワイヤレスジャパン2014講演資料
iBeaconで進化するメイドさんにたっちなう_ワイヤレスジャパン2014講演資料iBeaconで進化するメイドさんにたっちなう_ワイヤレスジャパン2014講演資料
iBeaconで進化するメイドさんにたっちなう_ワイヤレスジャパン2014講演資料Yasuhiro Ohsaka
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)Hirokuma Ueno
 

Similar to 3.17 第1回nfc勉強会 (9)

Nfcのアプリつくってみる
NfcのアプリつくってみるNfcのアプリつくってみる
Nfcのアプリつくってみる
 
関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 
 
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
 
関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)
 
Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会
 
福岡NFC勉強会
福岡NFC勉強会福岡NFC勉強会
福岡NFC勉強会
 
IDm Snatcher
IDm SnatcherIDm Snatcher
IDm Snatcher
 
iBeaconで進化するメイドさんにたっちなう_ワイヤレスジャパン2014講演資料
iBeaconで進化するメイドさんにたっちなう_ワイヤレスジャパン2014講演資料iBeaconで進化するメイドさんにたっちなう_ワイヤレスジャパン2014講演資料
iBeaconで進化するメイドさんにたっちなう_ワイヤレスジャパン2014講演資料
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
 

3.17 第1回nfc勉強会

  • 2. 自己紹介 下川 敬弘(32歳) twitter ID: androhi 自宅: 城県水戸市 勤務地: 東京都新宿区 12年3月17日土曜日
  • 3. 日本Androidの会 コニュニティ運営委員 城支部 支部長 12年3月17日土曜日
  • 4. ABC2012 Spring in 東京大学 何気にカンファレンス熱いです! インテルさんとか、FXI Technologiesさんとか みなさん、来てください。 12年3月17日土曜日
  • 5. ABC2012 Spring in 東京大学 何気にカンファレンス熱いです! インテルさんとか、FXI Technologiesさんとか みなさん、来てください。 12年3月17日土曜日
  • 7. NFCって何? Near Field Communication 近距離無線通信 Felica (SONY) や Mifare (NXP) の上位に位置する国 際規格 12年3月17日土曜日
  • 8. NFCって何? よく聞くRFID (radio frequency identifier) との関係 自動認識技術とデータ収集技術 カードおよび個人識別に関する の標準化 技術の標準化 RFID 非接触ICカード 目的:物の管理 目的:人の管理 例:コインの中 例:交通系   回転寿司の皿    電子マネー    本の包装の裏 12年3月17日土曜日
  • 9. NFCって何? 非接触ICカードの規格 NFCIP-2 ( ISO/IEC 21481 ) ISO/IEC 15693 = ISO/IEC NFCIP-1 ISO/IEC 14443 18000-3 Model 1 ( ISO/IEC 18092 ) Type B RFID ISO/IEC 18092 ISO/IEC 18092 Type F ( FeliCa ) Type A ( MIFARE ) 12年3月17日土曜日
  • 11. 特徴は? 使い方は、”かざす”だけ。 ICカード規格 ( FeliCa, Mifare ) に依存しない通 信が可能。 形状を自由に変えられる。 12年3月17日土曜日
  • 13. 身近にある? リーダー・ライタ おサイフケータイ コンビニレジ横の箱 改札 (かざす系の)入退室管理、勤怠管理 12年3月17日土曜日
  • 14. 身近にある? NFC ( IC ) カード PASMO, Suica, ICOCA, TOICA, ICa, IruCa, RapiCa, passca, Hareca, LuLuCa, monoca, nimoca, Kitaca, SAPICA, SUGOCA, Ecomyca, manaca, ですか, など... 12年3月17日土曜日
  • 16. 身近にある? NFC ( IC ) カード WAON, nanaco, Edy 免許証 タスポ 住民基本台帳カード 12年3月17日土曜日
  • 18. 誰が決めてるか? NFC Forum 設立 Sony, NXP メンバー企業 Microsoft, Google, docomo, KDDI, Samusung, NOKIA, etc 12年3月17日土曜日
  • 19. NFCのカードとかって電池 が入ってるんでしょ? 12年3月17日土曜日
  • 20. 仕組みは? 電池は不要 寿命は半永久 12年3月17日土曜日
  • 21. 仕組みは? 電磁誘導方式 モーター回す原理とか リニアモーターカーが浮く原理とか 12年3月17日土曜日
  • 24. 結局どのスマートフォン が対応してるの? 12年3月17日土曜日
  • 25. 対応スマフォは? Android端末(国内) Galaxy S2, Galaxy Nexus BlackBerry端末(国内) BlackBerry Bold 9900 12年3月17日土曜日
  • 26. 普及すると何かいいこと あるの? 12年3月17日土曜日
  • 27. 何が出来るか? 高齢者向けサービ スに活用(フィン ランド) 例)音声連携 HearMeFeelMe 12年3月17日土曜日
  • 28. 何が出来るか? チェックインの簡略化 例)Foursquare 12年3月17日土曜日
  • 29. 何が出来るか? ゲームのインター フェースへの活用 例)Wii U 12年3月17日土曜日
  • 31. NFCDemo NFCDemoのソース群 12年3月17日土曜日
  • 32. NFCDemo Tag読み取り処理 The Tag Dispatch System Android-powered devices are usually looking for NFC tags when the screen is unlocked, unless NFC is disabled in the device's Settings menu. When an Android-powered device discovers an NFC tag, the desired behavior is to have the most appropriate activity handle the intent without asking the user what application to use. Because devices scan NFC tags at a very short range, it is likely that making users manually select an activity would force them to move the device away from the tag and break the connection. You should develop your activity to only handle the NFC tags that your activity cares about to prevent the Activity Chooser from appearing. To help you with this goal, Android provides a special tag dispatch system that analyzes scanned NFC tags, parses them, and tries to locate applications that are interested in the scanned data. It does this by: 1. Parsing the NFC tag and figuring out the MIME type or a URI that identifies the data payload in the tag. 2. Encapsulating the MIME type or URI and the payload into an intent. These first two steps are described in How NFC tags are mapped to MIME types and URIs. 3. Starts an activity based on the intent. This is described in How NFC Tags are Dispatched to Applications. Android Developersより 12年3月17日土曜日
  • 33. NFCDemo Tag読み取り処理 タグ ディスパッチ システム 通常 Android 搭載デバイスは、NFC がデバイスの設定メニューで無効になっていない限りは、画面がロック解除された時に、NFC タ グを見つけようとします。Android 搭載デバイスが NFC タグを発見すると、どのアプリケーションを使用するのかをユーザに尋ねる ことなく、もっとも適切なアクティビティにそのインテントをハンドルさせることがデバイスに期待される動作です。デバイスは NFC タグをとても短い距離でスキャンすることから、ユーザが手動でアクティビティを選択すると、デバイスがタグから離れてしまい、接 続が切れてしまうといったことになりかねません。開発者は、アクティビティの選択ダイアログが表示されないようにするためにも、 アクティビティがケアする NFC タグをハンドルするだけにするように設計すべきです。 この目的を果たすために、スキャンされた NFC タグの解析、タグのパースおよび、スキャンされたデータを期待するアプリケーショ ンへの検索の試みが Android により提供されています。これは以下のようにして実現されます。 1. NFC タグのパースとタグにあるデータ ペイロードを識別する MIME タイプや URI を解読します。 2. MIME タイプや URI とペイロードをインテントにカプセル化します。これらの最初の 2 つのステップについては NFC タグの MIME タイプと URI へのマッピング方式 で説明しています。 3. インテントを基本としてアクティビティを開始します。これについては NFC タグの アプリケーションへのディスパッチ方式 で 説明しています。 ソフトウェア技術ドキュメントを勝手に翻訳 より 12年3月17日土曜日
  • 34. NFCDemo “AndroidManifest.xml” <activity android:name="TagViewer" android:theme="@android:style/Theme.NoTitleBar" > <intent-filter> <action android:name="android.nfc.action.TAG_DISCOVERED"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> 12年3月17日土曜日
  • 35. NFCDemo “TagView.java” @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tag_viewer); mTagContent = (LinearLayout) findViewById(R.id.list); mTitle = (TextView) findViewById(R.id.title); resolveIntent(getIntent()); } 12年3月17日土曜日
  • 36. NFCDemo “TagViewer.java” String action = intent.getAction(); if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) { Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); NdefMessage[] msgs; if (rawMsgs != null) { msgs = new NdefMessage[rawMsgs.length]; for (int i = 0; i < rawMsgs.length; i++) { msgs[i] = (NdefMessage) rawMsgs[i]; } ... 12年3月17日土曜日
  • 37. ご清聴ありがとう ございました。 12年3月17日土曜日