ハードウェアサーバ機としてUbuntuを入れて使っているパソコンにPaSoRiが搭載されていたのでいろいろ記録しようとした話です。ViewerがSonyから公開されていますが、Linuxでも扱いたいと思ったところDebianで使えるlibpafeを発見しました。このライブラリ自体はCによるものですが、Rubyによるラッパーライブラリlibpafe-rubyも公開されているので組み合わせることでいい感じにいじれるのではないかと思った次第です。ライブラリの導入libpafeソースを持ってきてビルド、インストールします。依存パッケージをインストールしておきます。install共有ライブラリが更新されない場合があるっぽいのでlibpafeのインストール後に改めてldconfigを実行しておくとよいでしょう。tests以下にあるファイルで動作を確認します。successudev/lib/udev/rules.d/60-pasori.rulesを新規作成し、以下の内容を追加します。GROUP="dev"LABEL="pasori_rules_end"続いて設定をリロードしてから再起動します。now再起動後、テストプログラムがユーザ権限で実行できることを確かめます。/usr/local/src/libpafe/tests/pasori_testlibpafe-rubylibpafe-rubyはrbenvなどで環境を分ける場合は使用する環境ごとにインストールする必要があります。installインストールが完了したらテストスクリプトを走らせてみます。sample/suica.rbかざしたSuicaの情報が取得できれば成功です。Suicaを読むライブラリのサンプルを参考にSuicaを対象に改札の入出場記録や購買記録の読み取りを行うスクリプトを作成しました。実際に実行すると以下のような結果が得られます。最新20件のレコードが取得できるので、直前の残高との差分を取れば購買記録の出来上がりです。購買記録には取引通番として一意な番号が振られているので、読み取り結果をuniqして蓄積すれば実質家計簿としても使えそうです。改札の入出場記録ですが、直近3件しか記録されていないようでちょっとおもしろい使い方が思いつきませんでした。(出かけた時刻と帰宅した時刻のログを取り続けたら生活習慣の可視化とかできるかな~と思ったんですが出発時の入場記録があぶれちゃって残らないですね......。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目です次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。高専プロコンサイトコンテンツイチ押し記事このサイトについてプライバシーポリシーpaltee.net。