Home / ماژول های مخابراتی / esp8266 / راه اندازی ماژول ESP8266 WiFi (قسمت دوم)

راه اندازی ماژول ESP8266 WiFi (قسمت دوم)

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

هر دیوایسی که با اینترنت در ارتباط هست به دو صورت با یکدیگر ارتباط میکنند .که به اینصورت که یکی SERVER و دیگری CLIENT میشود و مورد دوم برعکس این نامگذاری هست. پس ماژول ما هم میتونه هم به صورت Server  باشه  ویا  Client  که معمولا این نوع ماژول ها به صورت Server  تعیین میشن اما در این قسمت مقاله به صورت client  این ماژول رو راه اندازی میکنیم و به بررسی دستورات میپردازیم

ارسال و دریافت دیتا در مد CLIENT

برای اتصال شدن به سرور باید به اطلاعات زیر رو داشته باشید ID : CLIENT خود این را تعیین میکند که معمولا عدد 0 رو انتخاب میکنیم UDP ویا  TCP که یکی را باید در نظر بگیرید.

PORT :  مقدار این متغیر باید با سرور یکی باشد به عبارتی سرور روی این PORT گوش میدهد   یا همان LISTEN میکند من به طور دلخواه 9999 رو انتخاب میکنم

 IP : در واقع IP سرور رو باید بدونید (IPماژول در این روش ارتباط نیاز نیست)

حالا بعد از اطلاع داشتن از این موارد مراحل زیر رو اجرا کنید :

1: ماژول رو به اینترنت وصل کنید یا همون روتر یا وای فای خونگیتون (طبق روشی که در قسمت اول توضیح داده شد.)

2: ماژول رو در حالت BOTH قرار دهید

این دستور در قسمت اول مقاله توضیح داده شده است.

راه
راه

3: ماژول رو با دستور زیر در حالت Multiple قرار دهید:

که در پاسخ به این دستور متن link is builded رو دریافت میکنید به تصویر زیر توجه کنید:

ep2

 

4: حالا با استفاده از اطلاعاتی که داشتیم دستور زیر رو کامل میکنیم . برای تست ماژول ، برنامه SOCKET PROTOCOL  رو به دیوایس اندرویدی (یا همون موبایل یا تبلت) نصب و دیوایس را به اینترنت متصل کنید این برنامه را میتوانید از سایت دانلود کنید در ضمن باید IP دیوایس را بدونید تا وقتی به عنوان سرور کار میکنه شما در دستور زیر IP  دیوایستون رو بنویسید که IP موبایلتون رو میتونید از قسمت Setting & help برنامه ذکر شده بدست بیارید به شکل زیر توجه کنید.

ep3

در این برنامه در قسمت سرور port تعیین میکنید و دکمه listen  رو میزنیدو بعد دستوری رو که در صفحه بعد هست رو میفرستید.

ep4

حالا دستور بالایی رو کامل میکنم برای موبایل خودم

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

ep5

 

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

که IDهمون 0 هست که انتخاب کردیم و lengh  همون طول رشته دریافتی هست  و DATA IN CHARCTER  خود رشته هست :

در مثال بالا کلمه hello توسط سرور فرستاده شده و که 5 کاراکتر طول داره البته بعد از هر دریافت عبارت ok نیز فرستاده

میشود به تصویر دقت کنید:

ep6

خب این از دریافت اطلاعات حالا چطور اطلاعات بفرستیم ؟ برای ارسال ابتدا باید طول رشته ارسالی رو بدست میاریم و یا باید بدونیم چند کاراکتر هست سپس دستور زیر رو میفرستیم ، مثلا من عبارت  welcome  رو میخوام بفرستم که 7 کاراکتر داره و ID رو هم میدونیم پس دستور زیر رو اول میفرستیم:

بعد از فرستادن این دستور ماژول به شما کاراکتر   <   رو میفرسته و شما بعد از دریافت این علامت کلمه خودمون(welcome) رو میفرستیم که نتیجه به شکل زیر خواهد بود دقت کنید که نتیجه با فرستادن عبارت SEND OK تایید میشود.

