جدول المحتويات:

كيفية استخدام مصحح أخطاء على ESP32: 11 خطوة (بالصور)
كيفية استخدام مصحح أخطاء على ESP32: 11 خطوة (بالصور)

فيديو: كيفية استخدام مصحح أخطاء على ESP32: 11 خطوة (بالصور)

فيديو: كيفية استخدام مصحح أخطاء على ESP32: 11 خطوة (بالصور)
فيديو: ملخص حياة المبرمج 😂 #Shorts 2024, يوليو
Anonim
كيفية استخدام المصحح على ESP32
كيفية استخدام المصحح على ESP32

هل سبق لك أن رغبت في إلقاء نظرة خاطفة داخل التعليمات البرمجية الخاصة بك لمعرفة سبب تصرفها بالطريقة التي هي عليها؟ تقليديا في مشاريع ESP32 ، كان عليك إضافة بيان طباعة لا نهاية له لمحاولة معرفة ما كان يحدث ، ولكن هناك طريقة أفضل!

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

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

اللوازم

  • ESP-Prog - هذه هي اللوحة المطلوبة لتصحيح الأخطاء

    • بالضبط واحد اشتريته *
    • 5 دولارات أرخص ، لكني لم أختبره *
  • ESP32 الذي يكسر الدبوس 12 ، 13 ، 14 ، 15

    • حوزة ريش فروت 32
    • D1 ميني ESP32 *
  • [اختياري] Debug Shield أبيعه على Tindie

    • حوزة ريشة 32
    • D1 ميني ESP32

* = ارتباط الإحالة

الخطوة 1: شاهد الفيديو

Image
Image

لدي فيديو حول هذا الموضوع إذا كنت تريد التحقق من ذلك.

على قناتي ، أقوم عادةً بإنشاء مقاطع فيديو تستند إلى ESP8266 و ESP32 ، لذلك إذا كنت مهتمًا بها ، فيرجى التحقق منها!

الخطوة 2: الأجهزة - الأجزاء والأسلاك

الأجهزة - قطع غيار وأسلاك
الأجهزة - قطع غيار وأسلاك
الأجهزة - قطع غيار وأسلاك
الأجهزة - قطع غيار وأسلاك
الأجهزة - قطع غيار وأسلاك
الأجهزة - قطع غيار وأسلاك

لاستخدام مصحح الأخطاء ، تحتاج فقط إلى ESP-Prog وتقريبًا أي لوحة ESP32 (روابط لها في خطوة سابقة)

برنامج ESP-Prog:

ESP-Prog عبارة عن لوحة مصممة بواسطة espressif ، صانعي رقائق ESP32 و ESP8266. يتصل بدبابيس JTAG في ESP32 للسماح لنا باستخدام مصحح الأخطاء. يمكن استخدامه أيضًا لبرمجة لوحات ESP32 ، لكنني لن أغطي ذلك هنا.

مجلس ESP32:

يمكنك استخدام أي لوحة ESP32 بشكل أساسي لهذا بمجرد كسر دبابيس JTAG ، وهي 12 و 13 و 14 و 15. لقد اختبرت كلاً من ريشة Adafruit Huzzah32 ولوحة D1 Mini 32 وكلاهما يعمل بشكل جيد.

يرجى ملاحظة أنه يمكنك استخدام دبابيس JTAG في الرسم الخاص بك مع مصحح الأخطاء ، على سبيل المثال مصباح LED المدمج للوحة Huzzah32 موجود على دبوس 13 ، لذلك لا يمكنك استخدامه أثناء التصحيح.

الأسلاك:

لتوصيل ESP-Prog بـ ESP32 ، ما عليك سوى استخدام دليل الأسلاك كما هو موضح في الصورة أعلاه. تحقق من مخطط الأسلاك الخاص بلوحة ESP32 إذا كنت لا ترى على الفور المسامير المناسبة لأنها تستخدم أحيانًا نظام تسمية مختلفًا.

دروع التصحيح:

هذه اختيارية ، لكنني أبيع بعض الدروع على Tindie لـ Huzzah32 و D1 Mini 32 التي تجعل توصيل ESP-Prog أمرًا بسيطًا حقًا ، فهي تكسر المسامير المناسبة بموصل IDC الذي يمكنك استخدام كابل الشريط للاتصال مباشرة بينهما الدرع و ESP-Prog

