- ما هي برمجة OTA؟
- ESP8266 NodeMCU
- المكونات مطلوبة
- تحضير NodeMCU لتلقي تحديث OTA لاسلكيًا
- برنامج ESP8266 وامض LED لنقل OTA
- يومض مؤشر LED في ESP8266 من خلال تحديث OTA
ما هي برمجة OTA؟
برمجة OTA (عبر الأثير) هي عملية تسمح للأجهزة بترقية برامجها الثابتة أو برامجها لاسلكيًا دون أي وصول مادي. يستخدم تقنية لاسلكية مثل Wi-Fi أو Bluetooth أو GPRS أو 4G / 3G بدلاً من الاتصال التسلسلي السلكي. يتم استخدام OTA لإعادة برمجة الأجهزة مثل وحدات التحكم الدقيقة ، والهواتف المحمولة ، وأجهزة الكمبيوتر ، وجهاز فك التشفير ، وما إلى ذلك ، يتم إرسال تحديثات OTA عمومًا لتحديث البرنامج ، وحل الأخطاء ، وإضافة بعض الميزات وما إلى ذلك. مع الاستخدام المتزايد لأجهزة إنترنت الأشياء ، يتم نقل OTA باستخدام نطاقات التردد ذات معدل نقل البيانات المنخفض (868 ميجاهرتز ، 900 ميجاهرتز ، 2400 ميجاهرتز).
هنا في هذا البرنامج التعليمي ، سنرسل تحديث OTA إلى ESP8266 NodeMCU ليومض مصباح LED.
ESP8266 NodeMCU
NodeMCU هي منصة إنترنت الأشياء مفتوحة المصدر. وهو يشتمل على البرامج الثابتة التي تعمل على ESP8266 Wi-Fi SoC منخفض التكلفة والممكّن من Wi-Fi من أنظمة Espressif ، والأجهزة التي تعتمد على وحدة ESP-12. لديها دبابيس GPIO و SPI و I2C و ADC و PWM و UART. يمكن برمجتها باستخدام Arduino IDE. يحتوي NodeMCU على اللوحة CP2102 IC التي توفر وظائف USB إلى TTL. لمعرفة المزيد حول ESP8266 ، تحقق من المشاريع الأخرى القائمة على ESP8266.
المكونات مطلوبة
- NodeMCU ESP8266
- كابل Micro USB
- اردوينو IDE
تحضير NodeMCU لتلقي تحديث OTA لاسلكيًا
قم أولاً بتوصيل NodeMCU ESP8266 بالكمبيوتر باستخدام كابل USB الصغير. بعد ذلك ، لتحميل البرنامج الثابت باستخدام OTA ، نحتاج إلى تحميل المخطط بشكل تسلسلي باستخدام micro USB لإنشاء عنوان ESP IP. هذه هي الخطوة الضرورية لتحميل البرنامج الثابت لاسلكيًا في المرة القادمة. حدد المنفذ التسلسلي الذي تم توصيل الكبل به من Tools -> Port .
يأتي ESP8266 مع مكتبات وأمثلة يمكن الوصول إليها مباشرة من Arduino IDE. افتح Arduino IDE ثم افتح مثال BasicOTA.
قم بتحرير الرسم التخطيطي عن طريق استبدال "your-ssid" و "your-password" بشبكة Wi-Fi SSID وكلمة المرور ، ثم قم بتحميل المخطط
افتح الشاشة التسلسلية بعد تحميل البرنامج بنجاح. اضبط معدل الباود على 115200 على جهاز العرض التسلسلي واضغط على زر إعادة الضبط على NodeMCU ESP8266. يستغرق توصيل NodeMCU ESP8266 بشبكة Wi-Fi بعض الوقت حيث يتحقق من بيانات اعتماد Wi-Fi. إذا كان SSID وكلمة المرور صحيحين ، فسيتم توصيل NodeMCU ESP8266 بشبكة Wi-Fi وسيتم عرض عنوان IP الخاص بـ ESP على الشاشة التسلسلية.
برنامج ESP8266 وامض LED لنقل OTA
يتم تقديم رمز كامل لنقل برنامج LED الوامض من خلال OTA في النهاية ، ونوضح هنا جزءًا مهمًا من الكود.
يعد استيراد المكتبات المطلوبة الخطوة الأولى في كتابة الكود. ESP8266WiFi.h توفر مكتبة ESP8266 محددة الروتينية واي فاي حاجة للاتصال بالشبكة. كما أنه يوفر طرقًا وخصائص لتشغيل ESP8266 في وضع المحطة أو وضع نقطة الوصول اللينة. يسمح ESP8266mDNS.h بالرسم التخطيطي للرد على استعلامات DNS متعددة البث.
#تضمن
حدد متغيرات SSID وكلمة المرور لشبكة Wi-Fi التي سيتم توصيل ESP بها. يتعين علينا توصيل جهاز الكمبيوتر الخاص بنا و ESP بنفس شبكة Wi-Fi.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID ؛ const char * password = STAPSK ؛
يتم تعيين ESP8266 كوضع المحطة ويبدأ اتصال Wi-Fi من خلال إعطاء بيانات الاعتماد. يستغرق ESP بعض الوقت للاتصال بوحدة Wi-Fi. إذا كان SSID وكلمة المرور صحيحين ، فسيتم توصيله بشبكة Wi-Fi وإذا كان SSID وكلمة المرور غير صحيحين ، فسيتم إعادة التشغيل في كل ثانية.
Serial.begin (115200) ؛ // ضبط معدل الباود على 115200 Serial.println ("تمهيد") ؛ // خطوة لتوصيل ESP بشبكة Wi-Fi WiFi.mode (WIFI_STA) ؛ // تعيين ESP كوضع المحطة WiFi.begin (SSID ، كلمة المرور) ؛ // بيانات اعتماد Wi-Fi أثناء (WiFi.waitForConnectResult ()! = WL_CONNECTED) // يستغرق توصيل ESP بشبكة wi-fi بعض الوقت ، لذا انتظر حتى يتم الاتصال { Serial.println ("فشل الاتصال! إعادة التشغيل…") ؛ تأخير (1000) ؛ ESP.restart () ، }
تتم طباعة عنوان IP الخاص بـ ESP على الشاشة التسلسلية عند الاتصال بوحدة Wi-Fi. يعطي WiFi.localIP () عنوان IP الخاص بـ ESP.
بعد تحميل الكود ، افتح الشاشة التسلسلية بنجاح بسعر 115200 Baud. اضغط على زر إعادة الضبط وبعد بضع ثوان ستتمكن من رؤية عنوان ESP IP على Serial Monitor. ستتمكن الآن من تحميل البرامج الثابتة لاسلكيًا.
يومض مؤشر LED في ESP8266 من خلال تحديث OTA
قبل تحميل الرسم التخطيطي التالي ، انتقل إلى Tools وقم بتغيير PORT إلى عنوان IP ESP لتحميل البرامج الثابتة لاسلكيًا إلى NodeMCU.
الآن قم بتحميل الرسم التخطيطي الموضح أدناه لمصباح LED الوامض على NodeMCU لاسلكيًا باستخدام Arduino IDE وتأكد من توصيل جهاز الكمبيوتر الخاص بك و ESP بشبكة Wi-Fi نفسها وأن ESP مدعوم من بعض مصادر الطاقة.
بعد تحميل الرمز بنجاح ، سيبدأ مؤشر LED الموجود على NodeMCU ESP8266 في الوميض كل ثانية واحدة. يمكنك أيضًا تعيين اسم المضيف وكلمة المرور في المخطط للأمان أثناء تحميل البرامج الثابتة على ESP.