اینترنت اشیا IOT اینترنت اشیاء عملی پروژه های آردوینو مدارهای الکترونیک

esp8266 ماژول وای فای – at command -1

آموزش ماژول es8266 Arduino
نوشته شده توسط علیرضا قربانی

در این پست به آموزش راه‌اندازی ماژول WIFI ESP8266 و AT command های مربوط به این ماژول خواهیم پرداخت. در ادامه آموزش با مرکز تخصصی آردوینو ، دیجی اسپارک  همراه باشید.

 

سخت افزار مورد نیاز:

آردوینو Uno

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

 

ESP8266

می‌توان گفت ESP8266 یک ماژول WIFI کامل به همراه تمام بخش های نرم افزاری و پشته پروتکل داخلی TCP/IP می باشد که با قیمت بسیار پایین در بازار ایران یافت می‌شود و می‌توان با پروتکل سریال به راحتی با آن ارتباط برقرار نمود و توسط دستورات AT COMMAND آن را کنترل نمود.ماژول ESP8266 در دو حالت قابل استفاده می‌باشد.

حالت Station :که از آن برای اینترنت اشیا استفاده می‌شود ، که ماژول پس از تظیمات لازم به طور خودکار مودم ADSL را پیدا می‌کند و به اینترنت متصل می‌شود و اقدام به تبادل داده می‌نماید.

حالت Access Point: در این حالت می‌توان با استفاده از کامپیوتر ، تبلت یا موبایل ماژول را جست و جو کرد و به آن متصل شد و به عنوان ریموت بدون نیاز  به اینترنت از آن استفاده نمود.

در قسمت اول قصد داریم با استفاده از سریال مانیتور  AT Command های این ماژول ، اقدام به کنترل ماژول و جست و جو در شبکه‌های‌ وای فای بپردازیم.برای اتنقال AT Command ها به ماژول می‌توان بدون هیچ نیازی به آردوینو عمل کرد و فقط با یک عدد مبدل USB به سریال و نرم افزار Termite ( نرم افزاری برای انتقال  AT Command ها به ماژول و ساخت افزارهای جانبی) استفاده کرد.

دانلود نرم افزار Termite

ولی در ما در این آموزش از مبدل USB به سریال و همچنین نرم افزار Termite استفاده نکرده‌ایم و به جای آن بر روی آردوینو برنامه‌ی نوشته‌ایم که خود این عملیات را انجام می‌دهد نیاز به مبدیل USB به سریال و نرم‌افزار ذکر شده نمی‌باشد. کد زیر را در آردوینو Uno خود آپلود کنید.

به این علت که آردوینو Uno دارای یک پورت سریال می‌باشد ، از کتابخانه SoftwareSeial برای اضافه کردن یک پورت سریال دیگر به آردوینو استفاده کرده‌ایم.

برای آموزش کتابخانه SoftwareSerial می‌توایید به پست‌های زیر مراجعه نمایید:

آموزش افزایش پورت سریال آردوینو بخش اول

آموزش افزایش پورت سریال آردوینو بخش دوم

 

 

اتصالات ماژول وای‌فای ESP8266

آرایش پین‌های ماژول به صورت زیر می‌باشند :

آزایش پین‌های ماژول Esp8266

آرایش پین‌های ماژول Esp8266

 

  • RXبه پین شماره ۳ متصل شود
  • TX به پین شماره ۲ متصل می‌شود
  • VCC به ۳٫۳ولت متصل شود ( به هیچ عنوان به ۵ ولت متصل نشود )
  • GND به GND آردوینو
  • پین RESET و همجنین CH_PD نیز به ۳٫۳ ولت منصل شود
  • GPIO-0 و GPIO-2 بدون اتصال باشند

 

بعد از اتصال ماژول و آپلود کدهای فوق سریال مانیتور نرم افزار آردوینو را باز کرده و در آن عبارت AT را تایپ کنید و ارسال کنید.

