*

SCP1000+Arduino+Pachube+cacti

公開日: : 最終更新日:2012/07/30 プログラミング

気圧をグラフにして残す

SCP1000+ArduinoをCentOS機(NEC 110ge)にUSB接続してデータを保管、Pachubeとcactiにてグラフ表示させてみました。

当初、cactiでひっそりこっそりデータを確認してたのですが、Pachubeが思ったより簡単だったので、同時にデータを投げるようにしました。今回もいきあたりばったりでDBは使用せず、テキストファイルを使っています。

USBデバイスからのデータを読み込む

ガイガーカウンターのときと同じような感じで、データ生成ツール(今回はPerlスクリプト)をcronで回して、テキストで追記。これをPHPで読み取り、cacti用にprintfした後、Pachubeに投げます。

Perlスクリプトは「ねこひげめも|Linux(CentOS)でUSBウェザーボードを使って遊ぶ」を参考にさせて頂きました。参考というか、まるごとパクリです。

追記
どうもSCP1000が返す数字を拾うのに失敗することが多いようで、グラフが歯抜けになってしまうので、ifを2回繰り返して、それでもダメなら空白を返すようにしました。0じゃなく、空白ならグラフも途切れるだけかな。3回待ってまで拾う意味のある数字でもないのでとりあえずこれで。

再追記(2012/07/30)
やっぱり数値取得がうまくいかないので、データファイルを読み込んで直近何件かの数値から外れ値(という言葉を学んだ)を除外するために、中央値・標準偏差を使うことにしました。大学で統計学を選択しましたが、教科書を買ったくらいであまり覚えていませんので適当にググったところ、スミルノフ・グラブス検定というのがよさそうでしたが、とりあえず今回は外れ値を残さないように取り急ぎ以下のように変更しました。

初期バージョン

外れ値除外バージョン

定期実行させる

crontabはこんな感じで。

追記2
cronで5分ごとにガイガーカウンターの数値もとっているためか、USBより数値を拾い損ねることが多発し、グラフが歯抜けすぎるので、1分ずらしてみました。

なお、SCP1000が日光の影響を受けるという動画がありました。気温と連動してるのかと思ってたら陽射しと連動していたのか・・・。これは急いで対策しなければ。

cactiとPachubeへ送信

PHPスクリプトはcactiデータ取得用とPachube送信と兼用なのはガイガーカウンターのときと同様です

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

no image
Inno Setupを利用して複数PCに同様の環境を構築する

ブラウザベースの業務の効率化のためにブックマークレットを作成したのです

no image
sacd_extractをOSXでmakeする

sacd_extractは、SACD-ISOをDSFやDIFFに展開す

サーバのPositive SSL証明書更新(2015/05版)

サーバの証明書を更新 今年もやり方を忘れていたので再録。

ドイツからMAXI-COSI PebbleとEasy Base2他を個人輸入したときの配送記録

MAXI-COSI Pebbleは国内・海外の価格差がそれほどないので

eBayのGlobal Shipping Programでの配送記録

やっぱり遅いeBayのGlobal Shipping Program

→もっと見る

    • None Found
  • Visits today: 271
PAGE TOP ↑