الخطوة 3: الأجهزة - إعداد برنامج التشغيل

الأجهزة - إعداد برنامج التشغيل
الأجهزة - إعداد برنامج التشغيل
الأجهزة - إعداد برنامج التشغيل
الأجهزة - إعداد برنامج التشغيل
الأجهزة - إعداد برنامج التشغيل
الأجهزة - إعداد برنامج التشغيل

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

  1. قم بتنزيل وتثبيت برامج تشغيل FTDI لبرنامج ESP-Prog من هنا ، ثم قم بالتمرير إلى اليمين لتنزيل إصدار "الإعداد القابل للتنفيذ" لتسهيل الأمر.
  2. قم بتنزيل وتثبيت أداة Zadig من هنا ، وهذا يسمح لنا بتثبيت برنامج تشغيل عام مطلوب لتصحيح الأخطاء.
  3. مع توصيل ESP-Prog ، افتح Zadig
  4. في تطبيق Zadig ، ضمن "الخيارات" ، انقر على "قائمة بجميع الأجهزة"
  5. سيتم الآن ملء القائمة المنسدلة في Zadig ، حدد الخيار "Dual RS232-HS (Interface 0)". تأكد من أنها الواجهة 0 التي تختارها!
  6. على يمين السهم الأخضر ، يجب تحديد WinUSB ، ثم النقر على "استبدال برنامج التشغيل"

عند الانتهاء من ذلك ، يجب إعداد برامج التشغيل الخاصة بك للاستخدام!

ملاحظة: إذا قمت بتغيير منفذ USB الذي تستخدمه لبرنامج ESP-Prog ، فقد تضطر إلى تكرار الخطوات من 3 إلى 6 مرة أخرى. إذا حصلت على خطأ كما هو موضح في الصورة أعلاه عند تصحيح الأخطاء ، فأنت بحاجة إلى تكرار الخطوات.

الخطوة 4: البرنامج: تثبيت PlatformIO

البرنامج: تثبيت PlatformIO
البرنامج: تثبيت PlatformIO
البرنامج: تثبيت PlatformIO
البرنامج: تثبيت PlatformIO
البرنامج: تثبيت PlatformIO
البرنامج: تثبيت PlatformIO

PlatformIO عبارة عن IDE للتطوير باستخدام العديد من الأطر المضمنة المختلفة ، بما في ذلك نظام Arduino البيئي. يعد استخدامه أكثر تعقيدًا من شيء مثل Arduino IDE ، ولكنه قوي جدًا ويحتوي على بعض الميزات التي يفتقدها Arduino IDE بشدة ، مثل الإكمال التلقائي.

مطلوب من PlatformIO لاستخدام مصحح الأخطاء. إذا كنت معتادًا على PlatformIO ، فلا تتردد في تخطي بضع خطوات.

  • قم بتنزيل Visual Studio Code (رمز VS) وتثبيته من الرابط الموجود على موقع PlatformIO.org
  • افتح VS Code ، وافتح قائمة الامتدادات ، يتم تمييز الزر في الصورة أعلاه
  • اكتب "platformio" في البحث ، حدده وانقر فوق تثبيت.

الخطوة 5: البرنامج: استخدام PlatformIO

البرنامج: استخدام PlatformIO
البرنامج: استخدام PlatformIO
البرنامج: استخدام PlatformIO
البرنامج: استخدام PlatformIO
البرنامج: استخدام PlatformIO
البرنامج: استخدام PlatformIO

يختلف استخدام PlatformIO قليلاً عن استخدام Arudino IDE ، لذلك في هذه الخطوة سنغطي فقط أساسيات الحصول على مثال يعمل على السبورة.

فتح مثال:

  1. انقر فوق زر الصفحة الرئيسية على شريط أدوات PlatformIO (كما هو موضح في الصورة)
  2. انقر فوق الزر "أمثلة المشروع"
  3. حدد مثال "Arduino-blink" ضمن قسم Espressif 32

سيؤدي هذا إلى فتح مشروع وميض عينة. يختلف تخطيط PlatformIO كثيرًا مقارنة بمشروع Arduino ، لذلك دعنا ننتقل إلى الأساسيات.

