SlideShare a Scribd company logo
Now Loading. Please Wait ...


                                        Twitter @yokmama




 ロボット x NFC
 「日本Androidの会 関西支部勉強会 - わたし、気になります!」
 場所:ECCコンピュータ専門学校 日時:2012/09/01

                                       Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
自己紹介
       氏名   :寺園聖文(てらぞの まさふみ)

       肩書   :株式会社Re:Kayo-System 代表取締役社長

       活動拠点 :神戸近郊∼日本→海外行きたい

       著書   :「10日でおぼえるAndroidアプリ開発入門教室」著(翔泳社)

             「HTML5によるAndroidアプリ開発入門」監修(日経BP)

       アプリ  :「JUST PLAYER」「Skip Memo」「ふりがなオートマチック」等

       好きなもの:アニメ、決して萌えじゃない、見てるけど、あくまで研究の一環

       嫌いなもの:とくになし

       最近のテーマ:電子工作、運動すること、英語

                                          Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCとロボット




                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCとは

              • 近距離無線通信の名称
              • Android2.3で実装された
              • ICOCA、SUICAので使われている

                                Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
Androidの
              NFCでできる事①
                    Tag




              IDカードもどき、カード判定

                           Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
Androidの
              NFCでできる事②

                NDEF   NDEF




                   NDEF

               磁気カードもどき
                              Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
Androidの
              NFCでできる事③

                                NDEF


              NDEF


                     P2P通信もどき
                                  Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
Androidの
              NFCでできる事④
                          NfcF
                  Tag
                          NfcA
                          NfcB
                          NfcV


               カード通信ライト

                           Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCとその他の違い
                         NFC     QR   磁気カード      紙カード

               読み取り     専用リーダー カメラ+機器 専用リーダー         目

               書き込み     専用ライター   不可   専用ライター         手

                速度        ⃝      ☓      ◎            ⃝

               可搬性        ◎      ◎      ⃝             ☓

               コスト        ☓      ◎      ⃝            ◎

              セキュリティー     ◎      ☓      ⃝             ☓

               大きさ        ◎      ☓      ☓             ☓



                                            Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCとその他の違い
                         NFC     QR   磁気カード      紙カード

               読み取り     専用リーダー カメラ+機器 専用リーダー         目

               書き込み     専用ライター   不可   専用ライター         手

                速度        ⃝      ☓      ◎            ⃝

               可搬性        ◎      ◎      ⃝             ☓

               コスト        ☓      ◎      ⃝            ◎

              セキュリティー     ◎      ☓      ⃝             ☓

               大きさ        ◎      ☓      ☓             ☓



                                            Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
書き込みしてなんぼ


                       僕の見解
                     Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
さて本題


                     Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
ロボット X NFC   



                       Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
DroidRobo01
                     制作:cattaka_net


                    AndroidからADKを
                    用いてロボットの手足
                      目を制御する。




                            Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCでどうかする


                     Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCのカードをかざすことで
    規定のモーションをするのではつまらん




                  Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
書き込みしてなんぼ


                       僕の見解
                     Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
Led
                Led
                 Led
                  Led
              Arm
               Arm
                Arm
                 Arm
              Wheel
              Wheel
               Wheel
                Wheel




                        Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
Demo




                     Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
プログラム解説


                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCの有効化
      Filter設定                                                                         Filter Type
               private IntentFilter[] nfcfilters = new IntentFilter[] {
                       new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED)
               };

               private String[][] nfctechLists = new String[][] {
                       new String[] {

                       },
                               Ndef.class.getName()                                    Tech Type
                       new String[] {
                               NdefFormatable.class.getName()
                       }
               };




      ForegroundDispach
              @Override
              protected void onPause() {
                  super.onPause();
                  nfcadapter.disableForegroundDispatch(this);
              }

              @Override
              protected void onResume() {
                  super.onResume();
                  PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
                          getClass()), 0);
                  nfcadapter.enableForegroundDispatch(this, pendingIntent, nfcfilters, nfctechLists);
              }

                                                                                                        Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
