آموزش Espآموزش اینترنت اشیا

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

سلام. برنامه نویسی ماژول وایفای ESP8266 با نرم افزار آردوینو + آموزش جامع را آماده کردیم.

آموزش کامل برنامه نویسی برد ESP8266 با Arduino

در این آموزش ما یاد میگیریم چطور نرم افزاز Arduino را برای آپلود کد روی برد های ESP8266 پیکربندی کنیم. همچنین برنامه چشمک زن LED را روی برد ESP8266 بارگذاری میکنیم. اینکار بدون استفاده از برد های آردوینو و فقط با ماژول وایفای ESP8266 انجام میشود. با استفاده از یک ماژول آداپتور سریال FTDI ، به راحتی می توان با استفاده از دستورات AT و Arduino IDE ، ماژول ESP را برنامه ریزی کرد.

ماژول ESP8266 با یک سیستم عامل از پیش بارگذاری شده در آن همراه است. این سیستم عامل می تواند برای ارتباط با ماژول ESP8266 از طریق دستورات AT استفاده شود. اما اگر از Arduino IDE استفاده کنیم ، این سیستم عامل به پایان می رسد. این بدان معنی است که هنگامی که از Arduino IDE برای برنامه ریزی ماژول ESP استفاده میکنیم، دیگر نمی توانیم از دستورات AT استفاده کنیم. از این رو ، باید ماژول را با سیستم عامل پیش فرض فلاش کنیم تا بتوانیم از دستورات AT شروع به استفاده کنیم.

تعدادی از پروژه های سایت با ESP8266 :

قطعات مورد نیاز برای آموزش

  1. ماژول وایفای ESP8266
  2. برد FTDI با ولتاز 3.3
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

توضیحات ماژول وای فای ESP8266

بیشتر افراد ESP8266 را به عنوان یک ماژول WIFI می دانند ، اما در واقع یک میکروکنترلر است. ESP8266 نام یک میکروکنترلر است که توسط شرکت Espressif Systems ساخته شده است و یک شرکت مستقر در شانگهای است. این میکروکنترلر توانایی انجام فعالیتهای مرتبط با WIFI را دارد از این رو به صورت گسترده به عنوان یک ماژول WIFI مورد استفاده قرار می گیرد.

ماژول وایفای ESP8266

انواع مختلفی از ماژول های ESP8266 وجود دارد ( از ESP8266-01 تا ESP8266-12 ). ما در این پروژه PIC از ESP8266-01 استفاده میکنیم. زیرا ارزان ترین آن است و در دسترس است. این ماژول با ولتاژ 3.3 تغذیه میشود و مصرف آن حدود 10uA-170mA است. ماژول ESP8266 دارای یک مبدل ADC است.

دستورات AT برای برقراری ارتباط با ESP8266 استفاده می شوند. جدول زیر برخی از دستورات AT مفید را نشان می دهد.

دستور AT کاربرد
AT اگر همه چیز خوب باشد OK دریافت میشود
AT+RST راه اندازی مجدد ماژول
AT+GMR نمایش اطلاعات
AT+CWMODE=1 یا 2 یا 3 حالت وایفای :  1 = ایستگاه ، 2= AP و 3= هردو
AT+CWLAP لیست AP
AT+CWJAP=”SSID”,”PASSWORD” پیوستن AP
AT+CWQAP خروج AP
AT+CIFSR دریافت آدرس IP
AT+CIPMUX= 0 , 1 تنظیم تعداد اتصالات : 0 = یگانه ، 1 = چند گانه
AT+CIPSTART AT+CIPSTART=<type>,<address>,<port> AT+CIPSTART=<id>,<type>,<address>,<port> تنظیم ارتباط TCP/UDP  :

addres = آدرس آی پی – Port = پورت – در اتصال یگانه = Type = TCP, UDP

در اتصال چند گانه id = میتواند بین 0 تا 4 باشد

<AT+CIPSEND AT+CIPSEND=<length

<AT+CIPSEND=<id>,<length

ارسال اطلاعات در اتصال یگانه :

Length = طول داده ها در اتصال چندگانه

id = از 0 تا 4 میتواند باشد

AT+CIPSTATUS دریافت اطلاعات اتصال
AT+CIPSERVER=<mode>,<port> Set as Server 0-Server close, 1-Open port

تنظیم سرور 1= بسته – 2= باز

AT+CIPCLOSE بستن اتصال TCP یا UDP

آماده سازی نرم افزار Arduino برای برنامه نویسی برد ESP8266

مرحله 1: ابتدا آخرین نسخه نرم افزاز Arduino را از این لینک دانلود کنید : دانلود آردوینو

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

مرحله 2: پس از نصب ، کامپایلر Arduino را باز کنید و به Files -> Preferences بروید.

نصب تنظیمات برد ESP روی کامپایلر Arduino

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

http://arduino.esp8266.com/stable/package_esp8266com_index.json

سپس روی Ok کلیک کنید.

مرحله 3: اکنون به Tools -> Boards -> Board Managers بروید. در این پنجره ESP8266 را سرچ کنید و سپس مانند تصویر زیر ESP8266 by esp8266 community را پیدا کنید و روی install کیلک کنید.

آماده سازی نرم افزار Arduino برای برنامه نویسی برد ESP8266

مرحله 4: سپس به Tools -> Boards بروید و Generic ESP8266 modules را انتخاب کنید. باید پایین نرم افزار شما مانند تصویر زیر شده باشد.

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

مرحله 5: حالا برای وارد کردن برنامه چشمک زن ال ای دی به مسیر File -> Examples -> ESP8266 بروید و Blink را انتخاب کنید.

مرحله 6: سپس ماژول خود را مانند تصویر زیر به کامپیوتر متصل کنید. ما از برد FTDI استفاده کرده ایم.

