Arduino自动电子邮件通知

问题描述 投票:5回答:3

我想开始涉及arduino和电子邮件通知的项目。我不确定以前做过这样的事情,但我猜它有某种形式。让我解释。基本上我想用一些压电传感器或kinect设置arduino,以便当执行动作(或感测到压力)时,将自动发送电子邮件(或推文)。我确信这可以做到,但我不知道从哪里开始,我想知道是否有人有想法?提前致谢。

email notifications arduino sensor
3个回答
1
投票

我没有测试下面的代码,但这是你尝试做的最基本的结构。

在Arduino上,设置代码以在要发送电子邮件时在串行线上输出内容(“arduino output”)。然后在计算机上等待该事件。

Linux非常简单,因为串行端口可以像读取文件一样对待。

#!/usr/bin/perl
use open ':std';
use MIME::Lite;

#Open the COM port for reading
#just like a file
open FILE, "<", "/dev/usbTTY0" or die $!;

#setup e-mail message
$msg = MIME::Lite->new(
    From        => '"FirstName LastName" <[email protected]>',
    To          => "[email protected]",
    Subject     => "subject",
    Type        => "text/plain"
);

#loop forever (until closed w/ ctrl+c)
while (1){
    while (<FILE>){
        # if there is output from the arduino (ie: Serial.write(...))
        # then the e-mail will be sent
        if ($_ == "arduino_output"){
            MIME::Lite->send('smtp','mailrelay.corp.advancestores.com',Timeout=>60);
            $msg->send();
        }
    }  
}

祝你的项目好运。


0
投票

我建议使用Pyserial

然后从arduino你只需要发送数据到python

void setup(){
  Serial.begin(9600);
}
void loop(){
  if (EVENT BECOME TRUE /* sensor value or whatever */){
    Serial.write("Send mail");
  }
}

然后形成python {安装pyserial后}

import serial
import smtplib
def sendMail(receiver,message):
    try:
        s=smtplib.SMTP_SSL()
        s.connect("smtp.gmail.com",465)
        s.login("[email protected]", "Password")
        s.sendmail("[email protected]", receiver, message)#write the destination at receiver parameter  
    except Exception,R:
            print R

ser = serial.Serial('/dev/tty.usbserial', 9600)# or in windows you could write port name
while 1:
  receive = ser.readline()
  if receive == "send mail":sendMail("[email protected]","YOU got mail from arduino!")

你可以根据你的MAIL主机更改smtp,在我的情况下我使用了gmail,祝你的项目好运:D


0
投票

用arduino检查邮件非常简单!

我在这里写了一篇文章http://www.albertopasca.it/whiletrue/arduino-mail-notifier-with-c/ 在Windows上使用C#来检查Gmail邮件。

您可以调整代码以在您想要的每个操作系统上使用它。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.