I am trying to make a movement detector send an E-Mail. I have two problems atm. (Tutorial link: https://learn.adafruit.com/arduino-less ... r?view=all)
1.) The sensor detects movement (even if theres none) in regular intervals. There is no movement thougth.
Here the Serial Monitor reading
EINBRECHER!!! Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon EINBRECHER!!! Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon EINBRECHER!!! Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon Too soon
Here the code:
Code: Select all
int sensor = 7;
int minSecBetweenMails = 60;
long lastSend = -minSecBetweenMails * 10001;
void setup()
{
pinMode(sensor,INPUT);
Serial.begin(9600);
}
void loop()
{
long now = millis();
if (digitalRead(sensor) == HIGH)
{
if (now > (lastSend + minSecBetweenMails * 10001))
{
Serial.println("EINBRECHER!!!");
lastSend = now;
}
else
{
Serial.println("Too soon");
}
}
delay(500);
}
2.) When i run the Python code, the serial monitor and python programm ruin eachother and the programm ends without sending a mail. :'-/
Screenshot: http://i.imgur.com/F5mEHV1.png
Python Code:
import time
import serial
import smtplib
TO = '*****************'
GMAIL_USER = '*********@gmail.com'
GMAIL_PASS = '**************'
SUBJECT = 'Eindringling!!'
TEXT = 'Bewegung im Wohnzimmer'
ser = serial.Serial('/dev/ttyACM2', 9600)
def send_email():
print("Sending Email")
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(GMAIL_USER, GMAIL_PASS)
header = 'To:' + TO + '\n' + 'From: ' + GMAIL_USER
header = header + '\n' + 'Subject:' + SUBJECT + '\n'
print header
msg = header + '\n' + TEXT + ' \n\n'
smtpserver.sendmail(GMAIL_USER, TO, msg)
smtpserver.close()
while True:
message = ser.readline()
print(message)
if message[0] == 'M' :
send_email()
time.sleep(0.5)
Python 2.7 on ubuntu 12.4.
Any ideas whats going on? Im out of my expertise (wich isn't that wide anyway. Hue hue hue).