آموزش کامل esp8266

ماژول ESP8266 و برد FTDI را همانطور که در مدار نشان داده شده است وصل کنید و مطمئن شوید که GPIO0 شما به GND متصل شده است. ما از سوئیچ برای انتخاب بین حالت برنامه نویسی Arduino IDE و حالت از طریق AT استفاده کرده ایم. سپس ماژول را روشن کرده و با فشار دادن دکمه روی برد، آن را تنظیم مجدد میکنیم.

مرحله 7: حالا روی دکمه upload در نرم افزار آردوینو کلیک میکنیم.

آموزش برنامه نویسی Arduino

سپس شما باید ال ای دی آبی روی برد را در حالت چشمک زن مشاهده میکنید. این چشمک زدن تایید میکند ما کارمان را درست انجام داده ایم.

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

پایان.

5 (12 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

18 نظر

  1. سلام مهندس تشکر بابت آموزش خوبتون من طبق آموزشای اردوینو پیش رفتم همه دقیق عالی فقط ی سوال دارم میخوام ببینم با این ماژول میشه همچین کاری کرد مثلا ی آپارتمان ۱۴ واحد یا حتی یک مجتمع ۱۰۰ واحدی این ماژولو وصلش کرد به درب کرکره برقی با گوشی درب بالا پایین بشه حالا اگر هر کسی درب داد بالا فراموش کنه بده پایین هشدار بده بعد ۵ دقیقه

  2. این لینک رو توی قسمت preference وارد کردم, وقتی توی قسمت board manager میخوام esp8266 community رو دانلود کنم ارور پایین رو میده و دانلود نمیشه
    لطفا راهنمایی کنید.
    Downloading packages”
    esp8266:xtensa-lx106-elf-gcc@3.1.0-gcc10.3-e5f9fec
    esp8266:mkspiffs@3.1.0-gcc10.3-e5f9fec
    esp8266:mklittlefs@3.1.0-gcc10.3-e5f9fec
    esp8266:python3@3.7.2-post1
    esp8266:esp8266@3.1.2
    Failed to install platform: esp8266:esp8266.
    Error: 2 UNKNOWN: read tcp 192.168.1.94:56470->185.199.109.133:443: wsarecv: An existing connection was forcibly closed by the remote “host.

    1. سلام عزیز
      از وی.پی ان یا نرم افزار ضد تحریم استفاده کنید

  3. سلام وقتی به برد منیجر میرم esp رو برای دانلود پیدا نمی کنم..
    لطفا راهنمایی کنید

    1. سلام عزیز
      لینک را در قسمت preferences قرار دادید.

  4. سلام
    من وقتی آپلود می کنم ، این پیام میاد
    Connecting…….._____….._____….._____….._____….._____….._____…..____
    A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header_

    با اینکه مطمئن هستم تمام سیم کشی ها رو درست انجام دادم
    از ماژول سریال 2303 استفاده می کنم و gpio0 رو هم زمین کردم
    لطفا راهنمایی بفرمایید

  5. برد من برنامه نویسی نمی شه میشه راهنمایی کنید.
    منوی تولز خیلی تنظیماتش بیشتره، تازه من نتونستم مثل شما تنظیماتش رو انجام بدم بعضی وقت ها اپلود میشه ولی می نویسه soft resseting و چراغ ابی روی برد چشمک نمی زنه، چکار کنم؟

  6. با سلام و خسته نباشید، سوال داشتم ‌‌اینکهبنده با برد esp8266 کار میکنم به دلیل سرعت بالای وفرکانس ۱۶۰ مگا فکر کنم نوشته بود رفتم به سراغش، اردینو جواب نمیده برا برنامه با حجم زیاد ، فقط مشکلی که با این برد دارم نمیتوانم مثل اردینو پایه‌های دیجتیالش و با چه شمارهای هست و
    و چندتا هست که برنامه نویسی بکنم به آن عنوان خروجی ، ۱۶ تا پایه دیجیتال به عنوان خروجی لازم دارم ، ممنون

    1. سلام عزیز. نام پایه ها رو به صورت D1, D2 و … وارد کنید
      در صورت نیاز میتونید دوره آموزش اینترنت اشیا رو ببینید ما کار با NodeMCU ESP8266 و Wemos ESP8266 رو آموزش میدیم

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

    1. سلام عزیز، ما پروژه سفارشی انجام نمیدیم.

  8. سلام مهندس جان ممنون میشم منو راهنمایی کنین
    ماژولی هست که مثل گوشی سیم کارت بخوره بشه از اینترنتش بصورت وایفا استفاده کرد

    1. سلام جناب. بنده ماژولی رو نمیشناسم که هم سیمکارت بخوره و هم وای فای رو ارائه بده.

    2. شیلد اترنت اردوینو اونو ایطوریه ولی قیمتش از خود اردوینو اونو بیشتره

  9. سلام
    دلیل اینکه باید پایه GPIO0 به زمین وصل بشه چیه؟ و چه زمانی باید این کار رو کرد؟؟؟
    بعد اینکه مدار شکل بالا خیلی شلوغه. بهتر نیست که که TX ماژول وای فای به TX برد FTDI و RX ماژول به RX برد و VCC و CH_PD ماژول به VCC برد و GND ماژول به GND برد وصل بشه
    از طرفی چون ماژول وای فای با ولتاژ 3.3V کار میکنه می تونیم جامپر برد FTDI روی 3.3V تنظیم کنیم تا VCC اون 3.3V بشه.
    لطفا راهنمایی کنید.

    1. جناب نمیشه Tx به Tx وصل بشه. باید ضربدری باشند یعنی Tx به Rx وصل بشه. مثل شماتیک متصل کنید.

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

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