عن المشروع
ESP-IDF (إطار تطوير إنترنت الأشياء من Espressif) هو إطار التطوير الرسمي لأنظمة Espressif على الشريحة (SoCs)، وهو مدعوم على ويندوز ولينكس وماك. يستهدف رقائق Espressif؛ أما أنظمة SoC التي صدرت قبل 2016 (ESP8266 وESP8285) فمدعومة بدلاً من ذلك بواسطة RTOS SDK المنفصل.
يوثق المستودع جداول دعم الإصدارات، وإشعارات نهاية الدعم، والتوافق بين إصدارات ESP-IDF ومراجعات الرقائق. لكل سلسلة SoC ولكل إصدار من ESP-IDF توثيقه الخاص، ويشير ملف README إلى قسم الإصدارات في الوثائق عبر الإنترنت للعثور على التوثيق والتحقق من إصدار معين.
يتضمن البدء تثبيت تبعيات البناء على المضيف، وتشغيل سكربت التثبيت (install.bat أو install.ps1 على ويندوز؛ install.sh أو install.fish على أصداف يونكس)، ثم تصدير البيئة في كل صدفة (export.bat على ويندوز، source export.sh على يونكس) قبل استخدام ESP-IDF. يتم توفير مشروع قالب (esp-idf-template) ومجموعة من المشاريع النموذجية في دليل examples؛ لبدء مشروع جديد من مثال، يتم نسخ دليل المثال خارج شجرة ESP-IDF.
سير العمل الأساسي يستخدم أداة سطر الأوامر idf.py. الأمر `idf.py set-target chip_name` يحدد الرقاقة المستهدفة، و`idf.py menuconfig` يفتح قائمة تكوين نصية. الأمر `idf.py build` يترجم التطبيق ومحمل الإقلاع ويُنشئ جدول الأقسام من التكوين. يتم الوميض باستخدام `idf.py -p PORT flash`، الذي يكتب التطبيق ومحمل الإقلاع وجدول الأقسام إلى رقاقة جديدة ويعيد بناء أي شيء يحتاج إلى ذلك تلقائيًا؛ إذا تم حذف خيار المنفذ، فإنه يحاول استخدام أول منفذ تسلسلي متاح. يتم عرض المخرجات التسلسلية باستخدام `idf.py monitor`، الذي يستخدم أداة esp-idf-monitor ويمكنه فك تشفير مخرجات الانهيار والتفاعل مع الجهاز؛ ويتم الخروج منه بـ Ctrl-]. الأمر `idf.py flash monitor` يجمع البناء والوميض والمراقبة في خطوة واحدة. للعمل التكراري، `idf.py app` يبني التطبيق فقط و`idf.py app-flash` يومض التطبيق فقط، مع إعادة البناء تلقائيًا عند تغيير المصادر. الأمر `idf.py erase-flash` يمسح الفلاش بالكامل، وهو مفيد لتغييرات جدول الأقسام أو تحديثات OTA، ويمكن دمجه مع أهداف أخرى.
بالنسبة للنسخ المشتقة غير المستضافة على GitHub، يلاحظ ملف README أن عناوين الوحدات الفرعية نسبية وتشير إلى GitHub؛ السكربت tools/set-submodules-to-github.sh يضبط عناوين URL مطلقة بحيث يمكن إكمال `git submodule update --init --recursive`. هذه الخطوة غير ضرورية عند الاستنساخ من GitHub.
تشمل الموارد الوثائق عبر الإنترنت المبنية من دليل docs، وفيديو دليل المبتدئين، ومنتدى esp32.com للأسئلة وموارد المجتمع، وقسم GitHub Issues للأخطاء وطلبات الميزات، ودليل المساهمات.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.