用Python控制摄像头拍照并发邮件
admin
2023-07-09 22:44:44
0次
1 前言

为什么会有写这个程序的想法呢?

最初的想法是写一个可以用电脑前置摄像头拍照的程序,在舍友使用你电脑的时候,不经意间获取到一大堆奇葩舍友的表情包。

然后我又突发奇想,要不搞个开机启动吧,这样我就可以看到是谁开启了我的电脑啦。

然后,突(nao)发(dong)奇(da)想(kai)的我又想到万一我电脑不在身边怎么办?要不再加个邮件发送机制吧,开机拍到照片再邮件发送给我?哈哈

2 工具

deepin 15.9

好看好用的国产linux系统

python 2.7或者3.6

解释器,哪个版本都可以,我选择3.6

smtplib

用来发送邮件

email

用来构造邮件内容的库

opencv

用来调取摄像头拍摄照片

time

获取开机以及拍照的时间

os

判断网络连接

获取脚本路径

sys

判断网络是否联通

3 思路

1.用opencv库调用摄像头拍照保存为文件。

2.检查网络是否连接,未连接则图片保存到本地。

3.用email库构造邮件内容,把保存的照片以附件的形式插入到邮件内容中。

4.用smtplib库发送邮件给指定邮件接收者。

5.实现脚本开机自启动。

4 安装及导入所使用的包

首先当然是安装opencv啦。

其他的email、smtplib、sys、os、time为python默认安装的包,我们只需要导入即可。

如果是python3.6安装opencv就在终端输入:

pip3install opencv-python

如果是python2.7安装opencv,就在终端输入:

pipinstall opencv-python

安装完成后,我们导入必要的包。

各个包的作用在前文已经讲过,不再多言。

email 我们只需要部分功能,所以选择性导入


用Python控制摄像头拍照并发邮件


5 设置参数

将smtp服务器,登录邮箱账号及密码,收件人,脚本路径等设置为全局变量。方便以后程序移植与修改。


用Python控制摄像头拍照并发邮件

注:很多邮箱为了安全起见,不会使用真实的登录密码,而是要使用授权码,在QQ邮箱的设置里面可以找到生成授权码选项。

6 实现拍照


用Python控制摄像头拍照并发邮件


7 构造邮件内容


用Python控制摄像头拍照并发邮件


8 实现邮件发送


用Python控制摄像头拍照并发邮件


9 判断网络联通状态

判断网络联通状态的方法很多,我采用很简单很直接的ping。


用Python控制摄像头拍照并发邮件


10 主函数逻辑

如果网络连接正常,则拍照发邮件。

如果网络未连接,等待十秒钟再次测试,如果等待次数超过设置的最大次数,程序退出。


用Python控制摄像头拍照并发邮件


11 实现开机自启动

首先要写一个开机自启脚本,文件名为:autoStart.sh

脚本内容为


用Python控制摄像头拍照并发邮件

然后 在/etc/rc.local最后添加一行

./home/projects/sendemail/autoStart.sh

大功告成。

10 重启系统

代码都写好了,重启系统就可以收到邮件啦。


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...