آردوینو Arduino Uno برد ESP8266 پروژه های آردوینو

آموزش کار با دستورات At Command برد Esp8266 ماژول Wifi بخش دوم

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

در قسمت دوم از آموزش ماژول esp8266  به تکمیل کردن AT Command های این ماژول می‌پردازیم. همچنین توضیحات At Command برد ESP8266 در هر قسمت ارایه شده است. در ادامه‌ی آموزش با مرحع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

 

دستور AT+CWLAP برد ESP8266

عمل‌کرد پاسخ برنامه
دستور نوع دستور
تمام شبکه‌‌های wifi موجود را نمایش می‌دهد

AT+CWLAP:ecn,ssid,rssi,macOK

AT+CWLAP Execute
 تمام شبکه‌های wifi موجود با اطلاعات وارد شده را نمایش می‌دهد

 +CWLAP:ecn,ssid,rssi,macOK

 AT+CWLAP=ssid,mac,ch  Set

پارامترها:

ecn : پروتکل‌های امنیتی که شامل موارد زیر می‌باشد

۰ = open

۱ = WEP

۲ = WPA_PSK

۳ =WPA2_PSK

۴ = WPA_WPA2_PSK

ssid: نام اکسس پوینت می‌باشد

 rssi : قدرت سیگنال را مشخص می‌کند

mac : مک آدرس اکسس پوینت را مشخص می‌کند.

 

 

دستور AT+CWQAP برد ESP8266

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 توسط این دستور ، ارتباط ماژول با اکسس پوینتی که به آن متصل است قطع می‌شود

OK

AT+CWQAP Execute

 

دستور AT+CWSAP

عمل‌کرد پاسخ برنامه
دستور نوع دستور
تنظیمات اولیه اکسس پوینت شامل نام و پسوورد و… را برمی‌گرداند +CWSAP:ssid,pwd,ch,ecn

OK

AT+CWSAP? Query
توسط این دستور می‌توان نام و پسوورد … ماژول را تنظیم کرد   OK AT+CWSAP=ssid,pwd,ch,ecn Set

پارامترها:

ssid: نام اکسس پوینت

pwd : پسوورد اکسس پوینت که نباید بیش از ۶۴ کاراکتر باشد

ecn : پروتکل‌های امنیتی که شامل موارد زیر می‌باشد

۰ = open

۱ = WEP

۲ = WPA_PSK

۳ =WPA2_PSK

۴ = WPA_WPA2_PSK

 

 

دستور AT+CWLIF

عمل‌کرد پاسخ برنامه
دستور نوع دستور
کلاینت‌های متصل به اکسس پوینتی که توسط این ماژول ساخته شده است را مشخص می‌کند [ip,other]

OK

AT+CWLIF Execute

 

دستور AT+CWDHCP

عمل‌کرد پاسخ برنامه
دستور نوع دستور
فعال و یا غیر‌فعال کردن پروتکل DHCP برای مدی که ماژول در آن قرار دارد ( مد station , مد اکسس‌پوینت و یا هر دو ) OK AT+CWDHCP=mode,en Set

پارامترها:

mode :

۰ = مد  اکسس‌پوینت

۱ =  مد Station

۲ = هر دو مد Staition  و Access point

en :

۰ = فعال کردن پروتکل DHCP

۱ = غیرفعال کردن پروتکلDHCP

 

 

دستور AT+CIPSTAMAC

عمل‌کرد پاسخ برنامه
دستور نوع دستور
آدرس مک   هنگامی که ماژول در مد Station قرار دارد را نمایش می‌دهد +CIPSTAMAC:mac

OK

AT+CIPSTAMAC? Query
این دستور مک آدرس را هنگامی که ماژول در مد Station قرار دارد را مشخص می‌کند OK AT+CIPSTAMAC=mac Execute

پارامتر:

mac = آدرس مکی که می‌خواهیم به ماژول نسبت دهیم.

مثال:

AT+CIPSTAMAC="18:aa:35:97:d4:7b"

 

دستور AT+CIPSTA برد ESP8266

عمل‌کرد پاسخ برنامه
دستور نوع دستور
IP ماژول  در حالت  station را نمایش می‌دهد  +CIPSTA:ip

OK

 AT+CIPSTA?  Query
می‌توانیم یک IP دلخواه در حالت Station به ماژول نسبت دهیم OK AT+CIPSTA=ip Execute

پارامتر:

  • IP = آی پی که می‌خواهیم به ماژول نسبت دهیم

مثال:

AT+CIPSTA=”۱۹۲٫۱۶۸٫۱۰۱٫۱۰۸”

 

دستور AT+CIPAP

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 آی‌پی ماژول در حالت Access point نمایش می‌دهد  +CIPAP:ip

