2012-07-19 13 views
5

Mi piacerebbe iniziare un progetto che coinvolge l'arduino e le notifiche e-mail. Non sono sicuro che qualcosa del genere sia stato fatto prima, ma immagino che abbia avuto una qualche forma. Lasciatemi spiegare. Fondamentalmente mi piacerebbe impostare l'arduino con alcuni sensori piezoelettrici o un cinemato in modo che quando viene eseguita un'azione (o venga rilevata una pressione) verrà inviata automaticamente un'e-mail (o tweet). Sono sicuro che questo può essere fatto, ma non sono sicuro da dove cominciare e mi chiedo se qualcuno ha avuto un'idea? Grazie in anticipo.Arduino Notifica e-mail automatica

+0

Voglio fare qualcosa di simile (voglio un'e-mail o un tweet delle letture della temperatura). Come sta andando il tuo Arduino a comunicare con la tua rete? Stai usando uno scudo Ethernet? Wi-Fi? In bocca al lupo! – Lisa

risposta

1

Non ho testato il codice seguente, ma questa è la struttura più basilare per ciò che si sta tentando di fare.

Su Arduino, impostare il proprio codice per emettere qualcosa sulla linea seriale ("arduino_output") quando si desidera inviare un'e-mail. Quindi sul computer, attendi quell'evento.

Linux è davvero facile perché una porta seriale può essere trattata come leggere un file.

#!/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(); 
     } 
    } 
} 

Buona fortuna per il tuo progetto.

0

È molto semplice controllare la posta con arduino!

Ho scritto un post qui http://www.albertopasca.it/whiletrue/2011/03/arduino-mail-notifier-cs/ per utilizzare C# su Windows per controllare la posta di Gmail.

È possibile adattare il codice per utilizzarlo su tutti i sistemi operativi desiderati.

spero che questo aiuti.

+0

hai fatto qualcosa di simile all'utilizzo di una libreria ssl per usare smmail gmail per l'invio di e-mail da un arduino? – aVC

0

vi consiglio di utilizzare Pyserial

poi da Arduino che ci basta inviare un dato di pitone

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

allora modulo python {} dopo l'installazione 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!") 

bene potresti cambiare smtp secondo il tuo host MAIL, nel mio caso ho usato gmail, buona fortuna nel tuo progetto: D