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

راه اندازی ماژول WiFi ESP8266 (قسمت اول)

راه اندازی ماژول WiFi ESP8266 (قسمت اول)
4.94 (98.82%) 17 votes

ESP8266-12-2

 

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

امروزه ارتباط از طریق امواج رادیویی و مایکروویو در قالب استفاده از پروتکل هایی مانند بلوتوث و WiFi به طور چشمگیری افزایش پیدا کرده است..گوشی های موبایل , رایانه ها , تلوزیون های هوشمند,دوربین های دیجیتال ,چاپگرها و… با استفاده از امواج WiFi می توانند با یکدیگر شبکه شده و اطلاعات خود را بدون نیاز به کابل کشی و هزینه زیاد به اشتراک بگذارند و با یکدیگر ارتباط برقرار کنند. فناوری WiFi بدلیل استفاده از امواج مایکروویو در محدوده 2.4 تا 5 گیگاهرتز همچنین کدینگ نسبتا ساده , ارسال اطلاعات را نسبت به Bluetooth با سرعت بسیار بالاتری انجام می دهد.در این آموزش قصد داریم ماژولESP8266 WiFi راه اندازی کرده و کار با آن را به طور دقیق مورد بررسی قرار دهیم .

ماژول ESP8266 یک ماژول wiFi خیلی خوب است که به راحتی می توان آن را به روتر یا Access Point وصل نمود و اطلاعاتی را از طریق اینترنت ارسال و یا دریافت نمود.همچنین می توان از طریق گوشی های موبایل که ازفناوری WiFi پشتیبانی می کنند به این ماژول وصل شد و دستوراتی را به آن ارسال و یا دریافت نمود.

اما از کجا باید شروع کنیم؟ برای کار با این ماژول در مرحله اول باید اطلاعات کاملی از آن بدست آورد.به طور مثال فرض کنید بخواهید با استفاده از گوشی اندرویدی خود , تنها با فشردن یک کلید لمسی در یک اپلیکیشن یکی از LED های روی مدار خود را روشن نمایید.اگر اطلاعاتی راجع به شبکه داشته باشید , می دانید که در این سناریو گوشی شما نقش Client یا کاربر و مدار شما نقش Server یا سرویس دهنده را دارد.چرا که با در خواستی از مدار پاسخی را دریافت می کنید.پس ماژولی که کار ارسال و دریافت سیگنال های WiFi را انجام می دهد باید بتواند نقش یک سرویس دهنده را ایفا کند.و یا اینکه فرض کنید مدار شما بخواهد دستورات خود را با استفاده از اینترنت از یک سرور دریافت کنید در این صورت ماژول wiFi ی شما باید بتواند شبیه یک کاربرعمل کند و با ارسال درخواست خود به سرور دستورات لازم را دریافت نماید.خوشبختانه ماژول ESP8266 از پس همه این وظایف برمی آید. اگر بخواهیم شناخت کامل تری از ماژول ESP8266 داشته باشیم به ویژکی هایی که در زیر ارائه شده توجه کنید:

این مطلب را از دست ندهید  LED چشمک زن با LPC1768

-ماژول ESP8266 داری یک میکروکنترلر 32بیتی داخلی با حافظه فلش 4 تا 32Mbit و سرعت 80 MHZ است.

-این ماژول قابلیت برنامه ریزی مجدد دقیقا مشابه یک میکروکنترلر را دارد.

-ورژن های مختلفی از این ماژول در بازار وجود دارد (تقریبا 14 نوع ) که بسته به ورژن آن از ارتباطات جانبی متنوع ازجمله پین های ورودی خوروجی(GPIO) , ارتباط سریال(UART) ,SPI,I2C و..پشتیبانی می کنند.

– ماژول ESP8266 هم در مد Station و هم در مد Access Point قابل پیکربندی است.

در این آموزش ما قصد داریم نحوه راه اندازی ورژن 12 این ماژول را به شما آموزش دهیم.روش کار برای تمامی ورژن ها تقریبا مشابه است. همانگونه که در شکل زیر می بینید این ماژول دارای 16 پین است.

ESP8266_2

توصیف پایه ها:

-TX /RX:این دو پین جهت ارتباط سریال UART بادستگاه های خارجی است.

-GPIO4/GPIO5/GPIO2/GPIO15/GPIO16/GPIO14/GPIO12/GPIO13/GPIO0 :این پین های ورودی و خرجی ماژول است . می توان مستقیما این پین ها را یک کرد و یا از بیرون مقدار پین را خواند.همچنین از پین های GPIO0 و GPIO15 برای ورود به حالت برنامه ریزی استفاده می شود.

-CH_PD:این پین برای فعال کردن ماژول استفاده می شود و باید یک باشد.

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

-RESET:از این پین برای ریست کردن ماژول استفاده می شود.در حالت عادی این پین با یک مقاومت 10K به VCC وصل شود.

-VCC:پین تغذیه ماژول است که باید به ولتاژ 3.3 ولت وصل شود.