در صورتی  که عملیات اتصال با ماژول به درستی انجام شده باشد  در سریال مانیتور عبار OK ظاهر می‌شود ، همانند تصویر زیر:

 

 

آموزش ماژل وای فای Esp8266

بعد از ارسال AT باید سریال مانیتور شما اینگونه شود

 

 

دستورات AT COMMAND ماژولESP8266

هر دستور ممکن است به چهار شکل مختلف به کار رود همانند جدول زیر :  ( در طول آموزش  این موضوع قابل بهم تر می‌شود)

 توضیح  مثال نوع
 مقدار مقادیر مجازی که پارامترهای هر دستور می‌تواند دریافت کند  AT+CIPSTART=?  Test
 مقدار پارامتر هر دستور را مشخص می‌کند  AT+CMD?  Query
   به پارامترهای هر دستور ، مقداری نسبت داده می‌شود  AT+CMD=Parameter  Set
 دستور را بدون پارامترهایش ااجرا می‌کند  AT+CMD  Execute

 

 

دستورات

 

AT

عمل‌کرد پاسخ برنامه
دستور نوع دستور
ماژول را تست می‌کند OK AT Execute

 

AT+RST

 

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 تمام تنظیمات ماژول را ریست می‌کند  OK  AT+RST  Execute

 

 

AT+GMR

 

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 ورژن ماژول را نمایش می‌هد version, OK  AT+GMR  Execute

 

 

AT+GSLP

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 مقدار زمانی که ماژول در حالت sleep قرار می‌گیرد time ,OK  AT+GSLP=time  set

 

 

AT+CWMODE – WIFI mode(station, AP, station + AP)

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 مقدار‌های مجاز برای پارامتری این دستور را نمایش می‌دهد  +CWMODE:(1-3)OK  AT+CWMODE=?  Test
مدی که ماژول در آن قرا ردارد را بر می‌گرداند.(  مد کلاینت ، هاست یا هردو) +CWMODE:mode

OK

AT+CWMODE? Query
مد ماژول را تعیین می‌کند OK AT+CWMODE=mode Execute

mode :

۱ = Staion (client)

۲ = Access point

۳ = Access point + Station

 

 

AT+CWJAP – Connect to AP

 

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 نام اکسس پوین (مودم ) که ماژول به آن متصل است را بر میگرداند  + CWJAP:ssid  OK  AT+CWJAP?  Query
به وسیله این دستور به مودم وای فای یا اکسس پوینتی که رمزش را داریم متصل می‌شویم OK AT+CWJAP=ssid,pwd Execute

 

ssid = نام مودمی است که می‌خواهیم به آن متصل شویم

pwd = پسوورد مودمی است که قصد اتصال به آن را داریم

 

 

در قسمت بعدی آموزش ، به معرفی ادمه AT COMMAND ‌های این ماژول خواهیم پرداخت.

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

