Hi zusammen,
ich habe ein kleines Problem, ich bin seit einiger Zeit über einem Projekt in meinem Betrieb eine Überwachung zu bauen, ob das Tor geöffnet ist oder nicht. Zusätzlich soll ein Log erstellt werden (das Funktioniert) und eine email versendet werden, sobald das Tor 25 Minuten geöffnet ist. Die email funktioniert aber leider nicht und ich stehe nun auf dem Schlauch. Wäre cool wenn mir jemand helfen könnte
Vielen dank schonmal im Voraus.
Python
from datetime import datetime
import time
import RPi.GPIO as gpio
import smtplib
from email.mime.text import MIMEText
import threading
MAGNET_GPIO = 17
def main():
def execute_after_1_minutes():
time.sleep(1200)
smtp_server = "192.168.10.13"
port = 25
sender_email = "Torsteuerung@stannek-gmbh.com"
receiver_email = "j.zwosta@stannek-gmbh.com"
message = MIMEText("Das Rolltor ist seit 20 Minuten geöffnet")
with smtplib.SMTP(smtp_server, port) as server:
server.sendmail(sender_email, receiver_email, message.as_string())
def read_sensor():
gpio.setmode(gpio.BCM)
gpio.setup(MAGNET_GPIO, gpio.IN, pull_up_down=gpio.PUD_UP)
try:
gpio.setmode(gpio.BCM)
gpio.setup(MAGNET_GPIO, gpio.IN, pull_up_down=gpio.PUD_UP)
while True:
gpio.wait_for_edge(MAGNET_GPIO, gpio.BOTH)
with open("log.txt", "a") as fobj_out:
if not gpio.input(MAGNET_GPIO):
jetzt = datetime.now()
fobj_out.write(f"{jetzt:%Y-%m-%d %H:%M:%S}: Tor offen\n")
print(f"{jetzt:%Y-%m-%d %H:%M:%S}: Tor offen")
t = threading.Thread(target=execute_after_1_minutes)
t.start()
while not gpio.input(MAGNET_GPIO):
time.sleep(0.05)
else:
jetzt = datetime.now()
fobj_out.write(f"{jetzt:%Y-%m-%d %H:%M:%S}: Tor geschlossen\n")
print(f"{jetzt:%Y-%m-%d %H:%M:%S}: Tor geschlossen")
time.sleep(0.05)
finally:
gpio.cleanup()
if __name__ == '__main__':
main()
Display More