راه اندازی ماژول WiFi ESP8266 (قسمت دوم)
4.6 (92.31%) 13 votes

۴٫۶ (۹۲٫۳۱%) ۱۳ votes

ESP_PIC

ایجاد یک شبکهTCP SERVER از طریق ماژول ESP8266-12 و گوشی موبایل:

در قسمت اول آموزش راه اندازی ماژول ESP8266 در مورد ویژگی های این ماژول , نحوه پروگرم کردن آن از طریق رابط سریال و همچنین راه اندازی سخت افزاری این ماژول به طور کامل صحبت کردیم.وقت آن رسیده است که در مورد کدهای این قطعه و نحوه نوشتن برنامه بیشتر صحبت کنیم.همان طور که در قسمت اول آموزش گفتیم , ماژول ESP8266 معمولا با برنامه اولیه AT Command Firmware ارائه می شود.در مورد نحوه برنامه ریزی این فایل بر روی حافظه ماژول نیز توضیحات لازم ارائه شد.در صورتی که با این روند آشنا نیستید می توانید قسمت اول این آموزش را مطالعه فرمایید.

AT Command ها در واقع دستوراتی هستند که می توان به وسیله آن ها ماژول را در حالت کاری مورد نظر پیکر بندی نمود.این دستورات با عبارت’AT+X”شروع می شوند که به جای X دستور مربوطه قرار می گیرد.بسیاری از ماژول های دیگر مانند ماژول GSM نیز از این دستورات پشتیبانی می کنند.درفایل زیر لیست مهمترین دستورات AT Command  به همراه توضیحات آن آورده شده است , می توانید آن را دانلود کنید.

AT Instruction Set_v0.21.PDF

 

اما در این آموزش قصد داریم یک سرویس TCP  را با استفاده از ماژول ESP8266 ایجاد کنیم به طوری که با روشن نمودن WiFi هر دستگاه اندرویدی و یا کامپیوتری که دارای کارت شبکه WiFi است, می توان مانند Access Point به ماژول وصل شد و با استفاده از یک برنامه ارائه دهنده سرویس TCP دستوراتی برای ماژول ارسال کرد.ماژول نیز این دستورات را در قالب یک رشته کاراکتر برای میکروکنترلر ارسال می کند و میکرو نیز با پردازش این رشته , پین های خود را متناسب با دستور دریافتی صفر یا یک می کند. برای این پروژه مدار شکل زیر را ببندید:در این پروژه از ماژول ESP8266 ورزن ۱۲ استفاده شده است .همچنین میکروکنترلر نیز ATMEGA16A است.

schematic

میکروکنترلر با ارسال دستورات زیر برای ماژول ,آن را به عنوان TCP SERVER پیکربندی می کند.

AT+CWMODE=3 :این دستور ماژول را در مد Access Point  و Station قرار می دهد.

AT+CIPMUX=1: از این دستور برای اتصال چند دستگاه به ماژول استفاده  می شود.

AT+CIPSERVER=1 :این دستور ماژول را در مد TCP server پیکربندی می کند.

سورس کامل پروژه را همراه با توضیحات می توانید در پایان نوشته دانلود کنید.

 

برنامه های اندرویدی زیادی وجود دارند که از طریق پروتکل TCP می توانند تبادل اطلاعات کنند.یکی از این برنامه ها برنامه TCP/ UDP SERVER است که هم از طریق TCP و هم از طریق UDP می تواند با دیگر دستگاهها ارتباط برقرار کنند. این برنامه را از لینک زیر دانلود کنید.

images

UDPTCPServerFree.APK

پس از دانلود و نصب برنامه , به قسمت تنظیمات اپلیکیشن رفته ومطابق شکل زیر تنظیمات لازم را اعمال کنید.

set

این برنامه از یک سری کلید تشکیل شده که با فشردن هر کدام از آن ها یک رشته کاراکتر را در قالب پروتکل TCP ارسال می کند.برای هماهنگی بین دستورات ارسالی و دستورات موجود در برنامه میکروکنترلر , با نگه داشتن کلید مورد نظر عبارت command را مطابق شکل زیر تغییر دهید.

