ich bin Raspi Anfänger und habe folgendes Problem:
Ich schreibe zurzeit einen Code der den DHT22 Sensor auslesen und anschließend die Temperatur und die Luftfeuchtigkeit auf einem Thingspeak-Server speichern soll. Das funktioniert auch soweit.
Ich wollte den Skript nun erweitern indem der Raspi bei einer Luftfeuchtigkeit von unter 50% eine LED durch einen GPIO ansteuert. (Für eine Pflanze)
Ich bekomme die Luftfeuchtigkeit aber nicht in einer Variable gespeichert, da ich eine Fehlermeldung bekomme(siehe unten).
Muss ich die Variable anders definieren?
Der Code:
Code: Select all
Import RPi.GPIO as GPIO
import thingspeak
import time
import Adafruit_DHT
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(26, GPIO.OUT)
channel_id = 'XYZ'
write_key = 'XYZ'
read_key = ''XYZ' '
pin = 4
sensor = Adafruit_DHT.DHT22
def measure(channel):
try:
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
# write
response = channel.update({'field1': temperature, 'field2': humidity})
# read
read = channel.get({})
print("Read:", read)
except:
print("connection failed")
hum = ‘{0:0.1f}’.format(humidity)
if hum < 50:
GPIO.output(26,GPIO.HIGH)
else: GPIO.output(26, GPIO.LOW)
if __name__ == "__main__":
channel = thingspeak.Channel(id=channel_id, write_key=write_key, api_key=read_key)
while True:
measure(channel)
# free account has an api limit of 15sec
time.sleep(15)