نکته مهم:برای تغذیه این مدار حتما باید از ولتاژ 3.3ولت استفاده شود.در صورت استفاده از ولتاژ 5 ولت قطعا ماژول را خواهد سوزاند.همچین پین های ورودی نیز تحمل ولتاژ 5 ولت را ندارند.

-GND:این پایه باید به GND مدار وصل شود.

وقتی این ماژول را از بازار می خرید دو حالت وجود دارد:

1-این ماژول از قبل برنامه ریزی اولیه شده است.

2-ماژول هیچ برنامه ای را در حافظه خود ندارد.

برنامه ای که به صورت پیش فرض بر روی این ماژل قرار دارد موسوم به برنامه AT Command است.این برنامه به شما اجازه می دهد که با ارسال دستوراتی در قالب رشته های ASCII بتوانید ماژول خود را پیکر بندی نمایید و داده ای دریافتی ماژول را بخوانید.در مورد این دستورات به طور مفصل بحث خواهیم کرد.

این مطلب را از دست ندهید  راه اندازی EM18 ماژول RFID [ قسمت اول ]

چگونه بفهمیم که این ماژول دارای برنامه است؟برای پی بردن به این مسئله باید ابتدا مدار را از لحاظ سخت افزاری راه اندازی نماییم.همانطور که در توصیف پین های ماژول گفتیم ,این ماژول از یک ارتباط سریال (UART) بهره می برد.این درگاه درواقع همان درگاه ارسال و دریافت دستورات AT است.در واقع باید این درگاه را به پورت سریال میکرو کنترلر یا به پورت سریال کامپیوتر وصل نمود تا بتوان رد و بدل شدن اطلاعات را مشاهده کرد.برای این منظور من به شما پیشنهاد می کنم از یک مبدل USB به سریال که سازگار با ولتاژ 3.3ولت است استفاده نمایید.به طور مثال می توانید از مبدل PL2303 و یا CP2102 استفاده نمایید.

PL2303

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

بهتر است برای تغذیه مدار خود از یک منبع تغذیه خارجی و یک رگولاتور مانند شکل زیر استفاده نمود.

sch1

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

دانلود برنامهterminal.exe

تنظیمات ارسال و دریافت را به صورت زیر انجام دهید:

baud rate:9600

stop bit : 1

parity : none

data bit : 8 bit

با اتصال به پورت سریال و ریست ماژول عبارت AT را تایپ کنید و دکمه Send را بزنید.باید عبارت OK را دریافت کنید .اگر عبارت دریافتی ناخوانا بود مقدار BAUD RATE را به 115200 تغییر دهید و دوباره این کار را تکرار کنید .اگر عبارت OK را مشاهده کردید به این معنی است که ماژول شما از قبل برنامه ریزی شده است و اگر هیچ عبارتی دریافت نکردید , ماژول شما خالی از برنامه است و باید خودتان آن را پروگرم کنید.(ماژولی که من استفاده کردم اینگونه بود.)

HYPERTERMINAL

خوب شاید از خودتان بپرسید که چگونه باید ماژول ESP8266 را پروگرم کنید.در ادامه ما اینکار را به شما یاد خواهیم داد.روش پروگرم کردن این ماژول بسیار ساده است.اگر به ورژن های مختلف این قطعه نگاه کنید متوجه می شوید که همه آنها دارای پین های مشترکی هستند از جمله RESET – GPIO0 – CH_PD – VCC/GND.

این مطلب را از دست ندهید  راه اندازی ماژول WiFi ESP8266 (قسمت دوم)

Esp8266 قادر است تا فایل برنامه خود را از طریق پورت سریال دریافت نماید.برای ورود به مد برنامه ریزی باید پین GPIO0 و GPIO15را به GND وصل کنیم.وقتی این پین ها را به GND وصل کنیم و و دکمه ریست را فشار دهیم , ماژول وارد مد برنامه ریزی می شود ومنتظر دریافت فایل باینری از طریق پورت سریال می شود. البته در ورژن های پایین تر تنها اتصال پین GPIO0 به GND برای ورود به مد برنامه ریزی کفایت می کند. اما چگونه این فایل را به ماژول انتقال دهیم.برنامه هایی وجود دارند که می توانند این کار را انجام دهند.

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

ESPFLASHER

دانلود برنامهESP8266Flasher

 

 

ESP_FLASHER1

esp8266_flasher.exe

همچنین دو نسخه از فایل باینری برنامه که مربوط به برنامه AT COMMAND است نیز می

توانید از لینک زیر دانلود کنید:

ESP_8266_BIN0.92.bin

v0.9.2.2 AT Firmware.bin

 

پس از دانلود فایل های فوق برنامه esp8266_flasher.exe را باز کنید و درحالی که ماژول را در مد برنامه ریزی قرار داده اید یکی از فایل های باینری را مطابق شکل زیر انتخاب کنید و دکمه download را بزنید.

ESP_FLAHER2

اگر با پیغام connection failed روبرو شدید پورت com را به طور صحیح انتخاب کنید یا از GND بودن پایه GPIO0 مطمئن شوید و دکمه ریست را یک بار دیگر فشاردهید.

