با یکی از کاربردی ترین دوره های مربوط به اینترنت اشیا و برد های امبد در خدمت شما سروران گرامی هستیم؛ در این دوره برد محبوب ESP32 که نسل جدید برد های سری ESP8266 می باشد را به صورت تخصصی آموزش خواهیم داد.

یکی از محبوب ترین و کاربردی ترین برد هایی که در پروژه های اینترنت اشیا و هوشمند سازی مورد استفاده قرار می گیرد، برد های سری ESP32 می باشد، این برد دارای مزیت های بسیار زیاد مانند مصرف فوق العاده پایین، واحد های جانبی متنوع و پیشرفته، مجهز به پروتکل های ارتباطی پیشرفته، هسته امنیتی بالا، دارای پرفورمنس بالا و قابلیت برنامه نویسی موازی و بهره مندی از چند سیستم پردازشی (Core)  و ... می باشد.

در این دوره که به سفارش مهندسان عزیز آماده گردیده است، بیشتر حول مباحث تخصصی و کاربردی این برد محبوب به صورت مفصل آموزش خواهیم داد، برخی از مواردی که در این دوره آموزش داده شده است به شرح ذیل می باشد:

  • تشریح و کالبدشکافی تخصصی برد های ESP32 و تشریح پریفرال ها و واحد های جانبی به صورت جامع
  • بررسی GPIO های برد ESP32 به صورت تخصصی و جامع
  • انتخاب GPIO های مناسب برای استفاده در پروژه های تجاری و حرفه ای
  • آموزش تخصصی پروتکل  UARTدر برد های سری ESP32 به همراه پروژه های عملی و توضیح خط به خط پروژه ها
  • آموزش تخصصی پروتکل SPI در برد های سری ESP32  به همراه پروژه های عملی و توضیح توضیح خط به خط پروژه ها
  • آموزش تخصصی پروتکل I2C در برد های سری ESP32  به همراه پروژه های عملی و توضیح توضیح خط به خط پروژه ها
  • آموزش تحصصی پروتکل محبوب و کاربردی ESP-NOW به صورت جامع و توضیحات خط به خط پروژه ها
    • آموزش ارتباطات یک طرفه و دو طرفه در قالب مثال های کاربردی
    • آموزش ارتباطات یک به چند ؛ چند به یک و چند به چند در قالب مثال های کاربردی
    • آموزش تلفیق پروتکل های ارتباطی ESP-NOW – WebService در پروژه های عملیاتی
  • آموزش تحصصی پروتکل محبوب و کاربردی ESP-MESH به صورت جامع و توضیحات خط به خط پروژه ها
  • آموزش تحصصی پروتکل بلوتوث کلاسیک و بلوتوث کم مصرف (BLE)  به همراه پروژه های عملی و توضیح توضیح خط به خط پروژه ها

همانطور که در تیتر های فوق ذکر گردید، توسط پروتکل های ESP-NOW و ESP-MESH قادر به شبکه سازی بین ماژول های سری ESP8266 و ESP32 خواهیم بود به عنوان مثال سناریو های زیر در دوره به صورت کامل آموزش داده می شوند

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

لازم به توضیحه که پروتکل های ESP-NOW و ESP-MESH روی تمامی برد های سری ESP قابل پیاده سازی می باشد به این معنی که نود ها (برد های) شما می توانند هم سری ESP8266 (تمامی مدل ها قابل استفاده هستند) و هم سری ESP32 باشند؛ برای توضیح بیشتر تصور بفرمایید در هر یک از سناریو های مطرح شده در فوق، از  2 عدد برد NODEMCU و 2 عدد برد ESP32 مدل Devkit و یا ESP32-S و یا سایر مدل ها میتوانیم استفاده کنیم. نکته مهم اینکه پروتکل های بلوتوث کلاسیک و BLE (بلوتوث کم مصرف) فقط در سری های ESP32 قابل استفاده می باشند.

چرا باید از ESP32 استفاده کنیم؟

این سوالی‌ست که پاسخ به آن ارزش‌های این ماژول و دلیل محبوبیت آن را بیش از پیش مشخص می‌کند. یک مقایسه ساده بین توانایی‌های این میکروکنترلر و بردی مانند آردوینو، به خوبی پاسخ این پرسش را خواهد داد. سرعت پردازش حدود 10 برابر سریع‌تر، 32 بیتی بودن این میکروکنترلر در مقابل آردینو Uno که تنها 8 بیتی‌ست، پایه‌های همه منظوره ورودی خروجی (پایه‌های GPIO)، پایه‌هایی با توانایی استفاده به عنوان حسگر لمسی، سنسور دمای داخلی، توانایی اضافه کردن وای‌فای و بلوتوث به پروژه‌هایتان و از برتری‌های این میکروکنترلر محبوب است و همه این‌ها در حالی‌ست که قیمتی نزدیک به قیمت برد آردوینو Uno دارد!

 

انواع مختلف بردهای ESP32

