ـ
ميزة رائعة لأي متحكم يدعم WiFi مثل ESP32 هي القدرة على تحديث البرامج الثابتة لاسلكيًا . هذا هو المعروف باسم البرمجة عبر الأثير (OTA) .
ما هي البرمجة عبر الاثير OTA في ESP32 ؟
تسمح برمجة OTA بتحديث أو تحميل برنامج جديد إلى ESP32 باستخدام Wi-Fi بدلاً من مطالبة المستخدم بتوصيل ESP32 بجهاز كمبيوتر عبر USB لإجراء التحديث .
تعتبر وظيفة OTA مفيدة للغاية في حالة عدم وجود وصول فعلي إلى وحدة ESP . يساعد في تقليل مقدار الوقت الذي يستغرقه لتحديث كل وحدة ESP في وقت الصيانة .
إحدى الميزات المهمة في OTA هي أن موقعًا مركزيًا واحدًا يمكنه إرسال تحديث إلى عدة ESPs يشاركون نفس الشبكة .
العيب الوحيد هو أنه يجب عليك إضافة رمز إضافي لـ OTA مع كل كود تقوم بتحميله ، حتى تتمكن من استخدام OTA في التحديث التالي .
طرق لتنفيذ OTA في ESP32
هناك طريقتان لتطبيق وظيفة OTA في ESP32 .
- إرسال OTA الأساسي – تحديثات عبر الأثير عبر Arduino IDE .
- Web Updater OTA – يتم إرسال التحديثات عبر الأثير من خلال متصفح الويب .
كل واحد له مزاياه الخاصة . يمكنك تنفيذ أي منها وفقًا لمتطلبات مشروعك .
يغطي المشروع أدناه تنفيذ OTA الأساسي .
3 خطوات بسيطة لاستخدام OTA الأساسية مع ESP32
- تثبيت Python 2.7.x series : الخطوة الأولى هي تثبيت Python 2.7.x series في جهاز الكمبيوتر الخاص بك .
- تحميل Basic OTA Firmware Serially : قم بتحميل الكود الذي يحتوي على البرامج الثابتة OTA بشكل تسلسلي . إنها خطوة إلزامية ، حتى تتمكن من إجراء التحديثات أو التحميلات التالية على الهواء مباشرة .
- تحميل New Sketch Over-The-AirNow : يمكنك تحميل الاكواد الجديدة إلى ESP32 من Arduino IDE عبر الأثير .
Step 1: Install Python 2.7.x series
لاستخدام وظيفة OTA ، تحتاج إلى تثبيت إصدار Python 2.7.x ، إذا لم يكن مثبتًا بالفعل على جهازك .
انتقل إلى موقع Python الرسمي وقم بتنزيل 2.7.x (إصدار محدد) لنظام Windows (مثبت MSI) .
افتح المثبت واتبع معالج التثبيت .
في قسم تخصيص Python 2.7.X ، تأكد من تمكين الخيار الأخير إضافة python.exe إلى المسار .
Step 2: Upload OTA Routine Serially
لا تحتوي صورة المصنع في ESP32 على إمكانية ترقية OTA . لذلك ، تحتاج إلى تحميل البرامج الثابتة OTA على ESP32 من خلال الواجهة التسلسلية أولاً .
إنها خطوة إلزامية لتحديث البرامج الثابتة في البداية ، بحيث تكون قادرًا على إجراء التحديثات أو التحميلات التالية عبر البث المباشر .
تأتي الوظيفة الإضافية ESP32 لـ Arduino IDE مع مثال لمكتبة OTA و BasicOTA . يمكنك الوصول إليه من خلال File > Examples > ArduinoOTA > BasicOTA .
يجب تحميل الكود التالي . ولكن ، قبل أن تتوجه لتحميل المخطط ، تحتاج إلى إجراء بعض التغييرات لجعلها تعمل من أجلك. تحتاج إلى تعديل المتغيرين التاليين باستخدام بيانات اعتماد الشبكة الخاصة بك ، حتى يتمكن ESP32 من إنشاء اتصال بالشبكة الحالية .
بمجرد الانتهاء من ذلك ، تابع تحميل الكود .
لتحميل الكود البرمجي اضغط هنا
الآن ، افتح Serial Monitor بمعدل بسرعة 115200 . واضغط على الزر EN في ESP32 . إذا كان كل شيء على ما يرام ، فسوف يخرج عنوان IP الذي تم الحصول عليه من جهاز التوجيه الخاص بك . لاحظ ذلك .
Step 3: Upload New Sketch Over-The-Air
الآن ، دعونا نحمل كود جديد على الهواء .
تذكر! تحتاج إلى إضافة رمز OTA في كل كود تقوم بتحميله . وإلا ، فستفقد إمكانية OTA ولن تكون قادرًا على القيام بالتحميلات التالية على الهواء مباشرة . لذلك ، يوصى بتعديل الكود أعلاه لتضمين الكود الجديد .
على سبيل المثال ، سنقوم بتضمين كود Blink بسيط في رمز OTA الأساسي . تذكر أن تقوم بتعديل SSID ومتغيرات كلمة المرور باستخدام بيانات اعتماد الشبكة .
يتم تمييز التغييرات في برنامج OTA الأساسي باللون الأزرق .
بمجرد نسخ الكود أعلاه إلى Arduino IDE ، انتقل إلى Tools > Port (خيار المنفذ) وسترى شيءًا كهذا : esp32-xxxxxx at your_esp_ip_address إذا لم تتمكن من العثور عليه ، فقد تحتاج إلى إعادة تشغيل IDE الخاص بك .
حدد المنفذ وانقر فوق الزر “تحميل” . في غضون ثوانٍ قليلة ، سيتم تحميل الكود الجديد . وسترى وميض LED على متن اللوحة .
أنتهت !!!