دانلود برنامه ی اندروید

دانلود مقاله ی راه اندازی ماژول ESP8266 WiFi (قسمت دوم)

پایان قسمت دوم مقاله

About یونس عباس زاده

Check Also

راه اندازی ماژول تشخیص رنگ TCS3200 با آردوینو

این ماژول یکی از بهترین ماژول های تشخیص رنگ بوده که از سنسور TCS3200 استفاده ...

65 comments

  1. خیلی ممنون از آموزشتون
    ان شاالله که قسمت های بعدی هم هرچه زودتر آماده بشن

    بازم ممنون

  2. خدا خیرتون بده

  3. خدا قوت.انشاالله در همه کارهاتون موفق باشین.والا خیلی لنگ راه اندازی این ماژول بصورتHC05هستم.به عبارتی ارسال اطلاعات از گوشی و دریافت اطلاعات توسط پایه های RX/TX ماژول . تمامی ATهای ایم ماژول رو امتهان کرده ام.حتی فلشش هم زده ام.اما متاسفانه نمیدونم چطوری اطلاعات ارسالی از گوشی به ماژول را بتونم با پایه هایRX/TC ماژول دریافت کنم.آیا اصلا این ماژول به اطلاعات ارسالی از گوشی توی پایه هایRX/TXخودش پاسخ میده؟لطفا هر عزیزی که بلده یا حتی نظری داره جواب بده شاید بشه این مشکل رو حلش کرد.

  4. درود.
    بسیار عالی.لذت بردم.
    وبسایت بسیار پرباری دارین.
    تشکر بابت وقتی که میذارید.
    ارزوی بهترین ها رو واستون دارم.
    شادکام و موفق باشید.

  5. سلام ممنون میشم اموزش ساده ای هم در مورد خاموش و روشن کردن یک دیوایس با همین ماژول بدین !!!
    مرسی

  6. خیلی لنگ راه اندازی این ماژول بصورت مستقیم هستم. مثل HC05 .به عبارتی ارسال اطلاعات از گوشی و دریافت اطلاعات در پایه های RX/TX ماژول بدون وب سرور یا نت.اگر لطف کرده و توضیحاتی در این مورد ارائه بدین ممنون میشم.اصلان این انتظار از با تواناییهای ماژول مطابقت داره یا خیر؟

  7. با سلام
    دوست عزیز
    ولی فایل دانلود نمیشود لطفا اسم پی دی اف را انگلیسی انتخابنمائید .

  8. انشاالله کی؟

  9. بسیار ممنون منتظر قسمت سوم هستیم لطفا زودتر برید سراغ کد نویسی من تو اون قسمت مشکل دارم

  10. سلام خسته نباشید . منم مثل بقیه دوستان خیلی نیاز دارم که بتونم دقیقا همون کاری که با ماژول بلوتوث HC-05 انجام دادیم با کمک این ماژول هم انجام بدیم . یعنی با موبایل بتونیم یه پایه از میکرومونو که به ماژول وای فای متصل شده on و off کنیم . ایا اموزشی هم در مورد این موضوع قرار می دهید؟خیلی ممنون از تلاشتون

  11. با سلام.
    من همین ماژول مدل ورژن 7 خریداری کردم . ماژول به خوبی کار می کند دستورات at+command هم ارسال و دریافت می شود ولی موقع ارسال ip و پورت برای کانکت شدن eeror میگیره علت چیست ؟ تمامی تنظیمات هم به درستی انجام شده . ممنون میشم راهنمایی کنید با تشکر .

  12. سلام.
    خسته نباشید.
    وقتی دستور AT+CIPMUX=1 را میزنم جوابش اینه:

    AT+CIPMUX=1

    OK

    عبارت link is builded را دریافت نمیکنم.
    وقتی AT+CIPSTART=0,”TCP”,”192.168.1.102″,9999 را مینویسم جواب میده:

    ERROR
    Unlink

    وقتی عبارت ?AT+ CIPMUX را مینویسم جواب میده:

    ERROR

    دلیلش چیه؟
    خیلی ممنون.

  13. مشکل حل شد یادم رفته بود روی listen کلیک کنم.
    ولی یه مشکل دیگه ای که هست اینه که عبارتی را که از ماژول به گوشی میفرستیم را دو مرتبه پشت سر هم ارسال میکنه.
    مثلا طبق مثال خودتون دو مرتبه کارکتر welcom را ارسال میکنه.
    متشکرم.

  14. اقا یونس یه راه ارتباطی مگین که راحدتر باهات در تماس باشم ممنون میشم !!!
    ماژول رو ابدیت کردم سیستمش عوض شده کلا !!!
    هر کجا راحد تری برام میل کن مرسی !!!

    • در انجمن مطرح کنید electrolab.org

    • یونس عباس زاده

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

  15. سلام اقاي عزتي و اقاي عباس زاده.خسته نباشيد.ميخواستم بپرسم ايا قصد داريد اموزش اين ماژول رو ادامه بديد يا قسمت دوم اخرين قسمت از اموزش هست؟

  16. سلام و خسته نباشید خدمت بچه های الکترولب
    امیدوارم حالتون خوب باشه

    درگیر پروژه ای هستم که می خوام در یک قسمت پروژه از این ماژول و در قسمت دیگر از موبایل استفاده کنم برای ارسال دستورات به ماژول!!!
    حالا مشکل من اینه که می خوام فاصله تقریبی بین ماژول و موبایل رو بدست بیارم!!!
    1-آیا این ماژول این قابلیت رو داره که بشه قدرت سیگنال دهی ماژول رو اندازه گیری کرد؟
    2-آیا میشه در سمت موبایل برنامه ای نوشت که قدرت سیگنال تا ماژول رو به فاصله تخمین بزنه؟
    3-میشه ماژول و موبایل رو جوری برنامه ریزی کرد که هر وقت در شعاع آنتن دهی هم قرار گرفتن اطلاعات رو رد و بدل کنند؟

    ممنون از سایت خوبتون

    • یونس عباس زاده

      جواب سوال 1 شما رو نمیدونم یعنی در واقع چنین چیزی تو دستوراتش ندیدم
      جواب سوال 2 شما امکان پذیر هست ولی از توانایی من خارج هست (اگه دوستان این کار رو امتحان کردن کمک کنند)
      جواب سوال 3 بله امکان این کار وجود داره
      در توضیح به سوالات شما باید بگم که نمیشه به طور دقیق از قدرت سیگنال فاصله رو اندازه گرفت .چون ممکنه تو مسیر سیگنال دیوار باشه و قدرت سیگنال رو کم کنه

      • آقای عباس زاده

        به نظر شما ماژول ارتباطی یا ماژولی هست که بشه فاصله رو هم بدست آورد

        ممنون از جواباتون

        • یونس عباس زاده

          100% چنین ماژول هایی وجود دارن ویا میشه ساخت اما فعلا تو دسترس نیست
          براتون یه مثال بزنم ماژول وایفای مال 2011 و حول حوش این دور رو بر هست ولی الان دو سال نیست که باهاش کار میکنیم

  17. سلام خسته نباشید.
    یه سوال؟
    حتما ماژول ما باید به اینترنت وصل باشه؟
    نمیشه صرفا فقط با خود ماژول اطلاعات ردوبدل کرد؟
    یعنی یک طرف موبایل باشه و طرف دیگه فقط ماژول باشه

  18. عالی بود …………
    ممنون

  19. سلام
    مسافتی که از ESP جواب گرفتید چقدر بود ؟
    بین ESP و NRF کدومشون انتن دهی بهتری دارند ؟

  20. سلام و خسته نباشید
    این مقاله ای که گذاشتید واقعا فوق العاده بود.دستتون درد نکنه …ان شاءالله منتظر مقالات بعدی در این زمینه هستیم…

    اگر درباره نحوه ارسال و دریافت از یک سرور در فضای وب هم توضیح بدید ممنون مییشیم…

    فقط من درباره این مقالاتی که گذاشتید سه تا سوال داشتم:

    یک اینکه:وقتی که بخواهیم رشته ایی رو از فرستنده که فرضا موبایل باشه دریافت کنیم نیازی به دستور خاصی نیست

    بدهیم؟در واقع برای مثال در فضای codevisison ما ار دستور scanf استفاده میکنیم.ایا اینجاatcommand خاصی رو

    نباید نوشت؟

    دوم اینکه آیا در نرم افزار کدویژن یرای دستورات atcommand باید از دستور printf و ارسال رشته استفاده کرد؟

    وسوم اینکه:هدف من گرفتن دو پارامتر با مقادیری که در موبایل مشخص میکنم هستش…در واقع برنامه من در میکرو

    atmega 32 در خط( Scanf(“spi=%d,rst=%u”,&spi,&rst گیر میکنه و منتظر تا دو مقدار صحیح spi و rst بهش برسه

    اما حقیقت نمیدونم چطوری میتونم این کار رو انجام بدم

    اگر دستورات یا روشش رو بهم بگید ممنون میشم.حقیقتا راهی به ذهنم نمیرسه

    از وبلاگ بسسیار خوبتون هم بسیار سپاسگذارم

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

    • سلام در هنگام نوشتن این پست این ماژول راهنما و دیتاشیت درست حسابی نداشت ولی حالا شرکت سارنده همه فایل ها و راهنمایی های لازم رو در اختیار گذاشته می تونید از لینک زیر دانلود کنید می تونید پاسخ همه سوالاتتون رو پیدا کنید باز اگر مشکلی بود بهتره در انجمن مطرح کنید http://electrolab.org
      http://nitronix.ir//file/electrolabir/other/esp.zip

  21. ببخشید یه سوال دیگه رو فراموش کردم بپرسم…

    در مقاله فرموده بودید هنگامی که رشته ای توسط ماژول دریافت میشه ماژول اونو به صورت

    +IPD,ID,LENGH:DATA IN CHARCTER

    به پورت سریال خودش ارسال میکنه.اما من با دستور gets()میخوام فقط DATA IN CHARCTER رو به عنوان رشته ایی که

    بعدا قراره تبدیل به عددش کنم(با دستور atoi)دریافت کنم.چطوری میتونم DATA IN CHARCTER رو از رشته ایی که

    ماژول به پورت سریالش میفرسته استخراج کنم؟

    • سلام در هنگام نوشتن این پست این ماژول راهنما و دیتاشیت درست حسابی نداشت ولی حالا شرکت سارنده همه فایل ها و راهنمایی های لازم رو در اختیار گذاشته می تونید از لینک زیر دانلود کنید می تونید پاسخ همه سوالاتتون رو پیدا کنید باز اگر مشکلی بود بهتره در انجمن مطرح کنید http://electrolab.org
      http://nitronix.ir//file/electrolabir/other/esp.zip

  22. مهدی برزگری

    سلام مهندس خسته نباشید.
    معذرت می خوام میشه بگید شما بودجه پروژه هایی که انجام میدین رو از کجا میارین؟ با تشکر

    • بیشتر علاقه ی شخصی من هستش الکترونیک وقت آزادم رو به الکترونیک اختصاص می دهم و فعلا منبع در آمد من چیزی غیر از مهندسی الکترونیک هستش ولی سعی می کنم در آینده از الکترونیک هم در آمدی داشته باشم. و بودجه پروژه ها رو خودم تامین می کنم.

  23. سلام
    در دیتاشیت به ارتباط SPI اشاره شده. آیا میشه اطلاعات رو از طریق SPI به ماژول بفرستیم؟ (میخوام به جای سریال از SPI استفاده کنم)

  24. با سلام
    دوستان محبت فرمائید بگوئید در نصب نرم افزار sscom این خطا مربوط به چیه
    error reading comcombobx1->comproperty:registery error win error code 2

  25. مهندس قسمت سوم قسمت اخره یا بازم ادامه داره؟

    • اشالله وقت کنم من ادامش رو می نویسم با توجه به گستردگی کاربرد این ماژول شاید 3 قسمت دیگه هم ادامه داشته باشه

  26. سلام.اول اینکه خیلی ممنون.
    من دستورات ات کامنت و جواب گرفتم و مشگلی نبود ولی وقتی
    aT+CIPMUX=1

    link is builded نمیده

    OK
    وبا دستور
    AT+CIPSTART=0,”TCP”,”192.168.1.2″,9999

    ERROR

    0,CLOSED
    نشون میده.روی listing هم میزنم.میشه خواهشا کمک بدید.حتی یکی دیگه هم امتحان کردم اونم دقیقا همین ج میده
    و اینکه به اینترنتم وصله ولی دستور at+cwlifمیدم فقط ok میده و ip نمیده.
    خواهشا راهنمای بدید.

    • و فقط اینو یادم رفت بگم .شاید بی ربط و ساده باشه ولی گفتم بگم. میدونم خیلی …………….
      خوب راستش ipگوشی من که socket protocol میده کوچیک تر از ip گوشی شماس.کلا با نقطه هاش 11 تا

  27. میشه یکی ج منو بده

  28. هر کدوم از دوستان اگه دنبال یه نرم افزار اندروید میگرده واسه این کار من این لینک رو بهش پیشنهاد میکنم
    http://goo.gl/A4oA02

    بعد از دانلود سورس نرم افزار که در انتهای صفحه گذاشته شده شما فقط نیاز به سورس کلاینت دارید که با نرم افزار EClipse میتونید اونو باز کنید و تغییرش بدید.
    منم به سلیقه خودم تغییرش دادم.

    خب من یه ویدئو گذاشتم اگه خواستید میتونید از لینک زیر دانلودش کنید.
    با فشار دادن پوش باتن هایی که تو نرم افزار گذاشتم LED سبز و قرمز روشن میشوند.

    http://s3.picofile.com/file/8232509942/20160107_181955.mp4.html

  29. ببخشید الان ورژن ماژول مورد نظر شما که اموزش گزاشتید 07 یا 01
    من با 01 کار کردم نشد ولی چوم اقا حمید با 07 کار کرده من شک کردم.

  30. سلام دوستان.اگر براتون مقدوره فریمور اصلی این ماژول را اینجا قرار بدین.تا بقیه هم بتونن ازش استفاده کنند.توی نت مواردی مثل V0.9.2.2 یا V0.9.5.0 یا V0.9.5.2 وجود داره که دستکاری شده بوده وگاهی اصلا قابل استفاده نیستند

  31. سلام لینک ها خراب هستند تصحیح کنید لطفا
    قسمت اول هم همینطور

  32. سلام
    لطفا کمک کنید
    وقتی اس اس کام یا پی تو تی تی وای رو باز میکنم
    دایم این کد رو ارسال میکنه
    روانی م کرد
    مشکل چیه ؟
    چظور درست ش کنم ؟

    wdt reset
    load 0x40100000, len 1396, room 16
    tail 4
    chksum 0x89
    load 0x3ffe8000, len 776, room 4
    tail 4
    chksum 0xe8
    load 0x3ffe8308, len 540, room 4
    tail 8
    chksum 0xc0
    csum 0xc0

    2nd boot version : 1.4(b1)
    SPI Speed : 40MHz
    SPI Mode : DIO
    SPI Flash Size & Map: 8Mbit(512KB+512KB)
    jump to run user1 @ 1000

    rlŽ‚rlÌÿ
    Ai-Thinker Technology Co.,Ltd.

    ø
    ets Jan 8 2013,rst cause:4, boot mode:(3,6)

    wdt reset
    load 0x40100000, len 1396, room 16
    tail 4
    chksum 0x89
    load 0x3ffe8000, len 776, room 4
    tail 4
    chksum 0xe8
    load 0x3ffe8308, len 540, room 4
    tail 8
    chksum 0xc0
    csum 0xc0

    2nd boot version : 1.4(b1)
    SPI Speed : 40MHz
    SPI Mode : DIO
    SPI Flash Size & Map: 8Mbit(512KB+512KB)
    jump to run user1 @ 1000

    rlŽ‚rlÌÿ
    Ai-Thinker Technology Co.,Ltd.

    • من خودم با ماژول esp8266‌ کار نکردم در آینده قراره یک پست کامل تر و کاربردی تر در این مورد داشته باشیم مشکل شما رو هم متوجه نشدم

      • سلام
        مشکل م اینه که
        با نرم افزار های ترمینال که کار میکنم و دستورات رو به مآزول میفرستم
        دایما این کد میاد و من اصلا نمی بینم پاسخ ماژول رو
        ماژول رو عوض کردم مشکل حل شد
        اما بعد مدتی دیگه پاسخ دستورات رو نمیده
        یکی دیگه گرفتم این هم مثل اولی دایم داره کد هایی که بالا آورده رو به من نشون میده

        • علی نصرالله نژاد

          شما باید از pl2303 استفاده کنید.این مشکلی که میگید بخاطر 3.3 ولت نبودن یکی از ولتاژ هاست.(بخصوص در txd)

  33. سلام خسته نباشید.
    من میخوام دستورات AT رو از طریق مگا 8 به ماژول esp8266 بدم ، دستورات رو که با ترمینال میفرستم ماژول پیغام اوکی بر میگردونه.
    ولی همون دستورات رو که با مگا 8 میفرستم ، پیغام خطا بر میگردونه.
    این پیغام خطا رو من از طریق ترمینال میبینم ، و میکرو فقط نقش ارسال دستور رو داره ( پورت TX میکرو رو زدم به RX ماژول فقط )
    میکرو من با فرکانس داخلی 8 مگ کار میکنه.
    باود ریت هم یه بار با 9600 ،یک بار دیگه با 38400 امتحان کردم( باودریت میکرو و ماژول رو تغییر میدادم )

  34. با سلام و تشکر.
    آقا بنده با یک مشکل عجیب مواجه شدم که بدجوری سر در گریبان جیب فرو بردم و نتیجه ای حاصل نشده اگر کمک کنید مرا عمری بنده خود نموده اید. اما مشکل: ماژول در ارتباط با مبدل USB2SERIAL کامپیوتر عالی کار می کنه. از طرف دیگر میکرو ATMEGA 8 هم همین طور یعنی با کامپیوتر عالی کار می کنه. امااااا وقتی میکرو را به ماژول وصل می کنم اطلاعات از میکرو به درستی به ماژول ارسال میشه و ماژول بعد از دریافت اطلاعات ok میفرسته اما این پیغام OK در میکرو به صورت کارکتر های نامفهوم دریافت میشه ( در ضمن RX مبدل usb2serial را به rx میکرو زدم و در کامپیوتر می بینم که ماژول دستور را از میکرو به درستی دریافت و OK ارسال می کنه اما در lcd میکرو نامفهوم نشون می ده) . حقیر هنوز در منسب شاگردی بوده و با BASCOM برنامه نوشتم. خودم فکر می کنم باید از کریستال خارجی استفاده کنم. لطفا راهنمایی بفرمایید. بسیار میشکرم

  35. برای اتصال ماژول به مودم که گوشی هم به مودم وصل کنیم تا کنترل کنیم میخواستم بپرستم حتما در مد کلاینت باید باشه که گفتید یا مد سرور هم میشه؟اگه میشه چطوری ؟ در مد سرور بصورت مستقیم تونستم گوشی رو به ماژول وصل کنم حالا میخوام در همین مد ماژول رو به مودم وصل کنم و با گوشی کنترل کنم.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *