در این مطلب با ESP32، یک MCU دو هستهای ساخت شرکت Espressif Systems که دارای قابلیت های وایفای و بلوتوث است، آشنا می شویم. شاید نام ESP8266 را شنیده باشید یا با آن کار کرده باشید؛ در این خصوص، باید اشاره کرد که ESP32 یک قطعه ارتقا یافته نسبت به ESP8266 است که ویژگیها و قابلیتهای بسیار بیشتری دارد. این مطلب سیسوگ، با ESP32 بیشتر آشنا می شویم.
آردوینو یک پلتفرم عالی برای مبتدیان دنیای میکروکنترلرها و سیستمهای امبدد است. در واقع، با بسیاری از سنسورها و ماژولهای ارزان قیمت و آردوینو، میتوان بسیاری از پروژه ها را به عنوان سرگرمی یا حتی پروژه کاری انجام داد.
با پیشرفت فناوری، ایدهها و مفاهیم جدیدی مطرح شده است که یکی از آنها مفهوم اینترنت اشیا (Internet of Things) یا IoT است. اینترنت اشیا یک پلتفرم متصل است که در آن چندین (Thing) یا دستگاه برای تبادل اطلاعات از طریق اینترنت به هم متصل میشوند.
پروژههای ساده IOT عمدتاً بر روی برنامههای اتوماسیون خانگی و خانه هوشمند متمرکز هستند، اما پروژههای تجاری و صنعتی اینترنت اشیا پیادهسازیهای بسیار پیچیدهای مانند ماشین لرنینگ، هوش مصنوعی، شبکههای سنسور بیسیم و غیره دارند.
نکته مهم این است که چه در یک پروژه کوچک و چه یک پروژه پیچیده صنعتی، IoT باید به اینترنت متصل باشد. اینجاست که صحبت از میکروکنترلرهایی مانند ESP8266 و ESP32 به میان میآید.
اگر بخواهیم اتصال Wi-Fi را به پروژههای خود اضافه کنیم، ESP8266 یک گزینه عالی است. اما اگر بخواهیم یک سیستم کامل با اتصال Wi-Fi، اتصال بلوتوث، ADC با وضوح بالا، DAC، اتصال سریال و بسیاری ویژگیهای دیگر را داشته باشیم، ESP32 انتخاب بهتری است.
⚡ شاید برای شما مفید باشد: آموزش اینترنت اشیاء
ESP32 یک میکروکنترلر (System on a chip) SoC ارزان قیمت ساخت شرکت Espressif Systems است که این شرکت SoC معروف ESP8266 را نیز توسعه داده است. میکروکنترلر ESP32 جانشین ESP8266 است و در دو نسخه تکهستهای و دو هستهای ریزپردازنده 32 بیتی Xtensa LX6 ساخت شرکت Tensilica با قابلیت های وای فای و بلوتوث ارائه میشود.
مزیت ESP32 مانند ESP8266 اجزای RF یکپارچه آن مانند آمپلی فایر توان (Power Amplifier)، آمپلی فایر کمنویز (Low-Noise Receive Amplifier)، سوئیچ آنتن (Antenna Switch)، فیلترها و بالان RF (RF Balun) است. این امر طراحی سختافزاری با ESP32 را بسیار آسان میکند، زیرا در این صورت، نیاز به قطعات خارجی بسیار کم میشود.

نکته مهم دیگری که باید در مورد ESP32 بدانید این است که این MCU دو هستهای، با استفاده از فناوری 40 نانومتری بسیار کممصرف شرکت Taiwan Semiconductor Manufacturing Company Limited که به TSMC معروف است، ساخته شده است. بنابراین، طراحی برنامههای کاربردی با باتری مانند ابزارهای پوشیدنی، تجهیزات صوتی، پایشگر کودک، ساعتهای هوشمند و غیره با استفاده از ESP32 بسیار آسان است.
ESP32 ویژگیهای بسیار بیشتری نسبت به ESP8266 دارد و بررسی تمام مشخصات آن در این مطلب که برای بیشتر برای آشنایی با ESP32 است، کمی دشوار است. بنابراین، در اینجا، فهرستی از برخی از مشخصات مهم ESP32 را بیان میکنیم. اما برای مطالعه مجموعه کامل مشخصات، پیشنهاد میکنیم به دیتاشیت ESP32 مراجعه کنید.
برخی از ویژگیهای مهم ESP32 به شرح زیر است:
یک سختافزار خوب مانند ESP32 را اگر بتوان با بیش از یک روش پروگرام (کدنویسی) کرد، کاربرپسندتر خواهد شد و جای تعجب نیست که ESP32 از چندین محیط برنامهنویسی پشتیبانی میکند.
برخی از محیطهای برنامهنویسی رایج برای ESP32 عبارتاند از:
از آنجایی که Arduino IDE یک محیط آشنا است، اغلب میتوانید از این محیط برای پروگرام ESP32 در پروژههای خود استفاده کنید. البته، مطمئناً میتوانید سایر محیطهای برنامهنویسی را نیز امتحان کنید.
شرکت Espressif Systems چندین ماژول مبتنی بر ESP32 منتشر کرده است و یکی از گزینههای محبوب ESP-WROOM-32 Module است. این ماژول شامل ESP32 SoC، یک نوسانگر کریستالی 40 مگاهرتزی، آیسی فلش 4 مگابایتی و تعدادی قطعات پسیو است.