TechTypeによる処理の分岐
     @Override
     protected void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
         String action = intent.getAction();
         if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) {
             Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);   受信
             writeNdefMotionTag(tag);
         }
     }


                                                         if (Arrays.asList(tag.getTechList()).contains(NdefFormatable.class.getName())) {
                                                              NdefFormatable ndef = NdefFormatable.get(tag);
                                                              try {
                                                                  if (!ndef.isConnected()) {
                                                                      ndef.connect();
                                                                  }
                                                                  ndef.format(createNdefMessage());
                                                                  Toast.makeText(this, "Write Success.", Toast.LENGTH_SHORT).show();
                                                              } finally {
                                                                  ndef.close();
                                                              }
                                                          }
                                                          else if (Arrays.asList(tag.getTechList()).contains(Ndef.class.getName())) {
                                                              Ndef ndef = Ndef.get(tag);

                             分岐                               try {
                                                                  if (!ndef.isConnected()) {
                                                                      ndef.connect();
                                                                  }
                                                                  if(ndef.isWritable()){
                                                                      ndef.writeNdefMessage(createNdefMessage());
                                                                      Toast.makeText(this, "Write Success.", Toast.LENGTH_SHORT).show();
                                                                  }
                                                                  else{
                                                                      Toast.makeText(this, "Writing is not supported", Toast.LENGTH_SHORT).show();
                                                                  }
                                                              } finally {
                                                                  ndef.close();
                                                              }
                                                          }

                                                                                                            Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
書込処理
                  Header:     Data:         Data:          Data:          Data:
                  Rep 8bit    LED 8bit      LED 8bit       LED 8bit       LED 8bit
                  Size 8bit   ARM_L 8bit    ARM_L 8bit     ARM_L 8bit     ARM_L 8bit
                              ARM_R 8bit
                              ROT_L 8bit
                                            ARM_R 8bit
                                            ROT_L 8bit
                                                           ARM_R 8bit
                                                           ROT_L 8bit
                                                                          ARM_R 8bit
                                                                          ROT_L 8bit       ・・・
                              ROT_R 8bit    ROT_R 8bit     ROT_R 8bit     ROT_R 8bit
                              TIME 8bit     TIME 8bit      TIME 8bit      TIME 8bit



              private NdefMessage createNdefMessage() throws IOException {
                  byte[] mimeBytes = "application/jp.co.kayo.android.droiddancermotionwriter".getBytes(Charset.forName("US-ASCII"));
                  ByteArrayOutputStream bytes = new ByteArrayOutputStream();
                  byte[] header = new byte[2];
                  header[0] = new Integer(seekBar1.getProgress()).byteValue();
                  header[1] = new Integer(items.size()).byteValue();
                  bytes.write(header);
                  for(MotionItem item : items){
                      byte[] data = new byte[6];
                      data[0] = new Integer(item.isLed()?1:0).byteValue();
                      data[1] = new Integer(item.getArmleft()).byteValue();
                      data[2] = new Integer(item.getArmright()).byteValue();
                      data[3] = new Integer(item.getRotleft()).byteValue();
                      data[4] = new Integer(item.getRotright()).byteValue();
                      data[5] = new Integer(item.getTime()).byteValue();
                      bytes.write(data);
                  }

                  NdefRecord record = new NdefRecord(NdefRecord.TNF_MIME_MEDIA, mimeBytes, new byte[0], bytes.toByteArray());

                  return new NdefMessage(new NdefRecord[]{record});
              }




                                                                                                           Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
ソースコード
         https://github.com/yokmama/adkworks




                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
考察


         https://github.com/yokmama/adkworks
                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCTagを使うことで複雑なロジックを隠蔽化
      し誰でもタッチするだけでActionを起こすこ
                とができる。




         https://github.com/yokmama/adkworks
                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
しかし、今のままではだめ


         https://github.com/yokmama/adkworks
                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
対象の機器毎にタグを作る
       アプリを選ばないといけな
       いため、タグがガラパゴス
          になっている。
         https://github.com/yokmama/adkworks
                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
そこで考えてみた


         https://github.com/yokmama/adkworks
                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCTagのデータ・フォーマットを規定化し、
         Tagへの書込読込処理をオープンにし、
              タグに対応した機器は、
        コマンドやパラメータを公開してはどうか?




         https://github.com/yokmama/adkworks
                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
NFCTagの規格に従い
              各メーカーは対応する電気製品を
                  作ってくれれば、
               汎用的なNFCTagを作成する
                アプリを作れるはずだ。



         https://github.com/yokmama/adkworks
                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
実はTAGの規格はある


                Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
TNFとRTD
        TNF:Type Name Field
              TNF_ABSOLUTE_URI
              TNF_EMPTY
              TNF_EXTERNAL_TYPE
              TNF_MIME_MEDIA
              TNF_UNCHANGED
              TNF_UNKNOWN
              TNF_WELL_KNOWN

       RTD : Record Type Definition
              RTD_TEXT
              RTD_URI
              RTD_SMART_POSTER
              RTD_ALTERNATIVE_CARRIER
              RTD_HANDOVER_CARRIER
              RTD_HANDOVER_REQUEST
              RTD_HANDOVER_SELECT
                                        Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
