ラズベリーパイで除湿器自動運転

muninで部屋の温湿度がロギングできるようになりましたが、GPIOからSSR(ソリッドステートリレー)をON/OFFしてまずは除湿器をON/OFFできるようにしてみました。

ソリッドステートリレーは、秋月電子のソリッド・ステート・リレー(SSR)キット 25A(20A)タイプを使用します。このSSRにラズベリーパイのGPIOポートを直接接続することで、ラズベリーパイからSSRをON/OFFすることが可能です。

GPIOの詳しい話はraspberrypi/Raspberry PiでIO制御この辺を見て頂ければと思いますが、非常に簡単に制御できます。

なので、ある湿度以上になったら除湿器ON、OFFと言うのは、非常に簡単に出来てしまいます。

先回の記事のスクリプトを少し改造して、絶対湿度が13gを超えたら除湿器ON、それ以下ならOFFという風にしてみます。

#!/bin/zsh

USBRH="/usr/local/bin/usbrh"

#USBRHコマンドから温度と相対湿度を取得
values=(`$USBRH`)

#温度取得
t=$values[1]

#相対湿度取得
rh=$values[2]

#飽和水蒸気圧eを計算、Tetensの式
e=$((6.11*10**(7.5*$t/($t+237.3))))

#水蒸気量(g/m^3)を計算
ah=$((217*$e/($t+273.15)*$rh/100))

#不快指数 DIを計算
DI=$((0.81*$t+0.01*$rh*(0.99*$t-14.3)+46.3))

echo "絶対湿度    "$ah

#GPIOの設定
#17番ピンは除湿器
/usr/local/bin/gpio -g mode 17 out

#目標絶対湿度を計算
X=`echo "$ah > 13" | bc`

if [ $X -eq 1 ]; then
        $(/usr/local/bin/gpio -g write 17 1)
else
        $(/usr/local/bin/gpio -g write 17 0)
fi

後は、スクリプトが単体で動くことを確認し、CRONに登録します。私の場合、とりあえず10分に一度スクリプトが起動するようにしていますが、いい感じですね。

次は、こういった設定をWebから設定できるようにPHPでスクリプト書いてみよう…

 

コメントを残す

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

CAPTCHA