أين الكود؟

سيتم تخزين الكود الخاص بمشروعك في مجلد "src" ، على سبيل المثال الوميض سترى ملف "blink.cpp" ، هذا الملف هو نفس ملف الرسم (.ino) في مشروع Arduino.

كيف أقوم بتكوين اللوحة الخاصة بي؟

يتم الاحتفاظ بالتكوينات الخاصة بمشروعك داخل ملف "platformio.ini" في مشروعك. هذا في الواقع أحد الأشياء المفضلة لدي حول PlatformIO مقارنة بـ Arduino IDE ، لم يكن من المنطقي بالنسبة لي أن إعدادات اللوحة لم تكن مرتبطة بالرسومات.

يحتوي المثال.ini على تعريفات لعدة لوحات مختلفة ، ولكن لإبقاء الأمور بسيطة ، دعنا نحذف التعريفين السفليين.

أين أقوم بتعيين منفذ COM الخاص بي؟

ستحاول PlatformIO في الواقع العثور على منفذ COM الصحيح لاستخدامه ، بحيث يمكنك فعلاً الابتعاد عن عدم تعيين أي شيء لهذا الغرض. ولكن إذا كان لديك عدة منافذ COM ، وهو ما ستفعله عند استخدام مصحح الأخطاء ، أعتقد أنه من المنطقي تعيين المنفذ المحدد الذي تحتاجه. يمكنك رؤية الأجهزة المختلفة التي لديك عن طريق النقر فوق قسم "الأجهزة" في علامة التبويب الرئيسية ، و يمكنك تعيين أي واحد من ESP32 موجود في "platformio.ini" عن طريق إضافة تكوين "upload_port".

كيف أقوم بتحميل الكود الخاص بي؟

انقر فوق الزر "تحميل" (الرمز عبارة عن سهم يشير إلى اليمين) ويجب أن يقوم بتجميع الكود وتحميله. يجب أن يكون لديك الآن مؤشر LED وامض على لوحك.

الخطوة 6: التصحيح: قشرة الموز المحتملة

التصحيح: قشرة الموز المحتملة!
التصحيح: قشرة الموز المحتملة!
التصحيح: قشرة الموز المحتملة!
التصحيح: قشرة الموز المحتملة!
التصحيح: قشرة الموز المحتملة!
التصحيح: قشرة الموز المحتملة!

هذا شيء لفت انتباهي عندما كنت أقوم بإعداد هذا وآمل أن يتم إصلاحه في الوقت الذي تجربه ، لكنني اعتقدت أنه من المهم المغادرة هنا.

في وقت إعداد هذا الدليل ، كان أحدث إصدار من PlatformIO هو 4.3.0 ويحتوي على خطأ يتعلق بالقدرة على التصحيح. لحسن الحظ ، يمكننا التحديث إلى أحدث إصدار تطويري بسهولة كبيرة مما يحل المشكلة.

تحقق في الصفحة الرئيسية من إصدار PlatformIO core ، إذا كان "4.3.0" ، قم بتنفيذ الخطوات التالية.

  1. على شريط أدوات PlatformIO ، انقر فوق رمز المحطة الطرفية
  2. في نوع المحطة الطرفية: ترقية pio --dev
  3. يجب تحديث رمز RestartVS و PlatfromIO

الخطوة 7: التصحيح: التكوين

التصحيح: التكوين
التصحيح: التكوين

نحتاج إلى تحرير ملف "PlatofrmIO.ini" لتمكين تصحيح الأخطاء ، نحتاج فقط إلى إضافة شيئين إليه.

debug_tool = esp-prog

هذا يحدد أداة التصحيح التي نستخدمها.

debug_init_break = إعداد tbreak

هذه خدعة تعلمناها من فيديو Andress Spiess حول تصحيح الأخطاء على ESP32. يخبر مصحح الأخطاء بالتوقف في إعداد تطبيقنا.

الخطوة 8: التصحيح: بدء التصحيح

