مجموعه آموزشی جامع و کاربردی نرم افزار شبیه ساز پروتئوس
این مجموعه آموزشی در قالب یک حلقه DVD ارسال می گردد.
معرفی
برای توضیح این دوره آموزشی سناریو زیر را در نظر بگیرید:
فرض کنید میخواهیم توسط یک برد هوشمند ( مثلا ESP8266 و یا ESP32) تعداد زیادی برد دیگر که در نواحی مختلف قرار گرفته اند را تحت کنترل داشته باشیم، برای نمونه یک خانه هوشمند را در نظر بگیرید؛ در این خانه هوشمند قصد داریم توسط یک سرور مرکزی (که میتواند یک برد هوشمند باشد) کلاینت های دیگر را که هر کدام در اتاق های مختلفی قرار گرفته اند را کنترل کنیم، مثلا با استفاده از اولین کلید در سرور مرکزی بتوانیم یکی از لامپ های تمام اتاق ها رو روشن کنیم، و یا می توانیم هر کدام از کلاینت ها را به صورت مجزا مدیریت و کنترل کنیم؛ شاید در نگاه اول تصور کنید فقط با استفاده از یک سرور هم این کار امکان پذیر باشد ولی اگر دقیق تر در پروژه متمرکز شوید متوجه خواهید شد که در پروژه های پیشرفته وجود چنین شبکه ای ضروری می باشد؛ چند تا از دلایل آن را مطرح می کنیم:
• اگر در این پروژه فقط یک سرور (برد هوشمند) وجود داشت، سرور باید در نقطه مشخصی قرار می گرفت و برای کنترل لامپ ها و سایر دیوایس ها باید سیم کشی حجیمی انجام می شد که مدیریت و عیب یابی سیستم را دچار مشکل می کرد؛ از طرفی با توجه به اینکه از یک برد در پروژه استفاده می شد و یک برد محدودیت هایی در تعداد GPIO ها و سایر منابع دارد، لذا قادر نبودیم دیوایس های بیشتری را تحت کنترل داشته باشیم.
• در صورتی که می خواستیم ارتباط سرور را با اینترنت و یا یک گیت وی دیگر برقرار کنیم، عملا قادر به اینکار نمی شدیم، با توجه به اینکه از سرور برای کنترل GPIO ها و محاسبات دیگر استفاده میکردیم.
این مواردی که بیان گردید تنها نمونه ای از محدودیت های استفاده از یک برد (سرور) می باشد.
از طرفی در این پروژه ما قصد داریم علاوه بر اینکه بتوانیم به صورت دستی و با استفاده از کلیدی که در سرور تعبیه کردیم، به صورت همزمان کلاینت ها را کنترل کنیم، میخواهیم پروژه را پیشرفته تر کرده و به جای اینکه توسط قطعات فیزیکی (مثل کلید) کلاینت ها را کنترل کنیم، از طریق یک اپلیکیشن اندرویدی و یا حتی تحت ویندوزی و ... بتوانیم دستورات مورد نظر را به سرور خود به صورت وایرلس ارسال کرده و سرور بعد از دریافت دیتا آنها را بر روی کلاینت ها اعمال کند، به جهت همین امر در دوره پیش رو از ارتباط پیشرفته دیگری مثل وب سوکت (WebSocket) ، UDP نیز استفاده شده است، بصورتیکه از طریق اپ اندرویدی به راحتی میتوانیم دستورات مورد نظر را به سرور خود ارسال کرده و کلاینت ها را به صورت همزمان کنترل کنیم.
قابلیت دیگری که در اپلیکیشن اندرویدی در نظر گرفته شده است، تایمینگ و زمان بندی می باشد، با استفاده از این ویژگی می توانید برای ارسال دستورات به سرور زمان خاصی را در نظر گرفته و بعد از سپری شدن زمان مورد نظر فرمان های کنترلی را به سرور ارسال نمایید.
قطعاتی که در طول پروژه مورد استفاده قرار میگیرد به راحتی از تمامی فروشگاه های الکترونیکی قابل تهیه می باشد، ما در این پروژه از 4 برد NodeMCU استفاده کردیم که یکی از آنها در حالت سرور بوده و 3 تای دیگر به عنوان کلاینت مورد استفاده قرار می گیرند؛ لازم به توضیح است برای کلاینت و سرور از برد های ESP32 نیز میتوانید استفاده کنید که در داخل دوره کد نویسی های مربوط به برد های ESP32 نیز به صورت کامل تشریح گردیده است.
با توجه به اینکه دوره مذکور یکی از پروژه های تخصصی و پیشرفته محسوب میشود برای مطالعه آن نیاز به پیش نیاز های ذیل می باشد:
• آشنایی با زبان C++ وآشنایی با برنامه نویسی در IDE آردینو
• آشنایی با برنامه نویسی اندروید برای طراحی اپلیکیشن
• آشنایی با برد های سری ESP
این دوره به همراه کلیه مستندات شامل ( شماتیک های مورد نظر و کتابخانه های مورد نظر– سورس برد میکروکنترلر برای آردینو و سورس اپلیکیشن نسخه اندروید و ... ارائه میگردد)
مشخصات آموزش
زبان / کامپایلر و نرم افزار های مورد استفاده
- برنامه نویسی آموزش بر اساس زبان C++
- برنامه نویسی ماژول ها بر اساس کامپایلر آردوینو
- برنامه نویسی سمت موبایل بر اساس کامپایلر بیسیک فور اندروید
- طراحی شماتیک بر اساس نرم افزار فریتزینگ
مدت زمان و تعداد ویدیو
- مدت زمان : 4.5 ساعت
- تعداد ویدیو : 3 عدد
محتوای این آموزش
- آموزش ویدئویی
- فایل برنامه ها و پروژه های اجرا شده
- فایل های PDF و جزوات دوره
- پکیج سفارشی کامل نصب بیسیک فور اندروید به همراه Android SDK و Java JDK
نرم افزارهای مرتبط با آموزش
- نرم افزار آردوینو
- نرم افزار فریتزینگ
- نرم افزار بیسیک فور اندروید
سرفصل های آموزشی
فصل اول
- آشنایی با میکروکنترلر ها و ماژول های ESP (مدت زمان : حدود 1 ساعت)
- آشنایی کاربردی با میکروکنترلر ها و کاربرد های آن
- معرفی برد های آردوینو
- معرفی و آشنایی با برد های سری ESP8266
- معرفی و آشنایی با برد های سری ESP32
- آشنایی با کاربرد میکروکنترلر ها و برد های امبد
- آشنایی با اصلاحات مهم در ارتباط وای فای
- آشنایی با مد های کاری برد های ESP
- مشخصات و ویژگی های برد های ESP
- آشنایی با برد های مبتنی بر ESP
- تشریح واحد های داخلی و پرکاربرد میکروکنترلر ها (شامل آردینو و برد های سری ESP)
- نصب پکیج های مربوط به برنامه نویسی برد های ESP در محیط برنامه نویسی آردوینو
- آموزش برنامه نویسی و پروگرم کردن برد های سری ESP در محیط برنامه نویسی آردوینو
فصل دوم
- آموزش ارتباطات ESP NOW در برد های ESP (مدت زمان : حدود 2 ساعت)
- ارتباط ESP NOW به همراه پروژه های تکمیلی
- ارتباط یک سرور با یک کلاینت به صورت یک طرفه در قالب پروژه های تکمیلی
- ارتباط یک سرور با یک یک کلاینت به صورت دو طرفه در قالب پروژه های تکمیلی
- ارتباط یک سرور با چند کلاینت در قالب پروژه های تکمیلی
- ارتباط چند سرور با یک کلاینت در قالب پروژه های تکمیلی
- ارتباط WEB SOCKET در برد های ESP32 در قالب پروژه های تکمیلی
- تلفیق ارتباطات ESP NOW و WEB SOCKET در قالب پروژه های تکمیلی
فصل سوم
- کنترل چندگانه برد های ESP توسط یک نود مرکزی (سرور) به صورت دستی و از طریق اپلیکیشن اختصاصی با قابلیت زمانبندی (مدت زمان : حدود 1.5 ساعت)
- آشنایی با قطعات مورد استفاده برای پروژه و توضیحات جامع در خصوص انتخاب قطعات
- آموزش مدار و شماتیک پروژه و تحلیل آن
- آموزش خط به خط سورس میکروکنترلر ( برد های ESP32)
- آموزش تلفیق ارتباطات ESP NOW و ارتباطات UDP
- آموزش خط به خط سورس اندروید
- تست و اجرای پروژه
کالاهای مورد نیاز استفاده شده در این آموزش
01 | حداقل دو عدد برد NodeMCU | |
02 | برد برد مارک WISH | |
03 | سیم برد بردی | |
04 | حداقل دو عدد برد ESP32 (اختیاری) | |
05 | یک عدد رله 4 کاناله و یا دو کاناله و یا تک کانال (اختیاری) | |
06 | ده عدد LED با رنگ های دلخواه |
مدرس : مجتبی شادریان
-
امین فلاح زاده | 5ماه قبل با آموزش های داده شده آیا میتوان یک esp32 را به یک esp8266 متصل نمود؟