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でできるのでは?
0014デフォルトの名無しさん
2008/06/19(木) 10:27:02>>12
やはり発券というかカードの内容(システムコード等)を書き換えるのはLiteでは不可能なのですね。
調査不足ではなくて安心しました。
>>13
そ、そんなにかかるのですか…。しかもFFDでも編集は不可能なんですね!
そういえばマニュアルにワイルドカードの一回のみしか変更ができないと記載してあったような気がします。
私も入退室管理のみならIDmをキーにして、DBなどでソフトを構築すればすむ話だろうと思っていたのですが、
卒業研究のボリュームとしては少なすぎるので、ICの特徴である値の保持を使って他に何かできないものか、と
メンバーと話し合い、今回の質問にいたりました。
今回の返答を活かし、また新たに研究内容を検討したいと思います。
ご丁寧にありがとうございました。
0015デフォルトの名無しさん
2008/06/19(木) 17:06:12まさにその入退室管理を卒研でやってる俺涙目w
0016デフォルトの名無しさん
2008/06/20(金) 11:00:26が、がんばろう…!
0017デフォルトの名無しさん
2008/07/02(水) 11:28:31システムコードの設定最大数は16個らしい。
携帯FeliCaのシステムコードって後から追加できるのかな?
(EDY、Suicaはシステムコード違うし)
今度確認してみます。
001817
2008/07/05(土) 00:07:03システムコード0003が追加されました。
携帯FeliCaはSonyと契約すればシステムコードの追加が可能なようです。
その他の共通領域(EDYのシステムコード)を使用しているFeliCaは
既存の共通領域にサービス定義が追加されるようです。(あたりまえか。。。)
0019デフォルトの名無しさん
2008/07/12(土) 16:27:28参考になるサイト等ありましたら教えていただけないでしょうか?
ちなみにC#.netで開発を行っています。
宜しくお願いいたします。
002017
2008/07/12(土) 17:30:11SDK所有者なのでfelicalib未経験ですが、
http://sourceforge.jp/projects/felicalib/wiki/CSharp
↑のサンプルソースの、バイト型配列にReadWithoutEncryption
で取得した値を代入している部分を、
WriteWithoutEncryptionにあらかじめ値を入れておいたバイト型
配列を代入するようにすればできるのではないかと思いますが、
どうでしょうか?
参考
http://felicalib.tmurakam.org/refdoc/felicalib_8h.html
0021デフォルトの名無しさん
2008/07/12(土) 20:53:49ありがとうございます。
今日は用事があってできないので、明日早速試してみます。
002217
2008/07/25(金) 08:49:35古いSDK Pro(Ver1.21)のfelica_for_vb.dllを使ったときに(?)、COMポートを使用するRW(RC-462B)を
USB-RS232C変換機を中継して接続するとopen_reader_writer_autoに失敗する・・・。
変換機はBuffalo製
Tutorialでは変換機入れてもオープンできるので、DLLの違いかな?と・・・。
Autoを使用しないでCOM1を指定してもオープンできず。。
あと最近のメーカーPCに搭載されてるPaSoRi(?)って、お店で見たらPluginsフォルダにファイルが
1個か2個しかないけど、あれで各コマンドが実行できるのだろうか・・・。あ〜試したいけど買う金ない。。。
0023デフォルトの名無しさん
2008/07/28(月) 22:41:03馬鹿発言してないで、勉強しろよ、学生w
0024デフォルトの名無しさん
2008/08/08(金) 15:20:54このソフトで読み取ってる19桁の数字を読み取りたいのですが、これってidmとは違うのでしょうか?
0025デフォルトの名無しさん
2008/08/08(金) 20:59:36SDK持ってるならIDmと比べてみれば?
0026デフォルトの名無しさん
2008/08/08(金) 23:13:54SDKは持ってないんですよね・・・
あと今確認できないので、ご存知の方がいたら教えていただこうと思ったのですが。
0027デフォルトの名無しさん
2008/08/09(土) 09:14:21IDmを見るだけなら,こういうのも使えると思うし
http://www.bit-drive.ne.jp/itr/support/doc/idmviewer.html
IDmを10信表記してるだけかと思ったらそうでもないみたい
■ このスレッドは過去ログ倉庫に格納されています