しかしこれは不十分
                 なのだ


                     Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
課題
              •一方通行
              •複数アプリケーション
              •パラメータのフォーマットがない
              •送受信データの圧縮技術
              •送信データの妥当性チェック
              •etc,etc


                           Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
クラウドサービス


                  WAN

              SmartPhone,PC

                 NFCTag


       デバイス   デバイス      デバイス        デバイス

                               Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
学習机にタグ
          今日の宿題が画面にでてくる。宿題がお
           わったらもう一度タグにタッチする

        冷蔵庫にタグ
         タグから子供がタッチしたことがわかる
         ので、誰々ようのおやつをナビし、温め
                  時間をタグに書き込む
        電子レンジにタグ
         冷蔵庫から書かれたタグから、電子レン
                   ジの時間を設定する
        https://github.com/yokmama/adkworks
                                   Re:Kayo-System Co.,Ltd.

12年8月30日木曜日
ご清聴ありがとうご
                ざいました。

         https://github.com/yokmama/adkworks
                                    Re:Kayo-System Co.,Ltd.

12年8月30日木曜日

More Related Content

PDF
関西Nfc lab勉強会 宣伝
PDF
夜子まま塾講義7(androidの画面デザイン1)
PDF
セーラーソン振り返り
PPTX
Unityでアニメ風プロ生ちゃん!
PPTX
Rxに入門しようとしている
PPTX
Unity C#3からC#6に向けて
PPTX
uGUIのテキストエフェクトを作ってみたりした
PPTX
知覚動考、とりあえずShaderを書いてみる
関西Nfc lab勉強会 宣伝
夜子まま塾講義7(androidの画面デザイン1)
セーラーソン振り返り
Unityでアニメ風プロ生ちゃん!
Rxに入門しようとしている
Unity C#3からC#6に向けて
uGUIのテキストエフェクトを作ってみたりした
知覚動考、とりあえずShaderを書いてみる

Similar to 関西支部Android勉強会(ロボットxnfc) (20)

PDF
関西支部 第二回 NFCLab勉強会 
PDF
Android+NFC 日本Androidの会神戸支部 勉強会
PDF
3.17 第1回nfc勉強会
PDF
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
PPTX
OSC Nagoya NETMF 160528
PDF
AWS歴2週間で IoT に挑戦してみた。
PDF
Android & Nui & Physical Computing
PDF
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
PDF
Getting Started with Jetson Nano
PDF
Jetson Xavier NX クラウドネイティブをエッジに
PDF
【Techbuzz】titanium資料
PDF
RでGPU使ってみた
PDF
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
PDF
Singularityで分散深層学習
PDF
Unityファンへ贈る! Unite12 & gamescom 2012 視察報告
PPTX
NFC元年 ~AndroidからみたNFCについて~
PDF
Nfcのアプリつくってみる
PPTX
2014 1018 OSC-Fall Tokyo NETMF
PDF
Report JAZUG activities 2010.08-2011.09
ODP
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
関西支部 第二回 NFCLab勉強会 
Android+NFC 日本Androidの会神戸支部 勉強会
3.17 第1回nfc勉強会
Windows8 x NFC - Windows8 Developers カンファレンス Vol2.0 -
OSC Nagoya NETMF 160528
AWS歴2週間で IoT に挑戦してみた。
Android & Nui & Physical Computing
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
Getting Started with Jetson Nano
Jetson Xavier NX クラウドネイティブをエッジに
【Techbuzz】titanium資料
RでGPU使ってみた
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
Singularityで分散深層学習
Unityファンへ贈る! Unite12 & gamescom 2012 視察報告
NFC元年 ~AndroidからみたNFCについて~
Nfcのアプリつくってみる
2014 1018 OSC-Fall Tokyo NETMF
Report JAZUG activities 2010.08-2011.09
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
Ad

More from Masafumi Terazono (20)

