問題タブ [iso-15693]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Android NfcV 読み取りタグは常に先頭に 0x00 を追加します
NFC-V タグの読み取りに問題が発生しました。タグの種類は Tag-it HF-I Plus (TMS37112) です。データの読み取りに使用するコードは次のとおりです。
C# で記述しますが、ここでの目的ではありません (Xamarin での作業)。
最初のブロック番号として何を使用しても、データの前に 0x00 を取得しました。これは正常ですか?
android - Android NfcV (ISO 15693) を使用した TI NFC Write Single Block
ISO15693経由でRF430FRL152Hデバイスと通信するAndroidアプリを書いています。このアプリは、TRF7970A を使用してデバイスと通信する既存の Qt C++ 実行可能ファイルを複製しようとします。
オプション フラグが設定されている場合、一貫して 1 つのブロックを書き込むことができず、android.nfc.TagLostException が発生します。
TRF7970A 実行可能ファイルは、TRF7960 評価モード ドキュメントに従っており、単一ブロック書き込み (0x21) にはオプション フラグ セット (0x40) が必要であると述べられています。
私自身のアプリと TI フォーラムのサンプル Android アプリでこの動作を確認しました: https://e2e.ti.com/support/wireless_connectivity/nfc_rfid/f/667/p/469938/1688321#1688321
Android Issue Tracker の 2011 年の投稿では、Android の nfcV に関するいくつかの問題と、TI を含む一般的なチップの書き込みブロックについて言及しています: https://code.google.com/p/android/issues/detail?id=15608
私のアプリでは、これにより android.nfc.TagLostException が防止され、エラー フラグは返されません。ただし、ファームウェアの一般制御レジスタで割り込みフィールドを有効にして設定するときに、後で予想される動作を観察していないため、これが完全な解決策であるかどうかはわかりません。
さらに複雑なことに、TRF7970A 実行可能ファイルの書き込みコマンドからオプション フラグを削除しても、引き続き正しく機能します。
これは単一のブロックを記述する正しい方法ですか? Android と TI デバイス、特に RF430FRL152H の間に既知の問題はありますか?
android - TI RF430FRL152HEVM NFC NDEF フォーマット
NFC 機能を備えた TI RF430FRL152HEVM 評価モジュールに基づいてボードを設計しました。Android フォンがボードのアンテナに近づくと、NFC によってプロセッサが起動し、データの読み取りを開始できます。読み取ったデータをメモリに格納します。
電話は、NFC (または ISO 15693) を使用してデバイスからこのデータを取得する必要があります。
現時点でこれを行う方法を知っている唯一の方法は、標準の NFC メモリ ブロックに書き込むことです。
NFC TagInfo という Android アプリをダウンロードしました。これにより、センサーをスキャンし、センサー メモリ内のすべてのデータ (つまり、すべてのブロック) を収集できます。
チップ メーカーが言うところの FRAM の NDEF メッセージ領域に書き込んでいます。別のプロジェクト用にリーダー/ライター NFC アプリを作成しましたが、これはうまく機能しますが、NFC TagInfo はデータを読み取りますが、ここでデータを読み取ることを拒否します。
TI チップは NDEF フォーマットであると想定しましたが、これを行う方法について見つかったドキュメントはすべて非常に不明確です。だから、そうではなかったと思います。
電話でNDEFメッセージを読み取れるように、メモリの内容を適切に準備する方法を誰か説明してもらえますか?
追加情報
ブロック 0 以降から FRAM にデータを書き込み、非常に単純な NDEF メッセージを含む典型的なタグで見られるデータを模倣しようとしました。たとえば、メッセージ「ABCD」を保存し、NFC TagInfo を使用すると、最初の数ブロックにこれが表示されます。
41 42 43 44
UTF-8 の「ABCD」はどこにありますか。
このデータ (NDEF フォーマット + ヘッダー) を別のタグ (NFC TagInfo を使用して読み取る) から取得し、このデータをタグ チップの FRAM ブロックにコピーしました。NDEF メッセージの最後で停止し、残りの FRAM は0x00
または0xff
です。
明らかに、データをコピーしたタグ (NXP) とタグ チップ (TI) は異なるメーカーのものであるため、最初の数ブロックの一部のデータは TI チップでは有効ではありませんが、Android は気にしないと想定していました。
ただし、NFC TagInfo を使用して TI タグを読み取ると、生データ ブロックを読み取ることはできますが、タグを NDEF 形式のタグとして認識しません。
同じタグ メモリ サイズを使用していないなどの理由で、他のタグからコピーした NDEF フォーマットがタグに対して有効ではないのでしょうか?
正しいバイトを正しいブロックに単純に書き込むと、何でも NDEF として取得できます。結局のところ、低レベルでの違いは何ですか?
これが当てはまる場合、どのブロックで使用するバイトの最も賢明なテストケースは何でしょうか?概念をテストするより良い方法はありますか?
ブロックロックは違いますか? ご覧のとおり、いくつかのブロックは実際のタグでロックされています。
NDEF が検出されたときに、NFC TagInfo が時々ブロックを認識し、次にページを認識するのはなぜですか? ブロックとページは同じですか?
他のすべてに失敗した場合、NFC TagInfo が 16 進ダンプを実行するのと同じ方法で、Android の単純なブロック読み取りをどのように体系化できるでしょうか? それができれば、NDEF は本当に必要ありません。
追加情報 2
ブロック0以降のFRAMに、あなたが言及したデータが含まれるようにファームウェアを変更しました。
ただし、TI チップを 8 バイト ブロック モードにすることはできないようです。これに関連する制御レジスタはないようです。
私の低レベルの観点からは、ブロックを 4 バイトまたは 8 バイトで書き込むことは問題ではありません。つまり、上記のデータをバイトごとに FRAM メモリに順番に書き込みます。
NFC TagInfo を実行すると、次の 2 つのことが行われますが、NDEF メッセージが検出されません。
- UID を正しく検出し、RF Tech がタイプ 5 (ISO 15693 / 周辺) であるという事実
- また、ブロックを正しく読み取り、データ HEX 表示を選択すると、ブロック 0 から始まるブロック内の上記のデータが正確に表示されます。
http://open-nfc.org/documents/STS_NFC_0707-001%20NFC%20Tag%20Type%205%20Specification.pdfから入手した NFC タグ タイプ 5 仕様を調べました。
そこで、ブロック 0 から TAG にさらにデータを書き込んで、SERIAL NUMBER、CONFIGURATION、Application area issuer ブロックをエミュレートしようとしました。そして、セクションの後に NDEF メッセージ ABCD を配置しました。
NFC TagInfo を使用しましたが、NDEF メッセージも検出できませんでした。ただし、Data Hex 表示を使用すると、データが上記のように正しく読み取られていることを確認できました。
だから私の質問は:
- 4 または 8 バイトのブロック モードが構成されているかどうか、およびこのモードが定義されている可能性が最も高い場所は関係がありますか? 4 バイト ブロック モードで作業できますか?
- TAG 5 のシリアル番号は関連していますか? 仕様によると、NDEF チェックには影響しないようです。
- TAG 5 アプリケーション領域の発行者は関連していますか? NDEF検証には関係ないようです。
- 配置した NDEF メッセージは正しいエリアにありますか?
- 16 ビット値の場合、上位バイトの下位バイトまたは下位バイトの上位バイトの順序付けですか?
- 何がうまくいかないのですか?
追加情報 3
NDEF をそのチップ (FRL152H) で動作させるには、TI がパッチを提供する必要があることが判明しました。基本的に、このチップは、内部ファームウェア アプリケーションを使用して、NFC 経由でセンサー機能の高度な制御をサポートするように設計されています。このアプリケーションを無効にし、いくつかの設定を変更する必要がありました。
次のメモリ構成が機能することが判明しました。
java - Android - ISO15693 タグへの書き込み
現在、特定のブロックに数バイトを書き込もうとしています。私の読み取りコマンドは正常に機能し、以下のコードを使用してタグの任意のブロックを読み取ることができます。
以下のコードを記述しようとすると、アプリがクラッシュします。
私はこれを AsyncTask で行っており、java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
例外が発生しています。
任意のヒント?タグはSTMicroelectronics M24LR04E-Rです
android - HF-RFID vs. NFC - NFC 対応の携帯電話は高周波 RFID タグを読み取ることができますか?
RFID は NFC とは違うというフォーラムをたくさん見かけます。どちらも異なる基準を持ち、異なる周波数で動作するため、私はこれに完全に同意します.
さらに調査を重ねた結果、NFC が使用するのと同じ周波数である 13.56 MHz の周波数帯域にいくつかの RFID 規格 (HF-RFID) が存在することがわかりました (こちらを参照)。ただし、NFC デバイスと HF-RFID が相互運用可能であることを明確に示しているものは見つかりませんでした。また、Samsung NFC 対応モバイルを使用して HF-RFID タグを読み取っているオンライン ビデオを見たことがあります。
NFC と RFID の両方が無線周波数を使用することを理解しています。
私の質問は、HF-RFID (13.56 MHz) タグを NFC 対応の携帯電話で読み取れるかどうかです。
また、HF-RFIDリーダーはNFCタグの読み取りにも使用できますか?
誰かがこれをテストして、その可能性が確認されたリンクを提供しましたか?
android - .tranceive() へのすべての呼び出しをログに記録します
NFC タグの tranceive メソッドに送信されたバイナリ データをログに記録する方法はありますか? https://developer.android.com/reference/android/nfc/tech/NfcV.html#transceive(バイト[])
プロトコルの最後のいくつかの欠落部分を見つけようとしていますが、送信されるデータを聞くことができれば役立ちます。