LinuxでSuicaを読みたい
Debian Squeeze
とりあえず、gsuicaという便利なものを作った方がいるのでインストールする
libpafeインストール
http://homepage3.nifty.com/slokar/pasori/libpafe.html
コンパイル
# apt-get install libusb-dev $ cd libpafe $ ./configure --prefix=/usr/local $ make # make install # echo /usr/local/lib > /etc/ld.so.conf.d/local.conf # ldconfig -v
/lib/udev/rules.d/60-libpafe.rules 作成
ACTION!="add", GOTO="pasori_rules_end" SUBSYSTEM=="usb_device", GOTO="pasori_rules_start" SUBSYSTEM!="usb", GOTO="pasori_rules_end" LABEL="pasori_rules_start" ATTRS{idVendor}=="054c", ATTRS{idProduct}=="006c", MODE="0664", GROUP="plugdev" ATTRS{idVendor}=="054c", ATTRS{idProduct}=="01bb", MODE="0664", GROUP="plugdev" ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02e1", MODE="0664", GROUP="plugdev" LABEL="pasori_rules_end"
# udevadm control --reload-rules
テスト
$ pasori_test PaSoRi (RC-S330) firmware version 1.30
ファームバージョンが見れればOK
errorになるときはUSBを一回抜き挿しする
libpafe-rubyインストール
http://homepage3.nifty.com/slokar/pasori/libpafe-ruby.html
コンパイル
# apt-get install ruby ruby-dev $ ruby extconf.rb $ make # make install
これはデフォルトで/usr/local/にインストールされる
gsuicaインストール
http://homepage3.nifty.com/slokar/pasori/gsuica.html
gsuicaはスクリプト1本だけなので好きなところに置くだけでいいが、
~.gsuica/station_code/ に駅名データベースを作らないと起動できない
# apt-get install libgtk2-ruby1.8 xlhtml $ ./station_code_conv.sh StationCode.xls
実行
$ ruby gsuica
シェバングには#!/usr/bin/ruby1.9.3と書いてあるが、squeezeのruby1.8.7でもとりあえず動く。
ファイル保存時にエラーが出る、駅名が合ってない、suicaの買い物の名前が読めない
など多少の不具合があるが、これでとりあえず動作した。