なんかもう、いろいろ試行錯誤したので、忘れないうちにメモ書き。
結論としてはprocessing + pasori(RC-S380)でNFC Mifare読み取れたって話。
以下経緯。
どうも、うちのはNFC mifareのようで...
Java(eclipse)の環境は整ってる。ゆくゆくは楽なprocessingで実装したい。
VC++express入れるのメンドクサイ
調べるとFelicalibというものがあるとのこと。
て、ことでJavaでFelicalib.dllを使ってるのを探す。
JNA経由か、ふむふむ
で試すもmifareは残念ながら無理。
http://felicalib.tmurakam.org/
http://itasan.mydns.jp/wiki.cgi/ASIA?page=Java%A4%CE%B1%FE%CD%D1%A1%A7Felica%A5%AB%A1%BC%A5%C9%A5%EA%A1%BC%A5%C0#p0
他にもdllないか調べてるとSheepSmartCard.dllをみつける。
見よう見まねでjava用にラッピングするもカード読み込んだ後にfetal error。値もおかしい。
戻り値で値の取得が成功したという判定なのに、引数の文字列の処理で問題があるようだ。
VBAの例はあるが、なぜにCのはないのか・・・
このへん、慣れてない初心者には厳しい
http://www.eclip.jp/blog/1823.html
http://msdn.microsoft.com/ja-jp/library/cc376816.aspx
いや、そもそもVBAでしてしまったほうが早いのでは・・・
と思いつつも、視点を変えて、javax.smartcardioでどうだろうかとやってみるもpasoriは無理とのこと。
http://www.orquesta.org/takegata/Article/ArticleView.jsp?article_id=569
最初からVC++express入れときゃよかった・・・
VC express をインストールしている間に調べもの
dllの引数のstringを取得したいが、GCされるなんてことも書いてあるから、
もしかしたら、GCされたあとみにいっているからエラーになってるのでは・・・
http://uehaj.hatenablog.com/entry/20100821/1282399839
http://www.javaroad.jp/java_character4.htm
http://www.viste.com/Java/Language/language4.html
でも結局断念。
ここからexpressの話
Visual Studio Express 2013 for Windows Desktop
Windows 7 (64bit)
無料のSDK for NFC Starter Kitを使ってFeliCa ICカードを読み書きするプログラムを開発する
http://codezine.jp/article/detail/7402
lpcwstr 変換できません charとか出たら以下のように。
プロジェクト->プロパティ->構成プロパティ->全般 の中にある
文字セットを[Unicode 文字セットを使用する]から[マルチバイト文字セットを使用する]
サンプルはコンソールアプリのよう
で、サンプル動かしてみるも
Failed:felcalib_nfc_open
とでる。でまた調べる・・・
S380では、無理?
http://wikiwiki.jp/webapp/?NFC
と、とにかくS380/Sを購入してみる。
S330とか、もう見かけないし、S370とか値段高いし...
ただPC/SCでいけそうな気がするんだけどなぁ・・・
そういえば、SDKのsampleでPCSCがあったっけ。
あれ、IDmとれたぞ・・・
じゃあじゃあ、javax.smartcardioでうまくいかないのはなぜか・・・
もう一度、javax.smartcardioをみなおす。
http://www.orquesta.org/takegata/Article/ArticleView.jsp?article_id=569
http://ludovicrousseau.blogspot.jp/2010/04/pcsc-sample-in-different-languages.html
とを見比べならがコーディング。
・・・processingで通ったし・・・
ここ数年でNFCまわりが整えられて、pasoriでも大丈夫になったみたいですね。
まー本来のProcessingでNFCができたってことで。
IDmの取得だけが目的だったので目標達成ですね。
processing用に少しかえる必要はありますが、結局、こちらのコードで十分でした。ありがたや〜
http://www.orquesta.org/takegata/Article/ArticleView.jsp?article_id=569
しかし、いろいろ勉強になったとはいえ、とんだ回り道だった。