Giter Club home page Giter Club logo

munindht's Introduction

MuninDHT

 最低限動作するだけの DHT 系温湿度センサーの Munin 用プラグイン。

動作環境

 DHT11/22, AM2302 の何れかを接続した Raspberry Pi で動作するハズ。
 当方環境は Raspberry Pi 3 + AM2302 (DHT22)

使い方

 Adafruit_Python_DHT をインストールし、同梱の AdafruitDHT.py を次の様に設置する。

cp /path/to/Adafruit_Python_DHT/examples/AdafruitDHT.py /usr/local/bin

 /etc/munin/plugins 以下へ本スクリプトを設置する。

cp dht /etc/munin/plugins

 /etc/munin/plugin-conf.d/00-default 等の設定ファイルに次のエントリを追加する。

[dht]
user root              - センサーにアクセス出来るユーザー名を指定 (必須)
env.script             - Adafruit_Python_DHT 同梱のサンプルスクリプト "AdafruitDHT.py" の設置位置
env.templog            - 取得した温度を一時的に保存しておくファイルを指定
env.sensor             - 使用しているセンサーの種別。11 or 22 or 2302
env.gpio               - 接続している GPIO 番号
env.tempcorrection     - 温度補正値
env.humiditycorrection - 湿度補正値
env.retry              - エラー発生時のリトライ回数

 env による変数未設定時のデフォルト値は以下の通り。

[dht]
user root
env.script /usr/local/bin/AdafruitDHT.py
enc.templog /tmp/dht_temp_log
env.sensor 2302
env.gpio 4
env.tempcorrection 0
env.humiditycorrection 0
env.retry 2

 munin-node を再起動して設定反映後にデータを収集し、グラフ化が開始される。

ex) sudo systemctl restart munin-node.service

ちょっとした特長

補正機能

 TempCorrection と HumidityCorrection に値を設定することにより、取得した温度/湿度を校正する事が可能となる。
 温度は特に補正の必要はないかもしれないが、ベースとして信用たるセンサーに合わせるなどすると良い。
 湿度は飽和塩法を用いて補正するのが一般家庭ではベスト。

スパイク防止

 当方個体では長時間運用していると実際の室温 -12 度程度のスパイクが出来てしまうことがあった。
 その為、取得した温度を一時的に保存しておき、次回データ取得時に比較する事で異常検知を行う。
 実際には前回との温度差が 10 度以上低い場合はデータ取得を 1 度限りリトライする事で異常を防止する仕組み。

 一時記録用ファイルは munin-node の systemd unit ファイル内に PrivateTmp=true とある場合、/tmp/systemd-private-*-munin-node.service-*/tmp/ 以下に作成される。
 munin-run を用いて実行した場合とパスが異なる可能性がある点に注意。

表示サンプル

表示サンプル

munindht's People

Contributors

buccimoni avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.