ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

ارسال خودکار ایمیل با ماژول ESP8266 و اکانت جیمیل

آموزش و الکترونیک
۰ نظر
۴۲ نفر
کد ۴۴۸۱

ارتباط پروژه‌های اینترنت اشیا با دنیای بیرون یکی از جذاب‌ترین بخش‌های الکترونیک مدرنه. وقتی دستگاهی که ساختی بتونه خودش به صورت مستقل پیام هشدار یا گزارش کار بفرسته، ارزش پروژه‌ت چند برابر می‌شه. ارسال ایمیل یکی از مطمئن‌ترین و در دسترس‌ترین روش‌ها برای دریافت این گزارش‌هاست و چه سرویسی بهتر و پایدارتر از جیمیل؟

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

پس قطعاتت رو روی میز بچین، نرم‌افزار آردوینو رو باز کن و بیا تا قدم‌به‌قدم این سیستم ارتباطی هیجان‌انگیز رو با هم راه‌اندازی کنیم.

  • حواست باشه که این کد با نسخه 2.5.0 هسته ESP8266 تو آردوینو سازگار نیست!
  • به عنوان یه راه‌حل موقت، حتما از نسخه 2.4.2 پکیج هسته استفاده کن تا به مشکل نخوری.
  1. هر مدلی از ماژول‌های وای‌فای ESP8266 (مثلا مدل ESP8266-07 انتخاب خیلی خوبیه).
  2. ماژول مبدل USB به سریال (مثل FT232RL) برای پروگرام کردن. البته اگه برد تو خودش پورت USB داره، اصلا به این قطعه نیازی نداری.
  3. چند تا سیم جامپر برای برقرار کردن اتصالات مداری.
  4. یه مودم وای‌فای برای اتصال به اینترنت.
  1. نرم‌افزار Arduino IDE برای برنامه‌نویسی.
  2. پکیج نرم‌افزاری بردهای ESP8266 نصب‌شده روی محیط آردوینو.
  3. فایل حاوی کدهای آماده پروژه که معمولا با فرمت zip تو دسترسه.
مرحله ۱

تنظیمات اکانت جیمیل برای ارسال پیام

برای ارسال ایمیل قراره از پروتکل استاندارد SMTP استفاده کنیم. تو این روش، فقط به آدرس ایمیل و رمز عبورت نیاز داریم. از اونجایی که گوگل به صورت پیش‌فرض از روش‌های امنیتی پیچیده‌تری استفاده می‌کنه، باید یه تغییر کوچیک تو تنظیمات اکانتت بدی.

برو به بخش تنظیمات حساب کاربری گوگلت و در پایین صفحه، گزینه مربوط به دسترسی برنامه‌های کمتر ایمن (Allow less secure apps) رو فعال کن.

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

مرحله ۲

آماده‌سازی و ویرایش کدهای آردوینو

کدهای این پروژه طوری نوشته شدن که یه پیام تستی برات بفرستن تا از صحت عملکرد سیستم مطمئن بشی. بعد از اینکه نرم‌افزارهای لازم رو نصب کردی، بیا تا کدها رو شخصی‌سازی کنیم:

  • اول فایل زیپ کدهای پروژه رو از حالت فشرده خارج کن.
  • فایل اصلی برنامه (با پسوند ino) رو تو محیط آردوینو باز کن.
  • حالا نام شبکه وای‌فای (SSID) و رمز عبور مودمت رو دقیقا تو کدهای برنامه وارد کن تا برد بتونه به اینترنت وصل بشه.
  • تو تابع setup بگرد و خطوط مربوط به تنظیمات فرستنده و گیرنده رو پیدا کن.

تابع Send تو این کد دو تا ورودی مهم داره؛ اولی آدرس ایمیل گیرنده‌ست و دومی متن پیامیه که می‌خوای بفرستی. حتما آدرس گیرنده پیش‌فرض رو پاک کن و ایمیل خودت رو به جاش بنویس، وگرنه پیام‌هات میره تو صندوق پستی یه نفر دیگه! لطفا این بخش رو فراموش نکن. تنظیم موضوع (Subject) کاملا اختیاریه. اگه یک بار موضوع رو تنظیم کنی، تو حافظه می‌مونه تا زمانی که خودت تغییرش بدی.

می‌تونی ایمیل‌ها رو کلا بدون موضوع خاصی بفرستی یا از همون موضوع قبلی استفاده کنی.

  • در قدم بعدی، تب Gsender.h رو تو محیط برنامه‌نویسی باز کن.
  • تو این بخش به نسخه رمزنگاری‌شده (Base64) آدرس جیمیل و پسورد فرستنده نیاز داریم تا ارتباط امن برقرار بشه.

برای تبدیل ایمیل و رمز عبورت به فرمت Base64، می‌تونی از سایت‌های رایگانی مثل base64encode استفاده کنی. خروجی این سایت‌ها یه رشته متنی نامفهومه که باید اون رو کپی کنی و داخل کدهات قرار بدی.

  • حالا فیلد مربوط به فرستنده (FROM) رو هم با ایمیل خودت تنظیم کن.

عالیه! کار ویرایش کدها تو این مرحله تموم می‌شه و آماده‌ایم بریم سراغ آپلود برنامه.

مرحله ۳

آپلود برنامه و تست نهایی سیستم

تغییراتی که تو کدها دادی رو ذخیره کن. از منوی Tools مدل دقیق برد وای‌فایت رو انتخاب کن و پورت مناسب رو تنظیم کن. حالا دکمه آپلود رو بزن تا برنامه‌ها روی ماژول ESP8266 ریخته بشن.

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

این سیستم ساده می‌تونه پایه پروژه‌های خیلی خفنی باشه؛ مثلا می‌تونی یه سنسور حرکت بهش وصل کنی تا ورود افراد رو فورا بهت ایمیل کنه. خوشحالم که تا آخر این آموزش با تیم آیسی‌مدار همراه بودی. اگه از این پروژه خوشت اومد و تونستی با موفقیت ایمیلت رو دریافت کنی، حتما لینک این صفحه رو برای دوستات هم بفرست تا اونا هم یاد بگیرن وسایلشون رو به اینترنت متصل کنن. موفق باشی!

فایل‌های پیوست

ZIP ESP8266_Gmail_Sender.zip
ZIP ESP8266SMTP-master.zip

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!