FeliCa でソフトを作りまくるスレ 2ブロック目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/05/14(水) 07:24:15http://felicalib.tmurakam.org/
libpasori
http://libpasori.sourceforge.jp/
前スレ
■◇FeliCa でソフトを作りまくるスレ◇■
http://pc11.2ch.net/test/read.cgi/tech/1100532582/
0002デフォルトの名無しさん
2008/05/14(水) 16:51:570003アホ
2008/05/14(水) 17:21:560004デフォルトの名無しさん
2008/05/16(金) 18:00:370005デフォルトの名無しさん
2008/05/19(月) 00:28:39felica,type a/b,NFC forum type1が読み書き可能。
ドライバを組み込み、スマートカードとして開く。
・ポーリング
CmdDataByte = 0;
CmdData[CmdDataByte++] = 0xff; //class
CmdData[CmdDataByte++] = 0x00; //ins
CmdData[CmdDataByte++] = 0; //p1
CmdData[CmdDataByte++] = 0; //p2
lenpt = (BYTE)CmdDataByte++; //len、後で設定
//REQCコマンドの発行
CmdData[CmdDataByte++] = 0xD4;
CmdData[CmdDataByte++] = 0x4A;
CmdData[CmdDataByte++] = 0x01;
CmdData[CmdDataByte++] = 0x01; //212kbps FeliCa
//Felicaコマンド、REQC
CmdData[CmdDataByte++] = 0x00; //コマンドコード
CmdData[CmdDataByte++] = SystemCode[0];
CmdData[CmdDataByte++] = SystemCode[1];
CmdData[CmdDataByte++] = 0x00; //RFU?
CmdData[CmdDataByte++] = TimeSlot; //タイムスロット?
CmdData[lenpt] = (BYTE)CmdDataByte - lenpt - 1; //len
m_SCLastErrorCode = ::SCardTransmit(m_hCard,SCARD_PCI_T0,CmdData,CmdDataByte,NULL,ResultCode,&ResultCodeByte);
if(m_SCLastErrorCode != SCARD_S_SUCCESS){
//エラー
}
else if(*ResultCode != 0x61){
//エラー
}
0006デフォルトの名無しさん
2008/05/19(月) 00:29:18//コマンド応答を取得する
CmdDataByte = 0;
CmdData[CmdDataByte++] = 0xff; //class
CmdData[CmdDataByte++] = 0xC0; //ins
CmdData[CmdDataByte++] = 0; //p1
CmdData[CmdDataByte++] = 0; //p2
CmdData[CmdDataByte++] = ResultCode[1]; //len
m_SCLastErrorCode = ::SCardTransmit(m_hCard,SCARD_PCI_T0,CmdData,CmdDataByte,NULL,ResultCode,&ResultCodeByte);
if(SCARD_S_SUCCESS != m_SCLastErrorCode){
//エラー
}
ptr = ResultCode;
tagnum = ptr[2];
m_FindCardNum = 0;
m_CurrentCardIndex = 0;
ptr += 6;
for(i=0;i< tagnum;++i){
m_FindCardInfo[m_FindCardNum].Type = ACS_CARD_TYPE_FELICA;
memcpy(m_IDm,&ptr[0],8);
memcpy(m_PMm,&ptr[8],8);
m_FindCardNum++;
ptr += 16; //?
}
0007デフォルトの名無しさん
2008/05/28(水) 23:54:27PaSoRi とは API が違うようで、felicalib ではアクセスできない模様(あたりまえか)
EdyViewer をちょっと調べてみたところ、オリジナルの EdyViewer にちょっとばかり
改造が入っている。EdyViewer.exe と同じディレクトリに felicatonfc.dll という DLLが
あって、こいつが felica.dll の API を NFC(?)ドライバの API に変換しているっぽい。
0008デフォルトの名無しさん
2008/06/08(日) 18:25:190009デフォルトの名無しさん
2008/06/16(月) 12:15:250010デフォルトの名無しさん
2008/06/16(月) 20:59:590011デフォルトの名無しさん
2008/06/18(水) 14:38:06SDKのLiteとRC-S860を学校の研究室で購入したのですが、Liteだけでカードのサービスコードやブロック数などの書き換えは可能なのでしょうか?
問い合わせでは入退室管理程度ならLiteで可能との返答がきたのですが…。
現行システムは昔購入したSDKについていたサンプルカード(システムコード:0x0000)で動きます。
新しく購入したRC-S860の現在の内容は、システムコードが0xFFFF(ワイルドカード)でサービスエリアはまったく定義(設定?)されてない状態です。
まだまだ内部構造が把握できてないのですが、何かヒントだけでもありましたらご教授ください。お願いいたします。
0012デフォルトの名無しさん
2008/06/18(水) 22:17:05liteではカードの発券はできない。発券の場合、sdkのエンタープライズ版と
発券用のリーダライタが必要
0013デフォルトの名無しさん
2008/06/19(木) 08:59:32本体
SDK for FeliCa Enterprise(Windows) \1,700,000-
SDK for FeliCa Enterprise(Reference Code) \2,500,000-
年間サポート
SDK for FeliCa Enterprise(Windows) \510,000-
SDK for FeliCa Enterprise(Reference Code) \750,000-
R/W
RC-S462B/492B \34,500 (円/台)
ちなみにEnterpriseに添付されているFormatDesignerではシステムコードの追加・編集は不可能です。
FeliCaカードを作成したい場合は、USCやトッパンフォームズに依頼するのが安くて手っ取り早いでしょう。
ちなみにUSCでカード作成する場合は、
初期費用
印刷デザイン 10万
フォーマット設定 10万
カード代
¥2000/枚 (印刷なしの場合は¥1600)
だそうですよ。
ていうか、Liteは相互認証不可能だからカード作成してもセキュリティエリアには書き込みできないので
入退室管理ならカード作成しなくてもFeliCaのIDmでできるのでは?
■ このスレッドは過去ログ倉庫に格納されています