علیرضا قربانی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۳۵ دیدگاه

  • سلام این برنامه رو میشه رو nano هم ریخت ؟
    من روی نانو ریختم اما هرچی دستور ATرو میزم هیچ دستوری دریافت نمیکنم ؟
    چراغ ابی ماژول نشانگر چیه؟

  • سلام
    ممنون بخاطر آموزش هاتون
    میخواستم بدونم این مراحل بر روی پرو مینی هم میشه اجرا کرد؟
    بعد من میخوام فقط رو مد استیشن باشه باید فقط at commend مربوط به استیشن رو براش بفرستم؟

  • سلام از این برنامه برای ماژول ESP8266-07 هم میتوان استفاده کرد؟ میخواهیم اطلاعاتی که روی ال سی دی نشان میدهد را روی گوشیهمزمان ببینیم

  • سلام من برای پروگرم کردن ماژول از نرم افزار esp8266_flasher استفاده کردم ولی تا ۶ درصد بیشتر نمیره و هیچ نمیدونم باید چه کنم هم تغذیم جدای و هم برای تغذیه یه خازن گذاشتم اگر محبت کنید یه کمکی کنید که خیلی درگیرم

  • با سلام ، خدمت شما – سوالی که داشتم : در این پست پایه های esp8266 را مستقیم به اردونیو می زنیم . سطح ولتاژ سریال اردوینو در این ارتباط اگه درست بگم روی ۵ ولت هست ولی esp8266 -01 نیاز به ارتباط با سطح ولتاژ ۳٫۳ داره . بعد چند ارتباط این کار اسیبی به ماژول نمی رساند ؟؟ چون من چند جا دیدم از مقسم ولتاژ استفاده میکنند . ۲ تا از ماژول های من مشکل دار شده بود فکر کنم از این مورد هست . ممنون از سایت خوبتون .

  • سلام و خسته نباشید

    بنده پروژه ای دارم که باید از طریق دوربین، آردینو و ماژول وایفای، تصویر ویدیو را بصورت زنده و مستقیم به موبایل انتقال بده.
    آیا این ماژول قابلیت انتقال ویدیو (فیلم برداری زنده و ارسال هم زمان به موبایل) را داره؟

    ممنونم از پاسخگوی شما

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

  • […] Arduino uno دارم با یه ماژول وافای esp8266 . و با استفاده از این لینک ماژول وافای رو راه اندازی کردم. زمانی که میخوام برد رو […]

  • سلام…ببخشید من میخوام داده های یک سنسور شتاب سنج adsl345رو با اردینو و وای فا node mcuبگیرم…میخواستم ببینم چجوری میتونم با وای فا این دادها رو بفرستم …ایا باروش بالا میشه..مممنون میشم اگه کمک کنید/
    با تشکر از لطفتون

  • سلام. من تمام اتصالات را درست انجام دادم و روی دو تا esp826601 تست کردم. زمانی که esp را به برد uno وصل میکنم کامپیوتر اصلا برد را شناسایی نمیکنه و همون لحظه اگر esp را جدا کنم برد uno شناسایی میشه و برنامرو میشه اپلود کرد روی برد! الان برنامرو اپلود میکنم روی برد uno بعد esp را متصل میکنم و داخل سریال اصلا دستوراتو که میزنم جوابی نمیگیرم! کلا وقتی esp وصل میشه کامپیوتر بردو نمیشناسه.

    • با سلام
      ضمن تشکر از توجه شما و عذرخواهی بابت تاخیر در پاسخگویی، از آنجایی که برد ESP8266 به پایه RX و TX آردوینو متصل است. این مشکل بوجود می‌آید. برای پروگرام کردن باید از برد آردوینو جدا شود.

      • تشکر بابت پاسختون. مشکلم حل شد. باید ولتاژ esp را از منبع دیگری میدادم. برد توانایی راه اندازیشو نداشت.
        ولی یک مشکل دیگه برام پیش اومده دقیقا هشت روز کامل وقتمو گرفته. اگر بتونید حلش کنید کمک بزرگی کردید. خودمم بتونم حلش کنم سورس اندرویدیشو هم میذارم، خیلی بدرد میخوره.
        من الان دقیقا یک کد نوشتم که با برنامه سوکت پروتکل به راحتی وقتی براش میفرستم on یک ال ای دی روشن میشه و برای گوشی یک پیام led on می فرسته و وقتی off میفرستم ال ای دی خاموش میشه و led off میفرسته روی گوشی.
        ولی کد اندرویدی که خودم نوشتم فقط میتونم اطلاعاتو بهش بفرستم ولی اطلاعاتی دریافت نمیکنم.
        برد در حالت اکسس پوینت هستش و گوشی در حالت کلاینت.
        و اینم بگم کل اینترنتو بالا پایین کردم اصلا اموزش سوکت بین esp و اردوینو بصوت کامل نیستش و همش یک جاییشون میلنگه!

        • با سلام مجدد
          خواهش میکنم، در این زمینه منظورتان سورس اندرویدی است؟ یا سورس آردوینو؟ همچنین شما میتوانید با مطرح کردن دقیق سوالاتتان منتظر پاسخ از طرف کاربران با تجربه هم باشید.