اختيار المتحكم الدقيق المناسب المزود بالواي فاي هو قرار حاسم في تطوير منتجات إنترنت الأشياء. يمثل ESP8266 وESP32، اللذان تم تصنيعهما بواسطة شركة Espressif Systems، نهجين مختلفين للاتصال اللاسلكي والمعالجة المدمجة. تقدم هذه المقالة مقارنة تقنية بين بنيتها المعمارية والأجهزة الطرفية وقدرات الاتصال واعتبارات التصميم العملية لمساعدة المهندسين وفرق المشتريات على تقييم أي وحدة تناسب متطلبات تطبيقهم بشكل أفضل.
نظرة عامة على بنى ESP8266 وESP32
كل من ESP8266 وESP32 هما حلولان نظام على شريحة (SoC) تدمج متحكم دقيق، وجهاز إرسال واي فاي، وواجهات ملحقات على شريحة واحدة. على الرغم من شراكة بنية RISC 32-بت ودعم البروتوكولات التسلسلية الشائعة (SPI، I2C، UART)، تختلف مواردها الحسابية ومجموعات الميزات بشكل كبير.
تم بناء ESP8266 حول معالج Tensilica Xtensa LX106 أحادي النواة يعمل بسرعة 80 ميجاهرتز (ويمكن رفع سرعة السرعة حتى 160 ميجاهرتز في بعض التطبيقات). يوفر الاتصال الواي فاي بسرعة 802.11 b/g/n، وذاكرة RAM بسعة 128 كيلوبايت، وعادة 4 ميجابايت من ذاكرة الفلاش الخارجية. تصميمها المبسط يركز على كفاءة التكلفة وسهولة التكامل في التطبيقات التي يكون فيها الوصول إلى الإنترنت اللاسلكي هو المتطلب الأساسي.
يستخدم ESP32 معالج تينسيليكا إكستنسا LX6 ثنائي النواة مع سرعات ساعة قابلة للتكوين من 80 ميجاهرتز إلى 240 ميجاهرتز. يتضمن 520 كيلوبايت من ذاكرة SRAM، و4 ميجابايت من الفلاش (قابل للتوسعة)، ويضيف بلوتوث 4.2 (BR/EDR وBLE) إلى جانب الواي فاي. يجعله عدد GPIO الموسع، وقنوات ADC/DAC الإضافية، وتسريع التشفير في الأجهزة مناسبا للتطبيقات المدمجة الأكثر تطلبا.

ESP8266: خصائص التصميم وحالات الاستخدام النموذجية
المواصفات الأساسية
يعمل ESP8266، الذي يطبق عادة في شكل وحدة ESP-12E أو ESP-12F، من مصدر طاقة 3.0 فولت إلى 3.6 فولت عبر منظم LDO مدمج. توفر الشريحة:
- معالج أحادي النواة 32-بت بسرعة 80/160 ميجاهرتز
- 128 كيلوبايت ذاكرة RAM لتنفيذ البرنامج والبيانات
- فلاش SPI خارجي بسعة 4 ميجابايت (التكوين القياسي)
- 802.11 واي فاي b/g/n مع أوضاع المحطة ونقاط الوصول البرمجية
- 17 دبابيس GPIO ذات وظائف متعددة الإرسال
- قناة ADC واحدة بطول 10 بت
- دعم SPI وI2C وUART وPWM
جميع دبابيس GPIO تعمل عند مستويات منطقية 3.3 فولت وليست مقاومة ل5 فولت. الاتصال المباشر بإشارات 5 فولت سيتلف الجهاز؛ يطلب استخدام مبدلات مستوى أو فواصل جهد عند التوصيل مع أنظمة 5 فولت.
اعتبارات التصميم العملية
تعني بنية ESP8266 ذات النواة الواحدة أن معالجة مكدس الواي فاي تشارك وقت وحدة المعالجة المركزية مع كود التطبيق. أثناء نقل أو استقبال الواي فاي النشط، قد يتوقف تنفيذ شيفرة المستخدم، مما قد يؤثر على الأداء اللحظي في التطبيقات الحساسة للتوقيت. بالنسبة للقياس عن بعد البسيط، أو تسجيل بيانات المستشعرات، أو مهام التحكم عن بعد حيث لا يكون توقيت أقل من الميلي ثانية أمرا حاسما، نادرا ما يكون هذا القيد مشكلة.
يمكن أن يصل استهلاك الطاقة أثناء نقل الواي فاي النشط إلى 170 مللي أمبير أو أكثر. تدعم الوحدة وضع السكون المودم الذي يقلل من استهلاك التيار إلى حوالي 15 مللي أمبير مع الحفاظ على اتصال واي فاي، ووضع السكون العميق الذي يستهلك أقل من 20 ميكروأمبير، رغم أن السكون العميق يتطلب إشارة استيقاظ خارجية أو مؤقت.
قد يقيد عدد قنوات ADC (قناة واحدة قابلة للاستخدام) ودبابيس GPIO التصاميم التي تتطلب عدة حساسات تناظرية أو تداخل محيطي واسع. في مثل هذه الحالات، يمكن استخدام مضخمات خارجية أو موسعات إدخال/إخراج، رغم أن ذلك يضيف تعقيدا وتكلفة.
التطبيقات النموذجية
- حساسات متصلة بالواي فاي (درجة الحرارة، الرطوبة، الحركة)
- مفاتيح ومرحلات ذكية
- محطات المراقبة البيئية
- مشاريع تعليمية ونماذج أولية
- نقاط نهاية إنترنت الأشياء منخفضة التكلفة مع متطلبات معالجة متواضعة
ESP32: القدرات المعززة للأنظمة المعقدة
المواصفات الأساسية
ESP32، الذي يوجد عادة في نسخ وحدات ESP32-WROOM-32 أو ESP32-WROVER، يوسع مجموعة الميزات بشكل كبير:
- معالج ثنائي النواة 32-بت بسرعة 80-240 ميجاهرتز
- ذاكرة SRAM بسعة 520 كيلوبايت، مع خيارات PSRAM خارجية تصل إلى 8 ميجابايت (نسخ WROVER)
- ذاكرة فلاش بسعة 4 ميجابايت أو أكبر
- 802.11 b/g/n واي فاي مع ميزات متقدمة (Wi-Fi Direct، دعم WPA3 في الإصدارات اللاحقة)
- بلوتوث 4.2 (كلاسيك وBLE)
- 48 دبوس GPIO (عادة ما يتم تقسيم 25+ على الوحدات)
- 18 قناة × مرقمية مرقمية ب-12 بت وقناة × DAC ب 8 بت
- 10 مدخلات مستشعر لمس سعوية
- تسريع التشفير في الأجهزة (AES، SHA، RSA)
- واجهات CAN 2.0، I2S، SPI، I2C، UART
مثل ESP8266، يعمل ESP32 بمستويات منطقية 3.3 فولت. يقبل منظم LDO المدمج جهود الإدخال من 3.0 فولت إلى 3.6 فولت، وغالبا ما تتضمن لوحات التطوير منظما إضافيا لاستقبال طاقة USB بجهد 5 فولت.
المعالجة ثنائية النواة وإدارة المهام
تسمح بنية ESP32 ذات النواتين بأن تكون مخصصة لإحدى النواة لعمليات مكدس الواي فاي والبلوتوث بينما تنفذ الأخرى كود التطبيق. هذا الفصل يحسن الاستجابة في الوقت الحقيقي ويتيح معالجة بيانات المستشعرات والاتصالات وخوارزميات التحكم بشكل متوازي. بالنسبة للتصاميم التي تتطلب تشغيل البلوتوث والواي فاي في نفس الوقت، أو تلك التي تعالج تدفقات البيانات من عدة حساسات، تقدم هذه البنية مزايا أداء قابلة للقياس.
يسمح البرنامج الثابت القائم على FreeRTOS الذي توفره Espressif بتثبيت المهام على أنوية محددة، مما يمنح المطورين تحكما صريحا في توزيع عبء العمل وسلوك التوقيت.
مجموعة الأطراف الموسعة
تتيح قنوات ADC ال 18 في ESP32 الاتصال المباشر لعدة حساسات تناظرية دون الحاجة إلى تعدد خارجي. توفر دقة 12 بت دقة أدق من مدرج ال ADC ذو 10 بت في ESP8266، والتي يمكن أن تكون مهمة في تطبيقات الاستشعار الدقيق. تدعم القناتان DAC توليف الصوت، وإشارات التحكم التناظرية، وتوليد الموجات بدون مكونات خارجية.
يتم تنفيذ استشعار اللمس السعوي في الأجهزة، مما يلغي الحاجة إلى دوائر التحكم المنفصلة في تصاميم واجهات المستخدم. تمكن واجهة ناقل CAN من دعم بروتوكولات السيارات والصناعة، مما يوسع نطاق الأنظمة القابلة للتطبيق.
التعايش بين البلوتوث واللاسلكي
دمج Bluetooth Classic وBLE يوسع إمكانيات التصميم. يتيح BLE التواصل منخفض الطاقة مع الهواتف الذكية والأجهزة القابلة للارتداء والمنارات. يدعم Bluetooth Classic بث الصوت وتوافق الأجهزة القديمة. وبالاقتران مع الواي فاي، يمكن ل ESP32 أن يعمل كبوابة تجمع البيانات من حساسات BLE وتوجهها إلى خدمات السحابة عبر الواي فاي، أو كجهاز مزدوج الواجهة يوفر تحكما محليا (بلوتوث) وتحكم عن بعد (واي فاي).
البلوتوث والواي فاي يشتركان في نفس واجهة RF بسرعة 2.4 جيجاهرتز، وآلية التعايش في إسبرسيف تربط الوقت بالوصول إلى الراديو. بينما يمكن أن يكون كلا البروتوكوليكين نشطين في نفس الوقت، فإن ذروة النقل في كل رابط أقل مما هي عليه عند التشغيل بشكل مستقل. بالنسبة لمعظم تطبيقات إنترنت الأشياء، هذا التنازل مقبول.
التطبيقات النموذجية
- بوابات إنترنت الأشياء التي تجمع البيانات من عدة حساسات
- بث الصوت والأجهزة التي تعمل بالصوت
- الأجهزة القابلة للارتداء التي تتطلب BLE وWi-Fi
- مراكز أتمتة المنزل
- أنظمة المراقبة والتحكم الصناعية مع ناقل CAN
- الأجهزة التي تعمل بالبطارية ولديها إدارة حالة طاقة معقدة
مقارنة تكوين الدبوس وGPIO
ESP8266 تخطيط GPIO
يعرض ESP8266 17 دبوس GPIO، رغم أن العديد منها له قيود على وقت الإقلاع أو التشغيل:
- GPIO0: يجب أن يكون مرتفعا أثناء الإقلاع للعمل العادي؛ سحب السحب المنخفض يدخل وضع برمجة الفلاش
- GPIO2: يجب أن يكون مرتفعا أثناء الإقلاع؛ غالبا ما يتم توصيله بمصباح LED مدمج في السفينة
- GPIO15: يجب أن يكون منخفضا أثناء الإقلاع
- GPIO16: متصل بساعة الوقت الحقيقي؛ يستخدم للاستيقاظ في النوم العميق لكنه لا يستطيع استخدام المقاطعة عند التغيير
- ADC0: المدخل التناظري الواحد، الذي يحمل عادة علامة A0، يقيس من 0 إلى 1.0 فولت
تتطلب هذه القيود على الدبابيس تخطيطا دقيقا في تخطيط لوحات الدوائر وتهيئة البرمجيات الثابتة. استخدام GPIO0 أو GPIO2 أو GPIO15 كمدخل/إخراج عام ممكن لكنه يجب أن يأخذ في الاعتبار حالات وقت الإقلاع الخاصة بها.
يدعم ESP8266 واجهة SPI واحدة في الأجهزة وواجهة I2C واحدة (bitbanged أو hardware)، وكلاهما مشترك بين GPIO المتاحين عبر التعددية.
تخطيط GPIO في ESP32