نکته مثبت در مورد ماژول ESP-WROOM-32 این است که PCB دارای قابهای لبهای (Edge Castellations) می باشد. بنابراین، کاری که سازندگان ثالت انجام میدهند این است که ماژول ESP-WROOM-32 را تهیه کرده و یک برد جداکننده (Break-out Board) برای این ماژول طراحی میکنند.
یکی از این بردها، کیت توسعه (ESP32 (DevKit است. این برد شامل ESP-WROOM-32 به عنوان ماژول اصلی و همچنین، تعدادی سختافزار اضافی برای پروگرام آسان ESP32 و برقراری ارتباط با پینهای GPIO است.

با نگاهی به شماتیک یکی از بردهای ارزان ESP موجود در بازار به نام ESP32 DevKit، خواهیم دید که یک برد توسعه ESP32 معمولی از چه چیزهایی تشکیل شده است.
تصویر زیر طراحی یک برد توسعه ESP32 را نشان میدهد.

برد تصویر بالا 30 پین دارد (15 پین در هر طرف). تعدادی برد با 36 پین و برخی با پینهای کمتر وجود دارد. بنابراین، قبل از ایجاد اتصالات یا حتی روشن کردن برد، پینها را دو بار بررسی کنید.
همان طور که در تصویر مشاهده میکنید، برد ESP32 از بخشهای زیر تشکیل شده است:
نکته جالب در مورد آیسی USB-to-UART این است که پینهای DTR و RTS آن برای تنظیم خودکار ESP32 در حالت برنامهنویسی (در صورت نیاز) و همچنین استراحت دادن به برد پس از پروگرام استفاده میشود.
نقشه پین برد توسعه ESP32 در شکل زیر نشان داده شده است.

این نقشه پین مربوط به نسخه 30 پین برد ESP است.
در جدول زیر، مقایسه آردوینو و ESP32 آورده شده است.
| ESP32 | آردوینو |
| ESP32 یک SoC (سیستم روی تراشه) کممصرف و کمهزینه با قابلیت بلوتوث و Wi-Fi دو حالته است. | برد آردوینو یک برد توسعه متنباز است. |
| دارای سیپییو Xtensa LX6 شرکت Tensilica است. | دارای یک میکروکنترلر 8 بیتی ATmega328P است. |
| ولتاژ کاری آن 3.3 ولت است. | ولتاژ کاری آن 5 ولت است. |
| دارای رم 520 کیلوبایت است. | دارای رم 2 کیلوبایت است. |
| دارای پورت وایفای و اترنت داخلی است. | دارای اتصال اینترنت سپر اترنت است. |
| اتصال بلوتوث دارد. | اتصال بلوتوث ندارد. |
| زبان مورد استفاده پایتون، میکروپایتون، سی و سی پلاس پلاس است. | زبان مورد استفاده سی و سی پلاس پلاس است. |
| به سیستم عاملهایی مانند Raspbian و Ubuntu نیاز دارد. | از هیچ سیستم عاملی استفاده نمیکند. |
| فرکانس کاری آن تا 240 مگاهرتز است. | فرکانس کاری آن 16 مگاهرتز است. |
| دارای 32 کیلوبایت حافظه فلش است. | معمولاً 4 مگابایت حافظه فلش دارد، اما می تواند متفاوت باشد. |
| در مقایسه با آردوینو گران نیست. | گران است. |
| از خانواده ESP است. | از خانواده Atmega است. |
| دارای 18 پین ورودی آنالوگ است. | دارای 6 پین ورودی آنالوگ است. |
| دارای 34 پین GPIO است. | دارای 14 پین GPIO است که 6 عدد از آنها PWM o/p هستند. |
| انواع مختلفی از بردهای ESP32 مانند ESP32 DEV KIT DOIT،DevKitC ،PICO ،EYE ،Thing ،CAM ،32s و غیره موجود است. | انواع مختلفی از بردهای آردوینو وجود دارد، مانند Arduino Uno ،Mega ،Nano ،Leonardo و غیره. |
| نقاط قوت ESP32 قدرت پردازش بالا و ویژگیهای اتصال آن است. | نقاط قوت آردوینو سادگی و پشتیبانی جامعه بزرگ آن است. |
منبع: electronicshub
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.