ついに設備のマニアどっとこむも100記事超えました!! 今回は101記事目です。
最近設備とはだいぶ離れていますけど、スマホで温度を遠隔で制御するという”長年の夢”が叶いました! だいぶ時間がかかってしまいましたが、サーバーの温度監視などで応用できるかな?といったところです。
まずはSlackでCPU温度を監視します。
この記事をベースにCPU温度を定期投稿します。
コードはこちら↓ "/sys/class/thermal/thermal_zone0/temp","r"にラズパイのCPU温度が格納されるのでそれを抽出します。
import requests
import json
def get_temp():
f = open("/sys/class/thermal/thermal_zone0/temp","r")
tmp = 0
for t in f:
tmp = t[:2]+"."+t[2:5]
f.close()
return float(tmp)
if _name__=='__main_':
temp = get_temp()
print(str(temp))
SLACK_URL = "https://hooks.slack.com/services/******************..."
def send_slack():
content = temp
payload = {
"text": content,
"icon_emoji": ':mouse:',
}
data = json.dumps(payload)
requests.post(SLACK_URL, data)
send_slack() coding:utf-8
slackのトークンはwebhookから取得してください。
これをpythonコードをcrontab -e で定期投稿します。
そうするとこうなります。
ここからBlynkを使って遠隔でファンを動かします。
SSRリレーを使ってラズパイの出力とは違う回路を使います。arduinoと違いラズパイは電流を多く流すとすぐ電源が落ちてしまいます。単三電池等をつかってファンの動力は別にするのをおススメします。Blynkの使い方は
この記事を参考にしてください。
これでBlynkアプリとslackアプリを使ってCPU温度を遠隔監視して高くなった場合ファンを動かして制御する事ができました。
実際のサーバの温度監視は温度センサーをサーバルームに設置したり、空調を別途制御したりと大がかりになってしまいがちですが、これでサーバーラック内で温度管理が完結できるのではと思います。すでに技術として確立してそうですが、無料アプリなどでスマホで安価にできそうなものは紹介していきたいと思います。 今後とも設備のマニアどっとこむをよろしくお願いします!!