يتم تقسيم 48 GPIO في ESP32 إلى وظائف مخصصة ومتعددة الإرسال. تشمل الميزات الرئيسية:
- 18 قناة ADC موزعة عبر ADC1 و ADC2 (ملاحظة: لا يمكن استخدام ADC2 عندما يكون الواي فاي نشطا)
- 2 قنوات DAC (GPIO25، GPIO26)
- 10 دبابيس لمس سعوية
- دبابيس الربط (GPIO0، GPIO2، GPIO5، GPIO12، GPIO15) التي تحدد وضع الإقلاع؛ هناك حاجة إلى نفس العناية أثناء تشغيل الطاقة
- مجموعة RTC GPIO الفرعية للاستخدام أثناء النوم العميق
الواجهات الطرفية في ESP32 أكثر مرونة بسبب مصفوفة IO_MUX وGPIO، التي تسمح لمعظم الأجهزة الرقمية (UART، SPI، I2C) بربط مجموعة واسعة من الدبابيس. تبسط هذه المرونة توجيه لوحات الدوائر المطبوعة وتستوعب قيود التخطيط.
يدعم ESP32 ثلاث واجهات UART، وثلاث واجهات SPI، وناقلين I2C في نفس الوقت، مما يتيح تصاميم معقدة متعددة الأطراف دون الحاجة إلى تعدد إرسال خارجي أو جسر بروتوكولي.
استهلاك الطاقة وتشغيل البطارية
تعد كفاءة الطاقة عاملا حاسما في تطبيقات الطاقة التي تعمل بالبطاريات وتطبيقات حصاد الطاقة.
أوضاع ESP8266 القوة
- نشط (واي فاي توكس): ~170 مللي أمبير
- نشط (واي فاي RX): ~60 مللي أمبير
- سكون المودم: ~15 مللي أمبير (اتصال الواي فاي محفوظ، لكن الراديو يدور في نظام التشغيل)
- النوم الخفيف: ~0.9 مللي أمبير
- السكون العميق: ~20 ميكروأمبير (يتم الاحتفاظ ب RTC وكمية صغيرة من الذاكرة العشوائية؛ الاستيقاظ عبر GPIO16 أو إعادة ضبط خارجية)
النوم العميق هو أكثر الوضع العملي منخفض الطاقة لتطبيقات الاستشعار الدوري. لا يدعم ESP8266 الاستيقاظ المتطور من النوم العميق؛ يجب تكوين الجهاز ليقوظ بعد انتهاء المؤقت أو عبر إعادة تعيين العتاد.
أوضاع الطاقة في ESP32
- نشط (واي فاي TX): ~160-240 مللي أمبير
- نشط (واي فاي RX): ~80-100 مللي أمبير
- سكون المودم: ~20-30 مللي أمبير
- النوم الخفيف: ~0.8 مللي أمبير
- السكون العميق: ~10 ميكروأمبير (RTC، معالج ULP، وذاكرة RTC نشطة)
- السبات: ~5 ميكروأمبير (مؤقت RTC فقط نشط)
يتيح معالج الطاقة الفائقة (ULP) في ESP32 مراقبة المستشعرات ومعالجة البيانات البسيطة بينما تبقى الأنوية الرئيسية في حالة سكون. تعد هذه الميزة ذات قيمة في التطبيقات التي تتطلب استيقاظا منخفض الكمون بناء على عتبات المستشعر (مثل كشف الحركة، عبور المستوى التناظري) دون تكلفة الطاقة للحفاظ على تشغيل المعالج الرئيسي.
عمليا، توفر أوضاع السكون المتقدمة ومعالج ULP في ESP32 إدارة طاقة أكثر مرونة من ESP8266، خاصة في التصاميم التي يجب أن يستيقظ فيها الجهاز بشكل متكرر أو مشروط بناء على أحداث خارجية.
نظام التطوير وخيارات البرمجيات الثابتة
كلا الوحدتين مدعومتان جيدا من عدة بيئات تطوير:
بيئة تطوير أردوينو
يوفر نواة أردوينو ل ESP8266 وESP32 واجهة برمجة تطبيقات مألوفة وسهلة الوصول للهواة والنمذجة السريعة. دعم المكتبة واسع النطاق، يشمل أجهزة الاستشعار والمشغلات وبروتوكولات الاتصال الشائعة. الأداء وتحسين الذاكرة أقل دقة مقارنة بتطوير SDK الأصلي، لكن سهولة الاستخدام والتكرار السريع هما من مزايا مهمة.
ESP-IDF (إطار تطوير إنترنت الأشياء في إسبريسيف)
ESP-IDF هو إطار التطوير الرسمي لشركة إسبرسيف المبني على FreeRTOS. يوفر وصولا كاملا إلى ميزات الأجهزة، وتحكما دقيقا في إدارة الطاقة، وتكديس شبكات محسنة. ESP-IDF هو البيئة الموصى بها للبرمجيات الثابتة الإنتاجية حيث تكون الأداء، وكفاءة الذاكرة، وقابلية الصيانة طويلة الأمد أولوية. منحنى التعلم أكثر حدة، لكن الإطار موثق جيدا ويتم صيانته بنشاط.
مايكرو بايثون واللغات الأخرى
توفر مايكرو بايثون بيئة تفاعلية مفسرة للبايثون مناسبة للبرمجة النصية والاختبار والاستخدام التعليمي. يدعم جيدا على كل من ESP8266 وESP32، رغم أن قيود الذاكرة على ESP8266 قد تحد من تعقيد تطبيقات مايكرو بايثون.
كما تتوفر أطر عمل أخرى مثل Lua (NodeMCU)، Rust، وحتى JavaScript (Espruino، SDK القابل للتعديل)، مما يعكس اهتمام المجتمع الواسع وحالات الاستخدام المتنوعة لهذه الوحدات.
ملخص مقارن: الاختيار بين ESP8266 و ESP32
| ميزة | ESP8266 | ESP32 |
|---|---|---|
| المعالج | نواة واحدة، 80 ميجاهرتز | ثنائي النواة، 80-240 ميجاهرتز |
| ذاكرة عشوائية | 128 كيلوبايت | 520 كيلوبايت |
| فلاش | 4 ميجابايت (نموذجي) | 4 ميجابايت أو أكثر |
| واي فاي | 802.11 b/g/n | 802.11 b/g/n، واي فاي دايركت |
| البلوتوث | لا | بلوتوث 4.2 (كلاسيك + BLE) |
| عدد GPIO | 17 | 48 (25+ متاح على الوحدات) |
| ADC | 1 × 10-بت | 18 × 12-بت |
| DAC | لا شيء | 2 × 8-بت |
| استشعار اللمس | لا | 10 مدخلات سعوية |
| حافلة كان | لا | نعم |
| القوة (نوم عميق) | ~20 ميكروأمبير | ~10 ميكروأمبير (5 ميكروأمبير سبات) |
| معالج ULP المساعد | لا | نعم |
| تكلفة الوحدة النموذجية | أقل | متوسط |
متى تختار ESP8266
- المشاريع ذات الميزانية المحدودة حيث تكون تكلفة الوحدة هي الشاغل الأساسي
- اتصال واي فاي بسيط للإبلاغ عن المستشعرات أو التبديل عن بعد
- التطبيقات التي تتطلب إدخال/إخراج محدودة
- مشاريع تعليمية وتطوير إنترنت الأشياء التمهيدية
- تصاميم لا يطلب منها البلوتوث
متى تختار ESP32
- التطبيقات التي تتطلب كلا من الاتصال بالواي فاي والبلوتوث
- أنظمة متعددة الحساسات مع العديد من المدخلات التناظرية أو الرقمية
- المهام اللحظية أو التي تتطلب حوسبة كبيرة وتستفيد من معالجة النواتين
- تصاميم تعمل بالبطارية تتطلب إدارة طاقة متطورة وإيقاظا مشروطا
- الأنظمة التي تحتاج إلى تشفير مسرع بالأجهزة أو دعم ناقل CAN
- المشاريع المتوقعة أن تتوسع في التعقيد أو مجموعة الميزات مع مرور الوقت
مثال على التصميم في العالم الحقيقي: محطة مراقبة البيئة
تخيل محطة مراقبة بيئية تعمل بالبطارية تقيس درجة الحرارة، الرطوبة، ضغط الهواء، شدة الضوء، ورطوبة التربة، وتقدم البيانات إلى خدمة سحابية كل 15 دقيقة.
ESP8266 التنفيذ:
قناة ADC واحدة تحد من اتصالات المستشعرات التناظرية المباشرة؛ سيكون من الضروري وجود دائرة متكاملة متعددة القنوات (مثل ADS1115) متصلة عبر I2C لأجهزة استشعار رطوبة التربة والضوء. كان الجهاز يستيقظ من السكون العميق عبر المؤقت، ويهيئ الواي فاي، ويتصل بالشبكة، وينقل البيانات عبر MQTT أو HTTP، ثم يعود إلى السكون العميق. قد يكون متوسط سحب التيار خلال دورة مدتها 15 دقيقة بين 50-100 ميكروأمبير، مما يسمح بتشغيل أشهر من بطارية ليثيوم صغيرة.
تنفيذ ESP32:
تسمح قنوات ADC المتعددة بالاتصال المباشر للحساسات التناظرية بدون مكونات خارجية. يمكن لمعالج ULP المساعد مراقبة عتبات المستشعر وإيقاظ الأنوية الرئيسية فقط عند حدوث تغيير كبير، أو الحفاظ على جدول ال 15 دقيقة. كان بإمكان البلوتوث تمكين التكوين المحلي عبر تطبيق الهاتف الذكي دون الحاجة إلى ترميز بيانات اعتماد الواي فاي بشكل ثابت. يمكن تقليل متوسط استهلاك التيار إلى 30-60 ميكروأمبير مع إدارة حالة النوم الأفضل، مما يطيل عمر البطارية أكثر. كما تتيح بنية النواتين الاستطلاع المتزامن للمستشعرات والتواصل الشبكي، مما يقلل من إجمالي وقت الاستيقاظ.
في هذا السيناريو، يتم تعويض التكلفة الإضافية ل ESP32 بتقليل عدد المكونات الخارجية، وزيادة عمر البطارية، وتحسين تجربة المستخدم.
الخاتمة
تتناول ESP8266 وESP32 قطاعات مختلفة من طيف تصميم إنترنت الأشياء. يظل ESP8266 خيارا عمليا وفعالا من حيث التكلفة للأجهزة المتصلة بالواي فاي البسيطة حيث تتطلب متطلبات معالجة معتدلة ولا يكون البلوتوث ضروريا. نظامها البيئي الناضج، ودعمها المجتمعي الواسع، وقلة الحواجز على الدخول تجعله مناسبا للاستخدام التعليمي والمنتجات التجارية البسيطة.
يبرر معالج ESP32 ثنائي النواة، والذاكرة الموسعة، وتكامل البلوتوث، ومجموعة الأجهزة الطرفية الأغنى تكلفته الأعلى في التطبيقات التي تتطلب قدرة حسابية أكبر، أو واجهات اتصالات متعددة، أو إدارة طاقة متقدمة. بالنسبة للتصاميم المتوقعة أن تتطور أو تتوسع في الوظائف، تقلل مرونة ESP32 من خطر تقادم الأجهزة.
يجب على المهندسين وفرق المشتريات تقييم ميزانية الطاقة، ومتطلبات الإدخال/الإخراج، وبروتوكولات الاتصال، وتكلفة الوحدة، وقابلية التوسع طويلة الأمد عند الاختيار بين هذه الوحدات. كلا الجهازين قادران ومدعومان بشكل جيد؛ الاختيار الأمثل يعتمد على القيود التقنية والاقتصادية المحددة للتطبيق.