2013年9月30日月曜日

Raspberry Piで気圧センサーBMP085のmuninプラグインを作ってみる。(パート3)

パート3。

といっても今回は途中報告だけです。


あれから1回ハングアップしたものの、3週間連続動作中です。いや、ハングアップしたから2.5週間ぐらいか。

ちなみに写真は気圧計のグラフで、2回の台風の接近を見事に捉えています。

2013年9月11日水曜日

Raspberry Piで気圧センサーBMP085のmuninプラグインを作ってみる。(パート2)

パート1を作っちゃったから、パート2を。
パート2はnonnonがmuninを使う上でつまずいたところを上げておきます。
言ってみれば覚書みたいなもんですね。
  1. プラグインは実行権限が必要。
・・・、

恐ろしいもんですね。2、3日経つと、もうそれが当たり前になっていて、何でつまずいていたか忘れてる・・・。

メモに書いてあることを書きだすと、
  1. プラグインを入れるところは、「/usr/share/munin/plugins」
  2. シンボリックを「/etc/munin/plugins」に作成
  3. munin-nodeを再起動「sudo service munin-node restart」
だけなんですよね。ま、いっか、こんなもんで。どうせ自分の覚書だし(笑)。

ちなみにこれをやり始めた時には、
  • シンボリックってなに?
  • 実行権限ってなに?
  • カレントフォルダにあるプログラムを実行させるにもカレントフォルダであることを明示する必要があるの?
ってな感じでした。

ってことで、次はC言語で湿度センサーSHT-11にアクセスするプログラムを書いて、それをmuninで表示させようという魂胆です。

手順としては、
  1. Raspberry Pi上で簡単なプログラムを書いてみる。←現在ここまで。
  2. 適当なポートにSHT-11をつないで湿度を読み込むプログラムを書いてみる。
  3. muninから読み出す。
  4. SHT-11にアクセスするプログラムはやっつけでいまいちなプログラムになっていると思うので割り込みを使って、CPUが他の仕事もできるようにしてみる。・・・、と思ったけど、もしかして組み込みじゃないからタイミングをとるならスレッドを休止するだけか? '&'をつけてバックグランドで動かすだけか? いや、'&'はないか。
なんてことを考えています。湿度が測れるようになると、窓を開けたタイミングが分かるんですよね。湿度が急激に変わるから。

いや、だからどうした!と言われても困りますが(笑)。

2013年9月8日日曜日

Raspberry Piで気圧センサーBMP085のmuninプラグインを作ってみる。(パート1)

前回までに遅まきながらようやく24時間動作を達成した我がラズベリーパイちゃん、前回の記事からずっと動き続けています。もちろんファンありです(^^;)。あ、アルミヒートシンクもつけてみました。現在は2箇所です。最終的には電圧レギュレーターを含めて3箇所付ける予定です。レギュレーターのそばにネジとコンデンサーがあるんで、ネジに干渉しないようにコンデンサーをリードタイプに変更してレギュレーターから少しだけ離してしまおうと思っています。

ちなみに写真右中央の赤、黒、緑、オレンジのGPIOにつながっている線の先が今回の主役です。写真右下に対象基板もちらっと写ってます(^^)。


もっともファンがあれば今のところアルミヒートシンクはあってもなくても同じ感じに思えます。

で、せっかくだからmuninをインストールして遊んでみました。


とりあえずmuninをインストールしてからほぼ6日間動作しています。

で、満足したところで次にトライしてみたのがCPUの温度測定です。なんせ、ハングしますからね、うちのラズベリーパイは(笑)。


こっちはまだ取り始めたばかりなんで、だいたい2日間程度です。ここでわかったのが、ヒートシンクをつけてファンを回していると、だいたい環境温度+10℃ぐらいが相場だということです。一週間も続ければ面白いグラフが取れるかも。

ちなみにハングと言っても、うちのラズベリーパイはCPUじゃなくて別のところでハングしていると思ってます。まあ、イーサ周りだと予想しているんですが・・・。

で、次に試したのが外部センサーを取り付けてmuninに表示させること。

当初の目論見ではサクサクっと行く予定でしたが、つまずくところはつまずきましたので、ここに覚書として書いておこうという算段です。

まずは現在の状況から。


さっきようやく動き出したところなので、まだグラフになっていません(^^;)。ここまでくるのに、ほぼ1日かかりました。まあ、途中動かないと嫌になってほったらかしにされるので実際にはそんなにかかっていないんですけど・・・。

BMP085には気圧、温度、高度という3つの測定値があるのですが、私にはまだ3つのグラフを一つのプラグインで作るのは無理でした(^^;)。

ここまで、
1.muninを動かす。
2.プラグインを追加してみる。
3.自分でプラグインを作ってみる。
ときたのですが、そもそもlinuxを真面目にやるのは初めてだし、とまどうことばかりです。

これ、DOSを経験しているからなんとかなってますが、そうじゃなかったらどうなっていたことやら・・・。

もともとラズベリーパイで遊ぼうと思っていた最初のうちは直結のディスプレイを用意しなくちゃ・・・、って思ってましたからね(^^;)。パソコンの代わりではなくインターネットにつながる組み込みという認識ならディスプレイはいらないことがわかりました。

ってことで、長くなったので本題は次回から?(笑)

(このパターンは途中で挫折するパターンだ!(笑))


※追記1
小細工なしに3つのプラグインをそれぞれ作って表示させてみました。そのうちひとつにまとめよう! まあ、いつになるかはわからないですが(笑)。