رفتن به محتوا

مقایسه ESP8266 و ESP32

در مطالب قبلی، با ESP8266 و ESP32 آشنا شدیم؛ دو SoC مجهز به WiFi که توسط شرکت چینی اسپرسیف تولید شده‌اند و توانسته‌اند توجه گسترده‌ای را در جامعه سازندگان مستقل به خود جلب کنند.

اکنون زمان آن رسیده است که این دو SoC را رودرروی یکدیگر قرار دهیم. در این مقایسه ESP8266 و ESP32، شباهت‌ها و تفاوت‌های آن‌ها را به‌صورت نقطه‌به‌نقطه بررسی خواهیم کرد و در قالب یک جدول مقایسه، ویژگی‌های هر دو تراشه را کنار هم خواهیم دید.

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

بدون مقدمه بیشتر، در ادامه جدول مقایسه را مشاهده می‌کنید:

دسته‌بندیویژگیESP8266ESP32
پردازندهپردازندهTensilica LX106Tensilica Xtensa X36
تعداد بیت32 بیت
تعداد هستهتک‌هسته‌ایدو‌هسته‌ای
فرکانس80MHz (تا 160MHz)160MHz (تا 240MHz)
حافظهSRAM160KB512KB
SPI Flashتا 16MiB
توانولتاژ تغذیه3.0 تا 3.6V2.2 تا 3.6V
محدوده دما‎-40°C تا 125°C
مصرف انرژیمصرف جریانمیانگین 80mA، حداکثر 225mA
مصرف در Deep Sleep20µA (RTC + حافظه RTC)2.5µA (10µA RTC + حافظه RTC)
حالت کم‌مصرفکمتر از 150µA
ارتباطاتWi-Fi802.11 b/g/n (تا +20dBm)، WEP/WPA
Soft-AP✔️
رمزنگاری سخت‌افزاری❌ (TLS 1.2 به‌صورت نرم‌افزاری)✔️
BluetoothBluetooth v4.2 BR/EDR + BLE
رابط Ethernet MAC10/100Mbps
واحدهای جانبیGPIO قابل استفاده1736
PWM سخت‌افزاری / نرم‌افزاری❌ / 81 / 16
ADC1 کانال (10 بیت)18 کانال (12 بیت)
ADC با پیش‌تقویت‌کننده✔️ (نویز پایین، 60dB)
DAC2 کانال (8 بیت)
UART2 (در یکی فقط TX قابل استفاده است)4
I²C12
SPI24
I²S12
1-Wireپیاده‌سازی نرم‌افزاری
CAN Bus1 × CAN 2.0
سنسور لمسی10 کانال
سنسور دما✔️
سنسور Hall✔️
مادون قرمز (IR)✔️
تایمر34 (64 بیتی)
مولد اعداد تصادفی✔️
رمزنگاری Flash✔️
Secure Boot✔️

اول از همه، ESP32 به یک پردازنده دو هسته‌ای قدرتمندتر مجهز است. برتری مهم بعدی آن نیز پشتیبانی از Bluetooth BLE در کنار WiFi است.

علاوه بر این، ESP32 از حافظه بیشتر، رمزنگاری حافظه Flash، Secure Boot، شتاب‌دهنده سخت‌افزاری رمزنگاری (ویژگی‌ای که نبود آن در ESP8266 به‌شدت احساس می‌شد)، مولد اعداد تصادفی (Random Number Generator) و ساعت زمان واقعی (RTC) بهره می‌برد.

از نظر ورودی/خروجی (I/O) نیز ESP32 اختلاف قابل توجهی با ESP8266 دارد. این تراشه دارای ۳۶ پایه GPIO (در مقایسه با ۱۷ پایه۱۰ پایه با قابلیت تشخیص لمس (Touch)، ۱ کانال PWM پرسرعت و ۱۶ کانال PWM کم‌سرعت (در مقایسه با ۸ کانال PWM در ESP8266)، ۱۸ کانال ADC با دقت ۱۲ بیت به همراه تقویت‌کننده داخلی (Preamplifier) (در مقایسه با یک ADC ده‌بیتی) و همچنین ۲ مبدل دیجیتال به آنالوگ (DAC) هشت‌بیتی است.

در بخش رابط‌های ارتباطی (Communication Buses) نیز ESP32 بار دیگر برتری خود را نشان می‌دهد. این تراشه دارای ۴ رابط UART (در مقایسه با ۲ رابط که یکی از آن‌ها فقط قابلیت TX دارد)، ۲ رابط I²C (در مقایسه با ۱ رابط۴ رابط SPI (در مقایسه با ۲ رابط۲ رابط I²S (در مقایسه با ۱ رابط) است و همچنین از CAN Bus 2.0 نیز پشتیبانی می‌کند.

علاوه بر این، ESP32 به ۴ تایمر ۶۴ بیتی (در مقایسه با ۳ تایمرحسگر Hall، حسگر دما و امکان استفاده از Ethernet با سرعت 10/100Mbps مجهز است.

از سوی دیگر، هر دو SoC شباهت‌هایی نیز دارند. هر دو از حافظه Flash تا سقف ۱۶ MiB پشتیبانی می‌کنند و هر دو دارای ارتباط WiFi مطابق استاندارد 802.11 b/g/n هستند.

همان‌طور که از ابتدا انتظار می‌رفت، ESP32 بدون شک یک تراشه بسیار قدرتمند است. با این حال، ESP8266 همچنان یک SoC بسیار ارزشمند به شمار می‌رود و قیمت پایین‌تری نیز دارد. اما نمی‌توان انکار کرد که ESP32 استانداردهای جدیدی را در این رده از تراشه‌ها تعریف کرده است.

البته باید به این نکته نیز توجه داشت که در حال حاضر، تعداد کمی از بردهای توسعه امکان دسترسی به تمام قابلیت‌ها و همه پایه‌های ESP32 را فراهم می‌کنند. به همین دلیل، در بسیاری از پروژه‌های عملی، تفاوت‌های این دو تراشه کمتر از چیزی است که روی کاغذ به نظر می‌رسد و معمولاً این تفاوت‌ها به توان پردازشی بیشتر، پشتیبانی از Bluetooth و شتاب‌دهنده سخت‌افزاری رمزنگاری محدود می‌شود.