برای استفاده راحت از میکروکنترلر ESP32، بردهای گوناگونی مبتنی بر این میکروکنترلر طراحی و ساخته شده‌اند. این بردها، شامل بردهایی برای منظور خاص و همچنین بردهایی برای استفاده همه منظوره است. برای نمونه بردهای طراحی شده برای منظور خاص می‌توان به بردهای زیر اشاره کرد:

  • برد توسعه  ESP32CAM
  • ماژول صوتی  ESP32-S
  • برد توسعه TTGO ESP32 دارای نمایشگر OLED

همچنین برای بردهایی برای استفاده همه منظوره، می‌توان بردهای زیر را مثال زد:

  • ماژول وای‌فای و بلوتوث دو هسته‌ای  ESP32S-WROOM
  • ماژول دوهسته‌ای ESP32 دارای چیپ درایور  CP2102
  • ماژول بسیار محبوب  NodeMCU – ESP32 Edition

 

در ادامه با برخی از ویژگی های برجسته برد های ESP32 آورده شده است:

  • دارای دو هسته و امکان کنترل جداگانه هر کدام از هسته‌ها
  • سرعت پردازش حداکثر تا 240 مگاهرتز
  • وای‌فای داخلی با امکان تنظیم در سه حالت
    • STA (Station Mode)  وصل شدن به وای‌فای محیط
    •  AP (Access Point) به عنوان روتر عمل می‌کند و بقیه وسایل می‌توانند به آن متصل شوند
    • STA_AP  عمل به عنوان روتر و در عین حال به یک ایستگاه دیگر وصل می‌شود
  • بلوتوث داخلی با دو ورژن
    • بلوتوث کلاسیک (Classic BT)
    • بلوتوث BLE (Bluetooth Low Energy)

 

انواع پایه‌ها و رابط‌های موجود

  • 34 پایه ورودی خروجی همه منظوره
  • 18 پایه مبدل آنالوگ به دیجیتال (ADC) 12 بیتی
  • 2 پایه مبدل دیجیتال به آنالوگ (DAC) 8 بیتی
  • 4 رابط SPI
  • 2 رابط I2C
  • 2 رابط I2S
  • 3 رابط UART
  • 16 پایه PWM

 

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

  • 10 پایه قابل استفاده به عنوان حسگر لمسی
  • سنسور دمای داخلی
  • سنسور اثر هال داخلی

 

مشخصات فنی ماژول وای فای و بلوتوث دو هسته ای NODE MCU - ESP32S EDITION :

  • ماژول وایفای: ESP-WROOM-32
  • پردازنده: ESP32-D0WDQ6
  • فلش داخلی: 32 مگابیت
  • آنتن: آنتن PCB روبردی
  • رابط جانبی: UART/GPIO/ADC/DAC/SDIO/PWM/I2C/I2S
  • بلوتوث: 4.2
  • منبع تغذیه: 5 ولت DC
  • اندازه: 48.26x25.4 میلی متر
  • دامنه فرکانس: 2.4-2.5 گیگا هرتز

 

تغذیه بردهای ESP32

ولتاژ کاری این میکروکنترلر 3.3 ولت است. در نتیجه برای تغذیه آن، اگر از خود میکروکنترلر استفاده می‌کنید لازم است که ولتاژ 3.3 ولت را به عنوان تغذیه ماژول تامین کنید. اما بردهای توسعه مبتنی بر میکروکنترلر ESP32 دارای یک رگولاتور ولتاژ 3.3 ولت هستند. در نتیجه در صورتی که از بردهای توسعه مبتنی بر میکروکنترلر ESP32 استفاده می‌کنید، می‌توانید تغذیه برد و همچنین برنامه‌ریزی کردن برد را از طریق پورت میکرو USB که بر روی برد قرار دارد انجام دهید. این بردها، دارای یک رگولاتور ولتاژ 3.3 ولت هستند که عمل تبدیل ولتاژ 5 ولت تامین شده از طریق USB به ولتاژ 3.3 ولت مورد نیاز میکروکنترلر را انجام می‌دهد.

 

درایور بردهای ESP32

در صورتی که از میکروکنترلر خام استفاده می‌کنید، نیاز به یک مبدل USB to TTL دارید. در آن صورت بر اساس مبدل مورد استفاده خود اقدام به نصب درایور مناسب کنید. اما در صورتی که از بردهای توسعه مبتنی بر ESP32 بهره می‌برید، این بردها خود دارای مبدل نیز هستند. در این حالت بر اساس توضیحات مربوط به برد مورد استفاده، لازم است که درایور مناسب را نصب نمایید. مبدل استفاده شده در این بردها، عمدتا CP2102 و یا CH340 می‌باشد.

 

محیط‌های برنامه‌نویسی

یکی از دلایل محبوبیت میکروکنترلر ESP32 قابلیت برنامه‌نویسی ساده آن است. این برنامه‌نویسی می‌تواند در بسیاری از محیط‌ها گوناگون انجام شود. تعدادی از آن‌ها عبارت‌اند از:

  • Arduino IDE
  • محیط برنامه‌نویسی  LUA
  • میکروپایتون
  • Espressif IDF (IoT Development Framework)
  • جاوا اسکریپت

سرفصل های آموزشی

لینک های دانلود مجموعه

درباره استاد دوره

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

نظرات