در مجموعه آموزش های برد Maixduino قسمت دوازدهم را به مد سرور پردازنده ESP32 می پردازیم. همانطور که در قسمت های پیشین گفتیم، پردازنده ESP32 از استاندارد TCP/IP پشتیبانی می کند. طبق این استاندارد پردازنده ESP32 می تواند در حالت سرور قرار بگیرد. با قرارگیری این پردازنده در حالت سرور، برد Maixduino می تواند به صورت بی سیم فرامین کاربر را دریافت و اجرا نماید. در این آموزش به موضوع سرور در برد Maixduino می پردازیم. بنابراین در ادامه این آموزش با مرجع تخصصی برد هوش مصنوعی Sipeed به زبان فارسی، دیجی اسپارک همراه باشید.
مد سرور ESP32 کاربرد و تعریف
مد سرور یکی از مهم ترین و پرکاربردترین حالت های کاری ESP32 به شمار می رود. در این حالت پردازنده ESP همانند یک سرور اینترنتی، می تواند به دریافت داده و اجرای درخواست های کلاینت ها بپردازد. توجه داشته باشید که مفهوم کلاینت و سرور جدای از مفهوم AP و STA است. جهت اطلاعات بیشتر در این مورد مطالعه آموزش سرور ESP32 را با کلیک بر روی این لینک، پیشنهاد می کنیم.
مطابق تصویر فوق تلفن همراه یا هر وسیله دیگر حاضر در شبکه، به سرور ESP32 درخواست ارسال می کند. سرور ESP32 با دریافت درخواست، آن را پردازش کرده و پاسخ مناسب را به درخواست کننده ارسال خواهد کرد. این مورد دقیقا در سطح اینترنت هم در حال اجراست. آنجا که به وب سایتی درخواست باز شدن صفحه ای را ارسال می کنیم و سرور پس از دریافت درخواست و پردازش آن، صفحه مورد نظر را برای ما اجرا می کند. برای اجرای سرور، می توان هم در حالت AP و هم در حالت STA، سرور را به حالت اجرا درآورد. در این آموزش ما سرور را در مد STA اجرا می کنیم. همانطور که از قسمت پیشین به خاطر داریم، در حالت STA پردازنده ESP32 به یک مودم باید متصل شود. پس از اتصال، مودم به ESP32 یک آی پی آدرس اختصاص می دهد. این آی پی آدرس همان آدرس سرور در شبکه LOCAL است. توابع مربوط به راه اندازی و کار با سرور را در قسمت بعد، بررسی می کنیم.
دستورات و توابع سرور ESP32
پس از آشنایی مختصر با سرور، نوبت به دستورات و توابع آن می رسد. از آنجاییکه پیشتر طی آموزشی(لینک آموزش، کلیک کنید) به طور کامل به مورد سرور ESP32 پرداخته ایم، لذا در اینجا به طور مختصر توابع و دستورات را بررسی می کنیم. جدول زیر توابع و دستورات کلیدی مد سرور را نمایش می دهد.
شرح | تابع |
تابع تنطیم سرور
Path: آدرس صفحه روی سرور Methode: متد get و post Run_Script: تابع اجرای سرور |
server.on(Path, Method, Run_Script) |
ارسال پاسخ به کلاینت
code: کد وضعیت content: text/plain message:پیغام ارسالی به کلاینت از سوی سرور |
send(code,content,message) |
اجرای و مدیریت تابع سرور | handleClient |
پس از بررسی »ختصر توابع، نوبت به اجرای نمونه برنامه می رسد. دو قسمت به این موضوع اختصاص دارد.
اجرای برنامه قرارگیری ESP32 برد Maixduino در مد سرور
در این قسمت به اجرای یک نمونه برنامه می پردازیم. در این برنامه با تایپ آدرس سرور ESP32 در مرورگر تلفن همراه یا رایانه، عبارت ارسالی از سوی سرور را مشاهده خواهیم نمود. توجه داشته باشید که در این حالت تلفن همراه یا رایانه و ESP32 باید به یک مودم متصل شده باشند.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
اجرای نمونه برنامه کنترل LED پردازنده Maixduino توسط ESP32
پس از اجرای برنامه قسمت قبل، نوبت به اجرای برنامه ای جهت ارتباط دو واحد ESP32 و Maixduino می رسد. در این برنامه به کمک صفحه مرورگر، وضعیت LED آبی رنگ روی برد Miaxduino را کنترل می کنیم. ابتدا کد زیر را که مربوط به واحد ESP32 است را روی برد آپلود کنید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
مطابق تصویر فوق، با قرارگیری عبارت L چراغ آبی رنگ روی برد SIPEED روشن و با قرارگیری حرف H، این چراغ خاموش خواهد شد. توجه داشته باشید که این LED به صورت Active Low عمل می کند. در کنار این، داده های دریافتی از سوی کاربر که در مرورگر درج شده اند، به کمک رابط سریال uart از واحد پردازنده ESP32 به سمت K210 ارسال می گردند.
لوازم مورد نیاز
بردهای مبتنی بر هوش مصنوعی Sipeed
جمع بندی
در سلسله آموزش های برد Maixduino، قسمت دوازدهم را به قابلیت سرور واحد ESP32 اختصاص دادیم. همانطور که اطلاع دارید، پردازنده ESP32 یک پردازنده فوق العاده قدرتمند با فرکانس کلاک ۲۴۰ مگاهرتز است. در کنار این، ESP32 قادر به برقراری ارتباط شبکه TCP/IP است. از آنجاییکه این پردازنده می تواند در مد سرور فعال باشد، بنابراین قادر به اجرای درخواست های کاربر به صورت بی سیم و از طریق مرورگرها و یا اپلیکیشن های تلفهن های هوشمند و رایانه هاست. در این آموزش ابتدا به بررسی مفهوم سرور به طور مختصر پرداختیم. سپس در ادامه توابع و دستورات مد سرور را بررسی کردیم. در نهایت با ارائه دو مثال، نحوه کار و تبادل داده با سرور ESP32 را مشاهده کردیم.
چنانچه هرگونه ابهامی در مطالب درج شده وجود دارد، می توانید با ثبت نظر در انتهای همین پست سوال خود را بپرسید. تاکنون در دیجی اسپارک بیش از ۲۶ هزار سوال و پاسخ ثبت شده است؛ پس نظرات بی جواب نمی مانند! همچنین اگر ایراد و یا اشکالی در مطالب درج شده وجود دارد، لطفا آن را با ثبت نظر، مطرح کنید. همچنین اگر مشکلی در کدها وجود داشته و یا اجرا نمی شوند، مورد را حتما در انتهای همین آموزش مطرح نمایید. نظرات شما برای ما بسیار ارزشمند هسنند!!