Ndefってなんだろう
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Ndefってなんだろう

on

  • 583 views

 

Statistics

Views

Total Views
583
Views on SlideShare
583
Embed Views
0

Actions

Likes
1
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Ndefってなんだろう Presentation Transcript

  • 1. 避けては通れないバイナリ地獄 - NDEFってなんだろう 山下智樹 / tomorrowkey 12年11月29日木曜日
  • 2. もくじ • • • • • • • 12年11月29日木曜日 自己紹介 NDEFって何? なぜNDEFが重要になる? もっとNDEFを知ろう ちょっとRTD NDEF完成 さらなるNDEFの世界へ…
  • 3. 自己紹介 12年11月29日木曜日
  • 4. 自己紹介 • NFCラボ運営委員 • 山下智樹 / @tomorrowkey • 株式会社ブリリアントサービス • バイナリ楽しい! 12年11月29日木曜日
  • 5. NDEFって何? 12年11月29日木曜日
  • 6. NDEFとは • NFC Data Exchange Format • NFCの通信で使用されるデータ・フォ ーマット 12年11月29日木曜日
  • 7. なぜNDEFが重要になる? 12年11月29日木曜日
  • 8. NFCのモード • Reader/Writer Mode • P2P Mode • Card Emulation Mode 12年11月29日木曜日
  • 9. どんなモードでも NDEFは避けて通れない 12年11月29日木曜日
  • 10. でも、バイナリまで 知ってる必要あるの? 12年11月29日木曜日
  • 11. 各プラットフォームのNDEFについて • Android SDK API Level 16 • • • 一部サポート PAYLOADについては自作する必要あり 作成はRTD-URIのみサポート、パースはURIに関連するものをサ ポート • Windows(SDK for NFC Starter Kit Ver.1.0) • • 12年11月29日木曜日 コマンド発行までサポート NDEFはすべて自作する必要あり
  • 12. 探せばそのへんに ライブラリ落ちてます 12年11月29日木曜日
  • 13. 避けて通れます 12年11月29日木曜日
  • 14. 趣味です 12年11月29日木曜日
  • 15. もっとNDEFを知ろう 12年11月29日木曜日
  • 16. NDEF Message • NDEFには一つのNDEF Messageが含 まれる • NDEF Messageには1つ以上の NDEF Recordが含まれる 構成 12年11月29日木曜日
  • 17. NDEF Record 構成 12年11月29日木曜日
  • 18. FLAGS • MB(Message Begin) • • ME(Message End) • • 255Byte以下のレコードを意味する PAYLOAD LENGTHが1Byteになる IL(ID Length) • 12年11月29日木曜日 分割されたNDEF Messageの一部を意味する SR(Short Record) • • • NDEF Messageの終わりを意味する CF(Chunked Flag) • • NDEF Messageの始まりを意味する IDが設定されていることを意味する
  • 19. TNF (Type Name Format) • • TYPEフィールドの種類を表す 3bitの値を設定する • • • • • • • • 12年11月29日木曜日 0x00 Empty 0x01 NFC Forum well-known-type 0x02 Media-type as define in RFC2046 0x03 Absolute URI as define in RFC3986 0x04 NFC Forum external type 0x05 Unknown 0x06 Unchanged 0x07 Reserved
  • 20. TYPE LENGTH • • 12年11月29日木曜日 符号なし8bit整数 TYPEフィールドの長さを指定する
  • 21. PAYLOAD LENGTH • • • 12年11月29日木曜日 SRの値によって長さが変化する 符号なしビックエンディアン PAYLOADの長さを指定する
  • 22. ID LENGTH • • • 12年11月29日木曜日 ILの値によって無い場合がある 符号なし8bit整数 IDの長さを指定する
  • 23. TYPE • • • TYPE LENGTHによって長さが変わる TNFの値によって設定値が変わる 0x01 well-known typesだった場合 • • U ... URI Record • Sp ... Smart Poster • 12年11月29日木曜日 T ... Text Record ...
  • 24. ID • • • 12年11月29日木曜日 ILの値によって無い場合がある ID LENGTHによって長さが変わる IDを設定することができる
  • 25. PAYLOAD • • • 12年11月29日木曜日 PAYLOAD LENGTHの値によって長さが 変化する TNFとTYPEの値によって内容が変わる well-known typesの仕様書はNFC Forumに定義されています
  • 26. ちょっとRTD 12年11月29日木曜日
  • 27. RTD • Record Type Definition • Typeでwell-known-type(0x01)を指定 した場合に使用されるフォーマット • NFC Forumで仕様書を見ることができ ます。 • 12年11月29日木曜日 http://www.nfc-forum.org/specs/spec_list/#rtds
  • 28. RTDの種類 • Text • URI • SmartPoster • Generic Control • Handover Request / Select / Carrier • Signature 12年11月29日木曜日
  • 29. Textだけ紹介 構成 12年11月29日木曜日
  • 30. Encode • テキストの文字コードを表す • 0 ... UTF-8 • 1 ... UTF-16 12年11月29日木曜日
  • 31. RFU • Reserved For Future Use 12年11月29日木曜日
  • 32. Language Code Length • 言語コードの長さを指定する 12年11月29日木曜日
  • 33. Language Code • • • 言語コードを表す Language Code Lengthによって長さが変わる ISO/IANA • • • 12年11月29日木曜日 en ... English en-us ... English(United States) ja ... Japanese
  • 34. Actual Text • • • 12年11月29日木曜日 実際のテキスト PAYLOADの残り部分 Encodeで指定されたエンコードを使用する
  • 35. NDEF完成! 12年11月29日木曜日
  • 36. Hello, World.と書かれたNDEF • D1 02 65 2C 72 01 65 6C 20 6C 10 6E 6C 57 64 54 48 6F 6F 2E FLAGS • • • • • • • • • • Message End : 1 Chunked Flag : 0 Short Record : 1 ID Length : 0 TNF : 01(well-known types) TYPE LENGTH : 1 PAYLOAD LENGTH : 10 TYPE : T PAYLOAD • • • 12年11月29日木曜日 Message Begin : 1 Encoding : utf-8 Language Code : en Actual Text : Hello, World.
  • 37. さらなるNDEFの世界へ 12年11月29日木曜日
  • 38. まだ始まったばかり • 紹介したフォーマットはごく一部 • well-known-typeだけでも知っておく べき 12年11月29日木曜日
  • 39. おわり 12年11月29日木曜日