ٍمقایسه برد ESP32 و ESP8266، کدام برای شما مناسبتر است؟

محتویات
اگر پروژه اینترنت اشیا در ذهن خود دارید، بهترین گزینه ها برای شما ESP32 و ESP8266 هستند. هر دو میکروکنترلر های معروفی هستند و هرکدام ویژگی های مخصوص خود را دارند. این دو میکروکنترلر کوچک، کم مصرف، دارای وای فای و با CPU های 32 بیتی هستند که برای طیف گسترده ای از پروژه های الکترونیکی ایده آل هستند.
اما کدام برای پروژه IoT شما بهتر است؟
بیایید با مقایسه ESP32 و ESP8266 شروع کنیم تا به شما در تصمیم گیری کمک کند. ما صرفاً بر روی سریعترین MCU، کم مصرفترین یا بهترین ارزش برای پول تمرکز نمیکنیم. در عوض، ما عوامل مختلفی از جمله قدرت پردازش، ویژگیهای اتصال، مشخصات سختافزار، محیطهای توسعه، قیمتگذاری و موارد دیگر را در نظر خواهیم گرفت.
معرفی
ESP8266 یک ریزتراشه وای فای ارزان قیمت با فریمورک TCP/IP داخلی و قابلیت های میکروکنترلر است که در سال 2014 توسط Espressif Systems در شانگهای چین منتشر شد. به دلیل سادگی و هزینه کم به سرعت محبوبیت پیدا کرد. این میکروکنترلر بر روی یک پردازنده Tensilica Xtensa LX3 کار میکند و عمدتاً برای دستگاههای هوشمند، گجت ها و پروژههای دارای Wi-Fi در نظر گرفته شده است.
ESP32 که در سال 2016 معرفی شد، جانشین ESP8266 است و در چندین پیشرفت را نسبت به آن ارائه می دهد. این پیشرفت ها شامل پردازنده سریعتر، وای فای سریعتر، اتصال بلوتوث، پین های GPIO بیشتر و چندین ویژگی دیگر است. مهمتر از آن، دارای یک ریزپردازنده دو هسته ای Tensilica Xtensa LX6 است که قابلیت های محاسباتی آن را به میزان قابل توجهی افزایش می دهد.
حالا بر اساس معیار های مختلف این دو برد را بررسی و برنده را اعلام میکنیم.
قدرت پردازش و حافظه
ESP8266 دارای یک پردازنده 32 بیتی Tensilica Xtensa L106 تک هسته ای است که با فرکانس 80 مگاهرتز کار می کند و می تواند تا 160 مگاهرتز اورکلاک شود. این دستگاه دارای 32 کیلوبایت رم Instruction و 80 کیلوبایت رم داده های کاربر و فلش خارجی QSPI از 512 کیلوبایت تا 4 مگابایت است.
ESP32 دارای پردازنده کمی قدرتمندتر است. این دستگاه دارای یک ریزپردازنده دو هسته ای Tensilica Xtensa LX6 است که می تواند تا 240 مگاهرتز کار کند. این شامل 520 کیلوبایت SRAM است و از حافظه فلش خارجی تا 16 مگابایت پشتیبانی می کند.
این افزایش قدرت پردازشی و حافظه ESP32 را برای کارهای سخت تر مناسب می کند.
برنده: ESP32
اتصال بی سیم
هر دو میکروکنترلر از Wi-Fi پشتیبانی می کنند، اما ESP32 دارای ویژگی های اضافی مانند Wi-Fi Direct است. علاوه بر این، ESP32 دارای قابلیت بلوتوث v4.2 BR/EDR و BLE (بلوتوث کم مصرف) است که ESP8266 فاقد آن است. این باعث می شود ESP32 برای ارتباطات بی سیم همه کاره تر باشد.
برنده: ESP32
رابط های جانبی
هنگام مقایسه دو میکروکنترلر، مهم است که بدانید آنها چه نوع رابط های جانبی دارند. این رابطها ابزار اصلی ارتباط میکروکنترلرها با حسگرها و سایر دستگاهها هستند و تأثیر زیادی بر پیچیدگی و نوع پروژههایی که میتوانید بسازید دارند.
در زیر مقایسه ای از رابط های جانبی ارائه شده توسط ESP8266 و ESP32 آورده شده است:
ارتباط | ESP8266 | ESP32 |
GPIO | 17 پین GPIO | 34 پین GPIO |
ADC | SAR ADC ده بیتی 1 کانال | SAR ADC دوازده بیتی 18 کانال |
PWM | 4 کانال | 16 کانال |
پروتکل I2C | 1 | 2 |
پروتکل I2S | 2 | 2 |
پروتکل SPI | 2 | 4 |
پروتکل سریال UART | 2 | 3 |
پروتکل CAN | ندارد | 1 |
اترنت | ندارد | 10/100 مگابیت بر ثانیه |
سنسور لمس | ندارد | 10 پین GPIO |
کنترلر مادون قرمز | ندارد | TX/RX, تا 8 کانال |
کنترل Slave SDIO/SPI | ندارد | دارد |
شمارنده نبض | ندارد | Full quadrature decoding |
برنده: ESP32
سنسورهای داخلی
وقتی نوبت به سنسورهای داخلی میرسد، ESP8266 کاملا مینیمالیستی است زیرا هیچ سنسور داخلی ندارد.
از سوی دیگر، ESP32 پیشرفته تر است و شامل چندین سنسور داخلی است. این برد معمولا همراه با سنسور های زیر عرضه میشود:
- سنسور اثر هال با قابلیت تشخیص میدان های مغناطیسی. این سنسور می تواند برای کاربردهایی مانند تشخیص وجود آهنربا یا اندازه گیری قدرت میدان مغناطیسی مفید باشد.
- یک سنسور لمسی خازنی که می تواند برای ورودی حساس به لمس استفاده شود.
- سنسور دما برای اندازه گیری دمای داخلی تراشه (نه دمای محیط) است که می تواند برای نظارت بر سلامت میکروکنترلر مفید باشد.
- این سنسورهای یکپارچه در ESP32 عملکرد بیشتری را در اختیار شما قرار می دهند و به شما امکان می دهند بدون نیاز به اجزای اضافی پروژه ایجاد کنید.
برنده: ESP32
مدیریت نیرو
هر دو برد دارای فناوری های پیشرفته صرفه جویی در مصرف انرژی هستند تا به طور موثر مصرف برق را به حداقل برسانند.
ESP8266 چهار حالت قدرت را ارائه می دهد: فعال، حالت خواب مودم، خواب سبک و خواب عمیق. با توجه به دیتاشیت، در حالت فعال، با اجرای همزمان تمامی ویژگی ها، می تواند تا 80 میلی آمپر را مصرف کند. در مقابل، حالت خواب عمیق بسیار کارآمد است و کمتر از 20 میکرو آمپر مصرف می کند.
از سوی دیگر ESP32 با پردازنده سریعتر و حافظه فلش افزایش یافته، نیاز به انرژی بیشتری دارد و در حالت فعال تا 240 میلی آمپر مصرف می کند. برای جبران این حالت، دو حالت کم مصرف اضافی را معرفی می کند: خواب زمستانی و خاموش شدن. حالت خواب زمستانی مصرف بسیار پایینی دارد و فقط 5 میکروآمپر است، در حالی که حالت خاموشی این میزان را به 1 میکروآمپر کاهش می دهد.
ESP8266 به دلیل مصرف انرژی کمتر در حالت اکتیو، برای پروژههای ساده و کم مصرف که توسط باتری تغذیه میشوند، مناسبتر است.
برنده: ESP8266
برنامه نویسی و حمایت از سمت جامعه
هر دو ESP8266 و ESP32 توسط Arduino IDE و ESP-IDF بومی (Espressif IoT Development Framework) پشتیبانی می شوند. Arduino IDE برای پروژه های کوچک مناسب است، اما برای پروژه های بزرگتر و پیچیده تر، توصیه می شود از ESP-IDF از طریق پسوند Visual Studio Code یا پلاگین Eclipse استفاده کنید.
علاوه بر این، هر دو برد از برنامه نویسی به MicroPython، Lua، JavaScript و سایر زبان ها پشتیبانی می کنند (لیست کامل در ویکی پدیا موجود است) و آنها را برای طیف گسترده ای از برنامه نویسان قابل دسترسی می کند. علاوه بر این، جامعه توسعه دهندگان برای هر دو ماژول قوی و فعال است.
بنابراین، از نظر پشتیبانی برنامهنویسی و منابع جامعه، رقابتی بین دو برد وجود ندارد. هر دو طیف گسترده ای از زبان ها و منابع پشتیبانی شده را ارائه می دهند.
برنده: تساوی
قیمت کدام منطقی تر است؟
ESP8266 معمولاً ارزانتر از ESP32 است و آن را به گزینهای مقرون به صرفهتر برای پروژههای ساده تبدیل میکند. ESP32 با ویژگیها و قابلیتهای اضافیاش، هزینه کمی بالاتری دارد که دلیل آن افزایش قدرت پردازشی و تطبیق پذیری آن است.
با این حال، تفاوت قیمت بین این دو در سال های اخیر کاهش یافته است. بسته به اینکه از کجا خرید میکنید، معمولاً میتوانید هر دو برد را با قیمت کم پیدا کنید. در چنین مواردی، ESP32 با ویژگی های ارتباطی بهتری که دارد، می تواند گزینه بهتری باشد.
برنده: ESP32
مقایسه کامل
در اینجا جدولی وجود دارد که مشخصات و ویژگی های ESP8266 و ESP32 را به طور عمیق با هم مقایسه می کند. این جدول به عنوان یک نقطه مرجع عمل می کند و قابلیت ها و امکانات هر میکروکنترلر را خلاصه می کند.
ویژگی | ESP8266 | ESP32 |
پردازنده | Tensilica Xtensa L106 32 bit single-core | Tensilica Xtensa LX6 32 bit dual-core |
رم | 128 کیلوبایت | 520 کیلوبایت |
سرعت | 80/160 مگاهرتز | 160/240 مگاهرتز |
ولتاژ کاری | 2.5 تا 3.6V | 2.2-3.6V |
دمای کاری | –40 °C تا +125 °C | –40 °C تا +125 °C |
حافظه فلش | تا 4 مگابایت (غالبا 512 تا 1024 کیلوبایت) | 4 مگابایت |
پشتیبانی حافظه فلش خارجی | تا 16 مگابایت | تا 16 مگابایت |
حافظه RTC | 512 بایت (داخلی RAM) | 16 کیلوبایت |
Wi-Fi | 802.11b/g/n | 802.11b/g/n |
بلوتوث | ندارد | Bluetooth 4.2, BLE |
اترنت | ندارد | 10/100 Mbps |
ارتباط I2C | 1 | 2 |
ارتباط I2S | 2 | 2 |
ارتباط SPI | 2 | 4 |
ارتباط UART | 2 | 3 |
ارتباط CAN | ندارد | 1 |
ADC | 10 بیتی 1 کانال | 12 بیتی 18 کانال |
PWM | 4 کانال | 16 کانال |
سنسور لمس | ندارد | دارد |
سنسور دما | ندارد | دارد |
سنسور اثرهال | ندارد | دارد |
GPIO | 17 پین برنامه پذیر | 34 پین برنامه پذیر |
کنترلر مادون قرمز | ندارد | TX/RX, تا 8 کانال |
کنترلر Slave SDIO/SPI | ندارد | دارد |
شمانده پالس | ندارد | full quadrature decoding |
قیمت | 5-6 دلار | 6-9 دلار |
کدام یک را باید بخرید؟
با توجه به مواردی که گفته شد تقریبا در همه موارد برد ESP32 عملکرد بهتری دارد. پادشاهی میکروکنترلر های دارای وای فای جهان در حال حاضر متعلق به برد ESP32 است.
اما این بدان معنا نیست که ESP32 در هر موردی انتخاب بهتری است. در پایان، انتخاب یک میکروکنترلر بیشتر به نیازهای خاص پروژه شما بستگی دارد. ESP32 به وضوح در اکثر معیار ها برنده می شود، اما از نظر سادگی و بهره وری از قدرت عقب است. این توضیح می دهد که چرا ESP8266 علیرغم اینکه بهترین عملکرد را ندارد، همچنان یک انتخاب محبوب برای بسیاری است.
به طور خلاصه، برای پروژه های ساده و کم مصرف مبتنی بر Wi-Fi، ESP8266 انتخاب خوبی است. از سوی دیگر، اگر به قدرت پردازش بیشتر، حافظه اضافی و ویژگی هایی مانند بلوتوث نیاز دارید، ESP32 برنده قطعی است.