آموزش گام به گام ESP32_جلسه نهم(راه اندازی WiFi ماژول بصورت Client و ارسال داده با پروتکل TCP)
آموزش گام به گام ESP32_جلسه نهم(راه اندازی WiFi ماژول بصورت Client و ارسال داده با پروتکل TCP)
برای دیدن آموزش جلسه پنجم(راه اندازی کلید ورودی) کلیک کنید.
برای دیدن آموزش جلسه ششم(راه اندازی ADC) کلیک کنید.
برای دیدن آموزش جلسه هفتم(راه اندازی DAC) کلیک کنید.
برای دیدن آموزش جلسه هشتم(راه اندازیPWM) کلیک کنید.
در این جلسه قصد داریم از یکی از مهمترین ویژگی های این ماژول استفاده کنیم و قسمت WiFi آن را راه اندازی نماییم و ماژول را در حالت Client قرار دهیم و از طریق TCP دیتایی را به یک سرور ارسال نماییم که در این مطلب با استفاده از نرم افزار Hercules لپ تاپ را به سرور تبدیل می کنیم و دیتای انتقالی را با استفاده از این نرم افزار مانیتور می کنیم.
برای کسب اطلاعات بیشتر در مورد نرم افزار Hercules می توانید به لینک های زیر مراجعه فرمایید:
معرفی نرم افزار Hercules_جلسه اول
معرفی نرم افزار Hercules_جلسه دوم
مانند مطالب قبلی ابتدا نرم افزار Arduino را باز می کنیم و کد مربوط به این آموزش را درون آن تایپ می کنیم.
برنامه مورد نظر در ادامه مطلب بصورت خط به خط به همراه توضیحات قرار گرفته شده است.
اضافه کردن کتابخانه مربوط به کار با شبکه وای فا، اتصال به اینترنت و ...
اضافه کردن کتابخانه مخصوص کار با امکانات شبکه در ماژول ESP
در دستور بالا برای اتصال به مودم مورد نظر باید نام مودم (SSID) و رمز مودم را در آرگومان های تابع بالا اضافه نمود.
بعد از اجرا دو Enter عبارت بالا در سریال مانیتور نمایش داده می شود و ماژول سعی دارد تا به مودمی که مشخصات آن در چند سطر قبل داده شده متصل شود.
ماژول بصورت مداوم سعی دارد تا به مودم متصل شود و درون حلقه باقی می ماند تا بتواند به مودم متصل شود و هر 500 میلی ثاینه در صورتی که نتواند به مودم متصل شود کاراکتر '.' را در سریال مانیتور نمایش می دهد
در صورتیکه بتواند به مودم متصل شود بعد عبارت بالا در سریال مانیتور نمایش داده می شود.
پس از آن عبارت "IP address " در سریال مانیتور چاپ و در خط بعدی آن آی پی که خود ماژول گرفته است را نمایش می دهد.
پس از انجام تنظیمات اولیه و متصل شدن به مودم باید پورتی که قرار است داده به آن ارسال شود را با دستور بالا مشخص کنیم
پس از تنظیم پورت نوبت به تنظیم IP سرور می رسد که در این برنامه چون ما قصد داریم به لپ تاپ وصل شویم آی پی که لپ تاپ گرفته را به برنامه اضافه می کنیم.
در این بخش ابتدا عبارت "connecting to " در سریال مانیتور نمایش داده می شود و پس از آن IP مورد نظر ما نمایش داده می شود.
در این بخش ماژول سعی می کند تا به سرور مورد نظر که IP و شماره پورت آن مشخص شده متصل شود در صورتی که متصل نشد عبارت "connection failed" و پس ازآن در خط بعدی عبارت "wait 5 sec" نمایش داده می شود و ماژول برای 5 ثانیه در این بخش متوقف می شود.
در این خط از برنامه در صورتیکه ماژول توانسته باشد به سرور متصل شود عبارت فوق به سرور ارسال می شود
در این قسمت پس از ارسال دیتا به سرور منتظر می ماند تا اگر جوابی از سرور ارسال شد را دریافت نماید با استفاده از دستور بالا ما می توانیم رشته دریافتی را تا رسیدن به یک کاراکتر خاص دنبال کنیم مثلا در این برنامه رشته ارسال شده از طرف سرور تا رسیدن به کاراکتر '.' منتظر می ماند و رشته دریافتی را در متغیر Line ذخیره می کند در قسمت for تا 5 مرتبه در صورتیکه داده ای از سمت سرور دریافت نشد منتظر می ماند و پس از آن از حلقه خارج می شود.
در صورتیکه داده ای از سمت سرور دریافت شود آن داده در سریال مانیتور نمایش داده می شود
در انتهای برنامه کانکشن بسته می شود و 5 ثانیه برنامه متوقف می شود و روند برقراری ارتباط با سرور مجددا آغاز می شود.
در تصویر زیر روند اجرای برنامه و پیغام های نمایش داده شده در سریال مانیتور را می بینید:
در تصویر زیر تنظیمات مربوط به نرم افزار Hercules و داده های دریافتی از سمت کلاینت قابل مشاهده می باشند:
همانظور که در تصاویر مشخص شده در زمانی که کلاینت منتظر جواب از سمت سرور بوده است ما عبارت
_ Mohammad Hadi Dashti.greenray
را به کلاینت ارسال کرده ایم ولی با توجه به اینکه در سمت کلاینت در برنامه ما منتظر کاراکتر'.' بوده ایم عبارت بعد از این کاراکتر دیگر ذخیره نشده است.
با توجه به اینکه در این مثال احتیاج به سخت افزار خاصی نیست و فقط باید تغذیه ماژول وصل باشد فقط برنامه مربوط به این جلسه را در انتهای این مطلب قرار داده ام که شما می توانید با کلیک بر روی آن، فایل را دانلود نمایید.
شادیتان مستدام، سلامتیتان پایدار
محمد هادی دشتی