خانه / دانش و مهارت / الکترونیک / آموزش راه‌اندازی و استفاده از ماژول وای فای ESP8266

آموزش راه‌اندازی و استفاده از ماژول وای فای ESP8266

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

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

آموزش راه اندازی ماژول وای فای ESP8266
آموزش راه اندازی ماژول وای فای ESP8266

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

این آموزش برمبنای برد برک آوت ESP-01 نوشته شده است. اگر بخواهید از بردهای دیگر استفاده کنید هم این آموزش می تواند راهنمای خوبی باشد. البته احتمالاً پاسخ همه سوال هایتان را در آن پیدا نخواهید کرد.

گام اول : بررسی اجمالی برد ESP-01

برد ESP-01
برد ESP-01
  • از پروتکل 802.11 b/g/n پشتیبانی می کند.
  • می تواند روتر وصل بشود و کار کلاینت را بکند؛ یا خودش اکسس پوینت باشد؛ یا هر دو!
  • می تواند به عنوان وب سرور عمل کند.
  • نسخه استاندارد برد دو پین دیجیتال دارد که می توانند خروجی یا ورودی باشند؛ مثلاً برای راه اندازی LED یا رله. از این پین ها می توانید برای PWM هم استفاده کنید. سایر نسخه های برد پین های بیشتری دارند.
  • تراشه ESP8266 ورودی آنالوگ هم دارد (ADC/TOUT)اما به برد ESP-01 وصل نشده است.
  • برد ESP-01 به تنهایی قابل برنامه ریزی است و امکان ترکیب با آردوینو را هم دارد.
  • ابزارها و محیط های مختلفی برای برنامه ریزی این برد موجود است.

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

گام دوم : وسایل مورد نیاز

همانطور که گفتیم برای استفاده از این ماژول دو راه داریم : استفاده از سفت افزار کارخانه یا آپلود کدهای شخصی. ما از روش دوم استفاده می کنیم که ما را از سفت افزار کارخانه بی نیاز می کند. در این روش کدهایی که روی ماژول آپلود می کنید، کار همان سفت افزار را می کنند. برای آپلود کدها به نرم افزار Arduino IDE نیاز داریم. برد آردوینو هم نیاز نیست چون ماژول هر چیزی که برای آپلود کدها لازم است را دارد.

در ساختنی بخوانید :  با برد توسعه NodeMCU یک ساعت جهانی متصل به اینترنت بسازید

دقت کنید که ماژول وای فای ESP8266 3.3 ولتی است نه 5 ولتی. برد ESP-01 بسیار قوی است؛ پس در انتخاب منبع تغذیه دقت کنید تا بردتان نسوزد.

وسایل مورد نیاز

  • ماژول ESP8266 (اگر از نوع دیگری بجز ESP-01 استفاده می کنید، باید سیم کشی ها را تغییر بدهید)
  • برد بورد
  • پروگرامر USB به سریال پروگرامر 3.3 ولتی FTDI ( برخی از این مبدل ها به همراه جامپرهایی فروخته می شوند که بین 5 و 3.3 ولت سوئیچ می کنند)
  • سیم جامپر برد بورد
  • منبع تغذیه 3.3 ولتی جداگانه (جریان خروجی 3.3 ولتی آردوینو یا سریال پروگرامر برای تغذیه برد کافی نیست. بدون منبع تغذیه اضافی برد درست کار نمی کند و آپلود کدها بی فایده خواهد بود)
  • LED
  • پوش باتن
  • مقاومت 330 اهمی
  • مقاومت 10 کیلواهمی
  • خازن 1µF (برای منبع تغذیه)
  • مبدل منطقی (اگر از میکروکنترلر یا پروگرامر FTDI با جریان 5 ولتی استفاده می کنید)

گام سوم : طراحی برد بورد

طراحی برد بورد
طراحی برد بورد

در طراحی بالا، پروگرامر FTDI برد قرمزی است که بالای تصویر می بینید و ESP8266-01 هم پایین تصویر قرار دارد. فقط سه سیم به پروگرامر FTDI وصل می شوند: سیم اتصال به زمین، RX به TX و TX به RX. در سمت چپ هم می توانید منبع تغذیه برد بورد را ببینید.

گام چهارم : نقشه پین ESP-01

نقشه پین های برد ESP-01
نقشه پین های

در تصویر بالا می توانید نقشه پین برد ESP-01 را ببینید. در این تصویر همه چیز مشخص است اما بهتر است نکات زیر را هم بدانید:

