0
ウェブカメラで画像をキャプチャした後、メールを送信するボタンを押すと以下のコードのようにループしますが、このコードは完全に動作していますプログラムを停止している間に多くの画像(以前のcapured画像も送っています)があるので、1つのメールのみに添付されている画像がたくさんあります。今度は、プログラムをcontinuonslyラズベリーパイで実行したいのですが、私はそれを変更する必要がありますか?ラズベリーパイ:ウェブカメラで最後にキャプチャした画像のみを送信する
ありがとうございます。
この
は私のコードです:import smtplib
import time
import subprocess
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import RPi.GPIO as GPIO
# Define these once; use them twice!
strFrom = '[email protected]'
strTo = '[email protected]'
#create email
# Create the root message and fill in the from, to, and subj$
msgRoot = MIMEMultipart()
msgRoot['Subject'] = 'subject'
msgRoot['From'] = strFrom
msgRoot['To'] = strTo
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN)
print "press button to send email"
while True:
input=GPIO.input(4)
if input == True:
print "button pressed"
subprocess.Popen(["fswebcam","-r 640x480", "capture.jpg"])
time.sleep(2)
# This example assumes the image is in the current
# directory
fp = open('capture.jpg', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
msgRoot.attach(msgImage)
# send mail
s = smtplib.SMTP('smtp.gmail.com',587)
s.starttls()
s.login('[email protected]' , 'password')
s.sendmail(strFrom, strTo,msgRoot.as_string())
s.close()
print "Email sent"
time.sleep(0.2)