OK

 AT+CIPAP?  Query
می‌توانیم ip دلخواهی به ماژول در مد Access point نسبت دهیم OK AT+CIPAP=ip Execute

پارامتر:

  • IP = آی‌پی که قصد نسبت دادن به  ماژول داریم.

مثال:

AT+CIPAP="192.168.5.1"

 

دستور AT+CIPSTATUS

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 OK  AT+CIPSTATUS=?  Test
اطلاعات مربوط به اتصال ماژول یا اکسس‌پوینتی که به آن متصل است برمی‌گرداند STATUS:status

+CIPSTATUS:id,type,addr,port,tetype

OK

AT+CIPSTATUS Execute

پارامتر:

  • status :

۳ = Connected

۴=  Disconnected

  • ID =شماره اتصال ( ۰~۴)  ، در صورت وجود چندین ارتباط
  • type = نوع پرروتکل استفاده شده ،  TCP یا  UDP
  • addr = شماره آی‌پی
  • port = شماره پورت
  •  tetype :

۰ = هنگامی که ماژول در حالت کلاینت قرار گرفته باشد

۱ = هنگامی که ماژول در حالت Server قرار گرفته باشد

 

 

دستور AT+CIPSTART

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 یک کانکشن در حالت client ایجاد می‌کند (single connection)  OK  AT+CIPSTART=type,addr,port  Set
یک کانکشن در حالت کلاینت ایجاد می‌کند OK AT+CIPSTART=id,type,addr,port Set
متغیر‌هایی که در این دستور استفاده می‌شوند را به نمایش در می‌آورد [+CIPSTART:(id)(“type”),(“ip address”),(port)] OK AT+CIPSTART=? Test

پارامترها:

  • id= ID  کانکشن بین ۰ تا ۴
  • type : نوع پروتکل  که TCP باشد یا UDP
  • addr : آی‌پی سرور
  • port : شماره پورت دستگاهی که می‌خواهد به ماژول متصل شود

 

 

دستور AT+CIPSEND – Send data

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 OK  AT+CIPSEND=?  Test
مشخص کردن طول  داده‌ای که می‌خواهیم ارسال کنیم ( در حالت  single connection) SEND OK AT+CIPSEND=length Set
مشخص کردن طول  داده‌ای که می‌خواهیم ارسال کنیم (در حالت multiple connection) AT+CIPSEND=id,length Set

پارامتر:

length :طول داده‌ای که میخواهیم ارسال کنیم

دستورالعمل ارسال داده: ابتدا توسط دستور فوق طول داده و شماره اتصال را به ماژول ارسال می‌کنیم.سپس ماژول برای ما علامت “<” را ارسال می‌کند.بعد از دریافت این علامت به مدت ۲۰ ثانیه فرصت داریم تا داده مورد نظر را برای ماژول ارسال کنیم.

 

دستور AT+CIPCLOSE

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 OK  AT+CIPCLOSE=?  Test
کانشکشن دلخواه را می‌بندد OK AT+CIPCLOSE=id Set
بستن کانکشن ( در حالت single connection ) OK AT+CIPCLOSE Execute

 

 

دستور AT+CIFSR

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 OK  AT+CIFSR=?  Test
ip ماژول را نشان می‌دهد +CIFSR:ip OK AT+CIFSR Execute

 

 

دستور AT+CIPMUX

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 توط این دستور می‌توان ماژول را در حالت Multiple
 یا خارج کردن از این حالت قرار داد
 OK  AT+CIPMUX=mode  Set

پارامتر:

  • ۰ = خارح کردن از حالت Multiple

۱ = قرار دادن در حالت Multiple

 

دستور AT+CIPSERVER

عمل‌کرد پاسخ برنامه
دستور نوع دستور
 ماژول را به عنوان Server تنظیم می‌کند  OK  AT+CIPSERVER=mode[,port]  Set

پارامتر:

  • mode :

۰ = اگر از قبل سروی ساخته شده باشد ، آن سرور حذف می‌شود

۱= ساخت یک سرور

  • port : شماره پورت ( به  طور پیش‌فرض ۳۳۳ می‌باشد)

 

 

معرفی AT Command های ماژول  wifi ESP 8266 تقریبا به پایان رسیده است. در آموزش‌های بعدی به انقال دیتا بین دیوایس اندرویدی و این ماژول و همچنین به مبحت اینترنت اشیا با استفاده از این ماژول می‌پردازیم.

 

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

آردوینو Uno

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

 

 

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

 

پروژه و دریافت بن ارسال رایگان

رای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

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

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

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