PDF
初心者向けSpigot開発
PPTX
Minecraft dayの報告
PPTX
BungeeCordeについて
PPTX
Spongeについて
PPTX
Kobe.py 勉強会 minecraft piスライド
PPTX
Minecraftと連携するSlackちゃんという会話Botを作った話
PDF
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
PDF
夜子まま塾 2015年1月23日 進行用資料
PDF
PDF
Android wear勉強会2
PDF
夜子まま塾@鹿児島
PDF
日本Androidの会 中国支部資料
PDF
関西Unity勉強会
PDF
夜子まま塾講義12(broadcast reciever)
PDF
夜子まま塾講義11(暗黙的intent)
PDF
夜子まま塾講義10(画面の呼び出し)
PDF
夜子まま塾講義9(androidの画面デザイン)
PDF
夜子まま塾講義8(androidの画面デザイン2)
PDF
夜子まま塾講義6(androidでhello world)
PDF
夜子まま塾講義5(実機を接続する)
初心者向けSpigot開発
Minecraft dayの報告
BungeeCordeについて
Spongeについて
Kobe.py 勉強会 minecraft piスライド
Minecraftと連携するSlackちゃんという会話Botを作った話
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
夜子まま塾 2015年1月23日 進行用資料
Android wear勉強会2
夜子まま塾@鹿児島
日本Androidの会 中国支部資料
関西Unity勉強会
夜子まま塾講義12(broadcast reciever)
夜子まま塾講義11(暗黙的intent)
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義6(androidでhello world)
夜子まま塾講義5(実機を接続する)
Ad

