[RaspberryPi] [Python] Informieren Sie LINE mit dem Temperatursensor + IFTTT über Raumtemperatur

Umgebung

1. Vorbereitung des Temperatursensors

Da ein 1-Draht-Sensor verwendet wird, fügen Sie / etc / modules von Raspberry Pi Folgendes hinzu.

w1-gpio
w1-therm

Fügen Sie Folgendes zu /boot/config.txt hinzu

dtoverlay=w1-gpio-pullup

Sensoranschluss

Zu Der 2. und 3. Pin des Sensors sind durch einen Pull-up-Widerstand verbunden. Referenz: http://blog.livedoor.jp/victory7com/archives/33399310.html

20170820002519.png 20170819235926.jpg

Verwenden Sie den Befehl lsmod, um die Verbindung zu überprüfen. Wenn die Verbindung erfolgreich ist, ist dies wie folgt.

cmd


pi@raspberrypi:~/Documents/work$ lsmod | grep w1
w1_therm                6401  0 
w1_gpio                 4818  0 
wire                   32619  2 w1_gpio,w1_therm

Die erfasste Temperatur wird in "/ sys / bus / w1 / device / 28-XXXXXXXX / w1_slave" geschrieben. (XXXX von 28-XXXXXXXX ändert sich je nach Terminal)

cmd


pi@raspberrypi:~/Documents/work$ cat /sys/bus/w1/devices/28-00000723fabd/w1_slave 
b1 01 4b 46 7f ff 0f 10 8d : crc=8d YES
b1 01 4b 46 7f ff 0f 10 8d t=27062

Die aktuelle Temperatur ist der Wert von "t =" geteilt durch 1000.

2. Vorbereitung der IFTTT

Gehen Sie zu IFTTT und erstellen Sie ein Rezept aus Mein Applet.

Setzen Sie "this" auf "Webhooks" und "that" auf "line".

Gehen Sie nach dem Festlegen zu https://ifttt.com/services/maker_webhooks/settings und rufen Sie die angegebene URL auf, um den Schlüssel zu aktivieren.

--event ist der Ereignisname, der beim Festlegen von Webhooks festgelegt wird --value ist der Wert, den Sie an LINE senden möchten

Durch Ausführen des Befehls curl nach "Sie können ihn auch mit curl über eine Befehlszeile versuchen." Wird er an das festgelegte LINE-Ziel gesendet.

3. Mit Python kombinieren

Mit RaspberryPi können Sie die Temperatur mit Python ermitteln, die URL der mit IFTTT festgelegten Webhooks anfordern und die Raumtemperatur an LINE senden.

Installieren Sie die Bibliothek, um die Temperatur zu ermitteln

cmd


pip install w1thermsensor

Erhalten und senden Sie mit dem folgenden Code

python


from w1thermsensor import W1ThermSensor
import urllib.request, json

sensor = W1ThermSensor(W1ThermSensor.THERM_SENSOR_DS18B20, "(Name des Sensorgeräts)")
temperature_in_celsius = sensor.get_temperature()

url = "https://maker.ifttt.com/trigger/(Name des Webhooks-Ereignisses)/with/key/(Webhooks-Schlüssel)"
method = "POST"
headers = {"Content-Type" : "application/json"}

obj = {"value1" : temperature_in_celsius}
json_data = json.dumps(obj).encode("utf-8")

request = urllib.request.Request(url, data=json_data, method=method, headers=headers)
with urllib.request.urlopen(request) as response:
  response_body = response.read().decode("utf-8")

Ordnen Sie THERM_SENSOR_DS18B20 der Modellnummer des von Ihnen verwendeten Sensors zu. Der Gerätename des Sensors ist der XXXX-Teil von 28-XXXXXXXX. Wenn Sie danach Coulomb usw. einstellen, können Sie die Raumtemperatur regelmäßig messen.

Recommended Posts

[RaspberryPi] [Python] Informieren Sie LINE mit dem Temperatursensor + IFTTT über Raumtemperatur
Messen Sie die CPU-Temperatur von Raspeye mit Python
Erstellen Sie eine andere Version der Python-Conda-Umgebung mit einer Befehlszeile
Benachrichtigen Sie LINE über die Körpertemperatur vom BLE-Thermometer mit Raspeltorte Nr. 2
Erste Schritte mit Python Grundlagen von Python
Lebensspiel mit Python! (Conways Spiel des Lebens)
10 Funktionen von "Sprache mit Batterie" Python
Implementierung der Dyxtra-Methode durch Python
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Grundlegendes Studium von OpenCV mit Python
Die Geschichte, wie man mit Python einen 100-Yen-Frühstücks-Bot für die Universität macht
Grundlagen der binärisierten Bildverarbeitung durch Python
[Beispiel für eine Python-Verbesserung] Python mit Codecademy lernen
Führen Sie das Python-Skript mit TS-220 cron aus
Überprüfen Sie die Existenz der Datei mit Python
Einfache Einführung der Spracherkennung mit Python
[Python / PyRoom Acoustics] Raumakustische Simulation mit Python
UnicodeEncodeError hat Probleme mit der Standardausgabe von Python3
1. Mit Python 1-3 gelernte Statistiken. Berechnung verschiedener Statistiken (Statistiken)
Zeichnen mit Matrix-Reinventor von Python Image Processing-
Empfehlung von Altair! Datenvisualisierung mit Python
Vergleich der Matrixtranspositionsgeschwindigkeit durch Python
RaspberryPi L Chika mit Python und C #
Ich habe die Beleuchtungsstärke des Raumes mit Raspberry Pi, Arduino und einem optischen Sensor getwittert
Benachrichtigen Sie regelmäßig den Verarbeitungsstatus von Raspberry Pi mit Python → Google Spreadsheet → LINE
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden