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 我们只需要部分功能,所以选择性导入

5 设置参数

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

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

6 实现拍照

7 构造邮件内容

8 实现邮件发送

9 判断网络联通状态

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

10 主函数逻辑

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

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

11 实现开机自启动

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

脚本内容为

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

./home/projects/sendemail/autoStart.sh

大功告成。

10 重启系统

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

python控制摄像头拍照_用Python控制摄像头拍照并发邮件相关推荐

  1. python实现摄像头拍照_使用Python控制摄像头拍照并发邮件

    o1 前言 为什么会有写这个程序的想法呢? 最初的想法是写一个可以用电脑前置摄像头拍照的程序,在舍友使用你电脑的时候,不经意间获取到一大堆奇葩舍友的表情包. 然后我又突发奇想,要不搞个开机启动吧,这样 ...

  2. python语音控制电脑程序_用Python编程实现语音控制电脑_天津SEO

    天津SEO 电脑面前的你,是否也希望能让电脑听命于你? 当你累的时候,只需说一声"我累了",电脑就会放着优雅的轻音乐来让你放松. 或许你希望你在百忙之中,能让电脑郎读最新的NBA比 ...

  3. python实现屏幕录制_使用python调用ffmpeg的录制项目总结

    录制项目终于做完,不用总是提醒自己抓紧时间这样来想问题了. 在完成之后带着一些满足感,回头看看哪些地方是需要改进的,哪些地方又是有更好的替代方案,自己又有哪些不足. 下面按照软件的各部分分别做作总结: ...

  4. python程序员现状_天才Python程序员身价上亿却被说挫,6个月减90斤,逆袭成文艺范男神!...

    image 你对程序猿的印象是怎么样? 你所知道的程序员,是一种自嘲为码农的猿类 学习Python中有不明白推荐加入交流群 号:864573496 群里有志同道合的小伙伴,互帮互助, 群里有不错的视频 ...

  5. python类高级用法_十.python面向对象高级用法

    1.反射 1.1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的 ...

  6. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  7. 以下选项中python用于异常处理结构_《Python 程序设计》复习题

    目录 填空题 一.基础知识 二.序列 三.选择结构与循环结构和函数及面向对象.文件 选择题 一.Python 基础语法 二.基本数据类型 三.程序的控制结构 四.函数和代码复用 五.组合数据类型 六. ...

  8. python小老鼠编程_成都python函数学习教程,Python编写课程

    1.urllib2/urllib实现urllib2和urllib是Python中的两个内置模块,要实现HTTP功能,实现方式是以urllib2为主,urllib为辅.1.1首先实现一个完整的请求与响应 ...

  9. python是脚本语言_上海python脚本语言课程

    第 一阶段.Pyhton编程基础 Python基础/基本数据类型/数据类型转换/流程控制和循环结构/函数/字符串/列表和元组/字典.集合.文件操作/高阶函数和匿名函数/模块.递归函数/面向对象编程/封 ...

最新文章

  1. 深入理解分布式技术 - 分布式事务总结回顾
  2. 适合小白了解学习的DevOps实践
  3. java异常——分析堆栈跟踪元素+使用异常机制的技巧
  4. dojo 七 DOM dojo/dom
  5. 【java】java中文件监控WatchService使用
  6. word文档怎么到下一页去写_「word技巧」懂得这几个word排版小技巧,还怕效率不高?...
  7. 【数据仓库】数据集市
  8. pip 安装tensorflow==2.1太慢怎么办?(pip安装超时Read timed out)
  9. java控制结构_Java 控制结构与方法
  10. windows环境如何测试端口
  11. 浅谈核桃的栽培技术与种植管理方法
  12. Oracle KEEP的用法
  13. c语言游戏经典案例,C语言_编游戏案例精编.doc
  14. 【树莓派】树莓派3B+搭建Ubuntu
  15. 学习正则表达式 - 用 HTML 标记文本
  16. 橙单微服务的权限部分
  17. DNS篇之DNS协议详解
  18. 响应式网页设计_响应式网页设计–如何使网站在手机和平​​板电脑上看起来不错
  19. VB程序设计教程(第四版)龚沛曾-实验8-7
  20. 高仿土豆视频iOS版

热门文章

  1. android设置透明主题后背景为黑色,android – 设置主题Programmactically导致黑色背景...
  2. 最全链接拦截申诉入口大全
  3. ant-design中对单个或多个table列表数据进行动态列合并
  4. 卡通化图片python实现代码_媳妇儿喜欢玩某音中的动漫特效,那我就用python做一个图片转化软件。...
  5. 360证实将推移动通讯工具口信 类似微信米聊
  6. 【面经】联想大数据开发面经
  7. js打开新窗口的各种方法
  8. UI设计教程:几步教你如何创建一个漂亮又好吃的饼干
  9. Android应用程序访问linux驱动第三步:实现并向系统注册Service
  10. 基于ARM的嵌入式Bootloader实现自动升级