CMD

این کار را برای چهار کلید و به ترتیب LED1 تا LED4 و cmd1 تا cmd4 تکرار کنید.همچنین دو کلید برای روشن و خاموش کردن همه ی کلید ها با دستور on-all و off-all تنظیم کنید.

buttons

پس از اتصال تغذیه مدار و روشن نمودن WiFi گوشی خود ، ماژول را با نام مورد نظر جستجو کنید و به آن connect  شوید.پس از این کار برنامه UDP/TCP SERVER را باز کنید و کلید های تنظیم شده را یک به یک فشار دهید . با این کار باید led  های متصل به میکروکنترلر روشن شود.نکته قابل توجه در مورد این پروژه این است که شما از طریق چندین دستگاه به طور هم زمان می توانید به ماژول وصل شوید و دستورات را برای آن ارسال کنید.

 

برنامه میکرو کنترلر با کامپایلر CODEVISION و به زبان C نوشته شده است.

 

با وارد کردن ایمیل، لینک دانلود در کمتر از 30 ثانیه به آدرس ایمیل شما ارسال می شود و می توانید فایل را بدون محدودیت دانلود نمایید.

آدرس ایمیل

 

اکبر محمدی

دیدگاه کاربران ...

تعداد دیدگاه : 74

  1. توسط امین

    سلام دوستان عزیز
    از سایت خیلی خوبی داری، بهتون تبریک میگم
    با این ماژول تصویر رو هم میشه به گوشی ارسال کرد؟
    مثلا تصویر دوربین مداربسته یا آیفن تصویری

  2. توسط محمد

    سلام
    سایت مفیدی دارید
    یه سوال داشتم ایا میشه ای پی ماژول رو تغییر داد؟
    اگر میشه راهنمایی کنید
    متشکرم

  3. توسط dawin

    سلام
    ۱-راهی هست که برقراری اتصال رو با یک کلاینت به صورت سخت افزاری متوجه بشیم مثلا یکی از پایه های ماژول تغییر وضعیت بده تا از این پایه بشه برای وقفه در میکروکنترولر استفاده کرد؟
    ۲-برای برقراری ارتباط از طریق SPI آیا باید AT+COMMAND ها را از طریق SPI برای ماژول بفرستم؟
    ممنون

    • توسط اکبر محمدی

      همانطور که در قسمت اول آموزش گفته شده این ماژول در واقع یک میکروکنترلر هست که یکی از واحد های جانبی اون WIFI است.پس برای یک کردن پایه اون باید توی برنامه اش تعریف بشه.AT COMMAND هم یک برنامه هست که در واقع شما را درگیر کدنویسی نمی کنه و صرفا از طریق ارسال عبارت هایی از این ماژول استفاده می کنید.با استفاده از برنامه AT COMMAND شاید بتونید از وقفه ارسال و دریافت UART استفاده کنید.اما اگر می خواهید با هر بار وصل شدن کلاینت یکی از پین های ماژول یک بشه باید برنامه ای اختصاصی برای اون بنویسید , کامپایل کنید و بر روی ماژول قرار دهید.برای نوشتن برنامه اختصاصی , نرم افزارها و کامپایلر هایی در سطح اینترنت وجود دارند که از عبارت هایی موسوم به LUA برای برنامه نویسی استفاده می کنند که البته همه آنها رایگان نیستند ولی اخیرا افرادی کتابخانه این ماژول را برای ARDUINO نوشته اند که می تونید از اون استفاده کنید.البته آموزش این کار به زودی در سایت قرار داده می شه.
      در مورد سوال دوم هم باید بگم که AT+COMMAND فقط از طریق پورت UART به میکرو فرستاده می شه و برای استفاده از SPI باید از برنامه ی دیگری استفاده کنید.

  4. توسط مرتضی

    سلام و خسته نباشید.
    میخواستم بابت قسمت ۱ اموزش تشکر کنم.کارمونو راه انداخت.ممنون.
    میخواستم ببینم برای ویندوز اپ یا صفحه html ای مانند tcp/udp server موجود هست؟
    ممنون

  5. توسط علیرضا

    سلام. از مطالب خوبتون تشکر میکنم. من از ماژول esp-01 استفاده میکنم و به صورت زیر تنظیم کردم
    AT+CWMODE=3
    AT+CIPMUX=1
    AT+CIPSERVER=1,8888
    و دستور CIFSR رو میزنم آی پی رو ۱۹۲٫۱۶۸٫۴٫۱ نشون میده ولی نمیتونم به وسیله برنامه گوشی با ماژول کانکت بشم. لطفا راهنمایی کنید؟؟؟

    • توسط اکبر محمدی

      دقت کنید که پورت مربوطه در اپلیکیشن را روی ۳۳۳ تنظیم کنید همچنین عبارت AT+CIPSERVER=1 درسته .اگه با این کار درست نشد برنامه رو روی یه گوشی یا تبلت دیگه تست کنید.

  6. توسط بهرام

    چند بار شماره موبایل را فرستادم ولی کد ۴ رقمی را دریافت نکردم.

  7. توسط esmaeilataie1993@gmail.com

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

  8. توسط mars7th

    سلام.
    خسته نباشید.
    این سورس کد راه اندازی ارور ۴۰۴ میده.

  9. توسط رامش

    با سلام
    ممنون از پاسخگویی خوبتون به سوالات
    من قصد دارم یک اکسس پوینت بسازم و طبق این دستورات پیش میرم:
    AT+RST
    AT+CWMODE=3
    AT+CWSAP=”espAP”,”123″,5,3
    اررور میده مرحله آخر!
    ولی (AT+CWSAP=”espAP”,”123″,5,0) که امنیتش روی OPEN MODE باشه اکی میشه
    کانال های مختلفی رو هم امتحان کردم . مشکلش با رمز گذاشتن چیه؟

  10. توسط محمد

    سلام.ممنون از سایت خوبتون.
    من برای پروژه کارشناسی نیاز به تباذل اطلاعات بین میکرو و کامپیوتر و میکرو و گوشی اندروید دارم.چطور میتونم این کارو بکنم.لطفا هر چه زودتر راهنماییم کنید،باید سریع پروژمو تحویل بدم 🙁
    ممنون

    • توسط اکبر محمدی

      همین پروژه دقیقا همین کار رو انجام میده.کافی یه بار پست رو از اول تا آخر بخونی . برای ارسال اطلاعات می تونید از همین برنامه میکرو ایده بگیرید.

  11. توسط enayati

    AT+CIPSERVER=1,1395
    OK
    ۰,CONNECT
    ۰,CLOSED
    ۰,CONNECT
    ۰,CLOSED
    ۰,CONNECT
    ۰,CLOSED
    سلام ممنون از پاسخ دهی سریعتون
    یه مشکل من با ایجاد سرور دارم اونم قطع و وصل شدن اتصال هستش که مدام روی ترمینال نشون میده . راه حل چیه؟

    • توسط enayati

      لازمه که بگم من این دستور AT+CIPSTO? رو زدم که فکر میکردم فقط برای مشاهده تنظیمات تو زمینه time out هست و بعد از اون اینطوری شد ! چهطوری میتونم از حالت time out داشتن خارجش کنم؟ ؟

  12. توسط محمد

    سلام.ممنون از پاسخ دادنتون.برنامه ای مثل udpstpserver برای کامپیوتر هست؟اگه هست نامش رو بگید.ممنون میشم

  13. توسط Azhilof

    سلام
    ممنون از پست مفید تون
    من تمام تنظیمات را مطابق گفته شما انجام دادم برای تبدیل ماژول به سرور.
    موبایل من به ماژول متصل شده و علامت وای فای هم حتی بالای صفحه ی گوشی قابل مشاهده است.
    اما با چند تا اپلیکیشن امتحان کردم و اطلاعات را مطابق زیر وارد کردم ولی هیچ کدوم متصل نمیشوند.
    IP : 192.168.4.1
    PORT : 8888
    وقتی هم که دستور AT+CIFSR را میزنم تا آی پی ماژول را پیدا کنم، ERROR میدهد.
    لطفا راهنمایی بفرمایید.

  14. توسط جواد مختاری

    سلام. خسته نباشید.
    اول از همه لینکی که انتهای پروژه قرار دادین کار نمیکنه.این:
    “”برنامه میکرو کنترلر با کامپایلر CODEVISION و به زبان C نوشته شده است:….””
    دوما برای روشن و خاموش کردن led ها باید به میکرو برنامه بدیم یا داخلش برنامش نوشته شده هست؟ اگه باید برنامه داد بگین چجوری و با چه برنامه ای؟ ممنون

  15. توسط جواد مختاری

    سلام. خسته نباشید.
    اول از همه لینکی که انتهای پروژه قرار دادین کار نمیکنه.این:
    “”برنامه میکرو کنترلر با کامپایلر CODEVISION و به زبان C نوشته شده است:….””
    دوما برای روشن و خاموش کردن led ها باید به میکرو برنامه بدیم یا داخلش برنامش نوشته شده هست؟ اگه باید برنامه داد بگین چجوری و با چه برنامه ای؟ ممنون.( اگه میشه جواب بدید.)

  16. توسط محمد

    با عرض سلام و خسته نباشید؛ممنون از آموزشتون.
    من برای تغییر باود ریت ماژول از دستورAT+CIOBAUD= استفاده میکنم.اما در برنامه ترمینال ارور میده.این کاررو برای چندین باودریت انجام دادم اما فایده ای نداشت.لطفا راهنماییم کنید.با تشکر

  17. توسط محمد

    سلام،مشکل باودریتم حل شد.ممنون از راهنماییتون.
    چطور با استفاده از میکرو کنترلر دستورات AT COMMAND رو به ماژول esp بفرستم؟من همونجور که تو پروژتون بود کدامو نوشتم.ولی اصلا دستورات at commadn به ماژول ارسال نمیشه.اگه میشه راهنماییم کنید.و اگه میتونید مختصری در باره کد های پروژه مخصوصا وقفه بکار برده شده توضیح بدید.
    با تشکر

    • توسط اکبر محمدی

      وقفه پورت سریال با دریافت هر بایت اجرا می شه . اطلاعات دریافتی از ماژول توی یک بافر قرار می گیره . برای اینکه هر بسته داده رو بتونی پردازش کنی اول باید منتظر دریافت کاراکتر n\ یا r\ باشی(چون دستورات AT با این کاراکتر خاتمه پیدا می کنه) بعد از اون با ید بسته داده رو با کدها و توابعی که می نویسی تجزیه و عبارت مورد نظرت رو بیرون بکشی.

    • توسط حسینی

      سلام من مشکل باودریت شما رو دارم مشکلتون چطوری حل شد؟
      دستور AT+CIOBAUD رو میزنم ارور میگیره

  18. توسط محمد

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

  19. توسط Mandoz2013@gmail.com

    سلام خسته نباشید
    اگه لینک رو درست کنید خیلی ممنون میشم
    خیلی گیرم

  20. توسط Mandoz2013@gmail.com

    لینک خرابه

  21. توسط pc.mcse@yahoo.com

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

  22. توسط radinbodn@yahoo.com

    درود بر شما
    در صورتی که بخواهیم پورت های a را صفر و یک کنیم چه باید کرد؟

  23. توسط مهریا

    سلام و ممنون از سایت شما. من میخوام دمای محیط رو داشته باشم و تو یه درجه ای که رسید که قابل تنظیم هم باشه رله رو باز کنه و اطلاعات تو lcd و تو گوشی دیده بشه کارم سخته ؟ میشه راهنمایی کنین ؟؟ البته با آردینو

    • توسط اکبر محمدی

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

  24. توسط محمد

    سلام
    ممنون برای در اختیار گذاشتن اطلاعاتتون
    لینک دانلود برنامه متاسفانه کار نمیکنه!!
    ممنون میشم رسیدگی کنید

  25. توسط رامین

    با سلام و خسته نباشید
    می خواستم بدونم من برای این که از دو تا ماژول وای فای برای ارتباط بی سیم بین دو تا میکرو استفاده کنم باید چکاری انجام بدهم من به راحتی می تونم اطلاعت USART میکرو را ارسال و دریافت کنم در RF ولی با وای فای تا حالا کار نکردم نمی دونم چیکار باید کنم برای فعال سازی ماژل به عنوان فرستنده و گیرنده!!!!!!!!؟
    مدار من دو تا میکرو هستش که یکی اطلاعات رو ارسال می کنه و دیگری دریافت می کنه و انلایز می کنه من نمی خوام از اردیونو استفاده کنم می خوام طوری از ماژول استفاده کنم که اطلاعات که من می خوام رو از میکرو بگیره و بفرسته و دیگری اون رو بگیره و بفرسته به میکرو دیگه همین.
    آیا برنامه خاصی میخواد ؟
    لطفآ کمکم کنید

  26. توسط سید محمد

    با سلام لینک دانلود خراب شده است
    لطفا بررسی فرمایید ممنون

  27. توسط arefrf2010@gmail.com

    سلام لینک دانلود خرابه میشه , لطفا رسیدگی کنید.

  28. توسط mahyar

    اگه لینک رو درست کنید خیلی ممنون میشم

  29. توسط mahyar

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

  30. توسط pouyashirinfard@gmail.com

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

  31. توسط omid

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

  32. توسط فرشاد

    سلام لینک دانلود که برام ایمیل کردین خراب است. لطفا پیگیری کنید. سپاس

  33. توسط sajadjazinizadeh@yahoo.com

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

  34. توسط پیمان

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

  35. توسط sadeqthani@gmail.com

    سلام
    لینک دانلودی که به ایمیل ارسال می شه خرابه
    لظفا درستش کنین
    با تشکر

  36. توسط yazdekhastias@yahoo.com

    سلام فایل زیپ خراب است

  37. توسط z.amir04lm26@gmail.com

    با سلام و تشکر از آموزشتون، لینک خراب است.

  38. توسط amir

    با سلام من این پروژه رو بستم ولی اصلا به گوشی کانکت نمیشه . ولی وقتی ماژول esp رو روشن میکنم میتونم از طریق وای فای بهش وصل بشم ولی از طریق نرم افزار اندروید نمیشه و هیچ led روشن نمیشه .. نمیدونم مشکلم کجاست اگه بشه راهنماییم کنین ممنون میشم

  39. توسط حمیدرضا مجتهد

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

  40. توسط amjad

    سلام
    لینک دانلود درست نیست
    لطفا ایمیل کنید

  41. توسط vahid_yazdani2006@yahoo.com

    سلام برادر خسته نباشی میشه تنظیمات esp8266 توضیح بدید؟ از چه دستوری استفاده کنم که بتونم با میکرو ارتباط برقرار کنم؟من هرکاری کردم نتونستم.
    ممنون میشم راهنماییم کنید

  42. توسط Ashkan

    سلام
    بابت سایت خوبتون واقعا ممنون
    متاسفانه لینکی برای من ارسال نمیشه ، لطفاً لینک دانلود رو برام ارسال کنید، ممنون

  43. توسط moghaddam

    سلام فایل را به ایمیل ارسال نمی کند

  44. توسط علیزاده

    سلام. ایمیلم رو وارد کردم اما لینک دانلود برام ارسال نشد. لطفا پروژه رو به ایمیل alizadehamir20@gmail.com یا alizadehamir21@gmail.com ارسال کنید.

  45. توسط mohammad

    سلام من ایمل رو ارسال میکنم ولی لینک واسه ی من ارسال نمیشه

  46. لطفا قبل از ارسال سئوال یا دیدگاه سئوالات متداول را بخونید.
    جهت رفع سوالات و مشکلات خود از سیستم پشتیبانی سایت استفاده نمایید .
    دیدگاه ارسال شده توسط شما ، پس از تایید توسط مدیران سایت منتشر خواهد شد.
    دیدگاهی که به غیر از زبان فارسی یا غیر مرتبط با مطلب باشد منتشر نخواهد شد.

    دیدگاه خود را بیان کنید

جدیدترین محصولات