ok alles klar.
Ich habe jetzt hier geschaut wie man wait_for_edge einsetzt.
Ich verstehe nicht woher channel kommt. Ist der Channel nun GPIO.input(pinNummer) oder nur die Pinnummer?
Bei diesem Code kommt nun folgene Fehlermeldung:
Traceback (most recent call last):
File "programme/ofen.py", line 23, in <module>
channel = GPIO.wait_for_edge(channel, GPIO_RISING, timeout = None)
NameError: name 'GPIO_RISING' is not defined
Wie kann es sein?
Code:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf8 -*-
import RPi.GPIO as GPIO
import time
import logging
from marrow.mailer import Message, Mailer
logging.basicConfig(level=logging.INFO)
# Benötigte Werte:
# GPIO.LOW (alles ok)
# GPIO.HIGH (fehler)
# Pin-Nummern aus dem Layout benutzen (siehe gpio.jpg)
GPIO.setmode(GPIO.BOARD)
# input setzen auf Pin-Nummer: 7 = GPIO 4
GPIO.setup(7, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
channel = 7
channel = GPIO.wait_for_edge(channel, GPIO_RISING, timeout = None)
#while True:
if channel is None :
print "Alles gut"
else:
# Mailversand
mail = Mailer({
'manager.use': 'futures',
'transport.use': 'smtp',
'transport.host': 'smtp.gmail.com', # smtp server deines emailanbieters
'transport.tls': 'ssl', # protokoll
'transport.username': '', # deine email adresse
'transport.password': '', # dein password
'transport.max_messages_per_connection': 5
})
mail.start()
#message = Message([('test', '')], [('Ich', '')], "Warnung!", plain="test")
message = Message([('Heizungsfehlerinformation ( = Titel der E-Mail)', '')], [('Ich', '')], "Warnung! (= Betreff der E-Mail)", plain="Die Heizung im EG gibt ein Highsignal zurück. Das heißt irgendwas stimmt nicht! ( = E-Mail Text)")
mail.send(message)
mail.stop()
print "Fertig"
time.sleep(1)