Hallo Henry,
Ich habe die Datei angehängt. Ich musste das in PDF umwandeln da die Forumssoftware keine .txt oder .py Dateien erlaubt.
Also einfach mit Copy Paste in einen Texteditor übertragen. Endung sollte .py sein.
Die Einrückungen sind bei Python wichtig da das die Zugehörigkeit zu einer Bedingung oder Schleife bedeutet.
Die print Befehle kann man weglassen helfen aber beim Debug
Ich starte das Programm beim boot mit cron.
crontab -e in einem Terminal starten (kein sudo nötig!)
Editor wählen (z.B. nano)
Folgendes eintragen: @reboot python3 /home/pi/Lüftersteuerung.py (Pfad entsprechend anpassen)
^o und enter zum speichern ^x zum beenden. (Gilt für nano)
Danach Raspi neu starten
Viel Spaß damit
Hallo Roger,
nach 2 Jahren musste ich den Pi der Kamera aktualisieren. Nun läuft mein Temperatursensor AM2302 - DTH22 - nicht mehr. Er wird nicht mehr unterstützt. Ich bekomme folgenden Fehler:
from . import Beaglebone_Black_Driver as driver
ImportError: cannot import name 'Beaglebone_Black_Driver' from 'Adafruit_DHT' (/home/pi/.local/lib/python3.7/...
Mittlerweile habe ich rausgefunden, dass die Bibliothek wohl veraltet ist und man eher auf adafruit-circuitpython-dht setzen sollte. Nach diversen Anleitungen kann ich über einen test.py die Temperatur und Luftfeuchte auslesen.
--------------------
# SPDX-FileCopyrightText: 2017 Limor Fried for Adafruit Industries
#
# SPDX-License-Identifier: MIT
import time
import adafruit_dht
import board
dht = adafruit_dht.DHT22(board.D4)
while True:
try:
temperature = dht.temperature
humidity = dht.humidity
# Print what we got to the REPL
print("Temp: {:.1f} *C \t Humidity: {}%".format(temperature, humidity))
except RuntimeError as e:
# Reading doesn't always work! Just print error and we'll try again
print("Reading from DHT failure: ", e.args)
time.sleep(1)
----------------------------------
Jedoch der Script zur Heizungssteuerung geht nimmer.
##############
import RPi.GPIO as GPIO # muss eingefügt werden um die GPIOs zu nutzen
import time # Um die Funktion sleep zu nutzen
import adafruit_dht # Der Treiber für den Sensor
import board
Heizung = 25 # Hier die Nummer des verwendeten GPIO verwenden
GPIO.setmode(GPIO.BCM) # setzt die Nummerierung der Pins auf BCM Nummern also hier GPIO18
GPIO.setup(Heizung, GPIO.OUT) # setzt den GPIO mit Nummer pin als Ausgang fest
GPI

utput(Heizung, GPIO.LOW) # setzt den GPIO mit Nummer pin auf 0
# Example using a Raspberry Pi with DHT sensor connected to GPIO23.
# pin = 2
# sensor = Adafruit_DHT.AM2302
dht = adafruit_dht.DHT22(board.D4)
# Diese Schleife läuft koninuierlich nach Start des Programms
while 1:
# Try to grab a sensor reading. Use the read_retry method which will retry up
# to 15 times to get a sensor reading (waiting 2 seconds between each retry).
temperature = dht.temperatur
humidity = dht.humidity
# Abfrage ob ein sinnvoller WErt gelesen wurde. Wenn nicht einfach den nächs
if humidity is not None and temperature is not None:
# Hier wird die Temperatur verglichen und entsprechend Code ausgeführt
print('Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity))
if temperature < 0.0:
# Hier wird der GPIO eingeschalten wenn die Temperatur kleiner 0° ist
GPI

utput(pin, GPIO.HIGH)
print("Temperatur ist kleiner als 0.0°. Heizung ist an")
if temperature > 2.0:
# Hier wird der GPIO ausgeschalten wenn die Temperatur größer 2° ist
GPI

utput(pin, GPIO.LOW)
print("Temperatur ist größer als 2.0°. Heizung ist aus")
time.sleep(10) # Sleep 10 Sekunden
########################
Hast du zufällig einen Script mit adafruit-circuitpython-dht und GIPO der das Relais wieder ansteuert?
Viele Grüße Henry.