SlideShare uma empresa Scribd logo
1 de 10
android-x86でNFC開発
  電話は嫌いなので買いたくない篇

     2012年03月23日
今はやりのNFCといえば・・・
• NFCとモバイルの相性はよい
 – カードにもR/Wにもなれる
 – 持ち運べるのでタッチしやすい
• しかし・・・
 – NFC対応端末自体が少ない
 – スマートホンは買いたくないわ
  • 電話代が高くなる
  • 次に買い換えるとき、スマートホンからくらくホ
    ンか…
とはいえ、NFC開発はしたい
• 今のところ、NFCできるモバイルはAndroid
 – 他にもあるけど、Androidは手に入りやすい
  • FN APIはAndroid標準じゃないのでちょっと…
 – オープンソースなので、自分で解決しやすい
• では、残る問題は?
 – NFC端末がないので、動かせない
  • アプリを作ることまではできるのだが


ならば、NFC端末を作ればいいじゃな
         いの
なんてことは無理なので
• パソコンなら、手近にある
 – しかしAndroidエミュレータではNFCは動かな
   い
• パソコンで直接動くAndroid環境
 – android-x86プロジェクト
 – ICSに対応中(2012/02/27・・・ 4.0 RC1)


 これにPaSoRiをつければいいのでは?
やってみよう
• 開発ベース
 – Ubuntu 11.10 64bit
 – android-x86 4.0 RC1


• 実行環境
 – パソコン
    • VirtualBox上でISOファイルを動かす
 – NFC
    • Sony PaSoRi (RC-S370)
もくろみ
• PaSoRiの接続
 – USB Host機能があるので、それを使う


• PaSoRiで動かす
 – 標準では、PN544が動くようにしてある
 – packages/apps/Nfc以下を差し替える
   • ICSになって、ソースファイルの整理が進んでいる
     – PN544依存部分がまとめられている
目標
• まずはNfcFが動くこと
 – NFC-Fは環境もソフトも手に入りやすい
 – 余裕ができたらNfcAとNfcBに対応すればよい


• 3段階でやっていこう
  1. カードをかざしてインテントを投げるまで
  2. NfcFを使ったサンプルを動かす
    –   自分で作ってないものの方がよい
  3. NDEF対応
    –   NDEFはlibnfc-nxpがやっているので、自作せんといかん
    –   壁が高いので、ぼちぼちと
進行現状 (2012/03/11)
1. カードをかざしてインテントを投げる
 ⇒OK!
 – NfcService内でUSB Host機能を動かす
  •   普通だとユーザにUSB機器の認証を求めてくるの
      で、PaSoRiは強制的に許可デバイスにしておく
 – 定期的にポーリング
  •   0xFFFFのポーリングに成功したら0x12FC
      –   逆にした方がよいか?
  •   搬送波出しっ放しも格好が悪いので、終わった
      らすぐに無線停止させる
      –   あとでまずいことに気づく
進行現状 (2012/03/18)
2. NfcFを使ったサンプルを動かす
 – Kazzzさんのnfc-felica
   •   CommunicateThruEXが無応答
       –   ポーリング後、無線を止めていたため
           » 捕捉が途切れたのだろう
   •   CommunicateThruEXがエラー
       –   NFC-Fは先頭にデータ長があることを忘れていた
 – 深くは試していないが、特に問題もない
   •   OKとしよう
進行現状 (2012/03/20)
2. NfcFを使ったサンプルを動かす
 – アイオイさんのSmartTagSample
  •   extendedフレームを使っている
      –   私は面倒なので、対応してなかった・・・
      –   手を抜いて、CommunicateThruEXのみ暫定対応
  •   ST1020には転送された
      –   リトライを繰り返しているので、まだどっか足りてな
          い
          » 調査中!

Mais conteúdo relacionado

Destaque

NDEF Writerを使ってみよう
NDEF Writerを使ってみようNDEF Writerを使ってみよう
NDEF Writerを使ってみようHirokuma Ueno
 
私とNFC(歴史編)
私とNFC(歴史編)私とNFC(歴史編)
私とNFC(歴史編)Hirokuma Ueno
 
MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsHirokuma Ueno
 
月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)Hirokuma Ueno
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読みHirokuma Ueno
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)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
 
月刊NDEF 2013年8月号
月刊NDEF 2013年8月号月刊NDEF 2013年8月号
月刊NDEF 2013年8月号Hirokuma Ueno
 
月刊NDEF 2013年12月号
月刊NDEF 2013年12月号月刊NDEF 2013年12月号
月刊NDEF 2013年12月号Hirokuma Ueno
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発Hirokuma Ueno
 
Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Masafumi Terazono
 
Ndefってなんだろう
NdefってなんだろうNdefってなんだろう
NdefってなんだろうTomoki YAMASHITA
 
Nfcのアプリつくってみる
NfcのアプリつくってみるNfcのアプリつくってみる
Nfcのアプリつくってみるmeco300
 
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -Tomoki YAMASHITA
 
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2Netwalker lab kapper
 
FeliCa/NFCの概説とAndroidの対応状況
FeliCa/NFCの概説とAndroidの対応状況FeliCa/NFCの概説とAndroidの対応状況
FeliCa/NFCの概説とAndroidの対応状況Isao Soma
 
Connecting Access Governance and Privileged Access Management
Connecting Access Governance and Privileged Access ManagementConnecting Access Governance and Privileged Access Management
Connecting Access Governance and Privileged Access ManagementEMC
 
Forrester: How Organizations Are Improving Business Resiliency with Continuou...
Forrester: How Organizations Are Improving Business Resiliency with Continuou...Forrester: How Organizations Are Improving Business Resiliency with Continuou...
Forrester: How Organizations Are Improving Business Resiliency with Continuou...EMC
 
2014 consumer-perceptions-infographic
2014 consumer-perceptions-infographic2014 consumer-perceptions-infographic
2014 consumer-perceptions-infographicEMC
 

Destaque (20)

NDEF Writerを使ってみよう
NDEF Writerを使ってみようNDEF Writerを使ってみよう
NDEF Writerを使ってみよう
 
私とNFC(歴史編)
私とNFC(歴史編)私とNFC(歴史編)
私とNFC(歴史編)
 
MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess Conditions
 
月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読み
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
 
月刊NDEF 2013年8月号
月刊NDEF 2013年8月号月刊NDEF 2013年8月号
月刊NDEF 2013年8月号
 
月刊NDEF 2013年12月号
月刊NDEF 2013年12月号月刊NDEF 2013年12月号
月刊NDEF 2013年12月号
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発
 
Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会
 
Ndefってなんだろう
NdefってなんだろうNdefってなんだろう
Ndefってなんだろう
 
Nfcのアプリつくってみる
NfcのアプリつくってみるNfcのアプリつくってみる
Nfcのアプリつくってみる
 
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -
 
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
 
FeliCa/NFCの概説とAndroidの対応状況
FeliCa/NFCの概説とAndroidの対応状況FeliCa/NFCの概説とAndroidの対応状況
FeliCa/NFCの概説とAndroidの対応状況
 
Connecting Access Governance and Privileged Access Management
Connecting Access Governance and Privileged Access ManagementConnecting Access Governance and Privileged Access Management
Connecting Access Governance and Privileged Access Management
 
Pancho villa
Pancho villaPancho villa
Pancho villa
 
Forrester: How Organizations Are Improving Business Resiliency with Continuou...
Forrester: How Organizations Are Improving Business Resiliency with Continuou...Forrester: How Organizations Are Improving Business Resiliency with Continuou...
Forrester: How Organizations Are Improving Business Resiliency with Continuou...
 
2014 consumer-perceptions-infographic
2014 consumer-perceptions-infographic2014 consumer-perceptions-infographic
2014 consumer-perceptions-infographic
 

Mais de 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
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFCHirokuma Ueno
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiHirokuma Ueno
 
FeliCa Liteの片側認証
FeliCa Liteの片側認証FeliCa Liteの片側認証
FeliCa Liteの片側認証Hirokuma Ueno
 
SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だったHirokuma Ueno
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困るHirokuma Ueno
 
発券機のNFC対応
発券機のNFC対応発券機のNFC対応
発券機のNFC対応Hirokuma Ueno
 
ものに愛着を持たせる
ものに愛着を持たせるものに愛着を持たせる
ものに愛着を持たせるHirokuma Ueno
 

Mais de Hirokuma Ueno (15)

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してみました
 
