SlideShare a Scribd company logo
1 of 13
Download to read offline
SNEP は大変だった ( つくるのが )

                                 ※ 個人の感想です




Slide 1 / 13
はじめに

      「 SNEP 」という、 NFC の通信方法の話をします。
          調査してわかったことを話すだけで、応用例などはないです・・・。


      聞いていて眠たくなっても、大丈夫です。
      知らなくても、生活には困りません。
                                            大丈夫




Slide 2 / 13
SNEP ?
      Solitary Non-Employed Persons
          孤立無業 ( 者 )
          20 歳以上 59 歳以下の在学中でない未婚者で、
          ふだんの就業状態が無業のうち、一緒にいた人が家族以外に
          一切いなかった人々



      Simple NDEF Exchange Protocol
          今回はこちらです。
          Android Beam で使われてます。
          Windows 8 や Blackberry でも使ってるとのことです。


Slide 3 / 13
この辺です




Slide 4 / 13


                       http://www.nfc-forum.org/aboutnfc/interop/
SNEP ??
      「すねっぷ」と発音 ( 私は )
      NFC 端末同士で NDEF データを交換
          端末同士を向かい合わせるような使い方
          NDEF (NFC Data Exchange Format)
               NFC Forum が決めたデータの形式
          URL やファイルなどを渡したりできる               ここが SNEP




Slide 5 / 13
SNEP ???
      よくわからんが、こんな感じだと思う
          OSI なんとか

                 アプリケーション層            NDEF
                プレゼンテーション層
                     セッション層
                                      SNEP
                 トランスポート層
                     ネットワーク層
                                      LLCP
                     データリンク層
                                       DEP
                                     NFC R/W
                      物理層
                                       RF


Slide 6 / 13
SNEP 自体は大変じゃない
      client - server 型の通信
                  SNEP client                     SNEP server

                        要求

                                                  応答




      要求も少ない
          主に Put か Get
               「私の NDEF をあげよう」か「お前の NDEF をください」

Slide 7 / 13
大変だったのは、 LLCP
      NFC Forum のドキュメントを読んでも、よくわからんかった
          シーケンスがない
          用語がわからん
          ISO/IEC 802.2 (LLC) がわかってるといいのかも
               とにかく、わからんかった
          今も、わかっているとはいいがたい・・・。

      DEP は、 R/W が勝手にやってくれた
                                             SNEP
          偉い!

                                             LLCP
                                             DEP


Slide 8 / 13
少し細かい話をします




Slide 9 / 13
通常の NFC 通信と LLCP 時の違い (1)
      NFC の通信は、 Initiator - Target という位置関係
          R/W が Initiator 、 NFC カードが Target 、など
                Initiator から Target に要求を投げ、 Target がそれに応答する。
          NRM(Normal Response Mode) と呼んでる




                                    要求
                                           応答

                        Initiator               Target


Slide 10 / 13
通常の NFC 通信と LLCP 時の違い (2)
      LLCP は、どっちからも要求できる ( 立場が対等 )
          ABM(Asynchronous Balanced Mode) と呼んでる
          一定時間内に、相手に主導権を渡す
                Initiator は、元々 Target に要求を投げることができる
                Initiator が要求を投げることで、 Target が応答という形で要求を投げる
          一定時間応答がないと、通信を切る
                タイムアウト時間は、通信確立時に伝えておく



                                    要求 / 応答


                        Initiator        要求 / 応答   Target

Slide 11 / 13
作って思ったこと
      Target になる方が、楽
          最初は NRM なので、 Initiator が来るまで待っていればいい。
          まあ、通信が始まってしまえばあまり変わらないが。

      短い NDEF に限定すると、楽
                128byte くらいなら 1 パケットで送信できるから

      動作確認をどうやってやるか・・・。
          SNEP できる端末は、今のところ Android くらいしかなさそう
                 このときは、 nfcpy というライブラリ +PaSoRi でテストした




Slide 12 / 13
おしまい
      単に NDEF データを相手に渡すためのしくみ
          Android だと、 NFC カードを読み込んだのと区別が付かなさそう
                たぶん、 NDEF 読んだよーってインテントを上位層に投げるだけになるのでは

      大きいデータを渡すときは、 Bluetooth とか Wi-Fi とか
          NFC は認証するだけ・・・。

      動的な NDEF データを送ることができる!
          カードエミュレーションしても同じことができるやん・・・。
                FeliCa Plug は、そういう製品だと思う ( 別名が FeliCa Dynamic Tag だし )

      P2P ならではというものが、あまりないような気がしてきた


Slide 13 / 13

More Related Content

What's hot

月刊NDEF 2013年 1、2、3月号
月刊NDEF 2013年 1、2、3月号月刊NDEF 2013年 1、2、3月号
月刊NDEF 2013年 1、2、3月号Hirokuma Ueno
 
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -Tomoki YAMASHITA
 
月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)Hirokuma Ueno
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)Hirokuma Ueno
 
