忍者ブログ

設備のマニアどっとこむ

設備、電子工作、DIYのブログ!

02/03

Sat

2018

raspberry pi とslackで温度の遠隔監視

最近やっとラズパイらしい使い方になってきたので今度はAPIにチャレンジしてみた。
意外にもさほど難しくなかったので紹介したい。

Twitterで温度測定してる人は多いみたいだが、自分としてはあまり見られたくないので(鍵アカにすればいいんだけど)slackにしてみた。

まずはslack側でトークンの取得が必要。
incoming-webhookってところからWebhookURLというトークンを取得する。
これをラズパイのパイソンに記入すれば、ラズパイからつぶやく?ことができる。
こんなやつです→https://hooks.slack.com/services/xxxxx

今回はこの記事でつかっている温度センサーADT7410でslackに投稿できるようにしてみました。

コードはこんな感じです。
i2c.py(デスクトップに保存)
import smbus
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
 
i2c = smbus.SMBus(1)
address = 0x48
# coding:utf-8
import requests
import json
block = i2c.read_i2c_block_data(address, 0x00, 12)
temp = (block[0] << 8 | block[1]) >> 3
    
if(temp >= 4096):
    temp -= 8192
print("Temperature:%6.2f" % (temp / 16.0))
time.sleep(1)
               
temp2 = (temp / 16.0)
GPIO.cleanup()
SLACK_URL = "https://hooks.slack.com/services/××××"
#ここだけslackのトークンを入れてください。
def send_slack():
    content = temp2
    payload = {
        "text": content,
        "icon_emoji": ':snake:',
    }
    data = json.dumps(payload)
    requests.post(SLACK_URL, data)
send_slack()

あとはcronでこのパイソンコードを定期的に動作させればOK
まず設定を変更。
crontab -e
最後の行にPythonファイルを実行する様に追記。
* * * * * sudo python /home/pi/Desktop/i2c.py 

そうするとこんな感じででてきます。

とりあえず出先でも家の温度がわかります。いずれ遠隔で設備を動かして温調できればと思ってます。






拍手[0回]

PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

翻訳(Translate)

AD

シェアしてね

プロフィール

HN:
アルティメット雅史
性別:
男性
自己紹介:
製油所、データセンター、化学工場を渡り歩いた設備のマニア
最近はarduino,Raspberry piyear等の電子工作にハマる。
取得資格は電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトほか

カウンター

お問い合わせ

忍者アクセスランキング

Copyright © 設備のマニアどっとこむ : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]