۱۶ دیدگاه

  • AT+CIPSTAMAC? این دستور مک ماژول رو نشون میده؟؟ اصلا خود esp مک و آی پی داره؟! من میخوام دیتا ازطریق فضای نت (اینترنت اشیا) بفرستم روی این ماژول . اصلا این ماژول قابلیت این کار رو داره؟؟

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

  • سلام
    امکانش هست که یکی از این چیپ هارو به عنوان سرور و چنتا رو به عنوان کلاینت استفاده کرد و با سرور به کلاینت ها دستور داد که حال این سرور میتونه به گوشی یا اردینو متصل باشه؟ و این دستور ها همون at کامند هستند فقط تو مد سرور کلاینت؟؟؟

    • با سلام
      ضمن تشکر از توجه شما و عذرخواهی بابت تاخیر در پاسخگویی، بله می‌توانید این کار را انجام دهید. اخیرا ورژن جدید تراشه ESP با نام ESP32 درای سرعت پردازش و مصرف انرژی کمتر وارد بازار شده است.

  • باسلام.یه سوال داشتم در مورد- esp8266.این میکرو مبدل adcداره ما وقتی اطلاعاتمون رو دادیم بهش سمت گیرنده باز میتونیم اطلاعات انالوگمون رو دریافت کنیم.

    • با سلام و تشکر از شما
      ماژول ESP8266 ورژن‌های ۱۲ و ۷ تاجایی که بنده میدونم این مبدل را دارند. با استفاده از آن میتوان کلیه سنسورهای آنالوگ را فراخوانی کرد.

  • ⭕️⭕️⭕️⭕️⭕️⭕️⭕️⭕️⭕️
    سلام خسته نباشید
    ی سوال داشتم esp14 رو با آردیونو راه انداختم باهاش ی led رو خاموش روشن میکنم
    ی مشکلی ک هست اینه ک تا زمانی ک سریال مانیتورو باز نکنم کدم و اون دستورات اولیه رو ماژول اعمال نمیشه
    بدون کامپیوتر آردیونو و ماژول راه نمیوفته!!!!!
    ⭕️⭕️⭕️⭕️⭕️⭕️⭕️⭕️⭕️

    • با سلام
      کاربر گرامی این آموزش در خصوص ماژول ESP8266 می‌باشد. با این حال نظر شما منتشر شده است، اگر کاربران دیگر در این خصوص تجربه داشته باشند از همین طریق راهنمایی خواهند کرد.

  • سلام به مهندسین عزیز. من دارم دوتا ماژول ESP8266 رو با میکروهای سری stm32 ارتباط میدم تا الانم مشکلی نبوده . تنظیمات رو برای سرور طوری انجام دادم که بعد از ۱۰ ثانیه اگر دستوری دریافت نکنه ارتباط رو با استیشن قطع کنه . مشکلم اینه که بعد از قطع ارتباط با سرور که بصورت ۰,CLOSE درسرور میبینیم بلافاصله ماژول با لینک آی دی جدید وصل میشه و من پیغام ۱,CONNECT رو دریافت میکنم . میشه محبت کنید و بفرمایید چرا این اتفاق میفته؟ مگه یک ماژول با چند تا IP وصل میشه؟! تنظیمات رو برای استیشن بصورت SINGLE CONNECTION انجام دادم . یعنی AT+CIPMUX=0 و دستور AT+CIPSTART رو بدون LINK ID برای استیشن تنظیم کردم. منتظر پاسختون هستم . مرسی

  • سلام. میشه لطفا بگید منظور از single connection چیه؟ و اینکه چطوری میشه تنظیمات رو وری اون حالت قرار داد. درسرور که نمیشه cipmux=0 قرار داد چون بدون at+cipmux=1 اصلا دستور cipserver =1,port ارور میده و میگه حتما باید cipmux=1 باشه . لطفا دستورات برای حالت single connection رو بفرمایید . ممنون از شما و آموزشتون

  • سلام وقت بخیر ممنون برای اموزش خوبتون
    دستور AT را که وارد میکنم پاسخ OK را میدهد اما وقتی AT+CWLAP را وارد میکنم اول مینویسد OK ولی بعد Error میدهد
    راه حل چیه؟
    با تشکر

    • سلام
      این دستور برای اتصال به AP هست، احتمالا نام SSID یا رمز عبور را اشتباه وارد کرده اید.

  • با سلام و خسته نباشید
    بنده AT+CIPMUX=1 قرار میدم وکار هایی که کیخواهم را انجام میدم و هروقت که ماژول را از سیستم جدامیکنم و دوباره متصل میکنم AT+CIPMUX=0 قرار میگیره وحتما باید دوباره دستورات را وارد کنم کسی راهکاری نداره که این اتفاق رخ ندهد