HOME >> Tips >> Microsoft.NET

Felica リーダーで Felica の識別情報(IDm)を読む

2013/08/21
文書番号:20184



SONY の FeliCa リーダー「PaSoRi(パソリ)」を使用して IDm(識別情報)を読み込んでみようと思います。
FeliCaの情報を読み書きするには SONY から SDK が出ていますが法人向けにしか販売していません。
FeliCa ソフトウェア開発環境


そこで、今回は「felicalib」というフリーのライブラリを使用してFeliCaへアクセスしてみたいと思います。
felicalib についてはこちら


felicalib のサイトからライブラリをダウンロードしておきます。
2013/08現在の最新版は「felicalib 0.4.2」ですが更新日が2008/06/01なので長い間更新されていないようです。


※PaSoRiはデバイスドライバのみをインストールしておきます。


【設定手順】

  1. ダウンロードした「felicalib-0.4.2.zip」を解凍します。
  2. [felicalib-0.4.2]-[src]-[CSharp]フォルダ内の「FelicaLib.cs」をコピーしてプロジェクトに追加します。

    クリックで拡大
  3. Windows フォームにボタンとラベルを2つ追加します。

    クリックで拡大
  4. ボタンのClickイベントで以下のように書きます。
    
        try
        {
            using (FelicaLib.Felica f = new FelicaLib.Felica())
            {
    
                f.Polling(0xFFFF);
                byte[] data = f.IDm();
    
                String dataStr = "";
                for (int i = 0; i < data.Length; i++)
                {
                    dataStr += data[i].ToString("X2");
                }
    
                label1.Text = dataStr;
            }
    
            label2.Text = "OK";
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
            label2.Text = "NG";
        }
    
    
  5. [felicalib-0.4.2]フォルダ内の「felicalib.dll」を実行フォルダにコピーします。

    クリックで拡大
  6. コンパイルしてexeを起動します。
    PaSoRiにFeliCaカードを乗せてボタンをクリックし、IDmが表示されれば成功です。
    ※FeliCa機能のついた携帯などを乗せて実行してもOKです。

    クリックで拡大


    ※デバッグ実行ではdll参照時にエラーになるのでコンパイル後のexeを実行します。
suica や nanako の情報を読み取ったりするサンプルもついています。
また、一部の領域には書き込みすることもできるので試してみるとおもしろいかもしれません。


サンプルダウンロード

【参考情報】