1- سیم هایی که به جلوی برد ESP-01 وصل شده اند، برای وضح بیشتر هستند. این سیم ها باید از پشت به همین سیم ها وصل بشوند. برد ESP-01 با برد بورد سازگار نیست و از کانکتورهای JST جامپر ماده-نر برای اتصالات آن استفاده می شود.
2- برای برنامه ریزی باید پین GPIO 0 را پایین نگه دارید. اگر FTDI را جدا کنید و ESP8266 را با منبع تغذیه خودش فعال کنید، این پین آزاد می شود.
3- پین CH_PD باید همیشه highباشد.
4- پین RESET با یک مقاومت 10 کیلواهمی در حالت high نگه داشته می شود. با دکمه RESET هم به زمین متصل می شود که تراشه را ریبوت خواهد کرد. هربار قبل از آپلود کدها و وصل شدن و قطع شدن از GPIO 0، باید RESET را بزنید.
5- وقتی مدار را به منبع تغذیه وصل می کنید، LED قرمز روی ESP-01 باید روشن بشود و LED آبی هم باید برای مدت کمی چشمک بزند. در حین آپلود کردن کدها هم LED آبی باید بطور مداوم چشمک بزند. LEDها به هر نحو دیگری که روشن بشوند، برد ایرادی دارد که باید آن را پیدا کنید.
6- اگر می خواهید سریال پروگرامر را از مدار جدا کنید و برد ESP را به تنهایی برنامه ریزی کنید، حتماً پین GPIO 0 را از زمین قطع کنید و دکمه RESET را بزنید.

گام پنجم : شماتیک

شماتیک
شماتیک

گام ششم : استفاده از آردوینو بجای سریال پروگرامر

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

در ساختنی بخوانید :  قاب تراشه RFID را عوض کنید و وسایل مختلف بسازید!

خروجی دیجیتال برد آردوینوی 5 ولتی، جریان 5 ولتی دارد که می توانید تراشه ESP2866 را بسوزاند. پس یا از آردوینوی3.3 ولتی استفاده کنید یا یک تراشه مبدل منطقی به مدار اضافه کنید.
جریان 3.3 ولتی آردوینو برای روشن کردن ماژول ESP2866 کافی است و ممکن است روی کارکردش تاثیر بگذارد. بهتر است از یک منبع 3.3 ولتی جداگانه استفاده کنید.
برای جلوگیری از نتایج غیرقابل پیش بینی، همیشه قبل از اتصال دستگاه های مختلف به آردوینو یک طرح کد خالی روی آردوینو آپلود کنید. طرح کد خالی حاوی فانکشن های لوپ و ست‌آپ خالی است.
اکر از برد Arduino Uno استفاده می کنید، باید بدانید که فقط یک جفت سخت افزار TX&RX دارد. برای ارتباط به تراشه ESP8266 و سریال مانیتور بصورت همزمان باید از فایل SoftwareSerial هم استفاده کنید. برد آردوینو Mega 2560 پین های TX و RX بیشتری دارد و برای راه اندازی ماژول وای فای ESP8266 مناسب تر است.
اگر با دقت به پین های TX و RX روی آردوینو نگاه کنید، چند فلش کنارشان می بینید. فلش پین TX به سمت مخالف اشاره می کند که به معنی TX IN است؛ یعنی این پین در واقع یک پین RX است! برعکسش هم صادق است و پین RX در واقع یک پین TX است! پس وقتی از آردوینو به عنوان یک آداپتور سریال به همراه دستگاه دیگری استفاده می کنید، باید پین TX را به TX و پین RX را به RX وصل کنید.

گام هفتم : برنامه ریزی با نرم افزار Arduino IDE

روش های مختلفی برای برنامه ریزی ماژول ESP8266 وجود دارد اما نرم افزار Arduino IDE ساده ترین راه است.

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

گام هشتم : ESP2866 Board Manager را نصب کنید

نرم افزار را باز کنید و از قسمت Tools / Board گزینه Board Manager را انتخاب کنید. در پنجره ای که باز می شود، esp8266 را پیدا کنید. رویش کلیک کنید و Install را بزنید.

گام نهم : URL مناسب را وارد کنید

به File / Preferences بروید.

در فیلد Additional Boards Manager URLs، آدرس اینترنتی پکیج ESP8266 را وارد کنید: http://arduino.esp8266.com/stable/package_esp8266com_index.json

گام دهم : ESP8266 را در نرم افزار تنظیم کنید

از قسمت Tools / Board گزینه Generic ESP8266 Module را انتخاب کنید. سپس گزینه های برد ESP-01 را تنظیم کنید. پورت COM مناسب با کامپیوترتان را انتخاب کنید.

