رقاقة المتحكّم ESP8266:
صُمّمت المتحكّمات من الطّراز ESP8266 للتواصل عبر شبكة الإنترنت باستخدام الواي فاي، كما تُزوَّد بقدرة معالجة وذاكرة مخصّصة لها على الدارة المطبوعة للمتحكّم، ممّا يسمح باستخدامها مع الأجهزة الإلكترونيّة عبر أقطاب الاتصال العامة (GPIO) الموجودة على هذه الوحدة. يوجد قطبين عامّين على الإصدار ESP-01.
تمّت إضافة المتحكّمات من الطراز ESP8266 إلى الكثير من ألواح المتحكّمات في هذه الإيام (على سبيل المثال الوحدة ESP-01). تمّ تطوير وتصنيع أول متحكّمات النوع ESP8266 من قبل شركة Espressif Systems الصينيّة، وتعتبر مجموعة بروتوكولات الاتصال بالشبكة وقابلية الاتصال باستخدام الواي فاي أهمّ الأسباب التي أدت إلى الانتشار الواسع لهذه المتحكمات.
متطلّبات الطّاقة:
يتمّ توصيل التيّار الكهربائيّ المستمرّ بجهد 3.3 V إلى الوحدة عبر القطبَين VCC وGND، كما يجب أن يتمّ توصيل جهد 3.3 V إلى القطب CH_PD، يستطيع كلّ قطب عامّ أن يعطي تيّاراً يصل حتى 12 mA.
مواصفات الوحدة ESP-01:
• عدد الأنوية: 1.
• المعماريّة: 32 bit.
• تردد الساعة: 80 MHz بشكل افتراضي أو 160 MHz تبعاً للبرمجة.
• الذاكرة: ذاكرة فلاش خارجيّة 512 KB أو 1 MB حسب الإصدار.
• جهد التشغيل: 3.6 V جهد مستمرّ.
• جهد الدخل: 2.5 حتى 3.6V مستمرّ.
• جهد الدخل المنصوح به: 3.3 V مستمرّ.
• مصدر التزويد بالطاقة: عن طريق الأقطاب العامة (القطب Vc والقطب CH_PD يجب توصيل الطاقة إلى القطبين معاً).
• الاتصال بالشبكة: اتصال واي فاي (بروتوكول IEEE 802.11 b/g/n).
• الهوائيّ: خط على الدارة المطبوعة.
• المعايير: FCC/CE/TELEC/SRRC.
• مدى تردّد العمل: 2.4G -2.5G (2400 m – 2483.5) m .
• قوة البث: 802.11b: +20 dBm, 802.11g: +17 dBm, 802.11n: +14 dBm.
• حساسيّة المستقبل: 802.11b: -91dbm (11 Mbps), 802.11g: -75 dBm(54 Mbps),802.11n: -72 dbm (MCS7).
• الحماية: WPA، WPA2.
• التشفير: WEP/TKIP/AES.
• بروتوكولات الاتصال: IPv4/TCP/UDP/HTTP/FTP.
• اتصال بلوتوث: غير متوفّر.
• أقطاب الدخل والخرج: اثنان (GPIO1 & GPIO2).
• قطب تغذية الليد على الدارة: GPIO1 والذي يعمل قطب للمرسل.
• أقطاب الدخل التماثليّ: غير متوفرة.
• تيّار التشغيل: 300 mA (أقصى تيّار).
• تيّار التشغيل لكل قطب دخل/خرج: 12 mA.
• الأبعاد: 25 x 14.5 mm.
• المدى الحراريّ للتشغيل: -40 ~ 125 C.
• بروتوكولات التوصيل: SPI, SDIO, Serial/UART.
• المداخل: لا يوجد.
• قابليّة التوصيل مع ألواح الاختبار: ممكنة.
• أبعاد القطب: 5 x 2.54 mm.
برنامج التشغيل:
يتمّ استخدام مصطلح الرّفع (Upload) للإشارة إلى عمليّة إضافة برنامج التّشغيل إلى المتحكّم. كما تشير كلمة البرمجة إلى رفع برنامج تشغيل مخصّص أو معدّل مسبقاً إلى ذاكرة الوحدة -وهو المكان الذي يخزن فيه برنامج التشغيل حتى عمليّة الرّفع أو البرمجة التالية-. تتمّ عملية رفع برنامج التشغيل باستخدام بروتوكول UART التّسلسليّ.
أوضاع التشغيل:
البرمجة:
يوجد على الوحدة ESP-01 منفذ UART يمكن استخدامه للاتصالات المنطقيّة TTL ولرفع برنامج التشغيل إلى ذاكرة المتحكّم. للتمكّن من استخدام واجهة UART نحتاج إلى محول من مدخل USB إلى TTL يعمل بجهد 3.3V، ويجب أن يكون قادراً على تأمين 300 mA من التيّار على الأقلّ.
يوجد أكثر من خيار للتّحويل من الاتّصال التسلسليّ إلى USB، حيث يمكننا استخدام لوح أردوينو للقيام بهذه المهمّة في حال توفر المعرفة اللازمة. تُعتبر وحدة FTDI للتحويل من USB إلى TTL خياراً جيّداً للقدرة على اختيار جهد التّشغيل المطلوب (5 V أو 3.3 V)، كما تستطيع أن تؤمّن تياراً يصل حتى 500 mA عبر القطب Vc.
مكتبات البرمجة:
المعالجات التي تعمل بأوامر AT:
عند وجود معالج يعمل بأوامر AT يمكن استخدام هذه الأوامر لتغيير بعض إعدادات الأجهزة الافتراضيّة أو لتشغيل الأقطاب العامّة. وعلى الرّغم من تخزين مجموعة أوامر AT في ذاكرة الوحدة فإنّ إعدادات الأجهزة -بعد تغييرها- لن تُحفظ في الذاكرة، وهو ما يعني الحاجة إلى تحديث هذه الإعدادات بعد كلّ إقلاع. يمكن أن يتمّ توجيه أوامر AT للوحدة عبر واجهة UART أو باستخدام تطبيق خارجي (كبرنامج اتصال TCP) القادر على إرسال الأوامر عبر الواي فاي باستخدام معدّ النقل الذي يتمّ تحديده للمتحكّم ESP8266.
عند استخدام هذه المقاربة لا حاجة لاستخدام لغة برمجة محدّدة، بل نستخدم أوامر AT فقط لاستخدام الوحدة.
لحسن الحظ قامت شركة Espressif بتجهيز حزمة تطوير برمجيّة (SDK) وسمحت بذلك برفع العديد من برامج التشغيل المختلفة إلى المتحكّم.
برنامج التشغيل NodeMCU:
تُكتب النصوص البرمجيّة بلغة Lua وتُحفظ بلاحقة (.lua). يسمح برنامج التشغيل NodeMCU بتشغيل الأقطاب العامّة والأجهزة عبر بروتوكولات مثل I2C وPWM، وتسمح هذه النصوص البرمجيّة بضبط إعدادات الأجهزة أيضاً.
يعطي برنامج التشغيل NodeMCU المطوّرين قدرة على الاستفادة من المجال الواسع لوظائف لغة البرمجة Lua وأكوادها الجاهزة لكتابة التّطبيقات الخاصّة بهم.
التشغيل باستخدام Arduino IDE:
تعمل هذه المقاربة على استخدام Compiler بدون مترجم ((Interpreter، حيث تقوم بيئة تطوير الأردوينو بأخذ نص برمجيّ وتحوّله إلى برنامج مع كلّ الوظائف والمكتبات البرمجيّة المرتبطة به ليشكّل برنامج تشغيل ٍمتكاملٍ على هيئة ملفّ ثنائيّ (Binary)، وبعدها يتمّ رفع هذا الملف إلى المتحكّم.
تُكتب النّصوص البرمجيّة والأكواد وتُحفظ بلاحقة (.ino)، تسمح النّصوص البرمجيّة المشكّلَة باستخدام بيئة تطوير الأردوينو بالتّحكّم بأقطاب الدّخل والخرج، كما تسمح بضبط إعدادات الأجهزة، و إضافة نواة المتحكّم ESP8266 إلى بيئة تطوير الأردوينو. يمكن الاستفادة من عدد كبير من المكتبات والأكواد الجاهزة.
طرق أخرى:
ميزات أخرى للوحدة ESP-01:
ترجمة: | لؤي أزدشير ديب |
مراجعة: | علي العلي |
تدقيق لغوي: | سلام أحمد |
تحرير: | كرم ديوب |