一人でもNFC開発
一人でもNFC開発一人でもNFC開発
一人でもNFC開発Hirokuma Ueno
 
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)Hirokuma Ueno
 
避けては通れないバイナリ地獄 もっとRTDを-
避けては通れないバイナリ地獄 もっとRTDを-避けては通れないバイナリ地獄 もっとRTDを-
避けては通れないバイナリ地獄 もっとRTDを-Tomoki YAMASHITA
 
NFC TagInfoでタグを読む
NFC TagInfoでタグを読むNFC TagInfoでタグを読む
NFC TagInfoでタグを読むtreby
 
メタデータを用いたEnOceanプロトコルの汎用変換
メタデータを用いたEnOceanプロトコルの汎用変換メタデータを用いたEnOceanプロトコルの汎用変換
メタデータを用いたEnOceanプロトコルの汎用変換Hiroyuki Maeomichi
 
Readable code12:13
Readable code12:13Readable code12:13
Readable code12:13cure_mlky
 
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
Trema day#4 Pio盛り ~Tremaのパケットパーサ~Trema day#4 Pio盛り ~Tremaのパケットパーサ~
Trema day#4 Pio盛り ~Tremaのパケットパーサ~エイシュン コンドウ
 
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろうRuby でパケットパーサを作ろう
Ruby でパケットパーサを作ろうYasuhito Takamiya
 

What's hot (14)

月刊NDEF 2013年 1、2、3月号
月刊NDEF 2013年 1、2、3月号月刊NDEF 2013年 1、2、3月号
月刊NDEF 2013年 1、2、3月号
 
月刊NDEF 5月号
月刊NDEF 5月号月刊NDEF 5月号
月刊NDEF 5月号
 
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -
 
月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
 
一人でもNFC開発
一人でもNFC開発一人でもNFC開発
一人でもNFC開発
 
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)
 
避けては通れないバイナリ地獄 もっとRTDを-
避けては通れないバイナリ地獄 もっとRTDを-避けては通れないバイナリ地獄 もっとRTDを-
避けては通れないバイナリ地獄 もっとRTDを-
 
NFC TagInfoでタグを読む
NFC TagInfoでタグを読むNFC TagInfoでタグを読む
NFC TagInfoでタグを読む
 
メタデータを用いたEnOceanプロトコルの汎用変換
メタデータを用いたEnOceanプロトコルの汎用変換メタデータを用いたEnOceanプロトコルの汎用変換
メタデータを用いたEnOceanプロトコルの汎用変換
 
NWstudyforBeginner
NWstudyforBeginnerNWstudyforBeginner
NWstudyforBeginner
 
Readable code12:13
Readable code12:13Readable code12:13
Readable code12:13
 
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
Trema day#4 Pio盛り ~Tremaのパケットパーサ~Trema day#4 Pio盛り ~Tremaのパケットパーサ~
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
 
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろうRuby でパケットパーサを作ろう
Ruby でパケットパーサを作ろう
 

More from Hirokuma Ueno

nRF51のGPIOTEについて
nRF51のGPIOTEについてnRF51のGPIOTEについて
nRF51のGPIOTEについてHirokuma Ueno
 
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Hirokuma Ueno
 
Nordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたNordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたHirokuma Ueno
 
月刊NDEF 2013年12月号
月刊NDEF 2013年12月号月刊NDEF 2013年12月号
月刊NDEF 2013年12月号Hirokuma Ueno
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFCHirokuma Ueno
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiHirokuma Ueno
 
NDEF Writerを使ってみよう
NDEF Writerを使ってみようNDEF Writerを使ってみよう
NDEF Writerを使ってみようHirokuma Ueno
 
MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsHirokuma Ueno
 
FeliCa Liteの片側認証
FeliCa Liteの片側認証FeliCa Liteの片側認証
FeliCa Liteの片側認証Hirokuma Ueno
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるHirokuma Ueno
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困るHirokuma Ueno
 
発券機のNFC対応
発券機のNFC対応発券機のNFC対応
発券機のNFC対応Hirokuma Ueno
 
ものに愛着を持たせる
ものに愛着を持たせるものに愛着を持たせる
ものに愛着を持たせるHirokuma Ueno
 

More from Hirokuma Ueno (18)

nRF51のGPIOTEについて
nRF51のGPIOTEについてnRF51のGPIOTEについて
nRF51のGPIOTEについて
 
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2
 
Nordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたNordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみました
 
About FeliCa Lite-S
About FeliCa Lite-SAbout FeliCa Lite-S
About FeliCa Lite-S
 
月刊NDEF 2013年12月号
月刊NDEF 2013年12月号月刊NDEF 2013年12月号
月刊NDEF 2013年12月号
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFC
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRi
 
NDEF Writerを使ってみよう
NDEF Writerを使ってみようNDEF Writerを使ってみよう
NDEF Writerを使ってみよう
 
MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess Conditions
 
FeliCa Liteの片側認証
FeliCa Liteの片側認証FeliCa Liteの片側認証
FeliCa Liteの片側認証
 
NFC切手
NFC切手NFC切手
NFC切手
 
らくがき
らくがきらくがき
らくがき
 
NFCテルミン
NFCテルミンNFCテルミン
NFCテルミン
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困る
 
はじめてのNFC
はじめてのNFCはじめてのNFC
はじめてのNFC
 
発券機のNFC対応
発券機のNFC対応発券機のNFC対応
発券機のNFC対応
 
ものに愛着を持たせる
ものに愛着を持たせるものに愛着を持たせる
ものに愛着を持たせる
 

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (7)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

SNEPは大変だった

  • 1. SNEP は大変だった ( つくるのが ) ※ 個人の感想です Slide 1 / 13
  • 2. はじめに 「 SNEP 」という、 NFC の通信方法の話をします。 調査してわかったことを話すだけで、応用例などはないです・・・。 聞いていて眠たくなっても、大丈夫です。 知らなくても、生活には困りません。 大丈夫 Slide 2 / 13
  • 3. SNEP ? Solitary Non-Employed Persons 孤立無業 ( 者 ) 20 歳以上 59 歳以下の在学中でない未婚者で、 ふだんの就業状態が無業のうち、一緒にいた人が家族以外に 一切いなかった人々 Simple NDEF Exchange Protocol 今回はこちらです。 Android Beam で使われてます。 Windows 8 や Blackberry でも使ってるとのことです。 Slide 3 / 13
  • 4. この辺です Slide 4 / 13 http://www.nfc-forum.org/aboutnfc/interop/
  • 5. SNEP ?? 「すねっぷ」と発音 ( 私は ) NFC 端末同士で NDEF データを交換 端末同士を向かい合わせるような使い方 NDEF (NFC Data Exchange Format) NFC Forum が決めたデータの形式 URL やファイルなどを渡したりできる ここが SNEP Slide 5 / 13
  • 6. SNEP ??? よくわからんが、こんな感じだと思う OSI なんとか アプリケーション層 NDEF プレゼンテーション層 セッション層 SNEP トランスポート層 ネットワーク層 LLCP データリンク層 DEP NFC R/W 物理層 RF Slide 6 / 13
  • 7. SNEP 自体は大変じゃない client - server 型の通信 SNEP client SNEP server 要求 応答 要求も少ない 主に Put か Get 「私の NDEF をあげよう」か「お前の NDEF をください」 Slide 7 / 13
  • 8. 大変だったのは、 LLCP NFC Forum のドキュメントを読んでも、よくわからんかった シーケンスがない 用語がわからん ISO/IEC 802.2 (LLC) がわかってるといいのかも とにかく、わからんかった 今も、わかっているとはいいがたい・・・。 DEP は、 R/W が勝手にやってくれた SNEP 偉い! LLCP DEP Slide 8 / 13
  • 10. 通常の NFC 通信と LLCP 時の違い (1) NFC の通信は、 Initiator - Target という位置関係 R/W が Initiator 、 NFC カードが Target 、など Initiator から Target に要求を投げ、 Target がそれに応答する。 NRM(Normal Response Mode) と呼んでる 要求 応答 Initiator Target Slide 10 / 13
  • 11. 通常の NFC 通信と LLCP 時の違い (2) LLCP は、どっちからも要求できる ( 立場が対等 ) ABM(Asynchronous Balanced Mode) と呼んでる 一定時間内に、相手に主導権を渡す Initiator は、元々 Target に要求を投げることができる Initiator が要求を投げることで、 Target が応答という形で要求を投げる 一定時間応答がないと、通信を切る タイムアウト時間は、通信確立時に伝えておく 要求 / 応答 Initiator 要求 / 応答 Target Slide 11 / 13
  • 12. 作って思ったこと Target になる方が、楽 最初は NRM なので、 Initiator が来るまで待っていればいい。 まあ、通信が始まってしまえばあまり変わらないが。 短い NDEF に限定すると、楽 128byte くらいなら 1 パケットで送信できるから 動作確認をどうやってやるか・・・。 SNEP できる端末は、今のところ Android くらいしかなさそう このときは、 nfcpy というライブラリ +PaSoRi でテストした Slide 12 / 13
  • 13. おしまい 単に NDEF データを相手に渡すためのしくみ Android だと、 NFC カードを読み込んだのと区別が付かなさそう たぶん、 NDEF 読んだよーってインテントを上位層に投げるだけになるのでは 大きいデータを渡すときは、 Bluetooth とか Wi-Fi とか NFC は認証するだけ・・・。 動的な NDEF データを送ることができる! カードエミュレーションしても同じことができるやん・・・。 FeliCa Plug は、そういう製品だと思う ( 別名が FeliCa Dynamic Tag だし ) P2P ならではというものが、あまりないような気がしてきた Slide 13 / 13