3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
用Python控制CCD拍照+發郵件 資料來源: https://mp.weixin.qq.com/s?__biz=MzU4MTcyMzUyNA==&mid=2247484891&idx=2&sn=63344d7b8b7b95adf70a5eb9dc6b8ead&chksm=fd427130ca35f826b86fd187227c296802d054152c21fc3a021e1c6b5bbcdf63e8130536473f&scene=0&xtrack=1&key=67bbdd4dce2f5f0731e7c54ecfaae9ec3c17dc0a37c2e4834728a85e6ac058d5a1f68e10d1d09b17c8daf29c1dd0dc8908184890f9f6b24292169394bd2c5dbb154e454fedf2608d93230cb38962c817&ascene=1&uin=MjIwODk2NDgxNw==&devicetype=Windows+10&version=62060739&lang=zh_TW&pass_ticket=LbWMEupMs2bRIRdwWRpGfhNHaePDnkSZvwjuHRMXOt3rx9LlNU7AGD0rFsTzrMo6 deepin 15.9  好看好用的國產linux系統 python 2.7或者3.6  解譯器,哪個版本都可以,我選擇3.6 smtplib  用來發送郵件 email  用來構造郵件內容的庫 opencv  用來調取攝像頭拍攝照片 time  獲取開機以及拍照的時間 os  判斷網路連接  獲取腳本路徑 sys  判斷網路是否聯通 import cv2 import smtplib import sys import os import time from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText smtpserver = 'smtp.163.com' # smtp服务器 username = '888888888@163.com' # 发件邮箱账号 password = '888888888' # 邮箱登录密码 sender = '888888888@163.com' # 发件人 addressee = '999999999@qq.com' # 收件人 exit_count = 5 # 尝试联网次数 path = os.getcwd() #获取图片保存路径 def getPicture(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cv2.imwrite(path+'/person.jpg', frame) # 關閉攝像頭 cap.release() def setMsg(): # 下面依次為郵件類型,主題,寄件者和收件人。 msg = MIMEMultipart('mixed') msg['Subject'] = '電腦已經啟動' msg['From'] = '88888888888@163.com <88888888888@163.com>' msg['To'] = addressee # 下麵為郵件的正文 text = "主人,你的電腦已經開機! 照片如下!" text_plain = MIMEText(text, 'plain', 'utf-8') msg.attach(text_plain) # 構造圖片連結 sendimagefile = open(path+'/person.jpg', 'rb').read() image = MIMEImage(sendimagefile) # 下面一句將收件人看到的附件照片名稱改為people.png。 image["Content-Disposition"] = 'attachment; filename="people.png"' msg.attach(image) return msg.as_string() def sendEmail(msg): # 發送郵件 smtp = smtplib.SMTP() smtp.connect('smtp.163.com') smtp.login(username, password) smtp.sendmail(sender, addressee, msg) smtp.quit() # 判斷網路是否聯通,成功返回0,不成功返回1 # linux中ping命令不會自動停止,需要加入參數 -c 4,表示在發送指定數目的包後停止。 def isLink(): return os.system('ping -c 4 www.baidu.com') # return os.system('ping www.baidu.com') def main(): reconnect_times = 0 while isLink(): time.sleep(10) reconnect_times += 1 if reconnect_times == exit_count: sys.exit() getPicture() msg = setMsg() sendEmail(msg)

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