گام یازدهم : استفاده از سفت افزار ماژول ESP8266

استفاده از سفت افزار ماژول وای فای ESP8266
استفاده از سفت افزار ماژول وای فای ESP8266

اگر هنوز سفت افزار اصلی را روی ماژول وای فای ESP8266 دارید، می توانید از طریق سریال مانیتور به آن فرمان بدهید. برای اینکار باید:

سریال مانیتور آردوینو را باز کنید.

نرخ علامت بر ثانیه مناسب که معمولاً 115200 است را انتخاب کنید. البته این نرخ می تواند بسته به نوع سفت افزار نصب شده روی ماژول تا 9600 هم پایین بیاید.

در ساختنی بخوانید :  راهنمای شناخت سیگنال های الکتریکی : مفاهیم پایه ای (بخش اول)

گزینه Both NL & CR را هم انتخاب کنید.

AT را تایپ کنید و اینتر را بزنید. برد ESP باید پاسخ OKبدهد. اگر پاسخی دریافت نکردید، دکمه RESET را بزنید و کابل USB را جدا کنید و دوباره از ابتدا شروع کنید. همچنین چک کنید پورت COM درست را انتخاب کرده باشید. احتمال دیگر این است که سفت افزار روی ماژول استاندارد نباشد و فرمان AT را درک نکند. این لزوماً یک مشکل نیست چون در ادامه قصد داریم کدهای خودمان را جایگزین این سفت افزار کنیم.

عبارت AT+GMR را تایپ کنید. پاسخی که دریافت می کنید، شماره نسخه سفت افزار روی برد ESP است.

گام دوازدهم : کدهای آردوینو ESP8266

کدهای زیر را دانلود کنید و آن را در نرم افزار Arduino IDE باز کنید. مشخصات روتر خودتان را در کدها جایگزین کنید (فیلدهای SSID و PASSWORD). مطمئن شوید برد بورد درست تنظیم شده و سپس کابل USB را به سریال پروگرامر وصل کنید.

گام سیزدهم : کدها را روی ESP8266 آپلود کنید

تمام سریال مانیتورهای روی پورت را ببندید. سریال مانیتور آردوینو را دوباره باز کنید. باید آی پی آدرس و ESP را بعد از بارگذاری ببینید.

برای آپلود کدها باید پین GPIO 0 را به زمین وصل کنید. می توانید در حین اجرای کدها در مرورگر، پین را در همین حالت بگذارید. قبل از هر بارگذاری هم دکمه RESET را بزنید. اگر آپلود موفقیت آمیز نبود، یکبار تنظیمات را چک کنید و کابل USB را قطع و مجدداً وصل کنید. می توانید چندبار هم از کلید Ctrl+U استفاده کنید. اگر هیچ کدام از این روش ها جواب نداد، کامپیوتر را ریبوت کنید چون گاهی اوقات ایراد از پورت COM است.

اگر آپلود کدها موفقیت آمیز باشد، LED آبی روی برد ESP باید چشمک بزند. فرآیند آپلود کدها باید چیزی شبیه تصاویر بالا باشد.

گام چهاردهم : نتایج را بررسی کنید

ESP8266-WiFi-Module-15

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

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

گام پانزدهم : ماژول وای فای ESP8266 را تست کنید

صفحه رابط ماژول وای فای ESP8266
صفحه رابط ماژول وای فای

بعد از کلیک روی چند لینک، احتمالاً روشن و خاموش شدن LED را خواهید دید. ماژول ESP8266 می تواند وقفه های پین های دیجیتال و ورودی های آنالوگ را هم تحلیل کند. اینترنت اکسپلورر بهترین گزینه برای نمایش رابط برد ESP است چون فایرفاکس و کروم کمی کند هستند. تجربیات خود در کار با این ماژول کاربردی را با ساختنی به اشتراک بگذارید !

منبع

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

بیشتر بخوانید:

