忍者ブログ

設備のマニアどっとこむ

IoT開発、設備・DIYのブログ!

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

コメント

1. レビュー依頼

失礼致しました。Amazonで日本のラズベリーパイを販売している林遠です。
ブログを拝見しました。弊社のラズベリーパイ4bレビューブログ記事を書きしてくれませんか。
こちらは無料でサンプルを提供します。
連絡メールはjp02@vertue.cnです。
御返事お待ちしております。どうぞよろしくお願いします。

2. 無題

失礼致しました。Amazonで日本のラズベリーパイを販売している林遠です。
ブログを拝見しました。弊社のラズベリーパイ4bレビューブログ記事を書きしてくれませんか。
こちらは無料でサンプルを提供します。
連絡メールはjp02@vertue.cnです。
御返事お待ちしております。どうぞよろしくお願いします。

翻訳(Translate)

プロフィール

HN:
佐々木 雅史
性別:
男性
自己紹介:
2021年 ラズパイ、M5stackを用いたIoT開発を専門で受注するアルティメンテを設立。代表を務める。
・2020年ラズパイコンテスト優良賞受賞
・設備系資格多数(電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトなど)

AD

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30