控制物联网设备需要特定的应用程序和设置。但是您也可以使用电子邮件来控制它们,因为可以使用 SMTP (简单邮件传输协议)来发送电子邮件,该协议位于 TCP/IP 堆栈上。因此,支持 TCP/IP 协议栈的设备可以使用电子邮件作为命令和控制。 因此,为了应用的目的,我们将制作一个设备,它可以感知特定范围内的任何物体的存在,并且当任何人都在该设备的检测范围内时点击图像。最后,它会以附件的形式发送一封电子邮件。 所需组件
![]() 图1. 连接图
我们将使用 Python 2.7来实现完整的功能,包括许多多线程和并行任务; 因此,需要对 Python 有基本的了解。实施部分可分为三个部分。
$sudo apt-get install python-picamera 安装后,我们将导入主题在我们的主脚本。我们将在此基础上导入我们的库。 import RPi.GPIO as GPIO import picamera 我们还必须导入多线程所需的其他库。 我们需要导入一些库,比如 base64,MIME (像图片这样的附件)和 SMPT,用于电子邮件。 import imaplib from base64 import b64decode from smtplib import SMTP from email.MIMEMultipart import MIMEMultipart from email.MIMEBase import MIMEBase from email.MIMEText import MIMEText from email import Encoders 现在你需要改变变量来存储电子邮件和密码的值 gmail_user = ‘username@gmail.com’ gmail_pwd = ‘gmail_password’ server = ‘smtp.gmail.com’ server_port = 587 目标检测: 我们将制作一个功能,不断触发超声波传感器发送超声波,并检测是否有任何东西进入范围。 while GPIO.input(ECHO)==1: 在检测时,该函数将调用一个函数来单击对象的图像。由于这是一个连续的任务,它将在我们的主循环中。 if distance < distance_detect: capture_image() 单击对象的图像: 要单击对象的图像,我们将创建一个函数,该函数将单击调用并将图像存储在本地存储器上。 camera.capture(filepath) 点击之后,它会调用一个函数,这个函数将以附件的形式编写一封电子邮件。 download(‘Image’,filepath) 将图像发送到邮箱: 使用 SMTP 库及其方法,此函数接受图像名称及其路径、单击时间和发送到邮箱的电子邮件等参数。这是一个并行任务,因为根据连接速度上传需要时间。我们不想在这段时间里停止另一项任务。 sendEmail (right now,self.jobid,[ self.filepath ]) 所以,这就是我们如何使用电子邮件与我们的物联网设备交流。 ![]() |
TechWiz LCD 1D应用:高延迟膜(彩虹mura仿真)
1071 浏览 0 评论
701 浏览 0 评论
521 浏览 0 评论
VirtualLab Fusion应用:用于高NA显微镜成像的工程化PSF
1281 浏览 0 评论
2106 浏览 2 评论