نمایش نتایج: از 1 به 3 از 3

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

  1. #1
    Member
    تاریخ عضویت
    Aug 2015
    محل سکونت
    ایران
    نوشته ها
    56

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

    سلام دوستان. امروز میخوایم قسمت اول از آموزش گام به گام ساخت پروژه ای رو بزاریم که می تونید با استفاده از اون از حرکت سوژه ها با استفاده از ایمیل مطلع بشید. در پایان این آموزش قادر خواهید بود تا با استفاده از آردوینو و سنسور 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 هست و گام پنجم (کد پایتون) رو در اختیارتون قرار میدیم.
    آموزش کامل ساخت رو می تونید در سایت کافه ربات مشاهده کنید.
    اولین مرجع تخصصی آموزش پروژه های رباتیک و آردوینو به زبان فارسی
    با آرزوی موفقیت دوستان.
    کافه ربات | الهام بخش خلاقیت
    www.thecaferobot.com

  2. #2
    Member
    تاریخ عضویت
    Aug 2015
    محل سکونت
    ایران
    نوشته ها
    56

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

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

    اطلاع ازحرکت سوژه ها توسط ایمیل با استفاده از آردوینو | پروژه آردوینو

    گام چهارم: نصب پایتون و 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
    بعد از دانلود یک فایل به نام pyserial-2.7.tar.gz دارید. اگر از ویندوز استفاده می کنید، باید فایل را از حالت فشرده خارج کنید. متاسفانه این یک فایل Zip عادی نیست، بنابراین برای خارج کردن آن از حالت فشرده، به نرم افزاری به نام 7-zip نیاز دارید.

    7-zip x32
    7-zip x64

    اگر از مک یا لینوکس استفاده می کنید، یک 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



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

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

  3. #3
    Member
    تاریخ عضویت
    Aug 2015
    محل سکونت
    ایران
    نوشته ها
    56

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

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

    گام پنجم : کد پایتون

    حالا باید برنامه پایتون را تولید کنید. برای انجام اینکار کد زیر را در فایلی به نام “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 پیام های حرکتی را هشدار داد.

    با آرزوی موفقیت دوستان
    تخصصی ترین مرجع آموزش رباتیک | پروژه رباتیک| آموزش آردوینو
    کافه ربات | الهام بخش خلاقیت
    www.thecaferobot.com

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO