آموزش قسمت دوم راه اندازی ماژول esp8266 (ای تی کامند ها)

به نام خدا

با سلام خدمت دوستان عزیز

در این مطلب که ادامه قسمت اول راه اندازی ماژول WIFI هست قصد دارم AT command هارو توضیح بدم…

بعد از اتصال ماژول به لبتاب توسط مبدل که در قسمت اول توضیح دادم با فرستادن at command  های زیر میتونید ماژول رو تنظیم کنید

معرفی دستورات AT Command

ماژول های خانواده ESP دستوراتی را به صورت کاراکتری دریافت می کنند و به همان صورت نیز به آنها پاسخ می دهند. در ابتدای همه دستورات دو کاراکتر AT ارسال می شوند لذا به مجموعه آن دستورات AT Command گویند. در انتهای هر دستور نیز کاراکتر Enter باید ارسال شود تا ماژول دستور مورد نظر را انجام داده و پاسخ آن را ارسال نماید. برای مثال دستور AT  را در نظر بگیرید. این دستور برای تست سلامت ارتباط با ماژول می باشد. این دستور به صورت زیر به ماژول ارسال شده و در صورت صحیح بودن ارتباط ، ماژول در پاسخ به آن 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 ارسال شود ۲۰۴۸ بایت می باشد.

  • توضیح ۱ : ————————————————————————————–

مد های کاری ماژول

این ماژول در ۳ مد زیر کار میکند :

  1. STATION : ماژول میتواند به دستگاه های WiFi اطراف خود متصل شود
  2. Acces Point : ماژول به عنوان یک سرویس دهنده WiFi عمل می کند و دستگاه های دیگر میتوانند به آن متصل شوند.
  3. 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 ۴ قوی ترین نوع رمز

دوستان توجه کنید که حتما رمز عبور  رو ۶ رقمی انتخاب کنید.

نحوه تعیین اسم و رمز ماژول به صورت زیر است :

 

  • توضیح ۳ :  —————————————————————————————

راه اندازی ماژول ESP8266 به صورت سرور

در این مرحله ماژول را به صورت Server ( سرویس دهنده WiFi ) راه اندازی خواهیم کرد و توسط موبایل و لپ تاپ به آن وصل می شویم و به ارسال و دریافت دیتا می پردازیم.

توجه کنید که آی پی ماژول ۱۹۲٫۱۶۸٫۴٫۱ است و ما فقط پورت را برای ماژول عدد ۱۳۳۶ را تنظیم میکنیم که شما میتوانید از اعداد دیگری نیز استفاده کنید اما به در تنظیم پورت به نکات زیر توجه کنید

  • ۸۰ : پورت http برای اتصال به اینترنت
  • ۸۰۸۰ : پورت http در شبکه هایی که پورت ۸۰ بلاک است
  • ۲۳ : پورت Telnet
  • ۸۸۸۸ : یک پورت خالی

برای راه اندازی یک سرور در ماژول ESP8266 کافی است دستورات زیر را به ترتیب به ماژول ارسال کنیم :

در این قسمت توسط wifi گوشی خود نام ماژول را که esp8266 است انتخاب کنید رمز ۱۲۳۴۵۶۷۸ را که تنظیم کردیم وارد کنید تا به ماژول متصل شوید و پس از اتصال نرم افزار SocketProtocol را باز کنید و پس از وارد کردن آی پی که ۱۹۲٫۱۶۸٫۴٫۱ و پورت که ۱۳۳۶ است به ماژول متصل شوید،و پس از نمایش عبارت  Socket Connected   میتوانید در قسمت send اطلاعات مورد نظر خود را بفرستید و آن هارا با فرمت

<IPD,id,length:<Received data+

در ترمینال لبتاب (در قسمت اول آموزش دادم) مشاهده کنید.

— حال برای ارسال اطلاعات از طریق ترمینال لب تاب و مشاهده آن ها در گوشی به و در قسمت دریافت نرم افزار SocketProtocol به صورت زیر عمل کنید:

که در بالا میکرو حکم همان ترمینال شما در لبتاب را دارد.

توضیح ۴ :  —————————————————————————————

راه اندازی ماژول ESP8266 به صورت کلاینت

در این بخش با فرض اینکه سرور در محل دیگری راه اندازی شده است و ماژول به عنوان کلاینت ( Client ) به آن متصل شده باشد (مثلا ماژول به مودم منزلتان میتواند متصل شود) ، به ارسال/دریافت دیتا خواهیم پرداخت.  برای ایجاد سرور در تلفن همراه از نرم افزار SocketProtocol و برای ایجاد سرور در لبتاپ از نرم افزار ServerClient استفاده می شود. ابتدا به ماژول دستورات زیر را ارسال می کنیم

