felicalibとC#用ラッパーを使ってFelicaのIDを読んだ。
参考:felicalib C#での利用方法

Reading felica ID
MNPして使わなくなった(財布機能1回も使ってない)auのお財布ケータイW51Sを乗せたところ。

普段使ってるSuicaを読むと違うIDが出てきた。


■作ったもの
080811_Felica.zip (VisualStudio2008 / C#3.0)
.NET Framework3.5が必要


■準備
RC-S320を使った。付属のCDからドライバだけインストールしておく。

SONY RC-S320 非接触ICカードリーダ/ライタ PaSoRi 「パソリ」
ソニー
売り上げランキング: 99
おすすめ度の平均: 4.5
4 あれば便利かもしれないが、無くても困らない製品
5 便利アイテムです
5 便利です。
5 飛行機に乗れなくてもマイルが貯まる
4 edyを常用してる人ならお勧め


felicalibをダウンロードしてくる。中にC#用ラッパー(FelicaLib.cs)も入っているので自分のプロジェクトに追加。
felicalib.dllは「参照の追加」から使うのではなく、bin/Debug, bin/Releaseなどにファイルを直接コピペして置く。実行時にFelicaLib.csからP/Invokeで読み込まれる。

■コード
ラッパーを読み込んで

using FelicaLib;


IDmを読むとbyte配列が来るので、Stringに直す。

try
{
  using (Felica felica = new Felica())
  {
    felica.Polling(0xFFFF);
    byte[] data = felica.IDm();
    String id = "";
    for (int i = 0; i < data.Length; i++)
    {
      id += data[i].ToString("X2");
    }
    Console.WriteLine(id); // ID出力
  }
}
catch (Exception ex)
{
  Console.Error.WriteLine(ex.Message);
}