آموزش قسمت دوم راه اندازی ماژول esp8266 (ای تی کامند ها)
![](https://microdroidprj.ir/wp-content/uploads/2016/09/ESP8266_Series.jpg)
به نام خدا
با سلام خدمت دوستان عزیز
در این مطلب که ادامه قسمت اول راه اندازی ماژول WIFI هست قصد دارم AT command هارو توضیح بدم…
بعد از اتصال ماژول به لبتاب توسط مبدل که در قسمت اول توضیح دادم با فرستادن at command های زیر میتونید ماژول رو تنظیم کنید
معرفی دستورات AT Command
ماژول های خانواده ESP دستوراتی را به صورت کاراکتری دریافت می کنند و به همان صورت نیز به آنها پاسخ می دهند. در ابتدای همه دستورات دو کاراکتر AT ارسال می شوند لذا به مجموعه آن دستورات AT Command گویند. در انتهای هر دستور نیز کاراکتر Enter باید ارسال شود تا ماژول دستور مورد نظر را انجام داده و پاسخ آن را ارسال نماید. برای مثال دستور AT را در نظر بگیرید. این دستور برای تست سلامت ارتباط با ماژول می باشد. این دستور به صورت زیر به ماژول ارسال شده و در صورت صحیح بودن ارتباط ، ماژول در پاسخ به آن OK می دهد.
1 2 |
AT[Enter] OK |
نکته : کد ASCII کاراکتر Enter در مبنای Hex برابر ۱۳ می باشد.
دستورات AT کار با ماژول ESP8266
عملیات | دستور(به ماژول ارسال می شود) | پاسخ(از ماژول دریافت می شود) |
تست سلامت اتصال ماژول | AT | OK |
ریستارت کردن ماژول | AT+RST | OK [System Ready, Vendor:www.ai-thinker.com] |
مشاهده ورژن نرم افزاری ماژول | AT+GMR | ۰۰۱۶۰۹۰۱OK |
لیست تمام دستگاه های WiFi فعال در اطراف ماژول را نشان می دهد | AT+CWLAP | +CWLAP:(4,”RochefortSurLac”,
۳۸,”۷۰:۶۲:b8:6f:6d:58″,۱)+CWLAP:(4,”LiliPad2.4″,-۸۳, ”f8:7b:8c:1e:7c:6d”,۱) OK |
اتصال به یک دستگاه WiFi با داشتن نام و پسورد آن | AT+CWJAP=”SSID”,”Password” | +CWJAP:SSIDOK |
قطع اتصال به یک دستگاه | AT+CWQAP | OK |
آدرس آی پی Localماژول را نشان می دهد | AT+CIFSR | +CIFSR:192.168.4.1OK |
تنظیمات خود ماژول برای اتصال دستگاه های دیگر را تغییر می دهد | AT+ CWSAP= “ssid”,”pwd”,<chl>, <ecn> | OK |
تعیین حالت عملکرد WiFi :1- حالت station (کلاینت)
۲- حالت AccesPoint (سرور) ۳- کار همزمان در هر دو حالت فوق |
AT+CWMODE=1 | +CWMODE:1OK |
AT+CWMODE=2 | +CWMODE:2OK | |
AT+CWMODE=3 | +CWMODE:3OK | |
اتصال به یک سرورid = 0-4 type = TCP/UDP addr = IP address port= port | (When:CIPMUX=0)AT+CIPSTART=<type>,<addr>,<port> | OK |
(when:CIPMUX=1)AT+CIPSTART=<id>,<type>,<addr>, <port> | OK | |
تعداد خطوط اتصال۰: Single
۱: Multiple |
AT+ CIPMUX=0 | OK |
AT+ CIPMUX=1 | OK | |
آی پی همه دستگاه های کلاینتی که به ماژول متصل شده است را به همراه جزئیات آن نشان می دهد | AT+CWLIF | AT+CWLIF
۱۹۲٫۱۶۸٫۴٫۱۰۰,۳c:bf:bd:61:77:b7 OK
|
ارسال دیتا به پروتکل TCP/IP | (CIPMUX=0)AT+CIPSEND=<length>; | >SEND OK |
(CIPMUX=1)AT+CIPSEND= <id>,<length> | >SEND OK | |
قطع اتصالid:1-4 | (CIPMUX=1)AT+CIPCLOSE=<id> | OK |
(CIPMUX=0)AT+CIPCLOSE | OK | |
ساخت یک سرورmode :0 for delete ۱ for create | (only when CIPMUX=1)AT+ CIPSERVER= <mode>[,<port>] | OK |
تنظیم باودریت | AT+CIOBAUD=<baud>baud: 9600, 19200, 38400, 74880,115200,230400,460800,921600 | +CIOBAUD:9600 OK |
آی پی آدرس دستگاه را چک می کند | AT+CIFSR | AT+CIFSR 192.168.0.106OK |
دریافت دیتا از کلاینت | +IPD | (CIPMUX=0):
+ IPD, <len>:(CIPMUX=1): + IPD, <id>, <len>: <data> |
تنظیم دلخواه آدرس MACماژول در حالت Station | AT+CIPSTAMAC=”mac” | OK |
تنظیم دلخواه آدرس MAC ماژول در حالت AccesPoint | AT+CIPAPMAC=”mac” | OK |
تنظیم دلخواه آدرس IP ماژول در حالت Station | AT+CIPSTA=”ip” | OK |
تنظیم دلخواه آدرس IP ماژول در حالت AccessPoint | AT+CIPAP=”ip” | OK |
تذکر : بعد از تمامی این دستورات باید کاراکتر Enter به ماژول ارسال شود که کد اسکی آن ۱۳ است ;(۱۳)putchar.
نکته : ارسال هر Packet دیتا در پروتکل TCP/IP تقریبا ۲۰ میلی ثانیه طول می کشد و حداکثر تعداد بایت هایی که میتواند در یک Packet ارسال شود ۲۰۴۸ بایت می باشد.
-
توضیح ۱ : ————————————————————————————–
مد های کاری ماژول
این ماژول در ۳ مد زیر کار میکند :
- STATION : ماژول میتواند به دستگاه های WiFi اطراف خود متصل شود
- Acces Point : ماژول به عنوان یک سرویس دهنده WiFi عمل می کند و دستگاه های دیگر میتوانند به آن متصل شوند.
- both : در این مد ماژول به طور همزمان در دو حالت بالایی قرار میگیرد.
بهتر است که ماژول را با دستور AT+CWMODE=3 به مد BOTH ببریم.
-
توضیح ۲ : —————————————————————————————
تعیین اسم و رمز عبور برای ماژول
با دستور AT+CWSAP? میتوان اطلاعات کنونی SSID، Password ،CHL و ENC ماژول را از خود ماژول بدست آوریم. SSID نام ماژول wifi است. Password رمز عبور برای اتصال است. CHL آی دی کانال متصل شده به دستگاه و ENC نوع پروتکل رمزشده Encryption را مشخص می کند. در زیر انواع پروتکل های رمز برای اتصال به WiFi را مشاهده می کنید. عدد CHL معمولا ۰ و عدد ENC بهتر است روی ۴ باشد.
نوع پروتکل رمز | عدد ENC | توضیحات |
Open | ۰ | بدون رمز نگاری |
WEP | ۱ | – |
WPA_PSK | ۲ | – |
WPA2_PSK | ۳ | – |
WPA_WPA2_PSK | ۴ | قوی ترین نوع رمز |
دوستان توجه کنید که حتما رمز عبور رو ۶ رقمی انتخاب کنید.
نحوه تعیین اسم و رمز ماژول به صورت زیر است :
1 2 |
AT+CWMODE=3 AT+CWSAP=”esp8266”,”12345678”,1,4 |
-
توضیح ۳ : —————————————————————————————
راه اندازی ماژول ESP8266 به صورت سرور
در این مرحله ماژول را به صورت Server ( سرویس دهنده WiFi ) راه اندازی خواهیم کرد و توسط موبایل و لپ تاپ به آن وصل می شویم و به ارسال و دریافت دیتا می پردازیم.
توجه کنید که آی پی ماژول ۱۹۲٫۱۶۸٫۴٫۱ است و ما فقط پورت را برای ماژول عدد ۱۳۳۶ را تنظیم میکنیم که شما میتوانید از اعداد دیگری نیز استفاده کنید اما به در تنظیم پورت به نکات زیر توجه کنید
- ۸۰ : پورت http برای اتصال به اینترنت
- ۸۰۸۰ : پورت http در شبکه هایی که پورت ۸۰ بلاک است
- ۲۳ : پورت Telnet
- ۸۸۸۸ : یک پورت خالی
برای راه اندازی یک سرور در ماژول ESP8266 کافی است دستورات زیر را به ترتیب به ماژول ارسال کنیم :
1 2 3 |
AT+CIPMUX=1 AT+CIPSERVER=1,1336 |
در این قسمت توسط wifi گوشی خود نام ماژول را که esp8266 است انتخاب کنید رمز ۱۲۳۴۵۶۷۸ را که تنظیم کردیم وارد کنید تا به ماژول متصل شوید و پس از اتصال نرم افزار SocketProtocol را باز کنید و پس از وارد کردن آی پی که ۱۹۲٫۱۶۸٫۴٫۱ و پورت که ۱۳۳۶ است به ماژول متصل شوید،و پس از نمایش عبارت Socket Connected میتوانید در قسمت send اطلاعات مورد نظر خود را بفرستید و آن هارا با فرمت
<IPD,id,length:<Received data+
در ترمینال لبتاب (در قسمت اول آموزش دادم) مشاهده کنید.
— حال برای ارسال اطلاعات از طریق ترمینال لب تاب و مشاهده آن ها در گوشی به و در قسمت دریافت نرم افزار SocketProtocol به صورت زیر عمل کنید:
1 2 3 4 |
micro => AT+CIPSEND=0,7 \n\r mudule => > micro => wellcome module => OK |
که در بالا میکرو حکم همان ترمینال شما در لبتاب را دارد.
توضیح ۴ : —————————————————————————————
راه اندازی ماژول ESP8266 به صورت کلاینت
در این بخش با فرض اینکه سرور در محل دیگری راه اندازی شده است و ماژول به عنوان کلاینت ( Client ) به آن متصل شده باشد (مثلا ماژول به مودم منزلتان میتواند متصل شود) ، به ارسال/دریافت دیتا خواهیم پرداخت. برای ایجاد سرور در تلفن همراه از نرم افزار SocketProtocol و برای ایجاد سرور در لبتاپ از نرم افزار ServerClient استفاده می شود. ابتدا به ماژول دستورات زیر را ارسال می کنیم
برای اینکه از نرم افزار سوکت پروتکل را در حالت سرور تنظیم کنید و با ماژول به آن متصل شوید طبق توضیحات زیر عمل کنید
- به تب setting رفته و local ip address را یادداشت کنید و سپس به تب SERVER رفته و در قسمت پورت مثلا عدد ۲۲۲۲ را وارد کنید و LISTEN را بزنید…
- برگردید به ترمینال خود در لبتاب و و کامند های زیر را وارد کنید تا به سوکت پروتکل متصل شوید…
1 2 3 |
AT+CWMODE=3 AT+CIPMUX=1 AT+CIPSTART=0,”TCP”,192.168.1.105”,2222 |
حال میتوانید ارسال و دریافت اطلاعات را انجام دهید که حتما دقت کنید از فرمت گفته شده برای ارسال اطلاعات از طریق ترمینال به گوشی استفاده کنید.
توضیح ۵ : —————————————————————————————
اتصال ماژول به مودم adsl منزل یا هات اسپات گوشی اندرویدی
سه دستور زیر را به ترتیب و جداجدا در ترمینال وارد کنید وبه ماژول وای فای بفرستید
1 2 3 4 5 6 |
----------------CONNECT MUDOLE TO MODEM and then connect to phone-------------- AT+CWLAP AT+CWJAP="NAME","PASS" AT+CWJAP? |
- دستور اول نام وای فا های اطراف شمارا نمایش میدهد.
- دستور دوم که در آن name نام دقیق مودم adsl شماست و pass که رمز عبور مودم adsl شما است را که وارد کنید ماژول به مودم متصل میشود.
- با دستور سوم میتوانید وضعیت اتصال را بررسی کنید.
در مرحله بعد کامند زیر را به ماژول بفرستید
1 |
AT+CIFSR |
در این حالت ماژول که به یک روتر اینترنت متصل شده است و مشخصاتی را برای ما ارسال می کند که شامل آی پی ماژول و آی پی ماژول از نظر روتر می باشد. این مشخصات برای کارهای بعدی بسیار مفید هستند.
“CIFSR:APIP,”192.168.4.1+
“CIFSR:APMAC,”5e:cf:7f:00:07:ad+
“CIFSR:STAIP,”192.168.1.105+
“CIFSR:STAMAC,”5c:cf:7f:00:07:ad+
APIP: Access Point IP
APMAC : Access Point MAC
STAIP: Static IP
STAMAC: Static MAC
نکته : Static IP آی پی اختصاص داده شده به ماژول زمانی که به روتر یا مودم وصل می شود را نشان می دهد.
خب حالا پورت ماژول را که از قبل تنظیم کرده بودیم عدد ۱۳۳۶ بود و از آی پی بالا هم که ماژول به ما داده هم استفاده میکنیم و در نرم افزار اندرویدی سوکت پروتکل به بت کلاینت رفته و آی پی پورت رو وارد میکنیم و اقدام به تبادل اطلاعات می کنیکم.
دوستان یه نکته مهم بگم : بعد از هر بار ریست شدن ماژول مقدار پورت و اون تنظمات رو دوباره باید برای ماژول انجام بدیم اما اسم ورمز ماژول ذخیره میمونن بنابراین اگه یه وقت نتونستید کانکت بشید احتمالا ماژول ریست شده که شما باید دوباره کانفیگ رو انجام بدید من برا اینکه اذیت نشید خلاصه کانفیک رو در زیر میارم
1 2 3 |
AT+CWMODE=3 AT+CIPMUX=1 AT+CIPSERVER=1,1336 |
مزیتش اینه که شما دیگه دیگه نمیخواد از مودم خونتون دیس کانکت بشید و به ماژول کانکت بشید ،ماژول و و گوشی شما به مودم adsl منزل متصله و که این دو به راحتی باهم ارتباط برقرار میکنن،به شکل زیر توجه کنید
یه نرم افزار اندرویدی خیلی جالب هم نوشتم برا ارتباط با ماژول که میتونید در این لینک مشاهدش کنید.
دوستان یه نرم افزار کامپیوتری هم هست برا ارتباط با ماژول وای فای که پس انتخاب پورت کام و بادریت میتونید به ماژول کامند هاتون رو بفرستید،این نرم افزار یه سری کامند های آماده داره که خیلی میتونه به شما برای راه اندازی ماژول کمک کنه
امید وارم براتون مفید واقع شده باشه!
شاد و سربلند باشید به امید دیدار.!
دانلود نرم افزار SocketProtocol برای اندروید
دانلود نرم افزار کانفیگ ESP8266
مطالب پیشنهادی:
بخش نرم افزار پروژه ردیاب : برنامه اندرویدی tracker (ردیاب) و نمایش مختصات
سخت افزار پروژه ردیاب : ارسال موقعیت جغرافیایی روی سرور از طریق ماژول A7 و LPC1768
لینک مطلب بخش نرم افزار پروژه ماژول بلوتوث که تحت #C نوشته شده است.
لینک مطلب بخش سخت افزار پروژه ارتباط ماژول بلوتوث با میکروکنترلر lpc1768 با برنامه اندرویدی و #C )
لینک مطلب بخش نرم افزار پروژه ماژول بلوتوث که تحت اندروید نوشته شده است.
سلام شماره پورت را باید ۱۳۳۶ تنظیم کنیم ، یا فرقی ندارد ؟؟
سلام.نه. پورت رو یه عدد ۴ رقمی دلخواه میتونید تنظیم کنید
سلام من هرچقدر در سریال مانیتور می نویسم at هیچی در جواب نمیاد .
تو برنامه Hercules هم امتحان کردم به پورت مربوطه وصل میشه ولی میخوام بنویسم at ولی نمینویسه .
بنظزتون مشکل از کجاست؟
برنامه چشمک زن آل آی دی رو امتحان کردم کار میکرد .
ولی این at command جواب پس نمیده
سلام،باید فریمور مربوط به at کامند هارا ابتدا روی ماژول پروگرام کنید