NfcF#transceiveのdataにはlengthも入れるべし
というどうでも良いところで詰まっていた私でした。アホす。
つまり、
res = nfcf.transceive(data);
のdataは、
// ※例としてRequest Serviceのカードコマンド
// <ノード数(1byte)> <システムコード(2byte)>
byte[] data = { 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0xcd, 0xab };
ではなくて
// ...
byte[] data = { 0x0d, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0xcd, 0xab };
としなきゃいけないわけですね。resも同様にindexの0番目にlengthが入っています。ちなみにPollingはカード検知の段階でやってくれてるっぽいのでやらなくても大丈夫みたいです。
それにつけても先人の方々は偉大ですよ。あぁ、しにたくなってきた。あとコードの表示され方が酷いですね。
参考リンク
- Sony Japan | FeliCa | 法人のお客様 | 技術情報 …… FeliCaカードコマンドリファレンス。
- Androidで動く携帯Javaアプリ作成入門(38):AndroidアプリでNFCタグを読み書きするための基礎知識 (2/3) – @IT …… コラム欄を実践中。
- Advanced NFC | Android Developers …… Android公式ドキュメント。
- hiro99ma blog: NfcF.transceive()も何とか動いたが、課題も残る …… 「NfcF.transceive」で検索したら一番上にw
- mokemokechicken/Android_NFC_FelicaEdit …… コードを参照。
- nfc-felica …… コードを参照。
アプリ起動中にTag Intentをとる
ひとまずアプリ起動時にTag Intentをとる方法が分かったのでメモ。Beamもこの延長線上で実装できるはず。たぶん。
Android NFCアプリハンズオン資料によると、Android端末へのNFC機能実装方法は以下の3通りだという。
- 待ち受け時、NFCタグに反応する方法
- アプリ起動時、NFCタグに反応する方法
- 上記両方
1つ目については資料の中でも説明されているし、過去の記事ですでに書いた。今回は2つ目の実装方法について検討してみよう。いうまでもないが、前回の方法と今回の方法、両方を実装すれば3つ目の方法を実装できる。
続きを読むFeliCa R/WとAndroidでBeamをしてみたい
プロジェクトが炎上している。……と、ここでいうプロジェクトは演習的な意味でのプロジェクトではあるがいい加減、私も本腰を入れてコミットする必要が出てきたようだ。そこで、私の担当する基幹技術であるNFCの技術修得をそのままこのブログのプロジェクトにすることにした。これはネット上に載せることによるモチベーション維持を期待してのことで、あるいは効果はないかもしれない。まあ、その時はその時である。
期限は7月1日で最終目標地点はAndroidからPCにNFCを使ってテキストを転送することである。そのための手段として現段階ではAndroid Beamを考えている。
続きを読むAndroid向けNFCアプリ作成の基本
最近手元に遊べる端末も増えてきたことだし、@tomorrowkey氏のAndroid NFCアプリハンズオン資料を片手に頑張ってみた。ほぼ初めてのAndroid開発である。
ここではNFC機能搭載端末がFeliCa IDmを読み取ったらアプリを起動し、読み取ったIDmを表示するようなものを作ってみる。
続きを読むAndroidアプリ「NFC TagInfo」でタグを読む
「NFC TagInfo」というNFC機能搭載Android端末向けアプリがある。このアプリ、端末から出ている搬送波に応答したNFCタグの情報を表示できるという優れものである。NFCタグリーダーはいくつかあるが、個人的にはこれが一番良い感じだと思う。
ところで、我が家にはそれなりの種類のNFCタグがある。いつの間にやらこんなに集まっていたなんて我ながらビックリだ。
この記事では、手持ちのNFC/RFIDタグを「NFC TagInfo」を用いて情報表示させた結果を私の補足を含めて示す。各タグの結果は以下の書式をもって記録し、特記事項は別に示すこととする。
- RF technology(e.g. Type A(ISO/IEC 14443 Type A))
- Tag Type(e.g. MIFARE Classic 1K)
- ID Name & Length(e.g. UID (4bytes))
- Target technology classes(Android)
Android – Arduino – RC-S620/S 進捗状況
飛行機の出発が30分遅れるらしい。多少睡眠不足で寝ておきたい気分もあるが、ただボーっとするのも時間の浪費のような気がして筆を執ることとした。
内容は、現時点での進捗状況と今後の予定である。
プロジェクト名(仮)
夏までに、A500 + ながてぃ~の。 + RC-S620/Sでカードエミュレーション!
続きを読むArduinoのセットアップ
題して、「ながてぃ~の。でごにょごにょしてみる(1)」!!……別名「わっちと始めるエレクトロニクス」……うーむ、どっちも微妙だ。困った。
てなわけでこんな記事を書きたいがためにコメント投稿機能を復活させたわけで、私自身も勉強しながらブログにアウトプットできればいいなぁと思ってる。あとはソースコードをいい感じに表示する仕組みが欲しいね、うん。そのうち追加しよう。
わっち(以下「わ」)「どうぞ、よろしくの!」
続きを読む