Hallo,
und zwar würde ich gerne ein Foto machen lassen, welches nur dann gemacht wird wenn eine Bewegung über einen Bewegungsmelder gemeldet wird. Dies klappt soweit auch.
Allerdings soll nun das Bild auch verschickt werden Irgendwo ist aber ein Fehler:
Python
# coding=utf-8
import time, sys
import RPi.GPIO as GPIO
import picamera
import datetime
import smtplib
from email.header import Header
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
frm ='Kamera <absernder@web.de>'
to ='Test <empfänger@gmail.com>'
subj='Betreff'
msg ='Hallo, es wurde eine Bewegung erkannt'
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
def motion(pin):
print("Bewegung erkannt")
try:
fn ='/home/pi/Desktop/Fotos/'+'{:%d.%m %H_%M_%S}'.format(datetime.datetime.now())+'Uhr.jpg'
with picamera.PiCamera() as camera:
camera.capture(fn)
camera.close()
mime = MIMEMultipart()
mime['From'] = frm
mime['To'] = to
mime['Subject']= subj
mime.attach(MIMEText(msg, 'plain', 'utf-8'))
f = open(fn, 'rb')
img = MIMEImage(f.read())
f.close
mime.attach(img)
smtp = smtplib.SMTP("web.de")
smtp.starttls()
smtp.login("loginname", "pw")
smtp.sendmail(frm, [to], mine.as_string())
smtp.quit()
except:
print("Beim E-mail-Versand ist ein Fehler aufgetreten:", sys.exc_info())
GPIO.add_event_detect(17, GPIO.RISING, callback=motion)
try:
while True:
time.sleep(0.5)
except KeyboardInterrupt:
GPIO.cleanup()
sys.exit()
Alles anzeigen
Danke im Voraus