月刊NDEF 5月号
月刊NDEF 5月号月刊NDEF 5月号
月刊NDEF 5月号
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFC
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRi
 
FeliCa Liteの片側認証
FeliCa Liteの片側認証FeliCa Liteの片側認証
FeliCa Liteの片側認証
 
SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だった
 
NFC切手
NFC切手NFC切手
NFC切手
 
らくがき
らくがきらくがき
らくがき
 
NFCテルミン
NFCテルミンNFCテルミン
NFCテルミン
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困る
 
発券機のNFC対応
発券機のNFC対応発券機のNFC対応
発券機のNFC対応
 
FALPとLLCP
FALPとLLCPFALPとLLCP
FALPとLLCP
 
ものに愛着を持たせる
ものに愛着を持たせるものに愛着を持たせる
ものに愛着を持たせる
 

Último

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
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
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
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
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Último (8)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
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
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
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
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

android-x86でNFC開発(2012/03/23)

  • 2. 今はやりのNFCといえば・・・ • NFCとモバイルの相性はよい – カードにもR/Wにもなれる – 持ち運べるのでタッチしやすい • しかし・・・ – NFC対応端末自体が少ない – スマートホンは買いたくないわ • 電話代が高くなる • 次に買い換えるとき、スマートホンからくらくホ ンか…
  • 3. とはいえ、NFC開発はしたい • 今のところ、NFCできるモバイルはAndroid – 他にもあるけど、Androidは手に入りやすい • FN APIはAndroid標準じゃないのでちょっと… – オープンソースなので、自分で解決しやすい • では、残る問題は? – NFC端末がないので、動かせない • アプリを作ることまではできるのだが ならば、NFC端末を作ればいいじゃな いの
  • 4. なんてことは無理なので • パソコンなら、手近にある – しかしAndroidエミュレータではNFCは動かな い • パソコンで直接動くAndroid環境 – android-x86プロジェクト – ICSに対応中(2012/02/27・・・ 4.0 RC1) これにPaSoRiをつければいいのでは?
  • 5. やってみよう • 開発ベース – Ubuntu 11.10 64bit – android-x86 4.0 RC1 • 実行環境 – パソコン • VirtualBox上でISOファイルを動かす – NFC • Sony PaSoRi (RC-S370)
  • 6. もくろみ • PaSoRiの接続 – USB Host機能があるので、それを使う • PaSoRiで動かす – 標準では、PN544が動くようにしてある – packages/apps/Nfc以下を差し替える • ICSになって、ソースファイルの整理が進んでいる – PN544依存部分がまとめられている
  • 7. 目標 • まずはNfcFが動くこと – NFC-Fは環境もソフトも手に入りやすい – 余裕ができたらNfcAとNfcBに対応すればよい • 3段階でやっていこう 1. カードをかざしてインテントを投げるまで 2. NfcFを使ったサンプルを動かす – 自分で作ってないものの方がよい 3. NDEF対応 – NDEFはlibnfc-nxpがやっているので、自作せんといかん – 壁が高いので、ぼちぼちと
  • 8. 進行現状 (2012/03/11) 1. カードをかざしてインテントを投げる ⇒OK! – NfcService内でUSB Host機能を動かす • 普通だとユーザにUSB機器の認証を求めてくるの で、PaSoRiは強制的に許可デバイスにしておく – 定期的にポーリング • 0xFFFFのポーリングに成功したら0x12FC – 逆にした方がよいか? • 搬送波出しっ放しも格好が悪いので、終わった らすぐに無線停止させる – あとでまずいことに気づく
  • 9. 進行現状 (2012/03/18) 2. NfcFを使ったサンプルを動かす – Kazzzさんのnfc-felica • CommunicateThruEXが無応答 – ポーリング後、無線を止めていたため » 捕捉が途切れたのだろう • CommunicateThruEXがエラー – NFC-Fは先頭にデータ長があることを忘れていた – 深くは試していないが、特に問題もない • OKとしよう
  • 10. 進行現状 (2012/03/20) 2. NfcFを使ったサンプルを動かす – アイオイさんのSmartTagSample • extendedフレームを使っている – 私は面倒なので、対応してなかった・・・ – 手を抜いて、CommunicateThruEXのみ暫定対応 • ST1020には転送された – リトライを繰り返しているので、まだどっか足りてな い » 調査中!