Arduino自动电子邮件通知

时间:2012-07-19 15:40:06

标签: email notifications arduino sensor

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

3 个答案:

答案 0 :(得分: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" <something@gmail.com>',
    To          => "somebody@hotmail.com",
    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();
        }
    }  
}

祝你的项目好运。

答案 1 :(得分:0)

用arduino检查邮件非常简单!

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

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

希望这会有所帮助。

答案 2 :(得分: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("YOUR-SENDER-MAIL@gmail.com", "Password")
        s.sendmail("your.log.result@gmail.com", 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("send-me-notification@gmail.com","YOU got mail from arduino!")

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