Macのバッテリー状態を取得する(2)

バッテリーの情報を取得するコマンドとかapiとかないかなーと、
いろいろググって見たものの、それらしい情報が出てこない。
ということで、最後の手段、英語のページも対象にして検索かけてみました。
検索ワードを、

mac battery capacity get command

としてみると、見事ヒットしてくれました。
Use ioreg command to get battery cycle count
「バッテリー充放電回数を取得するためにはioregコマンドを使う」と書いてありますが、
それ以外にも詳細なバッテリー情報が取得できる便利なコマンドです。
ioregコマンドはバッテリー情報以外にもいろんな情報をたくさん表示してくれます。
あまりにも多すぎるので、Capacityと書いてある行だけ取ってきます。

$ ioreg -l | grep Capacity


  • MaxCapacity: 完全充電時の容量(mAh)
  • Cycle Count: 充放電回数
  • CurrentCapacity: 現在のバッテリー容量(mAh)

とか使って定期的に値を記録して、グラフとかに表示したら面白そう。

ほかにも、システムプロファイラでは表示されていなかった、
DesignCapacity なんて値が面白い。設計容量、とでもいうんでしょうか。
この値が、買ってきたばかりの新品の状態での容量ということだと思います。
3年後にDesignCapacityの80%の容量が確保できていたらいいなぁ。
これから記録していっていこうと思います。

Mac OS XBSDなOSだから、コマンドの定期実行はcronでいいのかな?
「システムの起動時」とか「スリープからの復帰時」とかにフックしてコマンド実行することとかもできるのだろうか。
今度調べて、perlなりrubyなりでちょっとしたスクリプト書いてみよう。
その成果はまた、ここで報告したいと思います。

[2009.12.08追記]
作りました。
mac bookのバッテリー状態をはてなグラフに記録してみよう - mac日記



今回は標準で入っているコマンドでデータを取得できてよかったです。
もしAPIしかなかったら、CとかObjective-Cでコード書かなければならなかったから。
ただ、いずれCocoaプログラミングにも挑戦したいと思います。
先週くらいから、Cocoa Touchのプログラミングを勉強中です。
勉強の成果は、ここのブログでもぼちぼちあげていこうと思います。