در اين بخش مي‌توانيد در مورد تمامي مسائل مرتبط با سایر میکروکنترلرها به بحث بپردازيد
Novice Poster

Novice Poster



no avatar
پست ها

56

تشکر کرده: 0 مرتبه
تشکر شده: 89 مرتبه
تاريخ عضويت

سه شنبه 3 شهریور 1394 11:41

آرشيو سپاس: 0 مرتبه در 0 پست

با استفاده از ایمیل از حرکت سوژه ها مطلع شوید.(قسمت اول)

توسط کافه ربات » شنبه 19 دی 1394 12:51

سلام دوستان. امروز میخوایم قسمت اول از آموزش گام به گام ساخت پروژه ای رو بزاریم که می تونید با استفاده از اون از حرکت سوژه ها با استفاده از ایمیل مطلع بشید. در پایان این آموزش قادر خواهید بود تا با استفاده از آردوینو و سنسور PIR، از حرکت سوژه ها از طریق ایمیل خود مطلع شوید. با ما همراه باشید.

آموزش کامل ساخت رومی تونید در سایت کافه ربات مشاهده کنید.

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 




با ساخت این پروژه، با اتصال سنسور حرکت PIR به آردوینو و همچنین با استفاده از برنامه پایتون، میتوانید از حرکت سوژه ها توسط ایمیلتان مطلع شوید و گامی به سوی کاهش شکاف دنیای مجازی و دنیای واقعی بردارید.
آردوینو قلب این پروژه است. وقتی که حرکتی آشکار شود، پیام را از سنسور PIR دریافت می کند و از طریق پورت USB به کامپیوتر دستور می دهد تا یک ایمیل ارسال کند.

گام اول:قطعات مورد نیاز

برای ساخت این پروژه، علاوه بر یک کامپیوتر متصل به اینترنت برای ارسال ایمیل، به قطعات زیر نیاز دارید
1.سنسور PIR
2.آردوینو UNO R3
3.برد بورد نیم سایز
4.سیم جامپر

گام دوم: سیم بندی و اتصالات


سنسور PIR تنها چیزی است که باید به آردوینو وصل کنید. راه ساده این است که سنسور PIR را مستقیما به آردوینو وصل کنید. با این وجود سیم هایی که به آردوینو می روند کمی شل هستند، بنابراین بهتر است برای اتصال این دو، از سیم بندی بردبورد که در شکل زیر نشان داده شده است، استفاده کنید.



گام سوم:کد آردوینو


با حرکت سوژه، آردوینو یک پیام از طریق اتصالUSB به کامپیوتر ارسال می کند. این عکس العمل می تواند باعث ایجاد تعداد زیادی ایمیل شود. به همین دلیل، اگر فاصله ی زمانی حرکت سوژه از مقدار تعیین شده ای کمتر باشد، آردوینو پیام متفاوتی را می فرستد تا از ارسال تعداد زیادی ایمیل های تکراری جلوگیری کند.

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("MOVEMENT");
      lastSend = now;
    }
    else
    {
      Serial.println("Too soon");
    }
  }
  delay(500);
}

متغیر “minSecsBetweenEmails” حداقل فاصله ی زمانی بین ایمیل های ارسالی است و به هر مقداری که احساس می کنید منطقی می باشد، قابل تغییر است. در اینجا روی 60 ثانیه تنظیم شده است، بنابراین در هر دقیقه بیشتر از یک ایمیل ارسال نخواهد شد.
متغیر “lastSend” برای پیگیری آخرین درخواست ارسالی از طریق ایمیل استفاده می شود. این متغیر با یک عدد منفی مقداردهی اولیه می شود و معادل منفی تعداد میلی ثانیه های مشخص شده در متغیر “minSecsBetweenEmails” است. این متغیر تضمین می کند که سنسور PIR می تواند بلافاصله بعد از آشکارسازی حرکت ،آردوینو را تحریک کند.
برای به دست آوردن تعداد میلی ثانیه ها از وقتی که آردوینو شروع به ارسال پیام می کند و مقایسه آن با آخرین زمانی که پیامی فرستاده شده است، در داخل حلقه از تابع “millis()” استفاده می شود. فقط اگر تعداد ثانیه های مشخصی از زمان آخرین ارسال گذشته باشد پیام “MOVEMENT” ارسال می شود. در غیر این صورت حتی اگر حرکتی آشکار شود، پیام “Too soon” ارسال خواهد شد.
قبل از بارگذاری برنامه پایتون، می توانید سیستم آردوینو را فقط با استفاده از باز کردن سریال مانیتور (Serial Monitor) روی IDE آردوینو آزمایش کنید.