برای اینکه از نرم افزار سوکت پروتکل را در حالت سرور تنظیم کنید و با ماژول به آن متصل شوید طبق توضیحات زیر عمل کنید

  1. به تب setting  رفته و local ip address  را یادداشت کنید و سپس به تب SERVER  رفته و در قسمت پورت مثلا عدد ۲۲۲۲ را وارد کنید و LISTEN را بزنید…
  2. برگردید به ترمینال خود در لبتاب و و کامند های زیر را وارد کنید تا به سوکت پروتکل متصل شوید…
نکته : در کد بالا فرض بر این بوده که نرم افزار سوکت پروتکل آی پی ۱۹۲٫۱۶۸٫۱٫۱۰۵ را به شما نشان داده است،این ای پی برای گوشی  شما متفاوت خواهد بود.

حال میتوانید  ارسال و دریافت اطلاعات را انجام دهید که حتما دقت کنید از فرمت گفته شده برای ارسال اطلاعات از طریق ترمینال به گوشی استفاده کنید.

توضیح ۵ :  —————————————————————————————

اتصال ماژول به مودم adsl منزل یا هات اسپات گوشی اندرویدی

سه دستور زیر را به ترتیب و جداجدا  در ترمینال وارد کنید وبه ماژول وای فای بفرستید

  • دستور اول نام وای فا های اطراف شمارا نمایش میدهد.
  • دستور دوم که در آن name نام دقیق مودم adsl شماست و pass که رمز عبور مودم adsl شما است را که وارد کنید ماژول به مودم متصل میشود.
  • با دستور سوم میتوانید وضعیت اتصال را بررسی کنید.

در مرحله بعد کامند زیر را به ماژول بفرستید

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

“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  آی پی اختصاص داده شده به ماژول زمانی که به روتر یا مودم وصل می شود را نشان می دهد.

خب حالا پورت ماژول را که از قبل تنظیم کرده بودیم عدد ۱۳۳۶ بود و از آی پی بالا هم که ماژول به ما داده هم استفاده میکنیم و در نرم افزار اندرویدی سوکت پروتکل به بت کلاینت رفته و آی پی پورت رو وارد میکنیم و اقدام به تبادل اطلاعات می کنیکم.

دوستان یه نکته مهم بگم : بعد از هر بار ریست شدن ماژول مقدار پورت و اون تنظمات رو دوباره باید برای ماژول انجام بدیم اما اسم ورمز ماژول ذخیره میمونن بنابراین اگه یه وقت نتونستید کانکت بشید احتمالا ماژول ریست شده که شما باید دوباره کانفیگ رو انجام بدید من برا اینکه اذیت نشید خلاصه کانفیک رو در زیر میارم

حالا مزیت این روش چیه؟؟!!

مزیتش اینه که شما دیگه دیگه نمیخواد از مودم خونتون دیس کانکت بشید و به ماژول کانکت بشید ،ماژول و و گوشی شما به مودم adsl منزل متصله و که این دو به راحتی باهم ارتباط برقرار میکنن،به شکل زیر توجه کنید

یه نرم افزار اندرویدی خیلی جالب هم نوشتم برا ارتباط با ماژول که میتونید در این لینک مشاهدش کنید.

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

لینک مفید برای این مطلب

شاد و سربلند باشید به امید دیدار.!

دانلود نرم افزار SocketProtocol برای اندروید

دانلود نرم افزار کانفیگ ESP8266

 

مطالب پیشنهادی:

بخش نرم افزار پروژه ردیاب : برنامه اندرویدی tracker (ردیاب) و نمایش مختصات

سخت افزار پروژه ردیاب : ارسال موقعیت جغرافیایی روی سرور از طریق ماژول A7 و LPC1768

لینک مطلب بخش نرم افزار پروژه ماژول بلوتوث که تحت #C نوشته شده است.

لینک مطلب بخش سخت افزار پروژه ارتباط ماژول بلوتوث با میکروکنترلر lpc1768 با برنامه اندرویدی و #C )

لینک مطلب بخش نرم افزار پروژه ماژول بلوتوث که تحت اندروید نوشته شده است.

mehdi sehati

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

مطالب مرتبط

Subscribe
Notify of
guest

4 نظرات
Inline Feedbacks
View all comments
محمد
محمد
5 years ago

سلام شماره پورت را باید ۱۳۳۶ تنظیم کنیم ، یا فرقی ندارد ؟؟

مهدی
مهدی
11 months ago

سلام من هرچقدر در سریال مانیتور می نویسم at هیچی در جواب نمیاد .

تو برنامه Hercules هم امتحان کردم به پورت مربوطه وصل میشه ولی میخوام بنویسم at ولی نمینویسه .

بنظزتون مشکل از کجاست؟

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

4
0
Would love your thoughts, please comment.x