التصحيح: بدء التصحيح
التصحيح: بدء التصحيح
التصحيح: بدء التصحيح
التصحيح: بدء التصحيح
التصحيح: بدء التصحيح
التصحيح: بدء التصحيح
التصحيح: بدء التصحيح
التصحيح: بدء التصحيح

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

  1. قم بإنشاء متغير جديد ، "int delayTime = 1000؛" خارج أية طرق ، سيجعله هذا متغيرًا عامًا.
  2. استبدل الرقم الموجود داخل مكالمات التأخير في الحلقة بهذا المتغير الجديد: delay (delayTime) ؛

قم بتحميل الكود إلى اللوحة مرة أخرى ، ثم لبدء التصحيح ، في شريط الأدوات ، انقر على "تشغيل" ثم "بدء التصحيح"

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

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

الخطوة 9: التصحيح: الاستخدام الأساسي

التصحيح: الاستخدام الأساسي
التصحيح: الاستخدام الأساسي
التصحيح: الاستخدام الأساسي
التصحيح: الاستخدام الأساسي
التصحيح: الاستخدام الأساسي
التصحيح: الاستخدام الأساسي
التصحيح: الاستخدام الأساسي
التصحيح: الاستخدام الأساسي

دعنا نغطي بعض أساسيات ما يمكنك فعله باستخدام مصحح الأخطاء

إنشاء نقاط التوقف:

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

التنقل في نقطة التوقف:

للتنقل بين نقطة التوقف أو الانتقال إلى السطر التالي من التعليمات البرمجية ، يمكنك استخدام الأدوات التي ستظهر أعلى الشاشة. اضغط على الزر "متابعة" (يشبه زر التشغيل) لتحريك نقطة التوقف التي أنشأناها للتو داخل الحلقة.

الساعات المتغيرة:

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

عارض متغير:

يمكنك أيضًا رؤية جميع المتغيرات وقيمها المتوفرة عند نقطة التوقف الحالية. لعرض هذا ، إذا نظرت في قسم "Global" ، يجب أن تجد متغير "delayTime".

تحرير قيمة المتغيرات:

يمكنك أيضًا تعديل قيم المتغيرات وسيؤثر ذلك فورًا على سلوك الرموز الخاصة بك. لإثبات ذلك ، انقر فوق متغير delayTime في قسم Variable Viewer ، وقم بتغيير القيمة إلى "100". لإظهار هذا العمل ، قم بتعطيل نقطة التوقف داخل الحلقة بالنقر فوق يسار رقم السطر مرة أخرى. اضغط على زر المتابعة في شريط التنقل بنقطة التوقف. يجب أن يومض مؤشر LED الموجود في ESP32 الآن بشكل أسرع من ذي قبل.

الخطوة 10: استكشاف الأخطاء وإصلاحها

استكشاف الأخطاء وإصلاحها
استكشاف الأخطاء وإصلاحها

لقد اكتشفت أثناء الاختبار ، أنه في بعض الأحيان لم أتمكن من التحميل إلى ESP32 أثناء اتصاله بـ ESP-prog ، ولم أتمكن من اكتشاف نمط لسبب حدوث ذلك ، لأنه في معظم الأوقات يمكنني التحميل بدون اي مشاكل. لقد وجدت أنه يمكنني فقط فصل ESP32 و ESP-Prog ، وتحميل الكود إلى ESP32 ثم إعادة توصيلهما وسيعمل بشكل جيد.

الخطوة 11: الخلاصة

أعتقد أن هذه أداة رائعة حقًا لإضافتها إلى صندوق الأدوات للمساعدة في معرفة ما يجري داخل مشروعك.

أحب أن أسمع ما إذا وجدت هذا مفيدًا !. يرجى إعلامي في التعليقات أدناه ، أو الانضمام إلي ومجموعة من الصانعين الآخرين على خادم Discord الخاص بي ، حيث يمكننا مناقشة هذا الموضوع أو أي صانع آخر مرتبط لديك ، فالناس مفيدون حقًا هناك ، لذا فهو مكان رائع للتعليق خارج.

أود أيضًا أن أتقدم بالشكر الجزيل لرعاة Github الذين ساعدوا في دعم ما أقوم به ، وأنا أقدر ذلك حقًا. إذا كنت لا تعرف ، فإن Github تقوم بمطابقة عروض الرعاية للسنة الأولى ، لذلك إذا قدمت رعاية ، فستتوافق معها بنسبة 100٪ للأشهر القليلة القادمة. شكرا للقراءة!

موصى به: