Hallo zusammen,
ich versteh es nicht und komm nich weiter.
Ich habe eine .servie Datei diese ist auch laut Status "enabled", doch es funktioniert nicht. Ich habe damm beim Status folgendes Fehlerbild:
wenn ich die feuchte.py Datei manuell starte, dann klappt es Problemlos und ich bekomme keine Verbindungsprobleme.
Wo ist da nur der Fehler?
Code von der feuchte.py:
Python
#!/usr/bin/python3
import time
import board
import MySQLdb
import adafruit_dht
import RPi.GPIO as GPIO
# Anlaben, wo was angeschaltet ist
dht_schrank = adafruit_dht.DHT22(board.D17)
dht_keller = adafruit_dht.DHT22(board.D22)
GPIO.setmode(GPIO.BCM) # GPIO Nummern statt Board Nummern
GPIO.setwarnings(False)
Relai_2 = 23 # Relai zum Lüfter schalten
GPIO.setup(Relai_2, GPIO.OUT) # GPIO Modus zuweisen
luefter = 0 # Variable auf Null setzen
GPIO.output(Relai_2, GPIO.HIGH) # Lüfter standart aus
# mit Datenbank verbinden
db = MySQLdb.connect ("10.79.10.1", "--Benutzer--", "--Passwort--", "Luefter")
cursor=db.cursor()
# Schleife auf Null setzten
schleife = 0
while True:
try:
# Feuchtigkeit auslesen
feuchte_schrank = dht_schrank.humidity
feuchte_keller = dht_keller.humidity
temp_schrank = dht_schrank.temperature
temp_keller = dht_keller.temperature
feuchte_keller = int(feuchte_keller) #Stringwert auf Zahl ändern
feuchte_schrank = int(feuchte_schrank)
if (feuchte_keller > 65) or (feuchte_schrank > 60):
luefter = luefter + 1
else:
luefter = 0
GPIO.output(Relai_2, GPIO.HIGH) # Lüfter aus
if luefter > 5:
GPIO.output(Relai_2, GPIO.LOW) # Lüfter an
#print ("Luefter an")
except RuntimeError as error:
# Ausgabe wenn ein Fehler aufgetreten ist
print(error.args[0])
time.sleep(5.0)
# Jede Minute Daten in die Datenbank schreiben
schleife = schleife + 1
while schleife > 11:
cursor.execute("INSERT INTO Keller (Temperatur, Feuchte, Datum, Zeit) VALUES (%s, %s, CURRENT_DATE(), NOW())", (temp_keller, feuchte_keller))
cursor.execute("INSERT INTO Schrank (Temperatur, Feuchte, Datum, Zeit) VALUES (%s, %s, CURRENT_DATE(), NOW())", (temp_schrank, feuchte_schrank))
db.commit()
schleife = 0
Alles anzeigen
Code der feuchte.service:
Code
[Unit]
Description=Startet die Feuchtigkeitsmessung
[Service]
Type=simple
User=pi
ExecStart=/usr/bin/python3 /home/pi/feuchte.py
[Install]
WantedBy=multi-user.target
Freue mich auf eure hilfreichen Antworten.
Flixsi