関西支部Android勉強会(ロボットxnfc)

  • 1. Now Loading. Please Wait ... Twitter @yokmama ロボット x NFC 「日本Androidの会 関西支部勉強会 - わたし、気になります!」 場所:ECCコンピュータ専門学校 日時:2012/09/01 Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 2. 自己紹介 氏名   :寺園聖文(てらぞの まさふみ) 肩書   :株式会社Re:Kayo-System 代表取締役社長 活動拠点 :神戸近郊∼日本→海外行きたい 著書   :「10日でおぼえるAndroidアプリ開発入門教室」著(翔泳社)       「HTML5によるAndroidアプリ開発入門」監修(日経BP) アプリ  :「JUST PLAYER」「Skip Memo」「ふりがなオートマチック」等 好きなもの:アニメ、決して萌えじゃない、見てるけど、あくまで研究の一環 嫌いなもの:とくになし 最近のテーマ:電子工作、運動すること、英語 Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 3. NFCとロボット Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 4. NFCとは • 近距離無線通信の名称 • Android2.3で実装された • ICOCA、SUICAので使われている Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 5. Androidの NFCでできる事① Tag IDカードもどき、カード判定 Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 6. Androidの NFCでできる事② NDEF NDEF NDEF 磁気カードもどき Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 7. Androidの NFCでできる事③ NDEF NDEF P2P通信もどき Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 8. Androidの NFCでできる事④ NfcF Tag NfcA NfcB NfcV カード通信ライト Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 9. NFCとその他の違い NFC QR 磁気カード 紙カード 読み取り 専用リーダー カメラ+機器 専用リーダー 目 書き込み 専用ライター 不可 専用ライター 手 速度 ⃝ ☓ ◎ ⃝ 可搬性 ◎ ◎ ⃝ ☓ コスト ☓ ◎ ⃝ ◎ セキュリティー ◎ ☓ ⃝ ☓ 大きさ ◎ ☓ ☓ ☓ Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 10. NFCとその他の違い NFC QR 磁気カード 紙カード 読み取り 専用リーダー カメラ+機器 専用リーダー 目 書き込み 専用ライター 不可 専用ライター 手 速度 ⃝ ☓ ◎ ⃝ 可搬性 ◎ ◎ ⃝ ☓ コスト ☓ ◎ ⃝ ◎ セキュリティー ◎ ☓ ⃝ ☓ 大きさ ◎ ☓ ☓ ☓ Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 11. 書き込みしてなんぼ 僕の見解 Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 12. さて本題 Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 13. ロボット X NFC    Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 14. DroidRobo01 制作:cattaka_net AndroidからADKを 用いてロボットの手足 目を制御する。 Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 15. NFCでどうかする Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 16. NFCのカードをかざすことで 規定のモーションをするのではつまらん Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 17. 書き込みしてなんぼ 僕の見解 Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 18. Led Led Led Led Arm Arm Arm Arm Wheel Wheel Wheel Wheel Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 19. Demo Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 20. プログラム解説 Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 21. NFCの有効化 Filter設定 Filter Type private IntentFilter[] nfcfilters = new IntentFilter[] { new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED) }; private String[][] nfctechLists = new String[][] { new String[] { }, Ndef.class.getName() Tech Type new String[] { NdefFormatable.class.getName() } }; ForegroundDispach @Override protected void onPause() { super.onPause(); nfcadapter.disableForegroundDispatch(this); } @Override protected void onResume() { super.onResume(); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()), 0); nfcadapter.enableForegroundDispatch(this, pendingIntent, nfcfilters, nfctechLists); } Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 22. TechTypeによる処理の分岐 @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); String action = intent.getAction(); if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) { Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); 受信 writeNdefMotionTag(tag); } } if (Arrays.asList(tag.getTechList()).contains(NdefFormatable.class.getName())) { NdefFormatable ndef = NdefFormatable.get(tag); try { if (!ndef.isConnected()) { ndef.connect(); } ndef.format(createNdefMessage()); Toast.makeText(this, "Write Success.", Toast.LENGTH_SHORT).show(); } finally { ndef.close(); } } else if (Arrays.asList(tag.getTechList()).contains(Ndef.class.getName())) { Ndef ndef = Ndef.get(tag); 分岐 try { if (!ndef.isConnected()) { ndef.connect(); } if(ndef.isWritable()){ ndef.writeNdefMessage(createNdefMessage()); Toast.makeText(this, "Write Success.", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(this, "Writing is not supported", Toast.LENGTH_SHORT).show(); } } finally { ndef.close(); } } Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 23. 書込処理 Header: Data: Data: Data: Data: Rep 8bit LED 8bit LED 8bit LED 8bit LED 8bit Size 8bit ARM_L 8bit ARM_L 8bit ARM_L 8bit ARM_L 8bit ARM_R 8bit ROT_L 8bit ARM_R 8bit ROT_L 8bit ARM_R 8bit ROT_L 8bit ARM_R 8bit ROT_L 8bit ・・・ ROT_R 8bit ROT_R 8bit ROT_R 8bit ROT_R 8bit TIME 8bit TIME 8bit TIME 8bit TIME 8bit private NdefMessage createNdefMessage() throws IOException { byte[] mimeBytes = "application/jp.co.kayo.android.droiddancermotionwriter".getBytes(Charset.forName("US-ASCII")); ByteArrayOutputStream bytes = new ByteArrayOutputStream(); byte[] header = new byte[2]; header[0] = new Integer(seekBar1.getProgress()).byteValue(); header[1] = new Integer(items.size()).byteValue(); bytes.write(header); for(MotionItem item : items){ byte[] data = new byte[6]; data[0] = new Integer(item.isLed()?1:0).byteValue(); data[1] = new Integer(item.getArmleft()).byteValue(); data[2] = new Integer(item.getArmright()).byteValue(); data[3] = new Integer(item.getRotleft()).byteValue(); data[4] = new Integer(item.getRotright()).byteValue(); data[5] = new Integer(item.getTime()).byteValue(); bytes.write(data); } NdefRecord record = new NdefRecord(NdefRecord.TNF_MIME_MEDIA, mimeBytes, new byte[0], bytes.toByteArray()); return new NdefMessage(new NdefRecord[]{record}); } Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 24. ソースコード https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 25. 考察 https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 26. NFCTagを使うことで複雑なロジックを隠蔽化 し誰でもタッチするだけでActionを起こすこ とができる。 https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 27. しかし、今のままではだめ https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 28. 対象の機器毎にタグを作る アプリを選ばないといけな いため、タグがガラパゴス になっている。 https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 29. そこで考えてみた https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 30. NFCTagのデータ・フォーマットを規定化し、 Tagへの書込読込処理をオープンにし、 タグに対応した機器は、 コマンドやパラメータを公開してはどうか? https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 31. NFCTagの規格に従い 各メーカーは対応する電気製品を 作ってくれれば、 汎用的なNFCTagを作成する アプリを作れるはずだ。 https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 32. 実はTAGの規格はある Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 33. TNFとRTD TNF:Type Name Field TNF_ABSOLUTE_URI TNF_EMPTY TNF_EXTERNAL_TYPE TNF_MIME_MEDIA TNF_UNCHANGED TNF_UNKNOWN TNF_WELL_KNOWN RTD : Record Type Definition RTD_TEXT RTD_URI RTD_SMART_POSTER RTD_ALTERNATIVE_CARRIER RTD_HANDOVER_CARRIER RTD_HANDOVER_REQUEST RTD_HANDOVER_SELECT Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 34. しかしこれは不十分 なのだ Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 35. 課題 •一方通行 •複数アプリケーション •パラメータのフォーマットがない •送受信データの圧縮技術 •送信データの妥当性チェック •etc,etc Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 36. クラウドサービス WAN SmartPhone,PC NFCTag デバイス デバイス デバイス デバイス Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 37. 学習机にタグ 今日の宿題が画面にでてくる。宿題がお わったらもう一度タグにタッチする 冷蔵庫にタグ タグから子供がタッチしたことがわかる ので、誰々ようのおやつをナビし、温め 時間をタグに書き込む 電子レンジにタグ 冷蔵庫から書かれたタグから、電子レン ジの時間を設定する https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日
  • 38. ご清聴ありがとうご ざいました。 https://github.com/yokmama/adkworks Re:Kayo-System Co.,Ltd. 12年8月30日木曜日