آردوینو پروژه های آردوینو

آموزش ماژول ESP8266 بخش چهارم(مد کلاینت)

esp8266- Arduino
نوشته شده توسط علیرضا قربانی

در آموزش‌های قبلی AT-COMMAND های ماژول ESP8266 به صورت کامل توضیح داده شد و همجنین ماژول در مد کلاینت راه‌اندازی شد. در این قسمت قصد داریم این ماژول را در مد client قرار دهیم و آن را به یک گوشی اندرویدی متصل کنیم ( گوشی اندرویدی در حالت سرور قرار می‌گیرد) و به تبادل دیتا بپردازیم.در ادامه آموزش با مر جع تخصصی آردوینو ،دیجی اسپارک همراه باشید.

 

آموزش راه‌اندازی ماژول Wifi ESP 8266 آردوینو بخش اول(at command ها)

آموزش ماژول wifi ESP 8266 آردوینو بخش دوم(at command ها)

آموزش ماژول WIFI esp8266 آردوینو بخش سوم (ماژول در خالت سرور قرار می‌گیرد)

 

 

 

سخت افزار مورد نیاز

آردوینو UNO

ماژول وای‌فای esp8266

 

 

اتصالات

آزایش پین‌های ماژول وای فای esp8266 به صورت زیر می‌باشد:

آزایش پین‌های ماژول Esp8266

آرایش پین‌های ماژول Esp8266

 

ماژول را طبق تصویر زیر به‌ آردوینو متصل کنید:

  • RXبه پین شماره ۳ متصل شود
  • TX به پین شماره ۲ متصل می‌شود
  • VCC به ۳٫۳ولت متصل شود ( به هیچ عنوان به ۵ ولت متصل نشود )
  • GND به GND آردوینو
  • پین RESET و همجنین CH_PD نیز به ۳٫۳ ولت منصل شود
  • GPIO-0 و GPIO-2 بدون اتصال باشند

 

اتصال ماژول wifi esp8266 به آردوینو

اتصال ماژول wifi esp8266 به آردوینو

 

هم اکنون برای اتقال AT command ها به ماژل ، کد‌های زیر را بر روی آردینو خود آپلود کنید:

 

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

esp8266 wifi arduino

 

وای فای گوشی خود را روشن کنید و access point ها اطراف خود را جست و جو کنید و به وای‌ فایی به نام AL-THINKER_0F04D  متصل شوید:

esp8266 wifi arduino

 

 

 

 

 

 

 

اکنون باید توسط دستور  AT+CWMODE ماژول را در دوحالت استیشن و اکسس‌پوینت قرار دهیم پس در سریال مانیتور نرم‌افزار آردوینو عبارت زیر را وارد کنیم:

esp8266 wifi arduino

 

سپس باید توسط دستور زیر  ارتباط چندگانه را فعال کنیم:

 

esp8266 wifi arduino

هم اکنون باید یک نوع کانکشن از توع TCP ایجاد کنیم ، برای این منظور نیاز به ip تلفن همراه و همچنین شماره پورت گوشی همراه داریم.نرم‌افزار socket protocol را از لینک زیر دانلود کنید.

دانلود نرم‌افزار socket_protocol

برای بدست آوردن ip تلفن همراه خود ، در نرم‌افزار socket protocol وارد قسمت setting & help شوید. در این قسمت شما ip تلفن همراه خود را مشاهده می‌کنید.

 

esp8266 wifi arduino

 

 

 

 

بعد از این کار باید وارد قسمت سرور شوید و در port listen to یک شماره ۴ رقمی برای ایجاد پورت وارد کنید و سپس بر روی listen کلیک کنید.به عنوان مثال ما از پورت ۸۸۸۸ استفاده و بر روی listen کلیک می‌کنیم.

 

esp8266 wifi arduino

 

 

 

 

بعد از کلیک کردن بر روی listen در صورتی که عملیات ایجاد پوردت با موفقیت انجام شده باشد‌، عبارت socket in listen نمایش داده می‌ شود.

 

4

 

 

 

اکنون شما ip و شماره پورت مورد نیاز برای ایجاد یک ارتباط با پروتکل TCP را در اختیار دارید . حال توسط دستور زیر این ارتباط را ایجاد می‌کنیم:

esp8266 wifi arduino

 

در صورتی که عملیات با موفیت انجام شده باشد شما باید ok را  در سریال مانیتور نرم‌افزار دریافت کنید.

esp8266 wifi arduino

 

 

ارسال دیتا از گوشی موبایل به ماژول esp8266

اکنون ماژول esp8266 شما با موفقیت در مد کلابنت قرار گرفته است . حال برای ارسال اطلاعات از گوشی موبایل به ماژول ، در قسمت Send to client عبارت مورد نظر را وارد کنیم و سپس بر روی send کلیک کنیم.بعد از این کار عبارت  مورد نظر شما بر روی سریال مانیتور نرم‌افزار آردوینو نمایش داده می‌شود.برای مثال ما عبارت digispark را در قسمت send to client می‌نویسم و سپس بر روی send کلیک می‌کنیم.

 

esp8266 wifi arduino

 

 

بعد از ارسال ، رشته مورد نظر به صورت زیر بر روی سریال مانیتور نرم‌افزار آردوینو به نمایش در می‌آید.

 

esp8266 wifi arduino

 