منتظر بمانید تا فایل به طور کامل به حافظه ماژول انتقال یابد.پس از اتمام عملیات پین GPIO0 را از GND خارج کنید.حال برنامه ترمینال را باز کنید و پس از اتصال به ماژول ,یک بار دیگر عبارت AT را به ماژول ارسال کنید.اگر باز با عبارت درهم ریخته مواجه شدید BAUD RATE را به 115200 تغییر دهید و دوباره امتحان کنید در این صورت باید عبارت OK را مشاهده نمایید.

AT COMMAND

تا این مرحله موفق به برنامه ریزی ماژول خود شده اید .همان گونه که گفتیم شما با استفاده ازاین برنامه ای که به ماژول خود داده اید می توانید با ارسال دستورات AT ,ماژول esp8266 را پیکربندی بندی و مورد استفاده قرار دهید .در پست های بعدی در مورد AT Command ها به طور کامل صحبت خواهیم کرد و پروژه کنترل LED با استفاده از گوشی موبایل را آموزش خواهیم داد.

نظر یادتون نره!!!

78 دیدگاه برای “راه اندازی ماژول WiFi ESP8266 (قسمت اول)” ثبت شده است

  1. با عرض سلام و خسته نباشید.
    من برای راه اندازی وب سرور ازین ماژول استفاده کردم.اما برای نگه داریه فایل های وب به حافظه نیاز دارم.ایا میتونم از حافظه خود ماژول برای نگه داریه فایل ها استفاده کنم.اگه میشه لطفا بگید فایل هارو چطور به حافظه انتقال بدم.اگه نمیشه لطفا راهنماییم کنید که چطور یک میکرو sd رو به ماژول وصل کنم.
    با تشکر.

    1. بسته به اندازه اطلاعاتتون می تونید مقداری اطلاعات رو روی حافظه eeprom ماژول ذخیره کنید اما اگه اطلاعات زیاد است بهتره از یک حافظه خارجی مثل sd استفاده کنید .ماژول های ورژن ۱۲ به بعد از ارتباط spi پشتیبانی می کنند که می تونید برای اتصال به sd card استفاده کنید.البته همه اینها با آردوینو باید انجام بشه.

    2. سلام
      من با ماژول ESP8266-12E کار میکنم.من قصد دارم از واسط SPI استفاده کنم.و ماژول رو به میکروکنترلر متصل کنم.چطور باید این کار رو انجام بدم؟در مورد نحوه اتصال و برنامه نویسی اگر میشه یه توضیحی بدید یا اگر منبع خوبی میشناسید معرفی کنید.
      با تشکر

    3. سلام
      جناب محمدی من ورژن ۱۲ این ماژول رو خریدم و از طریق کابل یو اس بی وصلش کردم به سیستم و طبق آموزش شما ماژول رو فلش کردم
      حالا برای بعضی از دستورات مثل AT , AT+CWMODE جواب میده ولی مثلا برای بعضی دستورات دیگه مثل
      AT+CWLAP , ATJAP اینها همه ارور برمیگردونه تنظیمات هم دقیق هست و با بادریت های مختلف تست کردم چندین بار فلش زدم ولی درست نشد توی مدهای مختلف بردم ماژول رو ولی در همه اون مد ها این مشکل وجود داره

    4. سلام
      دستور AT+CWJAP به دو صورت استفاده می شه ؟AT+ CWJAP (برای خواندن SSID تو مد AP)و ,< pwd (ست کردن پسورد و SSID برای AP) که اگر فرمت نوشتن مثله این نباشه یا ماژول در مد AP نباشه ERROR بر می گردونه.دستور AT+CWLAP هم به صوزت,< mac >,

  2. سلام
    ضمن تشکر از پاسختون
    یعنی باید الزاما از آردوینو استفاده کنم؟
    نمیتونم تو codvision یا atmel studio براش برنامه بنویسم؟چرا؟
    من برنامه ام رو تو atmelstudio نوشتم و حالا میخوام با این esp8266 اطلا عاتمو ارسال کنم.

  3. سلام خسته نباشید
    من مخام با اتصال 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 رو در سریال مانیتور بنویسم فقط در متن برنامه نوشته بشه درسته جواب میده ؟؟؟

  4. سلام.من یه ماژول esp12f دارم که با ماژول cp2102 به usb متصل شده و درایور مبدل هم نصبه و ظاهرا هیچ مشکلی نداره.ماژول از اول در ازای ارسال هر دستور at در جواب error رو بر میگردوند.بعدش که مطلب شما رو خوندم ماژول رو پروگرم کردم که مثل خیلی از دوستان پروگرم شدن تا ۹۹ درصد رفت و متوقف شد که فک نکنم مشکل خاصی باشه و احتمالا چون از نظر سخت افزاری تو مد فلش هست نمیتونه خارج بشه (اگه غیر اینه لطفا تصحیح کنید.در واقع آیا برای خود شما ۱۰۰ درصد می شه؟) اما بعد پروگرم کردن هم باز در ازای تمام دستورات at در جواب error بر میگردونه.لطفا راهنمایی کنید.

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

پاسخ دهید

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