グラフはカッコよくなければならぬ!!Raspberry Piらしさを出さなければならぬ!!
前回「Raspberry PiのCPU温度を記録」では,CPUの温度情報をテキストデータに書き出しグラフ化しました.
ログはタグで区分けしたベターっとしたファイル.
そう,これではいけないのです!このくらいのことは,ほかのマイコンでもできる!
Raspberry Piでなければできないことをやってみようと思い,今回はログをデータベースシステムで管理し,そこからデータを抽出してGoogle Chartでグラフを描いてみようというお話.
データベースといえば,MySQLが有名ですが,重そうだし難しそうだし面倒そうだしということで,SQLiteを採用しました.
SQLite(エスキューライト[2][3]、エスキューエライト[4][5])は、パブリックドメインの軽量な関係データベース管理システム (RDBMS) である。【SQLite – Wikipedia】
下調べをしていると,SQLiteとGoogle Chartとでグラフを描く,という記事がない.どれもMySQLとグラフ表示プラグインとかテキストデータとGoogle Chartとか.
体系的にプログラムを勉強したわけではないので,ネットで拾った情報とソースコードを継ぎ接ぎして自分のやりたいことを実現させている私にとって,参考情報がないのはとっても痛い.
ほかの組み合わせでやろうかと迷っていた時に見つけたのがコチラ.
SQLite3をインストールして,データベースの扱い方を練習.ざっくり扱い方がわかったところで,monitor.pyをワタシのRaspberry Pi用に編集し,cronで1分毎にCPUの温度を取得してデータベースに放り込みます.
データの取得は順調.
次にブラウザでグラフを表示させるためのwebgui.pyを編集.データベースファイルの場所を書き換えるくらいで難なく動きました.
が,
SQLiteには日付型が存在せず,日付は文字列として記録されています.そのため,グラフの横軸がよろしくない.
Google Chartは,日時を渡せば認識してくれるようなので,文字列を日付に変換して,format関数で形式を整えました.
横軸が時間軸になりました.
グラフの体裁は後々整えていきたいと思います.
参考にさせていただいたページ