هفته ی آینده گام چهارم که  نصب پایتون و PySerial هست و گام پنجم (کد پایتون) رو در اختیارتون قرار میدیم.
آموزش کامل ساخت رو می تونید در سایت کافه ربات مشاهده کنید.
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 
با آرزوی موفقیت دوستان.

Mahdi1944 از این پست سپاسگزاري کرده است

Novice Poster

Novice Poster



no avatar
پست ها

56

تشکر کرده: 0 مرتبه
تشکر شده: 89 مرتبه
تاريخ عضويت

سه شنبه 3 شهریور 1394 11:41

آرشيو سپاس: 0 مرتبه در 0 پست

با استفاده از ایمیل از حرکت سوژه ها مطلع شوید.(قسمت دوم)

توسط کافه ربات » يکشنبه 27 دی 1394 02:23

با عرض سلام مجدد خدمت دوستان عزیز
در این بخش قسمت دوم آموزش ساخت پروژه ای برای اطلاع از حرکت سوژه ها رو خواهیم داشت.
آموزش کامل ساخت این پروژه رو می تونید در سایت کافه ربات مشاهده کنید.

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

گام چهارم: نصب پایتون و PySerial


اگر از مک یا لینوکس استفاده می کنید، در حال حاضر پایتون نصب شده است. اما اگر از ویندوز استفاده می کنید، باید آن را نصب کنید. در هر دو مورد برای ارتباط برقرار کردن با آردوینو، نصب کتابخانه PySerial ضروری است.

نصب پایتون روی ویندوز

آخرین نسخه فایل نصبی برنامه پایتون برای ویندوز را از  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد دریافت کنید.
اگر از 3 Python استفاده کنید، در هنگام کار با PySerial روی ویندوز مشکلاتی به وجود می آید. برای رفع این مشکلات از 2 Python استفاده کنید.


هنگامیکه پایتون نصب شد، در Start menu کامپیوتر شما گروهی از نرم افزارها قابل مشاهده خواهند بود. باید تغییراتی را در ویندوز اعمال کنید تا به شما اجازه دهد تا از Command Prompt پایتون استفاده کنید. برای نصب PYserial به این تغییرات نیاز است. حالا باید مواردی را به PATH environment variable اضافه کنید.


برای انجام این کار به Control panel ویندوز بروید و گزینه System Properties را انتخاب کنید. سپس از قسمت Advance روی گزینه Environment Variables کلیک کنید و از پنچره باز شده در قسمت System Variables گزینه “Path” را انتخاب کنید. در مرحله ی بعد گزینه ی “Edit” را انتخاب کنید و در قسمت “Variable Value” بدون پاک کردن متن هایی که وجود دارد متن ";C:\Python27" را اضافه کنید.
فراموش نکنید که ";" باید قبل از نوشتن متن جدید ذکر شود.
برای اطمینان از صحت عملکرد آن، یک Command Prompt (DOS Prompt) جدید باز کنید و دستور “python” را وارد کنید. شما باید چیزهایی شبیه به این تصویر ببینید



نصب PySerial

از هر سیستم عاملی که استفاده می کنید، برای PySerial 2.6 بسته .tar.gz را از اینجا دانلود و نصب کنید.
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 
بعد از دانلود یک فایل به نام pyserial-2.7.tar.gz دارید. اگر از ویندوز استفاده می کنید، باید فایل را از حالت فشرده خارج کنید. متاسفانه این یک فایل Zip عادی نیست، بنابراین برای خارج کردن آن از حالت فشرده، به نرم افزاری به نام 7-zip نیاز دارید.

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

اگر از مک یا لینوکس استفاده می کنید، یک Terminal session باز کنید و در پوشه ای که pyserial-2.6.tar.gz دانلود شده "cd" را قرار دهید. سپس برای باز کردن پوشه نصب از دستور زیر استفاده کنید.
$ tar -xzf pyserial-2.6.tar.gz


بقیه روش ها در تمام سیستم عامل ها به صورت یکسان است. از command Prompt / Terminal session و “cd” در پوشه pyserial-2.6 استفاده کنید، سپس دستور زیر را اجرا کنید:
sudo python setup.py install


