はじめに
こんにちは、たるこすです。
みなさん、交通費申請していますか?
私が所属している株式会社ホロラボでは、毎月 Google スプレッドシートに1か月分の交通経路と交通費を記入して申請することになっています。
ですが、毎日オフィスに行くわけではないので定期券を持っておらず、オフィスに行った場合も含めて交通費を記入しないといけないため、
毎月結構な量になってしまいます。
この作業が面倒だったので、Suica などの交通系 IC カードの履歴を読み取り、自動的に Google スプレッドシートに記入するシステム「にゃーん」を開発しました。
「にゃーん」の仕組み
「にゃーん」の仕組みですが、は大きく分けると以下の2つからなっています。
Suica の履歴を読み取る部分はえむにわさんのコードを利用させていただきました。
履歴として読み取れるのは直近20件の利用データです。
このデータに含まれているのは利用金額ではなくその地点での残高のため、前後2件のデータから利用金額を求めています。
また、読み取れる履歴には電車やバスなどの交通費だけでなくチャージやコンビニ等の支払い履歴も含まれていますが、
交通費だけのデータだけをスプレッドシートに書き込むようにしています。
交通費を書きこむスプレッドシートは、テンプレートとなるシートを用意しておいてそれを人ごと月ごとにコピーするようにしています。
スプレッドシートに重複してデータを書き込んでしまってはいけないので、
履歴データに含まれる ID(履歴ごとに1ずつ増えていく番号)を使ってまだ書き込まれていないデータのみを書き込むようにしています。
どの ID までを書き込んだかという情報は、交通費のシートとは別のスプレッドシートに書き込んでいます。
スプレッドシートへのデータの書き込みは、Google Spread Sheet API を使って行っています。 また、フォルダの作成や交通費申請シートのテンプレートのコピーは Google Drive API を使っています。
「にゃーん」を使ってみたい方へ
ソースコードは Github で公開しています。 github.com
セットアップ方法も Github のページに記載しています。
いくつか機材が必要にはなりますが、是非試してみてください。
セットアップに関する不明点は、Github の方に issue としてあげていただければと思います。
利用した機材
私は以下の機材を利用しました。
Raspberry Pi 3
Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Clear)-Physical Computing Lab
- 出版社/メーカー: TechShare
- メディア: エレクトロニクス
- この商品を含むブログ (4件) を見る
PaSoRi RC-S380
ソニー SONY 非接触ICカードリーダー/ライター PaSoRi RC-S380
- 出版社/メーカー: ソニー(SONY)
- 発売日: 2012/10/10
- メディア: Personal Computers
- 購入: 5人 クリック: 9回
- この商品を含むブログ (18件) を見る
スピーカー
iBUFFALO PC用スピーカー USB電源 ブラック BSSP29UBK
- 出版社/メーカー: バッファロー
- 発売日: 2016/08/22
- メディア: Personal Computers
- この商品を含むブログを見る
みなさんからの「作ってみたよ」という報告をお待ちしています!