آموزش گام به گام ESP32_جلسه دهم(راه اندازی WiFi ماژول بصورت Server و ارسال داده با پروتکل TCP)
آموزش گام به گام ESP32_جلسه دهم(راه اندازی WiFi ماژول بصورت Server و ارسال داده با پروتکل TCP)
برای دیدن آموزش جلسه پنجم(راه اندازی کلید ورودی) کلیک کنید.
برای دیدن آموزش جلسه ششم(راه اندازی ADC) کلیک کنید.
برای دیدن آموزش جلسه هفتم(راه اندازی DAC) کلیک کنید.
برای دیدن آموزش جلسه هشتم(راه اندازیPWM) کلیک کنید.
برای دیدن آموزش جلسه نهم(راه اندازی WIFI بصورت Client)کلیک کنید.
در این جلسه قصد داریم تا ماژول را بصورت Server برنامه ریزی نماییم و منتظر بمانیم تا یک Client به آن متصل شود و داده یا درخواستی را به آن بفرستد. ماژول باید پس از دریافت داده آنرا نمایش دهد و یک پیغام را در جواب به Client بازگرداند. در ادامه مطلب برنامه این جلسه بصورت کامل با توضیحات قرار گرفته است.
در ابتدای برنامه نام مودم(SSID) و رمز مودم را می نویسیم تا ماژول متوجه شود که به چه مودمی متصل شود و رمز اتصال به آن را داشته باشد.
این دستور IP ماژول را بصورت ثابت تنظیم می کند این ماژول این قابلیت را دارد تا IP را بصورت DHCP بگیرد.
بقیه تنظیمات شبکه نیز بصورت دستی و ثابت تنظیم می شود.
پورتی که قرار است ماژول به آن گوش فرا دهد (Listen) را مشخص می کنیم.
در این بخش تنظیمات مربوط به شبکه که چند سطر قبل تنظیم نموده بودیم بر روی ماژول اعمال می شود.
در این قسمت ابتدا عبارت "Connecting to " چاپ می شود و پس از آن نام مودمی که در ابتدا برنامه مشخص نموده ایم چاپ می شود.
با اجرا شدن این دستور ماژول سعی می کند تا با مودمی که نام و رمز آن مشخص شده ارتباط برقرار کند.
تا زمانیکه ماژول نتواند به مودم متصل شود در این حلقه باقی می ماند و فقط بعد از هر 500 میلی ثاینه یک کاراکتر '.' چاپ می شود.
پس از متصل شدن به مودم ابتدا عبارت ".WiFi connected" چاپ می شود و در خط بعد عبارت " :IP address" و در خط بعد IP که ابتدا برای ماژول در نظر گرفته بودیم چاپ می شود.
با اجرا این دستورات مک آدرس ماژول چاپ می شود
بقیه مشخصات شبکه مثل Subnet Mask و Gateway و DNS که تمامی آنها در قبل تنظیم شده بودند نمایش داده می شود. از این دستورات در زمانیکه ماژول بصورت اتوماتیک IP می گیرد می توانیم استفاده کنیم تا از مقادیری که ماژول گرفته با خبر شویم.
با اجرای این دستور ماژول به عنوان سرور تنظیم می شود.
در این قسمت ماژول به عنوان سرور شروع به گوش دادن به پورت مورد نظر می کند.
در صورتیکه یک کلاینت به ماژول درخواست دهد شرط برقرار می شود و عبارت ".New Client" نمایش داده می شود.
تا زمانیکه کلاینت به سرور متصل باشد این شرط برقرار است و برنامه در این حلقه می ماند.
در این خط بطور دائم اطلاعاتی که از سمت کلاینت به سرور می آید شنود می شود و در متغیر line ذخیره می شود.
در صورتیکه داده ای از سمت کلاینت ارسال شده باشد شرط برقرار است و داده دریافتی در سریال مانیتور نمایش داده می شود.
پس از نمایش دیتای ارسالی از سمت کلاینت یک رشته به کلاینت ارسال می شود.
در صورتیکه کانکشن بسته شود از حلقه while خارج می شود و دستور بسته شدن کانکشن از سمت سرور اجرا می شود و عبارت "Client Disconnected." در سریال مانیتور چاپ می شود.
در تصویر زیر اطلاعاتی که در سریال مانیتور به نمایش درآمده را می توانید مشاهده نمایید:
اطلاعات و دیتاهای رد و بدل شده در نرم افزار Hercules نیز در تصویر زیر مشخص شده اند.
با توجه به اینکه در این مثال احتیاج به سخت افزار خاصی نیست و فقط باید تغذیه ماژول وصل باشد فقط برنامه مربوط به این جلسه را در انتهای این مطلب قرار داده ام که شما می توانید با کلیک بر روی آن فایل را دانلود نمایید.
شادیتان مستدام، سلامتیتان پایدار
محمد هادی دشتی