NodeMCU: منصة إنترنت الأشياء مفتوحة المصدر

ESP8266

NodeMCU هي وحدة مفتوحة المصدر لتنفيذ منصة إنترنت الأشياء (IoT). تستخدم هذه الوحدة برامج ثابتة تعمل على معالج Espressif Systems ESP8266 SoC ، الذي سبق أن استعرضناه في هذه المدونة، بالإضافة إلى مكونات مادية مبنية على وحدة ESP-12، مع 11 منفذ إدخال/إخراج للأغراض العامة (GPIO)، أحدها منفذ تناظري 10 بت (يحتوي على 1024 قيمة رقمية ممكنة)، كما قد تكون قرأت في المقال نفسه الذي أشرت إليه.

يشير مصطلح NodeMCU إلى البرامج الثابتة ، وليس إلى مجموعات التطوير، مع أنه يُستخدم مؤخرًا غالبًا كمرادف للمنصة بأكملها. تجدر الإشارة إلى أن هذه الوحدات كانت تستخدم لغة Lua في البداية، ولكن كما سترى، فقد تطورت. في الواقع، كانت مبنية على مشروع eLua ومجموعة تطوير البرمجيات Espressif غير العاملة لـ ESP8266، مع استخدام مشاريع مفتوحة المصدر لتوفير المكونات المفقودة مثل lua-cjson وspiffs وغيرها. إذا لم تكن على دراية بلغة Lua، فهي لغة برمجة خفيفة الوزن، منظمة، وإجرائية، ذات دلالات قابلة للتوسيع، ومصممة للاستخدام كلغة تفسيرية.

NodeMCU

com.nodemcu

أصبحت هذه الوحدة شائعة جدًا بين مستخدمي ESP8266، نظرًا لاستخدامها الواسع في مشاريع إنترنت الأشياء، التي تحظى بشعبية كبيرة هذه الأيام. بعد أن بدأت شركة Espressif Systems بتسويق ESP8266 في عام 2013، تم تحميل أولى ملفات البرامج الثابتة NodeMCU على GitHub بعد عام، في أكتوبر 2014. وبعد شهرين، في نهاية ذلك العام، بدأ المشروع بالتوسع ليشمل منصة أجهزة مفتوحة المصدر.

تطوّر المشروع تدريجيًا، وأُضيفت إليه مكتباتٌ جديدة ، مثل مكتبة MQTT الخاصة بـ Contiki، مما مكّن المنصة من دعم بروتوكول MQTT لإنترنت الأشياء، باستخدام لغة Lua للوصول إليه. وفي عام 2015، صدر تحديثٌ هامٌ آخر عندما قام Devsaurus بنقل مكتبة u8glib إلى NodeMCU، مما أتاح لها التحكم بسهولة في شاشات LCD وOLED وVGA. وفي صيف عام 2015، انسحب المطورون الأصليون تدريجيًا من المشروع، مُفسحين المجال أمام مساهمين مستقلين. وبحلول عام 2016، كان NodeMCU يضم أكثر من 40 وحدةً مختلفة...

كما سيتم تضمين ESP8266 Core لـ Arduino IDE ، للعمل مع النظام الأساسي باستخدام لوحات تطوير Arduino، مما يسمح للعديد من المستخدمين والمصممين بإنشاء مشاريعهم الخاصة باستخدام هذا النظام الأساسي.

Pinout

فيما يتعلق بتوزيع الدبابيس ، فقد تم تحليله بالفعل في المقالة الأخرى حول ESP8266 على المدونة، ولكن أهم الدبابيس هي:

  • رقم التعريف الشخصي 0 *: GPIO 16 لـ GPIO للقراءة / الكتابة فقط.
  • رقم التعريف الشخصي 1: GPIO 5
  • رقم التعريف الشخصي 2: GPIO 4
  • باينت 3: GPIO 0
  • رقم التعريف الشخصي 4: GPIO 2
  • رقم التعريف الشخصي 5: GPIO 14
  • رقم التعريف الشخصي 6: GPIO 12
  • رقم التعريف الشخصي 7: GPIO 13
  • رقم التعريف الشخصي 8: GPIO 15
  • رقم التعريف الشخصي 9: GPIO 3
  • رقم التعريف الشخصي 10: GPIO 1
  • رقم التعريف الشخصي 11: GPIO 9
  • رقم التعريف الشخصي 12: GPIO 10
  • البعض الآخر محجوز أو يعمل من أجل الطاقة (GND ، Vcc) ولإشارات أخرى.

قد تختلف الدبابيس المتاحة حسب الإصدار أو الطراز، ولكن هذه هي الدبابيس النموذجية.

الميزات الأخرى لـ NodeMCU

يُباع جهاز NodeMCU بسعر مماثل لجهاز ESP-201، حوالي 7 يورو على أمازون ، ويأتي مزودًا بكل ما تحتاجه، مما يجعله سهل الاستخدام للغاية. بعض الوحدات تتجاوز تكلفتها 10 يورو، لكنها تتضمن مكونات إضافية مثل شاشات LCD، وغيرها.