در هفته آینده ی آموزش گام نهایی ساخت پروژه که کد پایتون می باشد را خواهیم داشت.
آموزش کامل ساخت را می توانید در سایت کافه ربات مشاهده فرمایید.

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

Mahdi1944 از این پست سپاسگزاري کرده است

Novice Poster

Novice Poster



no avatar
پست ها

56

تشکر کرده: 0 مرتبه
تشکر شده: 89 مرتبه
تاريخ عضويت

سه شنبه 3 شهریور 1394 11:41

آرشيو سپاس: 0 مرتبه در 0 پست

با استفاده از ایمیل از حرکت سوژه ها مطلع شوید.(قسمت سوم)

توسط کافه ربات » يکشنبه 4 بهمن 1394 15:08

با سلام مجدد خدمت دوستان
در این بخش قصد داریم تا قسمت سوم آموزش ساخت پروژه ای برای اطلاع از حرکت سوژه ها با استفاده از ایمیل رو براتون بزاریم. آموزش کامل ساخت رو می تونید در سایت کافه ربات مشاهده کنید.
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

[B]گام پنجم : کد پایتون[/B]

حالا باید برنامه پایتون را تولید کنید. برای انجام اینکار کد زیر را در فایلی به نام “movement.py” کپی کنید. روی مک و لینوکس می توانید از ویرایشگر “nano” استفاده کنید. روی ویندوز ساده ترین روش تولید فایل استفاده از ویرایشگر پایتون 'IDLE” است که از گروه نرم افزارهای پایتون در start menu قابل دسترسی است.


import time
import serial
import smtplib

TO = 'putyour@email.here'
GMAIL_USER = 'putyour@email.here'
GMAIL_PASS = 'putyourpasswordhere'

SUBJECT = 'Intrusion!!'
TEXT = 'Your PIR sensor detected movement'
  
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)

قبل از اجرای برنامه پایتون، باید تغییراتی در پیکربندی اعمال شود که همه این ها در کد وجود دارد.
برنامه فرض می کند که تمام ایمیل ها از اکانت gmail فرستاده می شوند. بنابراین اگر gmail ندارید بهتر است یک اکانت بسازید ، حتی اگر فقط برای این پروژه استفاده شود.
در کد بالا، در مقابل متغیر “TO” آدرس ایمیلی را که میخواهید پیغام ها به آن ارسال شود را یادداشت کنید. در مقابل متغیر “GMAIL_USER” هم آدرس gmail خود و رمز عبور آن را یادداشت کنید که برای بازیابی ایمیل های شما استفاده می شود.
اگر دوست دارید متن پیامی که ارسال می شود را تغییر بدهید می توانید از قسمت text این کار را انجام دهید.
همچنین شما باید پورت سریال آردوینو را مانند خط زیر ویرایش کنید:


ser = serial.Serial('COM4', 9600)

برای ویندوز عبارتی شبیه “COM4” و برای مک و لینوکس عبارتی شبیه به “/dev/tty.usbmodem621” میبینید. با باز کردن IDE آردوینو این عبارت ها را که در گوشه پایین سمت راست آن نوشته شده است، پیدا کنید. این موضوع نشان دهنده ی آن است که پورت تان به آردوینو متصل است.


زمانی که این تغییرات را اعمال کردید، می توانید برنامه را از Command Prompt / Terminal با دستور زیر اجرا کنید:
python movement.py
هنگامی که حرکتی در مقابل سنسور رخ دهد، شما چیزی شبیه به عکس زیر دریافت می کنید و پس از مدت کوتاهی پیام مورد نظرتان به ایمیل مقصد خواهد رسید.


توجه کنید که “Too soon” نیز در پیام ها وجود دارد.

حالا که شما با استفاده از آردوینو موفق به ارسال ایمیل شدید، می توانید این سیستم را روی سنسور های دیگر هم جایگزین کنید. مثلا شاید بخواهید گزارش ساعتی از دما را به ایمیل خود ارسال کنید.
همچنین می توان سنسور PIR را مستقیما به آردوینو متصل کرد و با چراغ های LED پیام های حرکتی را هشدار داد.

با آرزوی موفقیت دوستان
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

Mahdi1944 از این پست سپاسگزاري کرده است


 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 0 مهمان