در قسمت دوم از آموزش ماژول esp8266 به تکمیل کردن AT Command های این ماژول میپردازیم. همچنین توضیحات At Command برد ESP8266 در هر قسمت ارایه شده است. در ادامهی آموزش با مرحع تخصصی آردوینو ، دیجی اسپارک همراه باشید.
دستور AT+CWLAP برد ESP8266
عملکرد | پاسخ برنامه |
دستور | نوع دستور |
تمام شبکههای wifi موجود را نمایش میدهد |
AT+CWLAP: |
AT+CWLAP | Execute |
تمام شبکههای wifi موجود با اطلاعات وارد شده را نمایش میدهد |
+CWLAP:
|
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: 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 منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
[…] آموزش ماژول wifi ESP 8266 آردوینو بخش دوم(at command ها) […]
[…] قسمت دوم آموزش ماژول wifi esp8266 […]
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 قرار میگیره وحتما باید دوباره دستورات را وارد کنم کسی راهکاری نداره که این اتفاق رخ ندهد
ظاهرا این مقدار فقط در RAM ذخیره می گردد.