آموزش به روز رسانی سفت افزار (Firmware) انواع ماژول ESP8266... قبلاً در ساختنی آموزش راه اندازی و استفاده از ماژول ESP8266 را یاد گرفته اید. اگر آن ساختنی و پروژه های جالبی که می شود با این ماژول ساخت (مثل این ساع...
آموزش اتصال ESP8266 به اینترنت و ساخت سرور وب... ماژول ESP8266 شاید به اندازه آردوینو و رزبری پای بین طرفداران الکترونیک رایج نباشد اما کارایی های منحصر به فرد خودش را دارد. یکی از این کارایی ها قابل...

درباره عاطفه اسدزاده

عاطفه اسدزاده
عاطفه اسدزاده،یکی از نویسندگان وبسایت ساختنی است.

پیشنهاد می کنیم

دستگاه آنالیز وای فای پرتابل و جیبی بسازید

در این ساختنی طرز ساخت دستگاه آنالیز وای فای را یاد می گیرید که به …

۶ دیدگاه ها

  1. سلام خسته نباشید
    من مخام با اتصال esp8266 به اردینو با یک سرور ارتباط برقرارکنم یعنی یه سری اطلاغات به سرور میفرستم و سرور به من پاسخ میده.
    الان ماژول esp8266-01 رو به اردینو وصل کردم
    به پین شماره ۳ متصل شود
    TX به پین شماره ۲ متصل میشود
    VCC به ۳٫۳ولت متصل شود ( به هیچ عنوان به ۵ ولت متصل نشود )
    GND به GND آردوینو
    پین RESET و همجنین CH_PD نیز به ۳٫۳ ولت منصل شود
    GPIO-0 و GPIO-2 بدون اتصال باشند
    الان چند مشکل وجو دارد ماژول با ارسال at ، ok را ارسال میکند ولی وقتی دستور” AT+CWJAP=”ssid”,”pwd رو به مانیتور ارسال میکنم اررو میده و مدام خطوطی نامفهوم رو نمایش میده ؟؟
    میشه بگید مشکل از کجاست؟؟
    ایا باید برنامه روی esp8266 ریخته شود؟؟؟چه فرقی بین برزنامه که میریزی روی ماژول و at command ها وجود داره؟؟
    جایی خوندم که نباید از ۳٫۳ اردینو استفاده کنم به برد اسیب می رسونه درسته؟؟؟میتونم از چند باتری قلمی و رگولاتور lf33 استفاده کنم؟؟
    اگه نخام دستورات at command رو در سریال مانیتور بنویسم فقط در متن برنامه نوشته بشه درسته جواب میده ؟؟؟

    • مهرداد جمالی

      با سلام
      چند موضوع مختلف می توانند باعث این مشکل بشوند اما رایج ترین ها در این مواقع :
      ۱- مشکل از عدم تنظیم درست باد ریت (baud rate) است. مطمئن شوید فرستنده و گیرنده با یک باد ریت مشخص و برابر با هم ارتباط برقرار می کنند.
      ۲- Firmware ماژول esp8622 نیاز به آپدیت دارد
      ۳- اتصال بین آدوینو و ماژول مشکل دارد.

      برنامه ای که روی ماژول ریخته می شود همان Firmware است.با آپدیت این برنامه ممکن است تغییرات کوچکی در پاسخ ای تی کامند ها به وجود بیاید اما در کل استاندارد تغییر نخواهد کرد.
      اگر مصرف جریان از استاندارد های خروجی آردوینو بالاتر است نباید از ۳٫۳ آردوینو استفاده کنید (به دلیل محدودیت جریان خروجی). البته باتری های قلمی هم پس از مدتی با افت ولتاژ مواجه خواهند شد و احتمالا خیلی کار گشا نیستند.
      می توانید از آداپتور ها و منابع تغذیه قابل تنظیم (که در ساختنی هم با یک جستجو می توانید چندین نوع آن را بیابید) استفاده کنید.
      سریال مانیتور تنها یک ابزار است که اتفاقات انجام شده را به صورت عینی ببینید ، بله بدون آن هم برنامه کار خواهد کرد.

  2. با سلام در قسمت استفاده از rduino شما جمله زی را نوشتید که فکر کنم اشتباست شما نوشتید
    “جریان ۳٫۳ ولتی آردوینو برای روشن کردن ماژول ESP2866 کافی است و ممکن است روی کارکردش تاثیر بگذارد.”
    که این جمله اشتباست .و باید به کافی نیست تغییر نام دهد.

  3. من یک سوال دارم من esp را به Arduino وصل کردم اما وقتی دستور at را میزنم هیچ پاسخی نمیگیرم ممنون میشم من رو راهنمایی کنید ؟

  4. سلام.میشه این پروژه رو به کامپیوتر وصل کرد؟برای اینکه کامپیوتر به شبکه وای فای وصل بشه و بشه از طریق وای فای موبایل به وای فایی که به کامپیوتر وصل کردیم,وصل بشیم؟؟؟

     

  5. مهرداد جمالی

    بله می توانید هر کاری که با WiFi و شبکه قابل انجامه رو اینجا هم ازش استفاده کنید.

پاسخ دهید