避けては通れないバイナリ地獄 - NDEFってなんだろう -
Upcoming SlideShare
Loading in...5
×
 

避けては通れないバイナリ地獄 - NDEFってなんだろう -

on

  • 9,446 views

2012年7月28日NFC定例会での発表資料です

2012年7月28日NFC定例会での発表資料です

Statistics

Views

Total Views
9,446
Views on SlideShare
8,904
Embed Views
542

Actions

Likes
7
Downloads
54
Comments
0

8 Embeds 542

http://androhi.hatenablog.com 506
http://wiki.onakasuita.org 9
http://us-w1.rockmelt.com 8
https://twimg0-a.akamaihd.net 8
https://twitter.com 4
http://webcache.googleusercontent.com 3
https://si0.twimg.com 2
http://www.mefeedia.com 2
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

避けては通れないバイナリ地獄 - NDEFってなんだろう - 避けては通れないバイナリ地獄 - NDEFってなんだろう - Presentation Transcript

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