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

About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)
Hirokuma Ueno
 
避けては通れないバイナリ地獄 もっとRTDを-
避けては通れないバイナリ地獄 もっとRTDを-避けては通れないバイナリ地獄 もっとRTDを-
避けては通れないバイナリ地獄 もっとRTDを-
Tomoki YAMASHITA
 

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

MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess Conditions
Hirokuma 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

Recently uploaded (12)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

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