YouTubeにアップしたラズベリーパイから温度湿度センサーの値をLINEでスマホに送るプログラムです。センサーはDHT11を使用しています。湿度~%のパーセントの表示は半角英数ではなく日本語にしています。(半角英数だとエラーがでました。)
データの送信にはLINE Notifyを利用しています。
プログラムを実行すると最初のほうはセンサーの値が0になってしまうことがあったので待機時間をいれてみました。
import requests
from time import sleep
import RPi.GPIO as GPIO
import dht11
# DHTのポート番号
PIN = 4
# GPIOを初期化
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# DHT11をセットアップ
dht11_obj = dht11.DHT11(pin=PIN)
sleep(0.1)
res = dht11_obj.read()
ACCESS_TOKEN = "ここに自分のトークン入れてね"
headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
data = {
"message": "温度%d℃湿度%d%
LINE Notifyより!"%(res.temperature,res.humidity)
}
requests.post(
"https://notify-api.line.me/api/notify",
headers=headers,
data=data,
)