همانظور که مشاهده می‌کنید دیتایی با مقدار +IPD,0,8:digispark دریافت شده است. که عدد ۰  ، آی دی شماره اتصال و عدد ۸ هم طول کاراکتر دریافتی می‌باشد.

 

ارسال دیتا از‌ آردوینو به ماژول esp8266

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

id: آی دی اتصال

length :طول رشته‌ای که می‌خواهیم ارسال کنیم.

فرض کنید می‌خواهیم عبارت digispark را از ماژول به تلفن همراه ارسال کنیم برای این منظور ابتدا طول رشته متن مورد نظر را بدست می‌آوریم.عبارت digispark از ۹ حرف تشکیل شده است پس برای ارسال آن ابتدا باید دستور زیر را ترمینال نرم افزار آردوینو وارد کنیم:

منتظر می‌مانیم تا ok و علامت < را دریافت کنیم‌(همانند تصویر زیر):

esp8266 wifi arduino

سپس عبارت digispark را در ترمینال وارد می‌کنیم و بر روی  send کلیک می‌کنیم.

همانطور که  مشاهده می‌کنیم عبارت digispark بر روی تلفن همراه شما به نمایش در می‌آید.

 

esp8266 wifi arduino

 

درباره نویسنده

علیرضا قربانی

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

۲۰ دیدگاه

  • سلام
    آقای قربانی میشه نحوه کامپایل برنامه روی ماژول esp8266 رو توضیح بدین، با چه نرم افزاری وچطوری؟
    بادریت این ماژول رو توسط at کامند تغییر داده و روی ۵ مگابیت گذاشتیم دیگه با ارسال کامند عبارت ok ارسال نمیشه و فقط با ریست نمودن ماژول درنرم افزار پورت سریال یه چیزی نشون میده ولی عبارت ready ظاهر نمیشه.
    لطفا” راهنمائی کنید.

  • سلام اگه امکانش هست نحوه کار با این ماژول رو در مد اینترنت اشیاء(iot) آموزش بدید با تشکر از سایت خوبتون

  • سلام اگه امکانش هست نحوه کار با این ماژول رو در مد اینترنت اشیاء(iot) آموزش بدید با تشکر از سایت خوبتون

  • سلام آقای مهندس. یه سوال داشتم ازتون اینکه میشه چند تا ماژول رو همزمان به گوشی اندرویدی وصل کرد در حالت اکسس پوینت؟ یعنی از تو گوشی یه کدی رو ارسال کنی بعد گوشی به تمام ماژولها این کد رو ارسال کنه. برای مثال یکی از ماژولها به کولر وصل هست، یکی به درب حیاط و … خوب دیگه بقیه کار هم معلومه. یعنی به معنای واقعی اتوماسیون خانگی رو اجرا کنی. ممنون میشم از توجه شما.

  • با سلام
    ممنون از آموزش خوبتون.
    من نیاز دارم که با esp8266 به یک آدرس وب مراجعه کنم. فقط در همین حد کار من رو را میندازه.
    تا اینجا که تلاش کردم فقط به آدرس اصلی میتونم برم، مثلا google.com
    اما میخوام بتونم به
    https://www.google.com/imghp?hl=en&tab=wi&ei=CyVUV8uxCoWRaLDBrqgL&amp;
    ved=0EKouCBUoAQ
    این آدرس برم برای مثال.
    راه نمایی بفرمایید ممنون میشم.
    سپاس

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

  • سلام من ماژول ESP8266 را به صورت web server راه اندازی کردم. بطور مثال از طریق موبایل فرمان میدهم تا یک LED روشن شود. مشکل من اینست که وقتی برق قطع و وصل میشود آن LED را که قبلا فرمان داده بودم روشن شود دیگر روشن نیست. و دوباره باید فرمان دهم تا روشن شود. انگار وقتی برق قطع و وصل میشود ماژول ریست میشود و کد ها را دوباره از اول میخواند. من میخواهم هر فرمانی را که به ماژول میدهم در حافظه اش ذخیره شود به طوری که وقتی برق قطع و وصل شد ماژول همان فرمان هایی را که قبلا از طریق موبایل بهش داده بودم دوباره اجرا کند.

  • سلام
    آقای قربانی من ورژن ۱۲ این ماژول رو خریدم و از طریق کابل یو اس بی وصلش کردم به سیستم و طبق آموزش شما ماژول رو فلش کردم
    حالا برای بعضی از دستورات مثل AT , AT+CWMODE جواب میده ولی مثلا برای بعضی دستورات دیگه مثل
    AT+CWLAP , ATJAP اینها همه ارور برمیگردونه تنظیمات هم دقیق هست و با بادریت های مختلف تست کردم چندین بار فلش زدم ولی درست نشد توی مدهای مختلف بردم ماژول رو ولی در همه اون مد ها این مشکل وجود داره

  • سلام آقای مهندس ممنون بابت آموزش های جامع و کامل اگر امکانش هست آموزش راه اندازی یک یا چند رله را توسط ماژول وایفای ۸۲۶۶ آموزش دهید با تشکر فراوان

  • سلام
    می خواستم با wifi و گوشی اندروید لامپ خاموش و روشن کنم لطفا راهنمایی کنید
    می توان از wifi مودم خانه به آردینو وصل کرد

دیدگاهتان را بنویسید