ACR122 (usb) デバイスでパッシブ NFC タグをエミュレートしようとしていますが、通信が正しく行われません。ここで私が間違っていることを誰かが見て、正しい方向に向けてくれることを願っています。
この他の質問ACR122 - Card Emulationに対する回答は、 http: //code.google.com/p/nfcip-java/source/browse/trunk/nfcip-java/doc/ACR122_PN53x.txtのドキュメントを指していましたが、次の場合これは文字通り、期待どおりに動作しません。
テスト用に Samsung Galaxy S3 Android 4.3 デバイスを使用しており、以下の動作が見られます。
Transmit (TgInitAsTarget)
....'......4V@.. FF 00 00 00 27 D4 8C 00 08 00 12 34 56 40 01 FE
................ A2 A3 A4 A5 A6 A7 C0 C1 C2 C3 C4 C5 C6 C7 FF FF
...wfUD3"... AA 99 88 77 66 55 44 33 22 11 00 00
Receive
..%....7.5<...w. D5 8D 25 1E D4 00 08 37 D9 35 3C BF D5 AE 77 9C
...2Ffm......... 00 00 00 32 46 66 6D 01 01 11 03 02 00 13 04 01
... 96 90 00
Transmit (GetData)
....... FF 00 00 00 02 D4 86
Receive
..).. D5 87 29 90 00
TgInitAsTarget コマンドは機能しているようで、「アクティブ モード、DEP、424kbps」を意味する 0x25 のモードを返します。
しかし、「GetData」コマンドはすぐに失敗し、ステータス コード 0x29「ターゲットとして構成された PN532 がイニシエータによって解放されました」が返されます。
TgInitAsTarget コマンドをさまざまなモード (0x00 "All" モードではなく) で変更しようとしましたが、次の GetData コマンドに対してすべてがまだ 0x29 を返す次のことを試しています。
- モード 0x01「パッシブ」、応答モード 0x04「DEP」
- モード 0x02 "DEP"、結果として応答モード 0x25 ("All" と同じ)
- モード 0x03 "DEP Passive" の結果、応答モードは 0x04 "DEP" になります
どのような場合でも、Android が接続を維持していないように見えますが、NFC DEP プロトコルに精通していないため、ここで何が間違っているのかを知ることができません。PN532 チップ リファレンスを読みましたが、すべて正しく行っているようです。
Windows Phone NFC デバイスも試してみましたが、GetData で同じ問題と同じエラー コードが発生します。
NFC に精通している方からの助けをお待ちしております。
デイブ