يمكنك تنزيل البرنامج الثابت الذي يتحكم به مجانًا من GitHub ، ويمكنك استخدام لغات برمجة مثل C++، وPython، وBASIC، وJavaScript، وغيرها مثل Lua. تذكر أنه مفتوح المصدر، لذا يمكنك التعلم من هذا المشروع أو تعديله بحرية إذا احتجت إلى إضافة ميزات أو تغيير أي من معاييره.

ماذا يتضمن مجلس التطوير؟

تتضمن لوحة تطوير NodeMCU عادةً منفذ microUSB للبرمجة والتزويد بالطاقة، ومحولًا من منفذ تسلسلي إلى USB، ومنافذ التوصيل المذكورة في قسم منافذ التوصيل، بالإضافة إلى مؤشر LED مدمج وزر إعادة ضبط. وبطبيعة الحال، نظرًا لاحتوائها على معالج ESP8266 SoC للاتصال بشبكة WiFi، يتم أيضًا طباعة هوائي حلزوني على لوحة الدوائر المطبوعة.

مع ذلك، ونظرًا لوجود العديد من الشركات المصنعة والإصدارات والطرازات ، فإن لكل منها فلسفتها الخاصة، وقد تتضمن إضافات خاصة بها أو معايير مختلفة تبعًا للغرض المقصود من اللوحة. على سبيل المثال، كما سترى لاحقًا، يمكن استبدال شريحة ESP12 بشريحة ESP12E في بعض الطرازات، أو شريحة CH340G بدلًا من CP2102 لتحويل البيانات التسلسلية، وهكذا.

تشمل الشركات المصنعة الرئيسية للوحات NodeMCU عادةً Amica وFBlue وLolin/Wemos وDOIT/SmartArduino وAZ-Delivery وغيرها. بالإضافة إلى الموردين المختلفين، ستجد أيضًا العديد من الإصدارات:

  • الجيل الأول: devkit v0.9 هو الإصدار الأصلي من NodeMCU مع ESP12 مع فلاش 4 ميجا بايت على ESP8266 ، ولكن مع عدد أقل من دبابيس GPIO من إصدار ESP12E الذي تعتمد عليه الطرز الحالية. الآن عفا عليه الزمن ولا يمكنك شرائه.
  • الجيل الثاني: هو الإصدار v1.0 / v2.0 ، الذي أنشأته Amica ، وهي شركة ألمانية Gerwin Janssen لتحسين الإصدار السابق v0.9. لقد أحبوا ذلك كثيرًا لدرجة أنه انتهى به الأمر إلى كونه الإصدار الرسمي من NodeMCU. بدأت باستخدام ESP12E ومع صف إضافي من المسامير للتوصيلات. انتهى الأمر بالمصنعين الآخرين إلى نسخ هذا الإصدار أيضًا ، باستخدام نموذج الأجهزة المفتوحة هذا كقاعدة.
  • الجيل الثاني- تم تصميم v1.0 / v3 بواسطة Lolin / Wemos عندما قرروا إنشاء نموذج أولي محسّن مع بعض التغييرات الطفيفة. كان التغيير الرئيسي هو تركيب محول تسلسلي CH340G بدلاً من CP2102 ، مما يجعل منفذ USB أكثر قوة. إنه حاليًا النموذج الأكثر مبيعًا.

في الوقت الحالي، هذه هي أهم التطورات التي يجب أن تعرفها، على الرغم من أن بعضها قد يكون أصبح قديماً.

ما الذي يمكن عمله مع NodeMCU؟

تتنوع استخدامات لوحة NodeMCU في مجال إنترنت الأشياء بشكل كبير، ولا حدود لها سوى خيالك. إليك بعض الأمثلة على الأفكار التي يمكنك تطبيقها بفضل ميزاتها للتحكم عبر الإنترنت، والتواصل، وغير ذلك.

  • إنشاء الخاصة بك محطة الطقس باستخدام مستشعرات الرطوبة ودرجة الحرارة وما إلى ذلك ، ولتتمكن من تلقي نتائج القياس من أي نقطة متصلة بالإنترنت. بالطبع يمكنك استخدام أي نوع آخر من أجهزة الاستشعار أو العناصر لإنشاء مشاريع مماثلة.
  • أتمتة متصلة، مما يتسبب في حدوث إجراء بواسطة نبضة ، مثل التحكم في مصابيح LED ، وتبديل المرحلات ، وتفعيل أي نوع من المشغلات ، وما إلى ذلك.
  • إنشاء خادم NTP، وأنواع أخرى من الخدمات للأجهزة المتصلة.
  • أنظمة تحديد المواقع للديكورات الداخلية للمنازل أو المباني باستخدام GPS.
  • الألعاب بأنواعها ، domótica من المنزل ، إلخ.

للمزيد من المعلومات – دروس تعليمية حول أردوينو

الآن تعرف أهم ميزات لوحات NodeMCU ويمكنك البدء في استخدامها في مشاريع إنترنت الأشياء المستقبلية الخاصة بك جنبًا إلى جنب مع لوحات Arduino واللوحات المماثلة...


أضف كمصدر مفضل في جوجل