Mohy Fahim
Mohy Fahim
خواندن ۲ دقیقه·۳ سال پیش

مجموعه آموزشی ESP32 بر اساس ESP-IDF

مقدمه

سلام خوش آمدید.

در این سری قصد دارم که در مورد راه اندازی ماژول ESP32 صحبت کنم. در مورد راه اندازی این ماژول با استفاده از Arduino IDE مطالب خوب و کافی در اینترنت مشاهده می کنید. علاوه بر این، استفاده از Arduino IDE واقعا خیلی از کار ها را راحت کرده است ولی Core ای که برای ESP32 استفاده می شود ، کامپایل شده ی ESP-IDF است. ESP-IDF فریم ورک شرکت espressif برای ماژول های ESP32 و خانواده های آن (ESP32s2-s3-c3 و ...) است. اگر گیت هاب این فریم ورک را مشاهده کنید، متوجه آپدیت های سریع و بروز بودن آن می شوید. اما هسته ی Arduino IDE از یک سری از ریلیز های خاص ESP-IDF استفاده می کند و همزمان با این فریم ورک بروز نمی شود. از طرف دیگر، برخی از پارامتر های ماژول (مثل سایز بافر های مختلف و ...) در حین کامپایل شدن سورس ESP-IDF و تبدیل به Arduino IDE Core ،فیکس شده است. این عامل باعث می شود تا قدرت کانفیگ کردن و مانور دادن شما در طراحی یک سیستم امبدد کم شود.

Photo by Umberto on Unsplash
Photo by Umberto on Unsplash


من هم بر اساس نیاز خودم مجبور شدم که بجای استفاده از Arduino IDE از ESP-IDF استفاده کنم. بنابراین در این مجموعه، چیزهایی که برای راه اندازی ESP-IDF یادگرفتم را با شما به اشتراک می گذارم. بسیار خوشحال خواهم شد که شما هم اطلاعات خودتان را در این مورد با من به اشتراک بگذارید و اگر ای مطالب مفید بود، برای دوستانتان هم بفرستید.


معرفی ESP32

ماژول ESP32 یک میکروکنترلر SoC است که دارای WiFi و Bluetooth است. در بعضی از ورژن های آن تک هسته ای و در برخی از آنها دو هسته ای است. این هسته ها از خانواده Xtensa یا RISC-V است. مقدار رم و فلش نیز بر اساس ورژن های مختلف آن، متفاوت است. برای مقایسه جزییات ویژگی هر کدام از سری های ESP32، می توانید به لینک زیر مراجعه کنید:

مقایسه سخت افزاری

ماژولی که من استفاده می کنم، ESP32-CAM است که هسته ی آن ESP32-S است که توسط AiThinker توسعه داده شده است. این ماژول یک دوربین 2MP دارد و حافظه ی PSRAM و FLASH آن ، 4MB است.

هسته این ماژول تفاوتی با ماژول های ESP32 ندارد و هنگام کامپایل کردن، تارگت را ESP32 انتخاب خواهیم کرد.

در بازار ۲ نوع ESP32 وجود دارد ، یک خانواده ی Wroom و دیگری خانواده Wrover. چیپ هر ۲ نوع ، همان ESP32 است، فقط در خانواده Wrover ، رم اضافی یا external RAM استفاده شده است. آنتن های آنها از نوع pcb on-board هستند ولی بعضی از آنها ، از آنتن خارجی استفاده می کنند. بعدا در مورد نحوه ی تبدیل مد کاری از آنتن داخلی به خارجی و بلعکس صحبت خواهیم کرد. در حال حاضر با توجه به مواردی که در ذهنم دارم، در مورد موضوعات زیر صحبت خواهم کرد:

  • Setting up the ESP-IDF
  • WiFi and provisioning
  • Bluetooth
  • HTTP client and server
  • Socket client and server
  • MQTT client
  • TLS
  • ESP-NOW
  • File systems and other storage
  • Camera
  • Mesh Network
  • Face Detection via CNN
  • WiFi CSI
  • OTA

اگر موضوع جالب دیگری هم فکر میکنید با من به اشتراک بگذارید تا در مورد آن بخوانیم و به این لیست اضافه کنیم.

ممنون ^_^


نسخه ی انگلیسی این پست

esp32iotembeddedcccpp
علاقه مند به مخابرات و اینترنت اشیا
شاید از این پست‌ها خوشتان بیاید