2016/07/07 7M4MON
PaSoRi RC-S320というFelicaのリーダ・ライタを譲り受けたのでFelicaで遊んでみました。
とあるカードには、とあるサービスコードのとあるブロック番号に
とある文字列が書き込まれていて、それを読みだすといろいろ便利なことが出来そうです。
ということで、こちらのページで公開されている「CFelicaLib.vb」に機能を追加しました。
ブログのこちらの記事です。
おサイフケータイには、自由に読み書きできるFelicaのエリアが、16バイト×24ブロック(384バイト)あります。
felicalib.dllには書き込む手段も提供されているようなので試してみました。
ブログのこちらの記事です。
Felicaに関して情報を集めていて、RC-S620/SというFelicaモジュールの存在を知りました。
結構いい値段するので悩んだのですが、、、買ってしまいました。
制御はUARTで行うので、普通にパソコンから制御できます。
ということで、VB.netで任意のコマンドを送るアプリを作ってみました。
このアプリで様々なコマンドを投げて動作を確認しました。
コマンドを作成する際、チェックサムを作る必要がありますが、下記のように実装しました。
'RC-S620Sのチェックサムを返す | |
Function ByteAryToCheckSum(commandAry As Byte()) As Byte | |
Dim chkSumInt As Integer = 0 | |
For i = 0 To commandAry.Length - 1 | |
chkSumInt = chkSumInt + CInt(commandAry(i)) | |
Next | |
chkSumInt = 256 - chkSumInt Mod 256 | |
If chkSumInt = 256 Then chkSumInt = 0 | |
Return CByte(chkSumInt) | |
End Function |
/* これがないとgetc()で固まってしまう!!!*/ void buffer_clear(){ enable_timer(); while( !timeout ) { if(kbhit()){ dust = getc(); set_timer1(TOT); }else{ delay_cycles(1); } } disable_timer(); } |