اینترنت اشیا - IOTمطالب علمی

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

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

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

ESP8266 WiFi Module 1

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

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

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

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

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

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

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

دقت کنید که ماژول وای فای 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 ولتی استفاده می‌کنید)

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

ESP8266 WiFi Module 3

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

در ساختنی بخوانید :  برای حیوان خانگی تان ظرف غذای اتوماتیک یا فیدر هوشمند بسازید

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

ESP8266 WiFi Module 4

در تصویر بالا می‌توانید نقشه پین برد 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 WiFi Module 5

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

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

خروجی دیجیتال برد آردوینوی 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 بروید.

در ساختنی بخوانید :  چراغ LED رومیزی 500 پیکسلی بسازید و اشکال مختلف درست کنید در فیلد 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 WiFi Module 12

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

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

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

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

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

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

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

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

ESP8266_LED_Control

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

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

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

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

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

ESP8266-WiFi-Module-15

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

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

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

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

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

منبع

نوشته های مشابه

1 دیدگاه

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا