Mozgásérzékelő e-mail küldéssel
A PIR szenzorról szóló cikk folytatása. Itt a mozgásérzékelőnkről érkező riasztást az Arduino a neten keresztül elküldi a megadott e-mail címre. Maga a kapcsolás ugyan az amit már megépítettünk az első cikkben, a változás a sketchben van valamint a Pc-nkre feltelepített Python programban.
Lássuk újra a kapcsolást:
A kód:
int pirPin = 7;
int minSecsBetweenEmails = 60; // 1 min
long lastSend = -minSecsBetweenEmails * 1000l;
void setup()
{
pinMode(pirPin, INPUT);
Serial.begin(9600);
}
void
loop()
{
long now = millis();
if (digitalRead(pirPin)
== HIGH)
{
if (now > (lastSend
+ minSecsBetweenEmails * 1000l))
{
Serial.println("MOZGAS");
lastSend = now;
}
else
{
Serial.println("Ellenorzes");
}
}
delay(500);
}
60 másodpercenként észlel, ez azért van hogy ne árassza el e-mailekkel a postafiókunkat a progi.
Python és PYserial telepítése Windowsra.
A PYserial a soros kapcsolatot teszi lehetővé az Arduino és a gép között, a Python egy szabad forráskódú fejleszt környezet.
Python
telepítő
letöltése :
http://www.python.org/getit/ oldalról.
Python 3 alatti verziót
használjunk mert csak ezzel fog működni. Telepítsük.
Számítógép ikonra kattintsunk a jobb egérgombbal Tulajdonságok / Speciális rendszerbe./ Környezeti változók/ Rendszerváltozók/ Path változót jelöljük ki , majd nyomjunk egy szerkesztés gombot és írjuk az ott található adatok végéhez :
;C:\Python27 sort.
Ellenőrzésként nyissuk meg a Windows parancssorát (Dos promt) és írjuk be a "python" parancsot, ha minden oké kiírja a python verzió számát és még egy két adatot.
PySerial telepítése:
Erről az oldalról
töltsük le:
https://pypi.python.org/pypi/pyserial
Válasszuk
a
pyserial-2.7.win32.exe (md5)
for
Python 2.x (2.4...2.7)
Letöltés után
telepítsük.
A Python kódot a Start
menű/ Python idle-be kell bemásolni és a Run-run modullal
elindítani.
A Python kód:
import
time
import serial
import smtplib
TO = 'email cim ahová küldeni akarod a riasztást@gmail.com'
GMAIL_USER = 'ahonnan küldöd@email.com'
GMAIL_PASS = 'fiók jelszava '
SUBJECT
= 'Riasztás!!'
TEXT = 'A PIR szenzorod
mozgást érzékelt!'
ser = serial.Serial('COM4', 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)
Be kell állítanod a küldő,fogadó email címeket és a jelszót.
1.Megcsinálod az Arduino kapcsolást.
2.Rátöltöd a programot
3.Pythonba szerkeszted a programot. PYTHON-idle(python gui)
4.Mented a python 27 könyvtárba
5.majd RUN-RUN module-ra kattintasz
És ha minden rendben akkor működnie kell.
A google fiók szokott rosszalkodni ahol ki kell kapcsolni a captcha-t.
Peter S.