إتقان مجموعة أدوات مطور IoT المضمن
مقياس 5 إلى 1
في عالم اليوم شديد الاتصال، يجب على المطور المدمج التوفيق بين firmware والأجهزة وروابط الراديو وسير العمل السحابي - كل ذلك في وقت واحد. تخطي حتى قطعة واحدة ويمكن أن يؤدي تعديل firmware “السريع” إلى أسابيع من تصحيح الأخطاء. لقد تعلمنا ذلك بالطريقة الصعبة أثناء طرح عقدة مراقبة التربة التي تعمل بالطاقة الشمسية والمبنية على ESP32 وSIMCom خلوية Backhaul وAWS IoT Core. لقد أوضحت هذه التجربة حقيقة واحدة واضحة تمامًا: يجب أن تعكس خطة التعلم الخاصة بك قائمة المواد الخاصة بك.
للحفاظ على تركيز هذه الخطة، نقوم بتصنيف كل كفاءة على مقياس 5 إلى 1 — وهو إطار عمل لا يعتمد تمامًا على التكنولوجيا:
| المستوى | ماذا يعني | لماذا يهم |
|---|---|---|
| 5=ضروري | اللغة الأساسية، والأدوات الأساسية، والمفاهيم الأساسية | لا يمكنك الشحن بدون هذه |
| 4=المُحسِّنون | CI/CD، الاختبار الآلي، تقوية الأمان، ضبط الأداء | تحويل النماذج الأولية إلى منتجات قوية |
| 3=معززات سير العمل | لوحات المعلومات، التصحيح المتقدم، العمليات السحابية | تبسيط التطوير اليومي |
| 2=شيء جميل | الميزات المتخصصة التي ستحتاجها لاحقًا | أضف البولندية عندما يسمح الوقت بذلك |
| 1=التخصصات | تعمق في المجالات المتخصصة أو التوسع في المستقبل | تعامل عندما تتطلب حالة الاستخدام ذلك |
كيفية تطبيقه في أي مكان
- حدد الهدف النهائي. كيف يبدو “جاهز للعمل” أو “جاهز للإنتاج”؟
- ** قم بإدراج العناصر الخمسة. ** مجموعة أدوات النجاة المطلقة. 3. حدد العناصر الأربعة. الممارسات التي تعمل على ترسيخ الحل وتوسيع نطاقه.
- املأ الفراغات الثلاثة. أدوات وتحسينات لجودة الحياة.
- ** أضف 2 و 1. ** عمق متخصص للفرق الأكبر أو الميزات المتقدمة.
دليل سريع على أنه يسافر بشكل جيد
- Front-End Web Dev → 5ث: HTML/CSS، JS الحديث، Git… • 4ث: React/Vue، TypeScript، Jest، CI/CD… • 3ث: Storybook، اختبارات e2e… • 2ث: PWAs، رسوم متحركة… • 1ث: WebGL، data‑viz.
- علوم البيانات / MLOps → 5ث: Python، NumPy/Pandas، الإحصائيات… • 4ث: TensorFlow/PyTorch، Docker، اختبارات الوحدة… • 3ث: متاجر الميزات، MLflow… • 2ث: استدلال الحافة… • 1ث: التعلم الموحد.
من خلال تقييم مدى تأثير وتكرار كل موضوع، فإنك ترسم مسارًا واضحًا وتتجنب الإرهاق.
كيف تبدو أجهزة 5s في مجموعة ESP32+SIM+AWS الخاصة بنا
- ** طلاقة C/C++ ** - لغة خطافات ESP‑IDF وFreeRTOS.
- إتقان ESP‑IDF (أو Arduino‑ESP32) - Wi‑Fi وBLE وADC وواجهات برمجة التطبيقات ذات النوم العميق.
- أساسيات الإلكترونيات - وحدات SIM UART لتغيير المستوى، وقراءة مجسات NPK، ونظافة EMI.
- ميزانية الطاقة والشحن ببطارية ليثيوم أيون/الطاقة الشمسية - الحفاظ على بطارية 4Ah 18650 قيد التشغيل خلال الأسابيع الملبدة بالغيوم.
- اتصال قوي (Wi‑Fi، وSIM AT، وMQTT/TLS) - توصيل بيانات أجهزة الاستشعار بشكل آمن إلى AWS.
أتقن هذه العناصر الخمسة ويمكنك شحن نموذج أولي وظيفي. اصعد إلى 4s — خطوط أنابيب CI، وFreeRTOS المتقدمة، وOTA، والأمان — وسيكون لديك منتج ينجو من هذا المجال. تكمل 3s و2s و1s مجموعة الأدوات الاحترافية من خلال لوحات المعلومات والامتثال والعمق الخاص بالمجال.
المقالة التالية ليست قائمة مرجعية؛إنها خريطة طريق تسلسلية تم تعيينها لخيارات الأجهزة الحقيقية. ابدأ بالخمسات، وتدرج حتى الأربع، وبحلول الوقت الذي تنغمس فيه في منطقة 3 إلى 1، ستكون لديك الثقة والسياق لتطبيقها حيثما تكون أكثر أهمية. انغمس في الأمر ودع مجموعة الأدوات تنقلك من لوحة التجارب إلى الإنتاج وما بعده.
مجموعات المهارات للمطورين المضمنين
أسطورة - أهمية 5=لا غنى عنه (ضروري للعمل اليومي) 4= مهم جدًا (مطلوب في معظم المشاريع) 3=مفيد (مفيد في كثير من الأحيان، تعلم قريبا) 2=من الجميل أن تمتلك (تعلم عندما يسمح الوقت بذلك) 1=متخصص / ظرفي
| # | المهارة / الأداة | سبب أهمية منتج قياس التربة المعتمد على ESP32 | أهمية |
|---|---|---|---|
| 1 | ج/ج+ | اللغات الأساسية لـ ESP‑IDF وArduino الأساسية وبرامج التشغيل الطرفية. | 5 |
| 2 | ESP‑IDF (أصلي) أو Arduino‑ESP32 | يتيح الوصول المباشر إلى واجهات برمجة تطبيقات Wi‑Fi وBLE وGPIO وADC وUART وI²C وFreeRTOS. | 5 |
| 3 | أساسيات FreeRTOS | جدولة المهام، والمراقبة، وقوائم الانتظار، وأوضاع السكون الموفرة للطاقة. | 4 |
| 4 | ** جيت و جيثب / جيتلاب ** | التحكم في الإصدار ومراجعة التعليمات البرمجية وخطافات CI. | 5 |
| 5 | فسكود | بيئة تطوير متكاملة (IDE) خفيفة الوزن ومتعددة المنصات مع امتدادات قوية لـ ESP‑IDF وPlatformIO. | 4 |
| 6 | منصةIO | يبني ويوميض ويختبر الوحدات ويحلل المشاريع المضمنة من VSCode بشكل ثابت. | 4 |
| 7 | ** Linux CLI / WSL ** | سلاسل الأدوات، وإنشاء البرامج النصية، وتصحيح أخطاء OpenOCD، ومشغلات CI الموجودة في حاويات. | 3 |
| 8 | ** إطار عمل اختبار الوحدة (Unity / CppUTest)** | اختبارات الانحدار لرياضيات أجهزة الاستشعار، وموزعي الاتصالات، ومنطق حالة البطارية. | 3 |
| 9 | ** التكامل المستمر (إجراءات GitHub / GitLab CI) ** | يقوم بأتمتة عمليات البناء والاختبار والفحص وحجم firmware في كل مرة يتم فيها الضغط على الجهاز. | 3 |
| 10 | ** جيرا (قضايا) والتقاء (مستندات) ** | يتتبع المهام والأخطاء والمتطلبات وملاحظات التصميم في الفريق. | 3 |
| 11 | ** الالكترونيات الرقمية والتناظرية ** | قراءة مخرجات مستشعر NPK، وحدة SIM لتغيير المستوى UART، وتخفيف EMI. | 5 |
| 12 | ** تصميم PCB (KiCad / Altium) ** | لوحة مخصصة لاستضافة ESP32 وواجهة NPK وشاحن Li‑ion وMPPT الشمسية. | 4 |
| 13 | ميزانية الطاقة وشحن الليثيوم أيون بالطاقة الشمسية | لوحة التحجيم، وشحن IC، والمحولات، وحالات firmware منخفضة الطاقة. | 5 |
| 14 | إدارة البطارية (18650 أمان وعد الكولوم) | يحمي من الجهد الزائد أو المنخفض ويوفر تقدير SoC. | 4 |
| 15 | ** الاتصالات الخلوية (أوامر SIMCom AT، PPP، TCP/IP)** | يوفر الاتصال السحابي عند غياب شبكة Wi-Fi في الميدان. | 5 |
| 16 | بروتوكولات IoT (MQTT / HTTPS) | وصلة بيانات خفيفة الوزن وآمنة إلى الخادم أو السحابة. | 4 |
| 17 | أساسيات أمان TLS/mbedTLS | يقوم بتشفير البيانات ومصادقة الجهاز على نقاط النهاية السحابية. | 4 |
| 18 | معايرة المستشعر والتعويض | مؤثرات درجة الحرارة/الرطوبة على قراءات NPK؛منحنيات معايرة المجال. | 5 |
| 19 | ** تسجيل البيانات وتخزين OTA (SPIFFS، LittleFS، SD) ** | النسخ الاحتياطي المحلي أثناء فقدان الاتصال؛مرحلة تحديث firmware. | 3 |
| 20 | ** تدفق التحديث عبر الهواء عن بعد ** | يحافظ على صيانة الآلاف من الوحدات المنتشرة. | 4 |
| 21 | نظرية التحكم والتقدير | اختياري — يساعد في التصفية المتقدمة (Kalman، PID) أو أخذ العينات التكيفية. | 2 |
| 22 | ** برمجة بايثون / باش ** | تحليل السجل، وميض خط الإنتاج، وأتمتة الاختبار. | 3 |
| 23 | أساسيات السحابة ولوحة المعلومات (AWSIOT Core وAzure IoT وInfluxDB + Grafana) | تخزين وتصور وتنبيهات بشأن مقاييس التربة. | 3 |
| 24 | الامتثال التنظيمي والبيئي (CE، وFCC، وتصنيف IP) | يضمن النشر القانوني والمتانة الميدانية. | 3 |
| 25 | ** أدوات التوثيق (Markdown، Doxygen) ** | يُنشئ مستندات تصميم API وHW قابلة للصيانة. | 3 |
كيفية قراءة الجدول
- ابدأ بالـ 5s: إتقان اللغة، وSDK لMCU، وأساسيات الأجهزة، وتصميم نظام الطاقة، ومعرفة أجهزة الاستشعار والاتصالات الخلوية هي أمور حاسمة بالنسبة لجهاز ميداني موثوق به.
- معالجة العناصر الأربعة التالية: تعمل بيئة التطوير، وتحسين الطاقة، وOTA، وRTOS، والأمان على تحويل النموذج الأولي الوظيفي إلى منتج جاهز للإنتاج.
- 3s تقريبًا سير العمل الاحترافي (CI، اختبارات الوحدة، الواجهات الخلفية السحابية، PCB CAD).
- ** 2s و 1s ** تضيف عمقًا للفرق الأكبر أو الميزات المتقدمة ويمكن تأجيلها إذا كان الجدول الزمني ضيقًا.
- استخدم هذا كخريطة طريق للمهارات: التقدم من اليسار إلى اليمين عبر مقياس الأهمية أثناء نضوج المشروع.
##1 – سي/سي++
المستوى: 1 – مبتدئ تمامًا
- بناء جملة لغة C وبنيتها: نموذج التجميع (المصدر → الكائن → القابل للتنفيذ)، الوظيفة الرئيسية ().
- أنواع البيانات الأساسية: int، char، float، double، bool
- المتغيرات والثوابت: الإعلان، التهيئة، المؤهل الثابت
- العوامل: الحساب (+، –، *، /، %)، التعيين، الزيادة/النقصان – التحكم في التدفق: إذا / آخر، التبديل، ل / أثناء / القيام بالحلقات
- إدخال/إخراج بسيط: printf، إخراج وحدة التحكم الأساسية – مقدمة للمؤشرات: إعلان المؤشر، المرجعية
- البناء والتصحيح: الترجمة باستخدام gcc -o، وتفسير أخطاء المترجم الأساسية
المستوى: 2 – مبتدئ
- الذاكرة والمؤشرات: المؤشر الحسابي، المؤشرات مقابل المصفوفات، مقدمة إلى malloc/free
- الأنواع المنظمة: الهيكل، الاتحاد، typedef – أساسيات المعالج المسبق: #تعريف، #تضمين، تضمين الحراس
- فئات التخزين: قواعد تلقائية، ثابتة، خارجية، نطاق وربط
- السلاسل والمصفوفات: char[]، وظائف السلسلة (strcpy، strlen، إلخ.)
- التعليمات البرمجية المعيارية: التقسيم إلى ملفات . c/. h متعددة وأساسيات ملف التعريف (القواعد والأهداف)
- أدوات التصحيح الأساسية: خطوة gdb، ونقاط التوقف، وفحص المتغيرات
المستوى: 3 – متوسط
- إدارة الذاكرة الديناميكية: الكومة مقابل المكدس، وأنماط التسرب الشائعة، باستخدام أدوات مثل Valgrind
- إدخال/إخراج الملف: fopen/fread/fwrite/f Close، مؤشرات الملف، معالجة الأخطاء
- العمليات المتعلقة بالبت: الأقنعة، والتحولات، وبتات الإعداد/المسح، والتعداد، وحقول البتات
- مؤشرات الوظيفة: عمليات الاسترجاعات وجداول الإرسال
- معالجة الأخطاء: رموز الإرجاع، خطأ
- أساسيات لغة C++: الفئات والكائنات، والمنشئات/المدمرات، ومحددات الوصول
- أساسيات STL: std::vector، std::string، الاستخدام البسيط لـ std::map والمكررات
- مساحات الأسماء وتنظيم الرأس
المستوى: 4 – متقدم
- مواصفات لغة C المضمنة: الإدخال/الإخراج المتقلب، المعين للذاكرة، الثابت في الفلاش مقابل ذاكرة الوصول العشوائي
- نظام الرابط والبناء: البرامج النصية للرابط المخصص، وموضع القسم، وعلامات التحسين (-O2، -Os)، وسلاسل أدوات التجميع المتقاطع
- ميزات C ++ 11/14/17: lambdas، تلقائي، قائم على النطاق لـ، constexpr، nullptr
- المؤشرات الذكية وRAII: فريدة_ptr، مشتركة_ptr، إدارة الموارد – أساسيات القوالب: قوالب الوظائف والفئات، وتخصص القالب- تعدد مؤشرات الترابط: std::thread، كائنات المزامنة، متغيرات الحالة، الأنواع الذرية
- مفاهيم الوقت الفعلي: إجراءات خدمة المقاطعة (ISRs)، والأقسام الحرجة، وتخفيف انعكاس الأولوية
المستوى: 5 – خبير
- البرمجة الفوقية للقالب المتقدمة: القوالب المتغيرة، SFINAE، سمات الكتابة
- نموذج كائن Deep C++: جداول vtable، وتخطيط الكائن، واعتبارات ABI
- التزامن الخالي من القفل وزمن الوصول المنخفض: الذرات، طلبات الذاكرة، خوارزميات خالية من الانتظار
- الأجزاء الداخلية للمترجم وسلسلة الأدوات: خطوط أنابيب تمرير مجلس التعاون الخليجي/Clang، وكتابة المكونات الإضافية المخصصة للمترجم
- ضبط الأداء: محاذاة ذاكرة التخزين المؤقت، والتنبؤ بالفرع، والتوصيف المتعمق (مثل gprof، وعدادات الأجهزة)
- النقل المعدني: تنفيذ بذرة newlib، والحد الأدنى من وقت تشغيل C، ورمز الإظهار – المعايير والسلامة: الامتثال MISRA-C/C++، وأدوات التحليل الثابتة (التغطية، Cppcheck)
- مساهمة الإطار: كتابة/تحسين برامج التشغيل لـ FreeRTOS أو ESP-IDF الداخلية
2 – ESP-IDF (أصلي) أو Arduino-ESP32
المستوى: 1 – مبتدئ تمامًا – تثبيت سلسلة أدوات ESP-IDF (Python، Git، البرامج النصية ESP-IDF) أو Arduino-ESP32 الأساسية
- قم بإعداد VS Code (أو Arduino IDE) لتطوير ESP32
- إنشاء ووميض مثال “الوميض”. – استكشاف تخطيط المشروع (CMakeLists. txt، sdkconfig أو Platformio. ini)
- استخدم أوامر idf. py (أو Arduino) الأساسية: إنشاء، تنظيف، فلاش، مراقبة
المستوى: 2 – مبتدئ
- GPIO: تكوين الدبابيس وقراءة المدخلات وقيادة مصابيح LED
- ADC: عينة من القنوات التناظرية، تحويل القيم الأولية إلى جهد – UART & I²C: إرسال/استقبال سلاسل أو بايتات بسيطة
- وضع محطة Wi-Fi: مسح نقاط الوصول والاتصال واسترداد IP
- جهاز BLE الطرفي: قم بالإعلان والاتصال من خلال تطبيق الهاتف
- تعديل قائمة التكوين (جدول التقسيم، مستوى السجل) أو إعدادات لوحة Arduino
المستوى: 3 – متوسط
- مهام FreeRTOS وقوائم الانتظار والمؤقتات ضمن إطار عمل ESP-IDF – واجهة برمجة تطبيقات أحداث Wi-Fi: التعامل مع الاتصال/قطع الاتصال ومنطق إعادة الاتصال
- عميل BLE وGATT: اكتشاف الخدمات وخصائص القراءة/الكتابة
- SPI وI²C: دمج ومعايرة مستشعر حقيقي (مثل رطوبة التربة)
- تحديثات HTTP(S) OTA: إعداد الأقسام، وتشغيل التحديثات
- استخدم esp_timer والتسجيل التفصيلي (ESP_LOG*) ورموز الخطأ
المستوى: 4 – متقدم
- إنشاء مكونات قابلة لإعادة الاستخدام (CMake Component API) أو مكتبات Arduino المخصصة – إنشاء جدول أقسام مخصص وتبديل الأقسام في وقت التشغيل
- التزويد الآمن: SmartConfig، إعداد Wi-Fi المستند إلى BLE – أمثلة BLE المتقدمة (L2CAP، شبكة).
- تحسين إعدادات سرعة/مهلة الناقل SPI DMA وI²C – دمج mbedTLS لـ MQTT عبر TLS – أتمتة البناء/الفلاش/الاختبارات في CI (إجراءات GitHub، البرامج النصية ESP-IDF CI)
المستوى: 5 – خبير
- المساهمة في برامج تشغيل جديدة أو إصلاح الأخطاء في ESP-IDF الأساسي (مثل معايرة ADC)
- تطوير أداة تحميل التشغيل المخصصة أو تحسينات على مستوى ISR
- ضبط مناطق كومة FreeRTOS ومعلمات الجدولة – تنفيذ التمهيد الآمن وتشفير الفلاش من طرف إلى طرف
- إجراء التتبع والتوصيف في الوقت الفعلي (ESP-Trace، Perfcnt)
- مهندس معماري لمساحات عمل CMake متعددة المشاريع
- إرشاد الآخرين: تحديد أفضل ممارسات ESP-IDF ومكتبات المكونات الداخلية
3 – أساسيات FreeRTOS
المستوى: 1 – مبتدئ تمامًا
- افهم ما هو نظام RTOS ولماذا تستخدمه
- قم بتثبيت FreeRTOS (عبر ESP-IDF أو PlatformIO) وافحص مثال المهمة التجريبية “hello World”. – تعلم API الأساسية لإنشاء وبدء مهمة واحدة (xTaskCreate، vTaskStartScheduler)
- اكتشف علامة النظام وكيفية تبديل المجدول بين المهام – استخدم vTaskDelay لحظر مهمة لفترة زمنية محددة
المستوى: 2 – مبتدئ
- إنشاء مهام متعددة بأولويات وأحجام مكدسة مختلفة – استخدم vTaskDelayUntil لتوقيت المهمة الدورية
- فهم الأقسام الهامة وتطبيقها (taskENTER_CRITICAL / TaskEXIT_CRITICAL)
- التعرف على حالات المهام (قيد التشغيل، جاهز، محظور، معلق)
- استخدم vTaskSuspend / vTaskResume للتحكم البسيط في المهام
المستوى: 3 – متوسط – التواصل بين المهام مع قوائم الانتظار (xQueueCreate، xQueueSend، xQueueReceive)- مزامنة المهام باستخدام الإشارات الثنائية والعد (xSemaphoreCreateBinary، xSemaphoreTake)
- تنسيق الأحداث مع مجموعات الأحداث (xEventGroupSetBits، xEventGroupWaitBits)
- استخدام مؤقتات البرنامج (xTimerCreate، رد الاتصال)
- كشف ومعالجة تجاوزات المكدس
المستوى: 4 – متقدم
- تحسين تخصيص الذاكرة: اختيار وتكوين أنظمة الكومة (الكومة_1… الكومة_5) وفهم التجزئة
- استخدم إشعارات المهام كإشارات ثنائية خفيفة الوزن أو رسائل بيانات مباشرة إلى مهمة – تكوين واستخدام وضع الخمول بدون دغدغة للتطبيقات منخفضة الطاقة
- إنشاء وتفسير إحصائيات وقت التشغيل (vTaskGetRunTimeStats) – دمج FreeRTOS+Trace أو Percepio Tracealyzer
المستوى: 5 – خبير
- قم بتوصيل FreeRTOS إلى أجهزة مخصصة أو قم بتعديل طبقة المنفذ لحالات الاستخدام المتقدمة – تنفيذ وضبط سياسات الجدولة المخصصة أو وظائف الربط (vApplicationIdleHook، vApplicationMallocFailedHook)
- تصميم أجهزة الحالة المعقدة باستخدام أوليات المزامنة المتقدمة (كائنات المزامنة ذات الأولوية في الميراث، وكائنات المزامنة العودية) – فرق التوجيه حول أفضل الممارسات والسلامة (الكود المتوافق مع MISRA) وضبط السلوك الحتمي
4- جيت وجيت هاب/GitLab
المستوى: 1 – مبتدئ تمامًا – تثبيت جيت. تكوين اسم المستخدم وuser. email
- تهيئة الريبو (git init) واستنساخ الريبو الموجود (git clone)
- تتبع الملفات الأساسية: حالة git، git add، git Commit
- عرض السجل باستخدام git log، وفحص التغييرات باستخدام git diff – . gitignore بسيط لاستبعاد الملفات
المستوى: 2 – مبتدئ – إنشاء وتبديل الفروع: فرع git، git checkout/git Switch
- الإعداد عن بعد: git Remote add، git fetch، git pull، git Push – فهم الأصل/الرئيسي مقابل الفروع المحلية
- حل تعارضات الدمج البسيطة عبر المحرر أو واجهة سطر الأوامر (CLI).
- استخدم واجهة مستخدم الويب GitHub/GitLab لتصفح الالتزامات والفروع
المستوى: 3 – متوسط
- الدمج مقابل rebase: git merge، git rebase؛تعرف متى تستخدم كل منها
- rebase التفاعلي (git rebase -i) لتنظيف الالتزامات
- وضع العلامات: إنشاء علامات توضيحية وخفيفة الوزن؛ادفع باستخدام git Push –tags
- العمل مع طلبات السحب (GitHub) أو طلبات الدمج (GitLab): الإنشاء والمراجعة والدمج
- كعب CI الأساسي: أضف إجراءات GitHub بسيطة أو GitLab CI YAML
المستوى: 4 – متقدم – إدارة الوحدات الفرعية (وحدة فرعية git) والأشجار الفرعية
- كتابة خطافات من جانب العميل (الالتزام المسبق، الدفع المسبق) وخطافات GitLab/GitHub البسيطة من جانب الخادم – حماية الفروع وفرض عمليات التحقق من الدمج (فحص الحالة، الموافقات) – بناء خطوط أنابيب CI/CD متعددة المراحل مع التخزين المؤقت والتحف
- استخدم git bisect لتحديد موقع الأخطاء؛التزامات محددة من اختيار الكرز
المستوى: 5 – خبير
- إدارة إعدادات مؤسسة GitLab/GitHub: أذونات المستخدم/المجموعة والفروع المحمية – استراتيجيات monorepo المهندس المعماري. إدارة الملفات الكبيرة باستخدام Git LFS – تطوير أدوات Git أو البرامج النصية المخصصة (libgit2، الخطافات، الأتمتة)
- التعمق في العناصر الداخلية لـ Git: تخزين الكائنات، وملفات الحزمة، والمراجع، والفهرس – تحديد وإنفاذ سير العمل (Gitflow، القائم على صندوق النقل، GitOps)؛فريق إرشادي حول أفضل الممارسات
5-رمز VS
المستوى: 1 – مبتدئ تمامًا المواضيع:
- قم بتثبيت VS Code على أنظمة التشغيل Windows أو macOS أو Linux
- اكتشف واجهة المستخدم: شريط الأنشطة، الشريط الجانبي، أجزاء المحرر، شريط الحالة
- فتح المجلدات والملفات. تحرير النص الأساسي (علامات التبويب، طرق العرض المقسمة)
- استخدم المحطة المتكاملة لتشغيل أوامر shell
- استدعاء لوحة الأوامر (Ctrl+Shift+P) للإجراءات الشائعة
- إجراء بحث واستبدال بسيط (Ctrl+F / Ctrl+H)
المستوى: 2 – مبتدئ المواضيع:
- اكتشاف وتثبيت الملحقات: C/C++ (ms-vscode. cpptools)، ESP-IDF، Arduino-ESP32، PlatformIO IDE
- تخصيص إعدادات المستخدم مقابل مساحة العمل عبر settings. json
- استخدم طريقة عرض التحكم بالمصدر المضمنة: المرحلة والالتزام والدفع/السحب
- تكوين المهام الأساسية (tasks. json) لإنشاء وفلاش ESP32 “Hello World”
- التنقل في التعليمات البرمجية مع عرض المخطط التفصيلي ومخطط التنقل
- إدراج واستخدام مقتطفات التعليمات البرمجية البسيطة
المستوى: 3 – متوسط المواضيع:
- تكوين التحسس الذكي: قم بتعيين المسارات ووحدات الماكرو في c_cpp_properties. json- إنشاء تكوينات الإطلاق (launch. json) لتصحيح أخطاء GDB عبر OpenOCD أو JTAG
- تحديد المهام المركبة: البناء → الفلاش → الشاشة → الوبر
- العمل في مساحات عمل متعددة الجذور (الكود + المستندات + الاختبارات)
- دمج أدوات الفرز والمنسقات (تنسيق clang، cppcheck) كإجراءات حفظ مسبقة
- تصحيح مهام FreeRTOS من خلال التصحيح المدرك للأخطاء وعرض التصحيح
- استخدم لوحة المشاكل ومستكشف الاختبار لاختبارات الوحدة
المستوى: 4 – متقدم المواضيع:
- الاستفادة من التطوير عن بعد: مساحات عمل حاويات SSH وWSL وDocker
- إنشاء ومشاركة مقتطفات التعليمات البرمجية المخصصة وقوالب الملفات لـ ESP-IDF/PlatformIO
- أتمتة CI: تصدير مهام VS Code إلى إجراءات GitHub أو خطوط أنابيب GitLab CI
- تخصيص روابط المفاتيح واستخدام مزامنة الإعدادات لمشاركة التكوين عبر الأجهزة
- تطوير موفري المهام القابلين لإعادة الاستخدام عبر واجهة برمجة تطبيقات مهام VS Code
- استخدم نقاط التوقف الشرطية والوظيفية ونقاط التسجيل وتعبيرات المراقبة
المستوى: 5 – خبير المواضيع:
- تطوير ونشر ملحقات VS Code كاملة (TypeScript & Extension API) لسير عمل ESP32
- تصميم مساحات عمل كبيرة متعددة المشاريع بتكوينات مشتركة وإصدارات
- تحسين أداء IDE: ضبط تنشيط الامتداد وتقليل وقت بدء التشغيل واستخدام الذاكرة
- تنفيذ توزيع الإعدادات على مستوى الشركة (Settings Cycler، النشر المستند إلى GPO)
- إرشاد زملاء الفريق بشأن أفضل ممارسات VS Code واستكشاف أخطاء سير العمل المعقدة وإصلاحها
- ساهم في مجتمع VS Code: اكتب الأدلة ونماذج المستودعات وتحدث في اللقاءات أو ورش العمل
6-منصة IO
المستوى: 1 – مبتدئ تمامًا المواضيع:
- تثبيت ملحق PlatformIO IDE في VS Code (أو تثبيت PIO Core CLI)
- إنشاء مشروع PlatformIO جديد (
pio init --board esp32dev) - فحص هيكل المشروع:
platformio. ini,src/,lib/المجلدات - بناء (
pio run) وتحميل (pio run --target upload) مثال “الوميض” الافتراضي - فتح الشاشة التسلسلية (
pio device monitor) لعرض الإخراج
المستوى: 2 – مبتدئ المواضيع:
- استخدم مدير المكتبة:
pio lib install,pio lib list، إضافة المكتبات فيplatformio. ini- تكوين بيئات متعددة (env:أقسام) للوحات مختلفة أو أوضاع البناء - اضبط
build_flags,monitor_speed، وupload_speedفيplatformio. ini- تشغيل بنيات نظيفة (pio run --target clean) والبنيات المطولة (pio run --target verbose) - استخدم مصحح الأخطاء الموحد (
pio debug) لتعيين نقاط التوقف والتنقل خلال التعليمات البرمجية
المستوى: 3 – متوسط المواضيع:
- إدارة إصدارات Debug vs Release والبيئات التي تدعم OTA في آن واحد
platformio. ini- دمج اختبارات الوحدة مع مشغل اختبار PlatformIO وإطار عمل Unity - إضافة تحليل ثابت: تمكين
cppcheckأوclang-tidyعبر البرامج النصية الإضافية أوplatformio. iniالتكوينات - أتمتة الخطوات المخصصة قبل أو بعد البناء باستخدام
extra_scripts- نشر واستهلاك المكتبات الخاصة من خلال سجل PlatformIO
المستوى: 4 – متقدم المواضيع:
- إنشاء ونشر حزم المنصات والمجالس المخصصة للاستخدام الداخلي أو المجتمعي
- تنفيذ بروتوكولات التحميل المتقدمة (JTAG، OTA، البرامج النصية للتحميل المخصصة)
- بناء خطوط أنابيب CI باستخدام
pio ciالبرامج النصية لـ GitHub Actions أو GitLab CI أو Jenkins - إنشاء وأتمتة تقارير تغطية التعليمات البرمجية لاختبارات الوحدة
- حجم البرنامج الثابت للملف الشخصي واستخدام ذاكرة الوصول العشوائي (RAM) عبر لوحة معلومات PlatformIO IDE
المستوى: 5 – خبير المواضيع:
- المساهمة في التحسينات أو الإصلاحات على PlatformIO Core ومنصات المجتمع الرسمية
- تطوير ملحقات PlatformIO مخصصة لتوسيع ميزات CLI وIDE
- تصميم وصيانة مساحات عمل كبيرة أحادية أو متعددة المشاريع باستخدام مشاريع PIO
- اكتب روابط بناء متقدمة لدمج سلاسل أدوات الشركة وسير عمل النشر
- فرق الإرشاد على أفضل ممارسات PlatformIO واستكشاف مشكلات الإنشاء/تصحيح الأخطاء المعقدة عبر الأنظمة الأساسية وإصلاحها
7-Linux CLI/WSL
المستوى: 1 – مبتدئ تمامًا المواضيع:
- افتح محطة على Linux أو WSL
- التنقل في نظام الملفات:
ls,cd,pwd,mkdir- عرض وفحص الملفات:cat,less,head,tail- التعامل مع الملفات:cp,mv,rm,touch- تحرير النص باستخدام محرر بسيط (nanoأو الأساسيةvim)
المستوى: 2 – مبتدئ المواضيع:
-
أذونات الملف والملكية:
chmod,chown، فهمrwxبت -
أحرف البدل، واللمعان، والأنابيب (
|) وإعادة التوجيه (>,>>,<) -
البحث عن النص في الملفات:
grepالأساسيات -
إدارة متغيرات البيئة وملف تعريف Shell الخاص بك (
. bashrc,. profile) -
تثبيت الحزم وتحديثها باستخدام مدير الحزم الخاص بالتوزيعة (
apt,yum,pacman) -
الاتصال بالمضيفين البعيدين عبر
sshونقل الملفات معscpالمستوى: 3 – متوسط المواضيع: -
كتابة نصوص باش: shebang، المتغيرات، الحلقات، الشرطيات، الوظائف
-
معالجة النصوص مع
find,xargs,awk,sed- العمليات ومراقبة العمل:ps,top/htop,kill,jobs,bg/fg- تكوين قواعد udev لمحولات ESP32 USB/JTAG -
استدعاء سلاسل أدوات التجميع المتقاطع وبناء الأنظمة (
make,cmake,idf. py) من CLI -
قم بتشغيل OpenOCD من سطر الأوامر للفلاش وتصحيح الأخطاء عبر JTAG/SWD
المستوى: 4 – متقدم المواضيع:
-
تطوير نصوص برمجية قوية لـ Shell: معالجة الأخطاء والتسجيل واختبارات الوحدة (ShellCheck)
-
أتمتة خطوط أنابيب البناء والفلاش والاختبار الكاملة في Shell ودمجها في CI (GitHub Actions، GitLab CI)
-
قم بوضع بيئة البناء الخاصة بك في حاوية باستخدام Docker أو Podman؛اكتب Dockerfiles للبنيات القابلة للتكرار
-
التصحيح عن بعد ومزامنة الملفات:
sshإعادة توجيه المنفذ,rsync,tmux/screenلاستمرارية الجلسة -
الأدوات الأصلية لملف التعريف والتصحيح:
strace,ltrace,perfالمستوى: 5 – خبير المواضيع: -
إنشاء وصيانة نواة أو وحدات Linux المخصصة للأهداف المضمنة
-
تصميم وتشغيل مشغلات CI مخصصة (معدنية عارية أو في حاويات) مُحسّنة للمجموعات المتداخلة المدمجة
-
تنفيذ تقنيات التخزين المؤقت والبناء الموزع المتقدمة (ccache، distcc)
-
تصميم أطر عمل واجهة سطر الأوامر (CLI) أو سلاسل الأدوات الخاصة بك، وإدارة ملفات النقاط عبر الفرق (المعتمدة على Git)
-
إرشاد الآخرين في أفضل الممارسات لاستخدام Shell، وسير العمل المستند إلى المحطة الطرفية، وأتمتة مهام اختبار الأجهزة ونشرها
8-إطار عمل اختبار الوحدة (Unity / CppUTest)
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم الغرض وفوائد اختبار الوحدة
- تثبيت Unity أو CppUTest (عبر مكتبة PlatformIO، أو حزمة النقاط، أو من المصدر)
- قم بإنشاء ملف اختبار بسيط وقم بتضمين رؤوس إطار العمل
- اكتب دالة اختبار بسيطة باستخدام الماكرو TEST (Unity) أو TEST_GROUP/TEST (CppUTest)
- قم بتشغيل مشغل الاختبار من سطر الأوامر وتفسير إخراج PASS/FAIL
- استخدم وحدات ماكرو التأكيد الأساسية (مثل TEST_ASSERT وCHECK_EQUAL)
المستوى: 2 – مبتدئ المواضيع:
- تنظيم الاختبارات في مجموعات أو مجموعات
- تنفيذ وظائف setUp() وteeDown() لتركيبات الاختبار
- استخدم نطاقًا أوسع من التأكيدات: العوامات، والسلاسل، ومقارنات الذاكرة
- تحديد معلمات الاختبارات أو تكرار بيانات الاختبار
- دمج تجميع الاختبار وتنفيذه في إنشاء PlatformIO أو CMake
- إنشاء بيانات بسيطة لتغطية التعليمات البرمجية (على سبيل المثال عبر gcov) وعرض نسب التغطية الأساسية
المستوى: 3 – متوسط المواضيع:
- إنشاء بذرة ومزيفة للوظائف المعتمدة على الأجهزة (قراءات I²C وتحويلات ADC)
- تقديم مكتبة وهمية (CppUMock أو Unity’s CMock) لمحاكاة التبعيات
- كتابة اختبارات للتعليمات البرمجية غير المتزامنة: محاكاة عمليات الاسترجاعات أو المقاطعات أو مؤقتات FreeRTOS
- تشغيل الاختبار تلقائيًا باستخدام نصوص shell أو وظيفة CI الأساسية
- جمع وتحليل مقاييس التغطية التفصيلية (الفرع، تغطية الوظيفة)
- اختبار الحدود وظروف الخطأ على نطاق واسع
المستوى: 4 – متقدم المواضيع:
- تطوير تطبيقات وهمية مخصصة للسائقين ذوي المستوى المنخفض والتجريدات الطرفية
- استخدم المكونات الإضافية للكشف عن تسرب الذاكرة (كاشف CppUTest MemoryLeak)
- قم بتوصيل عداء الاختبار على الجهاز لإجراء اختبارات الوحدة على الهدف
- كتابة اختبارات لبدائل التزامن: الإشارات، وقوائم الانتظار، وإخطارات المهام في FreeRTOS
- دمج تقارير التغطية والاختبار في لوحة معلومات CI (إخراج JUnit/XUnit XML)
- توظيف وحدات ماكرو التأكيد المتقدمة وميزات تحديد معلمات الاختبار
المستوى: 5 – خبير المواضيع:
- توسيع إطار الاختبار أو تخصيصه: كتابة المكونات الإضافية أو التقارير المخصصة أو وحدات ماكرو التأكيد الجديدة
- تصميم بنية تحتية للاختبار قابلة للتطوير عبر مشاريع ومنصات متعددة
- تنفيذ أدوات اختبار الأجهزة في الحلقة (HIL) أو firmware في الحلقة (FIL) مع التحكم الآلي في التركيبات
- فرق التوجيه على TDD واختبار أنماط التصميم وفرض سياسات الاختبار
- المساهمة في مشاريع Unity أو CppUTest مفتوحة المصدر (إصلاحات الأخطاء والميزات الجديدة)
- تحسين تنفيذ الاختبار المتوازي، وبيئات الاختبار المعبأة في حاويات، وتقليل الحمل الزائد لوقت تشغيل الاختبار
9 – التكامل المستمر (إجراءات GitHub / GitLab CI)
المستوى: 1 – مبتدئ تمامًا المواضيع:
- التعرف على ماهية التكامل المستمر (CI) وسبب أهميته (الإنشاء والاختبار الآلي)
- تحديد خدمات CI الشائعة: GitHub Actions وGitLab CI
- إنشاء أبسط ملف تكوين CI (
. github/workflows/ci. ymlأو. gitlab-ci. yml) - إضافة وظيفة تقوم بفحص الكود (
actions/checkoutأوgit clone) ويطبع رسالة ترحيب - قم بتشغيل سير العمل عند كل دفعة إلى الفرع الرئيسي وعرض السجلات الأساسية في واجهة مستخدم الويب
المستوى: 2 – مبتدئ المواضيع:
- توسيع مهمة CI لتثبيت التبعيات (مثل Python/pip وPlatformIO وESP-IDF)
- إضافة خطوات البناء: تجميع firmware (
idf. py buildأوpio run) - تشغيل اختبارات الوحدة عبر
pio testأو عداء اختبار مخصص وتفسير النجاح/الفشل - تعلم كيفية قراءة وتصفية مخرجات السجل بحثًا عن الأخطاء والتحذيرات
- الالتزام بالتغييرات ودفعها لتحفيز CI؛إصلاح فشل البناء البسيط
المستوى: 3 – متوسط المواضيع:
- تقسيم البناء والاختبار والوبر والتحليل الثابت إلى وظائف أو مراحل منفصلة
- استخدم الإجراءات المضمنة (أو قوالب GitLab) للتخزين المؤقت لعناصر سلسلة الأدوات (
actions/cache) - تنفيذ بناء مصفوفة لاختبار لوحات متعددة أو إصدارات سلسلة الأدوات بالتوازي
- أرشفة عناصر البناء (ثنائيات firmware، تقارير الاختبار، بيانات التغطية) للتنزيل
- تكوين تبعيات الوظيفة والتنفيذ المشروط (
needs:في إجراءات جيثب،stage:في GitLab CI)
المستوى: 4 – متقدم المواضيع:
- دمج أدوات تغطية التعليمات البرمجية (gcov، lcov) ونشر شارات التغطية
- أتمتة عمليات التحقق من حجم firmware واستخدام الذاكرة؛تفشل إذا تجاوزت العتبات
- نشر firmware الجاهزة لـ OTA على جهاز مرحلي عبر SSH أو مشغل مخصص
- إدارة الأسرار والرموز بشكل آمن (GitHub Secrets، ومتغيرات GitLab CI/CD)
- استخدم وحدات التشغيل ذاتية الاستضافة أو حاويات Docker لبيئات البناء المخصصة
المستوى: 5 – خبير المواضيع:
- تطوير إجراءات CI مخصصة قابلة لإعادة الاستخدام أو صور Docker محسنة لإصدارات ESP32
- تصميم خطوط أنابيب متعددة المشاريع: المكتبات المشتركة، ومعالجة الوحدات الفرعية، ومشغلات الريبو المتبادل
- تنفيذ مهام سير العمل المتقدمة: معاينات فرع الميزات، وعمليات نشر الكناري، والتراجع التلقائي
- فرض الامتثال لسياسات الفرع المحمي والالتزامات الموقعة وسجلات التدقيق
- إرشاد وتوثيق أفضل ممارسات CI / CD عبر الفرق ؛التدريب على استكشاف أخطاء فشل خطوط الأنابيب المعقدة وإصلاحها
10- جيرا والتقاء
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم الغرض من تتبع المشكلات مقابل التوثيق
- قم بالتسجيل في Jira Cloud (أو اتصل بالمثيل الموجود)
- التنقل في واجهة مستخدم Jira: المشاريع، والقضايا، والتراكم، واللوحة
- إنشاء مشكلة أساسية: حدد المشروع، ونوع المشكلة، والملخص، والوصف
- نقل المشكلة من خلال سير عمل بسيط (المهام → قيد التقدم → تم)
- إضافة التعليقات والمرفقات إلى قضية ما
- قم بالتسجيل في Confluence (أو الوصول إلى مساحة فريقك)
- إنشاء صفحة التقاء: العنوان والنص الأساسي والحفظ والتحرير
المستوى: 2 – مبتدئ المواضيع:
- العمل مع أنواع المشكلات المختلفة (المهمة، الخطأ، القصة، الملحمة) وحقول الأولوية
- استخدم لوحات Jira الأساسية: Scrum وKanban، وحرك البطاقات عبر الأعمدة
- تصفية المشكلات باستخدام JQL البسيط (على سبيل المثال، المشروع = “XYZ” والحالة = “مفتوح”)
- تكوين إشعارات البريد الإلكتروني البسيطة ومشاهدة المشكلات
- في Confluence، قم بتنظيم الصفحات في مساحات وتسلسلات هرمية بين الوالدين والطفل
- استخدم وحدات الماكرو الشائعة: كتلة التعليمات البرمجية، الجدول، اللوحة، الصورة
- أدخل روابط قضايا Jira وقوائم المشكلات في صفحات Confluence
المستوى: 3 – متوسط المواضيع:
- تخصيص شاشات المشكلة وإضافة حقول مخصصة
- تحديد وتعديل سير العمل البسيط: الحالات، والانتقالات، وأدوات التحقق من الصحة
- إنشاء ومشاركة لوحات المعلومات باستخدام الأدوات الذكية (نتائج التصفية، مخطط التخفيض)
- كتابة استعلامات JQL المتقدمة للمرشحات واللوحات المعقدة
- تكوين مسارات السباحة للوحة عن طريق الاستعلامات أو المكلفين
- في Confluence، قم بإنشاء واستخدام القوالب والمخططات
- إدارة أذونات الصفحة والتسميات وقيود الصفحة
- استخدم وحدات الماكرو تضمين الصفحة والمقتطفات وخصائص الصفحة للتقارير الديناميكية
المستوى: 4 – متقدم المواضيع:
- إنشاء قواعد Jira Automation: المشغلات والشروط والإجراءات (مثل التعيين التلقائي وإرسال التنبيهات)
- قم بإعداد اتفاقيات مستوى الخدمة ومكاتب الخدمة وتتبع المقاييس باستخدام إدارة خدمة Jira
- مهندس معماري للوحات متعددة المشاريع وإصدارات مشتركة بين المشاريع
- استخدم Portfolio for Jira (خرائط الطريق المتقدمة) لتخطيط الجداول الزمنية والتبعيات
- في Confluence، قم بإنشاء مخططات مخصصة وتجاوزات للموضوع
- تضمين محتوى ديناميكي: مخططات من Jira ومخططات Gliffy ووحدات الماكرو المباشرة
- تحليل تحليلات الصفحة ونشاط المستخدم لتحسين المحتوى
المستوى: 5 – خبير المواضيع:
- إدارة إعدادات Jira العالمية: الأذونات، وأنظمة أنواع المشكلات، وأنظمة سير العمل
- تصميم سير عمل معقد على مستوى المؤسسة مع التفرع والموافقات والأتمتة
- دمج Jira مع الأدوات الخارجية (CI/CD، Slack، GitHub) عبر خطافات الويب والتطبيقات
- قيادة تنفيذ ITSM: إدارة التغيير، وسير عمل الحوادث/المشاكل
- في Confluence، قم بتطوير مكونات إضافية مخصصة أو استخدم ScriptRunner للتشغيل الآلي
- تحديد قوالب المساحة، والشكل والمظهر العام، وأنظمة الأذونات المتقدمة
- إرشاد وتدريب الفرق على أفضل ممارسات Jira/Confluence وسياسات الحوكمة
##11-الإلكترونيات الرقمية والتناظرية
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم الوحدات الكهربائية الأساسية: الجهد (V)، التيار (A)، المقاومة (Ω)، الطاقة (W)- تعلم قانون أوم (V = I∙R) وحسابات المتوازيات/المتوازيات الأساسية
- التعرف على المكونات السلبية: المقاومات والمكثفات والمحاثات
- استخدم مقياسًا متعددًا لقياس الجهد والتيار والمقاومة في دوائر التيار المستمر البسيطة
- قراءة وتفسير رموز ومخططات الدوائر الأساسية
المستوى: 2 – مبتدئ المواضيع:
- بناء وتحليل شبكات المقاومات ومقسمات الجهد على التوالي والتوازي
- تقديم المكثفات: منحنيات الشحن/التفريغ، ثوابت وقت RC، مرشحات بسيطة للتمرير المنخفض/التمرير العالي
- فهم مستويات المنطق الرقمي (TTL مقابل CMOS) وكيفية ترجمتها إلى ESP32 GPIO
- تقنيات تحويل المستوى: مقسمات المقاومات، ومحولات المستوى المستندة إلى MOSFET لإشارات UART
- استخدم ألواح التجارب وأسلاك التوصيل لعمل نماذج أولية لدوائر واجهة المستشعر
المستوى: 3 – متوسط المواضيع:
- تصميم الواجهة الأمامية التناظرية لأجهزة الاستشعار: اختيار وتكوين مضخمات العمليات (المقلوبة وغير المقلوبة)
- تنفيذ مكبرات صوتية لإشارات الاستشعار التفاضلية (مثل مجسات NPK)
- واجهة ADC: فهم النطاق الكامل والدقة ومعدل أخذ العينات واختيار الجهد المرجعي
- أساسيات EMI/EMC: فصل المكثفات، واستراتيجيات التأريض، وقواعد التخطيط الأساسية
- تحليل الضوضاء وتخفيفها: التدريع، والأسلاك المزدوجة الملتوية، وخرز الفريت
المستوى: 4 – متقدم المواضيع:
- إنشاء دوائر قياس دقيقة: طرق المعايرة، تعويض انحراف درجة الحرارة
- تصميم المرشح المتقدم: طبولوجيا المرشح النشط (من الدرجة الثانية بتروورث، بيسل)
- تصميم مصدر الطاقة: اختيار وتصميم محولات DC-DC، وLDO، وفصل السائبة/السيراميك
- تخطيط PCB للإشارة المختلطة: أسس تناظرية/رقمية منفصلة، آثار مقاومة يمكن التحكم فيها، التأريض النجمي
- إجراء فحوصات الامتثال الأساسية لـ EMI: فحص المجال القريب وتقنيات تحليل الطيف
المستوى: 5 – خبير المواضيع:
- تصميم الواجهات الأمامية التناظرية منخفضة الضوضاء: حلول منفصلة مخصصة، وميزانية الضوضاء، واختيار المكونات
- تصميم ودمج الدوائر المتكاملة ذات الإشارات المختلطة: ADC/DACs عالية الدقة، والعزل الرقمي، وتحسين توقيت SPI/I²C
- تطوير والتحقق من صحة ICs المخصصة لإدارة الطاقة أو تكوينات PMIC للأجهزة التي تعمل بالبطارية
- قيادة جهود الحصول على شهادة EMI/EMC: كتابة خطط الاختبار، وتفسير معايير CE/FCC، واختبار الامتثال المسبق، والمعالجة.
- تصميمات الإشارات التناظرية والمختلطة لفريق الإرشاد والمراجعة، لتحسين قابلية التصنيع والتكلفة والموثوقية
12 – تصميم PCB (KiCad / Altium)
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم ما هو PCB ولماذا يتم استخدامه (مقارنة بلوحة التجارب أو لوحة الأداء)
- قم بتثبيت KiCad أو Altium Designer واستكشف واجهة المستخدم
- إنشاء مشروع تخطيطي جديد ووضع المكونات الأساسية (المقاوم، LED، الموصل)
- قم بتشغيل فحص القواعد الكهربائية (ERC) لاكتشاف أخطاء قائمة الشبكة الواضحة
- إنشاء قائمة netlist واستيرادها إلى تخطيط PCB فارغ
- ضع آثار الأقدام على مخطط اللوحة ووجه آثارًا بسيطة أحادية الطبقة
- تصدير ملفات جربر والحفر الأساسية
المستوى: 2 – مبتدئ المواضيع:
- بناء وإدارة مكتبة شخصية من الرموز وآثار الأقدام
- تحديد وتطبيق قواعد التصميم: تتبع العروض، والخلوصات، والحلقات الحلقية
- استخدم الطائرات الأرضية والطاقة لتبسيط التوجيه وتحسين الموثوقية
- أضف نصًا بالشاشة الحريرية، ومحددات المكونات، والطبقات الميكانيكية لمخطط اللوحة
- العمل مع آثار الأقدام من خلال الفتحات والسطح، وفهم إعدادات الوسادة وقناع اللحام
- تشغيل فحص قواعد التصميم (DRC) وإصلاح أخطاء التخليص/التداخل الشائعة
- إنشاء حزمة تصنيع كاملة: Gerbers، NC Drill، BOM
المستوى: 3 – متوسط المواضيع:
- إنشاء مخططات متعددة الأوراق (هرمية) وإدارة الاتصال بالشبكة
- تحديد مجموعة يمكن التحكم فيها للألواح المكونة من 4 أو 6 طبقات، بما في ذلك سمك العزل الكهربائي
- توجيه الأزواج التفاضلية وأزواج الإشارات ذات الطول المطابق (USB، SPI، الخطوط عالية السرعة)
- استخدام إدارة المستوى المتقدم: المستويات المقسمة، والنقوش الحرارية، ومناطق الصب
- دمج النماذج ثلاثية الأبعاد لفحص العلبة والتخليص الميكانيكي- أتمتة إنشاء قائمة مكونات الصنف (BOM) باستخدام الحقول المخصصة وتصديرها إلى ملف CSV أو Excel
- التعاون عبر Git (أو SVN) في ملفات مشروع PCB وإدارة سجل الإصدارات
المستوى: 4 – متقدم المواضيع:
- تصميم قابلية التصنيع (DFM): الألواح، والأوراق الاعتمادية، ورسومات التجميع
- تنفيذ ممارسات سلامة الإشارة عالية السرعة: التحكم في المعاوقة، عبر الخياطة، ومسارات العودة
- إنشاء قوالب المشروع وإعادة استخدامها باستخدام قواعد التصميم ومجموعات الطبقات على مستوى الشركة
- إجراء التحليلات الحرارية وتوزيع الطاقة الأساسية ضمن أداة ECAD
- كتابة البرامج النصية وتشغيلها (Python in KiCad أو Altium scripts) لأتمتة المهام المتكررة
- تطوير وإدارة مكتبات المكونات المركزية مع حالات دورة الحياة والمتغيرات المعتمدة
- دمج بيانات ECAD مع CAD الميكانيكية للهندسة المتزامنة
المستوى: 5 – خبير المواضيع:
- تصميم أنظمة مرنة صلبة ومتعددة الألواح (لوحة معززة)، وتحديد مناطق الانحناء المرنة وأدوات التقوية
- قيادة مراجعات التصميم التي تركز على سوق دبي المالي، وDFA (التجميع)، وDFT (الاختبار)، وتوجيه المصممين المبتدئين
- تطوير آثار مخصصة متوافقة مع IPC وإنشاء وثائق معايير التصميم الداخلية
- توجيه تكامل PLM/ERP لإدارة دورة الحياة الجزئية وسير عمل المشتريات
- تخطيط وتنفيذ حزم الشهادات (UL، CE، FCC) مع جميع الوثائق المطلوبة
- تحسين الميزات المتقدمة: الممرات المدفونة/العمياء، المعاوقة الخاضعة للتحكم، تصميمات microvia HDI
- المساهمة أو تخصيص المكونات الإضافية لأداة ECAD وإنشاء خطوط أنابيب آلية للتحقق من صحة بيانات المُصنِّع
13 – ميزانية الطاقة وشحن الليثيوم أيون بالطاقة الشمسية
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم العلاقة بين الجهد والتيار والطاقة (P = V × I)
- تعلم الخصائص الأساسية لبطارية Li-ion: الجهد الاسمي (~3. 7 فولت)، السعة (mAh/Ah)، نطاقات الجهد الآمن
- استخدم مقياسًا متعددًا لقياس الجهد والتيار في دوائر بسيطة تعمل بالبطارية
- التعرف على قضبان الطاقة الأساسية على لوحة ESP32 وقراءة الملصقات الخاصة بها (5 فولت، 3. 3 فولت)
- تعرف على لوحة شمسية صغيرة: مواصفات جهد الدائرة المفتوحة (Voc) وتيار الدائرة القصيرة (Isc)
المستوى: 2 – مبتدئ المواضيع:
- أنشئ جدول بيانات بسيطًا لميزانية الطاقة: قم بإدراج كل نظام فرعي (ESP32، المستشعر، الراديو) مع تيار التشغيل ودورة العمل الخاصة به
- حساب متوسط وذروة السحوبات الحالية. تقدير وقت التشغيل على سعة بطارية معينة
- قارن بين المنظمات الخطية (LDOs) ومنظمات التبديل البسيطة للتنحي إلى 3. 3 فولت
- قم بتوصيل IC الأساسي لشحن Li-ion (مثل MCP73831) على اللوح ولاحظ سلوك LED الخاص بالشحن
- قياس مخرجات اللوحة تحت مستويات إضاءة مختلفة وتعلم كيفية قراءة منحنيات ورقة البيانات الخاصة بها
المستوى: 3 – متوسط المواضيع:
- تقديم مفاهيم الحد الأقصى لتتبع نقاط الطاقة (MPPT): لماذا تعمل MPPT على تحسين حصاد الطاقة مقابل التظليل السلبي
- تحديد وتكوين وحدة تحكم الشحن بالطاقة الشمسية الجاهزة (مثل شاحن Adafruit Solar LiPo)
- ضبط حجم اللوحة الشمسية والبطارية حسب وقت التشغيل المستهدف وأسوأ الأحوال الجوية؛تشمل هوامش السلامة
- تصميم دائرة مزدوجة مدخلات الطاقة: بطارية بالإضافة إلى الطاقة الشمسية، مع الصمام الثنائي المثالي ORing أو الثنائيات شوتكي
- تنفيذ حالات firmware منخفضة الطاقة (النوم العميق، والنوم الخفيف) وقياس التيار الهادئ
المستوى: 4 – متقدم المواضيع:
- التقييم والاختيار بين وحدات MPPT المرحلية أو الوحدات النمطية المختلفة للاستخدام المضمن (مثل سلسلة STSPIN وTI BQ)
- تصميم شجرة طاقة PCB مخصصة: محولات الجهد/التعزيز، ومفاتيح التحميل، ومؤشرات الطاقة الجيدة
- نموذج منحنيات شحن/تفريغ البطارية والتأثيرات الحرارية؛محاكاة في SPICE أو جدول البيانات
- تنفيذ إدارة الطاقة الديناميكية في firmware: تعديل معدل أخذ العينات أو دورة تشغيل الراديو بناءً على SoC للبطارية
- إضافة وسائل حماية الأجهزة: مراقبة الجهد الزائد، وانخفاض الجهد، والتيار الزائد، ودرجة الحرارة
المستوى: 5 – خبير المواضيع:
- تصميم خوارزمية MPPT مخصصة بالكامل في firmware أو FPGA، وضبط ملفات تعريف الطاقة الشمسية المحلية
- تطوير أو تعديل firmware لـ IC لإدارة الطاقة (على سبيل المثال لنظام إدارة المباني المخصص) وتحسين الكفاءة بنسبة 98%+- التصميم الرئيسي لحصاد الطاقة في البيئة القاسية: الإضاءة المنخفضة، ودرجات الحرارة القصوى، وتحليل التظليل الجزئي
- دمج التشخيص المتقدم لصحة البطارية: عد الكولوم، وتتبع المعاوقة، وخوارزميات SoC/SoH التنبؤية
- فرق التوجيه في مقايضات نظام الطاقة، وإعداد الوثائق لشهادات السلامة UL / IEC، وتحسين إنتاجية التصنيع والموثوقية.
14-إدارة البطارية (18650)
المستوى: 1 – مبتدئ تمامًا المواضيع:
- تعرف على المواصفات الأساسية لخلية Li-ion 18650: الجهد الاسمي، والسعة، والحد الأقصى لتيار الشحن/التفريغ
- فهم أساسيات سلامة الخلية: لا توجد دوائر قصيرة، قطبية مناسبة، وتجنب الإفراط في التفريغ
- قياس جهد الخلية بمقياس متعدد؛التعرف على النقاط الكاملة (4. 2 فولت) مقابل النقاط الفارغة (≈3. 0 فولت).
- تحديد ميزات الحماية الشائعة لـ IC: الجهد الزائد، الجهد المنخفض، قطع التيار الزائد
- تدرب على التعامل الآمن: استخدم حاملًا مناسبًا، ولا تقم أبدًا بثقب الخلايا أو سحقها
المستوى: 2 – مبتدئ المواضيع:
- قم بتوصيل وحدة شاحن بسيطة أحادية الخلية (على سبيل المثال TP4056) وراقب مصابيح LED الخاصة بحالة الشحن
- فهم ملف شحن CC-CV: تيار ثابت حتى العتبة، ثم تفتق الجهد الثابت
- إضافة PCB حماية إلى الخلية: تعرف على كيفية عمل الحماية المستندة إلى MOSFET
- قراءة منحنيات الشحن/التفريغ الخاصة بورق بيانات الخلية وإرشادات خفض الطاقة
- حساب حالة الشحن (SoC) تقريبًا من منحنى الجهد مقابل SoC
المستوى: 3 – متوسط المواضيع:
- تقديم أساسيات عد الكولوم: قياس الشحن الداخل/الخارج عبر المقاوم الحسي الحالي وADC
- تحديد ودمج مضخم الصوت الحالي (على سبيل المثال INA219 أو IC المخصص لعداد الكولوم)
- معايرة نظام عد الكولوم الخاص بك: تعويض الإزاحة والكسب والانحراف
- الجمع بين شركة نفط الجنوب القائمة على الجهد وعد الكولوم لتحسين الدقة
- تنفيذ فحوصات صحة البطارية الأساسية: عدد الدورات، وتقدير القدرة على التلاشي
المستوى: 4 – متقدم المواضيع:
- تصميم دائرة شحن متوازنة متعددة الخلايا (2-4 خلايا) مع مقاومات موازنة الخلايا أو موازن نشط IC
- دمج BMS IC كامل (على سبيل المثال سلسلة TI BQ769x0): مراقبة الجهد الزائد، والجهد المنخفض، والتيار الزائد، ودرجة الحرارة
- تنفيذ خوارزميات SoC وSoH داخل firmware: مرشح Kalman أو عداد Coulomb التكيفي
- إضافة مستشعر لدرجة الحرارة (NTC أو رقمي) وتعويض منحنيات الشحن/التفريغ
- التحقق من السلامة في ظل ظروف الخطأ: محاكاة أحداث الخطأ القصيرة والتيار الزائد ودرجة الحرارة الزائدة وتسجيل الأخطاء
المستوى: 5 – خبير المواضيع:
- تصميم برنامج ثابت مخصص لنظام إدارة المباني: خوارزميات موازنة الخلايا المتقدمة، وملفات تعريف الشحن التكيفية
- تحسين دقة حساب كولوم على المدى الطويل: تصحيح الانجراف، وتعويض درجة الحرارة، وخوارزميات التعلم الذاتي
- الجهود الرائدة في مجال إصدار الشهادات: IEC 62133، UL 2054، UN 38. 3 وثائق الاختبار وإنشاء خطة الاختبار
- تصميم ميزات أمان زائدة عن الحاجة: مراقبة IC المزدوجة، والمراقبة، والحالات الآمنة من فشل الأجهزة
- إرشاد ومراجعة تصميمات النظام الفرعي للبطارية: تحليل وضع الفشل وقابلية التصنيع وخطط اختبار الموثوقية
15-الاتصالات الخلوية (SIMCom AT، PPP، TCP/IP)
المستوى: 1 – مبتدئ تمامًا المواضيع:
- تعلم المفاهيم الخلوية الأساسية: GSM vs LTE vs NB-IoT
- التعرف على منفذ بطاقة SIM وكيفية إدخال/إخراج بطاقة SIM
- قم بتشغيل وحدة SIMCom وتوصيلها بوحدة تحكم دقيقة أو محول USB إلى UART
- افتح محطة تسلسلية (minicom، PuTTY) بمعدل الباود الصحيح
- إرسال أوامر AT بسيطة: AT، ATI، AT+CSQ
- تفسير الاستجابات: OK، ERROR، ورموز جودة الإشارة الأساسية
المستوى: 2 – مبتدئ المواضيع:
- التحقق من تسجيل الشبكة: AT+CREG؟ وAT+CGREG؟
- تكوين سياق PDP: AT+CGDCONT=1،“IP”،""
- استخدم PPP لإظهار رابط IP: اكتب برنامج نصي للدردشة واستدعِ pppd
- التحقق من اتصال IP عبر PPP: قم باختبار اتصال مضيف معروف أو استخدم أداة اختبار المقبس
- إرسال وقراءة الرسائل القصيرة: AT+CMGF=1، AT+CMGS=””، AT+CMGR=
- التعامل مع رموز الأخطاء الأساسية: القراءة وفك التشفير + خطأ CME:
المستوى: 3 – متوسط المواضيع:
- فتح وإدارة مآخذ توصيل TCP: AT+CIPSTART=”TCP”،”host”،”port”- إرسال واستقبال البيانات عبر المقبس: AT+CIPSEND وAT+CIPRXGET
- مراقبة رموز النتائج غير المرغوب فيها (URCs): +CIPSTATUS، +TCP_CLOSED
- تنفيذ منطق إعادة الاتصال التلقائي في firmware عند سقوط المقبس أو PPP
- استخدم أوضاع سكون الوحدة لتوفير الطاقة: AT+CFUN، AT+CSCLK
- قم بتأمين الارتباط باستخدام أوامر TLS الأساسية إذا كانت مدعومة (مثل AT+SSLOPT)
المستوى: 4 – متقدم المواضيع:
- دمج عرض PPP في مهام RTOS مع عمليات الاسترجاعات للحدث عند الاتصال/قطع الاتصال
- إدارة APNs المتعددة والسياقات الاحتياطية لمرونة التجوال
- قم بتشغيل عميل MQTT عبر المقبس الخلوي باستخدام الأوامر المستندة إلى AT
- الاستعلام عن بيانات GNSS/الموقع إذا كانت الوحدة تدعمها: AT+CGPS=1, AT+CGPSINFO
- إنتاجية الملف الشخصي ووقت الاستجابة: قياس معدلات البيانات وتحسين التخزين المؤقت للبرامج الثابتة
- تشخيص مشكلات التردد اللاسلكي والشبكة باستخدام أوامر معلومات الشبكة الموسعة (مثل AT+QENG)
المستوى: 5 – خبير المواضيع:
- تطوير أو تحسين مكتبة محلل أوامر AT باستخدام أجهزة الحالة والتخزين المؤقت القوي
- تصميم برنامج PPP مخصص أو مكدس IP خفيف الوزن للأنظمة المدمجة بعمق
- تنفيذ التكامل على مستوى برنامج التشغيل: عمليات نقل UART المستندة إلى DMA، والتحكم في تدفق الأجهزة
- دعم أوضاع البيانات المتقدمة: المقابس الأولية، والبث/البث المتعدد UDP، ووضع بيانات الرسائل القصيرة
- التعامل مع توفير الشهادات الآمنة في الفلاش وإدارة جلسات TLS من البداية إلى النهاية
- فرق الإرشاد حول أفضل ممارسات IoT الخلوية: تحسين التكلفة، والامتثال التنظيمي، واعتبارات تصميم الهوائي/الترددات اللاسلكية
16-بروتوكولات IoT (MQTT / HTTPS)
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم ماهية بروتوكولات IoT وسبب أهميتها بالنسبة للأجهزة المقيدة
- تعلم أساسيات MQTT: نموذج النشر/الاشتراك، دور الوسيط، المواضيع، مستويات جودة الخدمة (0، 1، 2)
- تعلم أساسيات HTTPS: طلب/استجابة العميل والخادم، ومبادئ REST، وعناوين URL، والأساليب (GET، POST)
- تثبيت عميل MQTT لسطح المكتب (MQTT. fx، MQTT Explorer) والاتصال بوسيط عام (على سبيل المثال، [test. mosquitto. org](http://test. mosquitto. org/))
- استخدم
curlلتقديم طلبات HTTPS GET بسيطة إلى واجهات برمجة التطبيقات العامة
المستوى: 2 – مبتدئ المواضيع:
- كتابة firmware لتوصيل ESP32 إلى وسيط MQTT باستخدام مكتبة بسيطة (على سبيل المثال،
PubSubClientلاردوينو أوesp_mqtt_clientلـ ESP-IDF) - نشر قراءات الاستشعار لموضوع الاختبار؛الاشتراك وتسجيل الرسائل من موضوع آخر
- إنشاء حمولات JSON الأساسية وتحليل JSON الوارد في firmware
- تنفيذ طلبات HTTPS من ESP32: الإعداد
HTTPClient(اردوينو) أوesp_http_client(ESP-جيش الدفاع الإسرائيلي) - التعامل مع التحقق من صحة الشهادة على المستوى الأساسي (استخدم الوضع غير الآمن للبدء، ثم قم بالتبديل إلى المرجع المصدق الجذر المناسب)
المستوى: 3 – متوسط المواضيع:
- تنفيذ ثبات جلسة MQTT: الاحتفاظ بالرسائل، الجلسة النظيفة = خطأ
- استخدم MQTT الوصية الأخيرة والوصية (LWT) للإشارة إلى قطع الاتصال غير المتوقع
- تنظيم التسلسل الهرمي للموضوع باستخدام أحرف البدل (
+,#) لمراسلة الجهاز القابلة للتطوير - إدارة شهادات TLS في الفلاش: تحويل PEM إلى DER، وتضمينها في القسم
- التعامل مع HTTPS POST مع أجسام JSON وتحليل استجابات JSON؛إدارة الرؤوس
المستوى: 4 – متقدم المواضيع:
- تصميم وتنفيذ بنية MQTT آمنة: شهادات العميل ومصادقة TLS المتبادلة
- تحسين أداء MQTT: نشر الدُفعات، واستخدام جودة الخدمة بشكل مناسب، وتقليل الحمل الزائد
- تنفيذ مصادقة HTTPS المتبادلة (شهادات العميل) وإدارة تدوير الشهادات
- دمج MQTT عبر WebSockets للوحات المعلومات المستندة إلى المتصفح أو الشبكات المقيدة
- قم ببناء عميل REST خفيف الوزن على ESP32 مع أنماط إعادة المحاولة والتراجع وقواطع الدائرة
المستوى: 5 – خبير المواضيع:
- تصميم جسر بروتوكول مخصص: الترجمة بين CoAP وMQTT وHTTPS لشبكات IoT غير المتجانسة
- تطوير مكون إضافي أو امتداد وسيط MQTT داخليًا للتفويض المخصص أو التصفية أو التحويل
- وضع نموذج أولي وتقييم بروتوكولات IoT البديلة (مثل MQTT-SN وAMQP وLwM2M) لحالات الاستخدام المتخصصة
- عمليات تدقيق أمنية رئيسية: نمذجة التهديدات وتقييمات الضعف لمكدسات اتصالات IoT
- فرق التوجيه على تصميم بنيات مراسلة IoT واسعة النطاق وآمنة ومرنة باستخدام البروتوكولات المختلطة
17-أساسيات أمان TLS / mbedTLS
المستوى: 1 – مبتدئ تمامًا المواضيع:
- تعلم مفاهيم التشفير الأساسية: النص العادي مقابل النص المشفر، والتشفير المتماثل مقابل غير المتماثل، والتجزئة
- فهم ما يوفره TLS: السرية والنزاهة والأصالة
- دراسة تدفق مصافحة TLS عالي المستوى: ClientHello، ServerHello، تبادل المفاتيح، طبقة التسجيل
- قم بتثبيت mbedTLS واستكشف
programs/sslدليل المثال - بناء وتشغيل
ssl_client1وssl_server2أمثلة على سطح المكتب الخاص بك
المستوى: 2 – مبتدئ المواضيع:
- قم بتكوين mbedTLS عبر
config. h: قم بتمكين الوحدات التي تحتاجها فقط (SSL/TLS، X. 509، أساسيات التشفير) - إنشاء شهادة ومفتاح موقعين ذاتيًا باستخدام OpenSSL؛التحويل بين تنسيقات PEM وDER
- تعديل وتشغيل
ssl_client2لإجراء HTTPS GET على خادم عام - قم بتعيين الحد الأدنى لإصدار TLS واختر مجموعات التشفير الأساسية في تكوين SSL
- تمكين تسجيل تصحيح mbedTLS لتتبع خطوات المصافحة ورموز الخطأ
المستوى: 3 – متوسط المواضيع:
- تنفيذ مصادقة PSK (المفتاح المشترك مسبقًا) في mbedTLS للأجهزة المقيدة
- تضمين الشهادات والمفاتيح في الفلاش أو قراءتها من قسم نظام الملفات في وقت التشغيل
- استخدم المحلل اللغوي mbedTLS X. 509 للتحقق من صحة شهادات الخادم مقابل حزمة CA الجذرية
- قم بزرع مولد الأرقام العشوائية باستخدام جهاز TRNG (على سبيل المثال، ESP32’s
esp_hardware_poll) عبرmbedtls_ctr_drbg- دمج mbedTLS كمكون في ESP-IDF واستدعاء اتصالات TLS من مهمة FreeRTOS
المستوى: 4 – متقدم المواضيع:
- تنفيذ TLS المتبادلة (شهادات العميل والخادم) في بيئة مدمجة
- تصميم آلية آمنة لتدوير الشهادات مع حماية التراجع عن firmware
- تحسين أثر الذاكرة: تعطيل الوحدات غير المستخدمة، وضبط استخدام الكومة مقابل استخدام المكدس
mbedtls_platform_set_calloc_free- قم بالربط بمسرع تشفير الأجهزة (إلغاء تحميل RSA/ECC) وقم بتسجيله في طبقة mbedTLS PK - تخزين المفاتيح الخاصة بشكل آمن: استخدم تشفير الفلاش أو عنصرًا آمنًا خارجيًا (ATECC608A)
المستوى: 5 – خبير المواضيع:
- المساهمة في الإصلاحات أو الميزات الجديدة في قلب mbedTLS (على سبيل المثال، إضافة مجموعة تشفير جديدة أو تحسين كود الوقت الثابت)
- إجراء عمليات التدقيق الأمني واختبار الضبابية على أساسيات المصافحة والتشفير
- إنشاء تكوين mbedTLS متوافق مع FIPS 140-2 والتحقق من صحة وحدة المستند
- تطوير تطبيقات مقاومة للقناة الجانبية والتشدد ضد هجمات تحليل التوقيت أو الطاقة
- تحديد وتوجيه السياسات الأمنية على مستوى المؤسسة: نمذجة التهديدات، وإدارة دورة حياة المفاتيح، وعمليات الكشف عن الثغرات الأمنية
##18-معايرة أجهزة الاستشعار وتعويضها
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم معنى “معايرة المستشعر” و”التعويض” وسبب أهميتهما
- تعرف على كيفية قراءة قيم ADC الأولية من المستشعر في التعليمات البرمجية (على سبيل المثال.
adc1_get_raw) - تسجيل مخرجات المستشعر الخام في الظروف المحيطة باستخدام الطباعة التسلسلية أو مسجل بيانات بسيط
- التعرف على المعايير المرجعية الأساسية: المقاومات الثابتة المعروفة، الفولتية المرجعية المعروفة
- رسم القراءات الأولية مقابل القيم المتوقعة في جدول بيانات لمعرفة الأخطاء الخطية أو الإزاحة
المستوى: 2 – مبتدئ المواضيع:
- إجراء معايرة من نقطتين (الإزاحة والكسب): جمع القراءات في تركيزين أو أحمال معروفة
- حساب وتنفيذ صيغة رسم خرائط خطية بسيطة في firmware
- توثيق خطوات ونتائج المعايرة: تشمل ظروف الاختبار (درجة الحرارة، الرطوبة)
- تقديم مقاييس الخطأ: متوسط الخطأ، الانحراف المعياري، الحد الأقصى للخطأ
- أتمتة جمع بيانات المعايرة باستخدام البرامج النصية أو أوامر shell البسيطة
المستوى: 3 – متوسط المواضيع:
- وصف استجابة المستشعر على نطاقه الكامل ببيانات متعددة النقاط (على الأقل 5-10 نقاط)
- ملاءمة المنحنيات ذات الترتيب الأعلى (الانحدار متعدد الحدود) أو المقاطع الخطية متعددة التعريف في أداة مثل Python أو Excel
- تنفيذ تعويض درجة الحرارة والرطوبة: قراءة أجهزة الاستشعار البيئية وتطبيق صيغ التصحيح
- التحقق من صحة التعويض من خلال مقارنة القراءات المعوضة مع الأدوات المرجعية عبر الظروف
- تخزين معاملات المعايرة في الذاكرة غير المتطايرة (ذاكرة RTC، قسم NVS، أو الفلاش)
المستوى: 4 – متقدم المواضيع:
- تطوير بروتوكولات معايرة قوية: ترتيب الاختبار بطريقة عشوائية، والتحكم في المتغيرات البيئية، وتسجيل البيانات الوصفية
- استخدام التقنيات الإحصائية: الكشف عن القيم المتطرفة، وفترات الثقة، ودراسات التكرار/التكرار
- أتمتة إجراءات المعايرة على الجهاز: وضع المعايرة التفاعلية مع مطالبات المستخدم
- تنفيذ إجراءات المعايرة الذاتية أو الصفر التلقائي لإزالة الانحراف أثناء عمليات النشر الطويلة
- إدارة وإصدار بيانات المعايرة في نظام خلفي أو قاعدة بيانات معايرة
المستوى: 5 – خبير المواضيع:
- تصميم خوارزميات التعويض متعددة المتغيرات (على سبيل المثال، استخدام دمج أجهزة الاستشعار أو تراجعات التعلم الآلي للحساسيات المتقاطعة المعقدة)
- تصميم وبناء أجهزة معايرة آلية أو تركيبات اختبار لمعايرة الإنتاج بكميات كبيرة
- تحديد وتنفيذ معايير وإجراءات المعايرة (وثائق نمط ISO 17025)
- مراقبة انحراف المعايرة في الميدان وتشغيل إعادة المعايرة أو تحديثات firmware عن بعد
- إرشاد وتدريب الفريق على مفاهيم المترولوجيا المتقدمة. نشر إرشادات المعايرة الداخلية والمستندات التقنية
19-تسجيل البيانات وتخزينها عبر الهواء
المستوى: 1 – مبتدئ تمامًا المواضيع:
- تعرف على ما يعنيه التخزين المستمر على ESP32 ولماذا هو مفيد للتسجيل أو التدريج عبر الهواء
- فهم الفرق بين أنظمة ملفات الفلاش الداخلية (SPIFFS، LittleFS) وبطاقات SD الخارجية
- جبل SPIFFS في اردوينو (
SPIFFS. begin()) أو ESP-IDF (esp_vfs_spiffs_register) - قائمة الملفات، افتح ملفًا للكتابة (
"w")، اكتب سطرًا، وأغلقه، ثم افتحه لقراءة المحتويات وطباعتها - تهيئة وتركيب بطاقة SD (Arduino
SD. begin(), ESP-جيش الدفاع الإسرائيليesp_vfs_fat_sdspi_mount)، افتح ملفًا وقم بإجراء القراءة/الكتابة الأساسية
المستوى: 2 – مبتدئ المواضيع:
- استخدم وضع الإلحاق (
"a") لإضافة إدخالات سجل جديدة دون الكتابة فوق البيانات الموجودة - اجتياز الدلائل: فتح الدلائل، وقراءة أسماء الملفات، والتصفية حسب الامتداد أو الطابع الزمني
- تكوين حجم قسم SPIFFS/LittleFS
platformio. iniأوsdkconfig، تعيد تحميل الملفات والتحقق - اكتشف اختلافات LittleFS: عمليات التركيب الأسرع، وتسوية التآكل المضمنة، وعمليات البيانات التعريفية
- اكتشاف أخطاء التحميل والتعامل معها، والتحقق من المساحة الحرة قبل الكتابة، واستعادة نظام الملفات التالف
المستوى: 3 – متوسط المواضيع:
- تنفيذ تدوير السجل: عندما يتجاوز الملف حد الحجم أو العمر، أغلقه وابدأ ملفًا جديدًا؛حذف أقدم السجلات
- تسجيل بيانات المستشعر الثنائي بكفاءة: إجراء تسلسل للبنيات أو العوامات، والكتابة/القراءة مرة أخرى في الذاكرة
- تركيب واستخدام FAT على SD مع دعم أسماء الملفات الطويلة؛إدارة أقسام SD متعددة
- قم بإنشاء طبقة تجريد حتى يتمكن الكود الخاص بك من التبديل بين SPIFFS أو LittleFS أو SD عن طريق التكوين
- قم بتجهيز البيانات الكبيرة أو مجموعات firmware في قسم “ota_data” المخصص باستخدام عمليات الكتابة الأولية بالفلاش
المستوى: 4 – متقدم المواضيع:
- فهم وتحرير جدول أقسام ESP32: المصنع، ota_0، ota_1، إدخالات البيانات (spiffs/littlefs)
- استخدم واجهات برمجة التطبيقات OTA الخاصة بـ ESP-IDF:
esp_ota_begin(),esp_ota_write(),esp_ota_end(),esp_ota_set_boot_partition()- قم بتنزيل صورة البرنامج الثابت الكاملة وكتابتها على قسم OTA غير النشط، والتحقق من سلامتها، وتبديل التمهيد - التعامل مع التحديثات المتقطعة: اكتشاف عمليات الكتابة الجزئية، والرجوع إلى آخر firmware الجيدة المعروفة
- تحسين مرونة نظام الملفات: استخدم عمليات الملفات الذرية أو استراتيجيات تسجيل اليوميات أو التخزين المؤقت المزدوج
المستوى: 5 – خبير المواضيع:
- تصميم تخطيطات أقسام مخصصة: أقسام بيانات متعددة، تغيير الحجم الديناميكي، تكامل الفلاش خارج الشريحة
- تنفيذ أنظمة الملفات المشفرة و/أو المضغوطة لتأمين البيانات أثناء الراحة وتقليل التآكل
- تطوير تحديثات delta-OTA أو التحديثات المستندة إلى التصحيح لتقليل حجم التنزيل ووقت التحديث
- إنشاء أدوات اختبار آلية لمحاكاة تلف نظام الملفات والتحقق من صحة تدفقات استرداد OTA
- إرشاد حول أفضل الممارسات: محاذاة الأقسام، وإدارة التآكل السريع، وتكامل التمهيد الآمن، وإدارة دورة الحياة الكاملة للبيانات المخزنة وتحديثات firmware
20 – تدفق التحديث عبر الهواء عن بعد
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم ماهية تحديثات OTA (عبر الأثير) وسبب فائدتها
- اكتشف مثال OTA بسيط في Arduino (
ArduinoOTA) أو ESP-IDF (ota_https_simple) - قم بتكوين بيئة التطوير الخاصة بك لتمكين OTA: قم بتضمين مكتبة/مكون OTA
- قم بإظهار مثال “الوميض” مع تمكين OTA وتأكد من أنه يعلن عن خدمة أو نقطة نهاية HTTP
- قم بتشغيل تحديث OTA يدوي من VS Code أو Arduino IDE وشاهد إعادة تشغيل البرنامج الثابت
المستوى: 2 – مبتدئ المواضيع:
- استضافة برنامج ثابت ثنائي على خادم HTTP(S) محلي أو خادم ملفات بسيط
- اكتب رمز البرنامج الثابت لجلب بيان الإصدار أو عنوان URL الثنائي عبر HTTP باستخدام
HTTPClientأوesp_http_client- قم بتنزيل التحديث وتطبيقه على القسم الثانوي باستخدام ESP-IDF OTA API (esp_ota_begin,esp_ota_write,esp_ota_end) - تحقق من سلامة الصورة الجديدة باستخدام المجاميع الاختبارية المضمنة أو رؤوس HTTP ETag
- تنفيذ التراجع الأساسي: إذا فشل البرنامج الثابت الجديد في التمهيد أو أشار إلى وجود خطأ، فارجع إلى القسم السابق
المستوى: 3 – متوسط المواضيع:
- أتمتة مشغلات OTA: تحقق من وجود تحديثات عند التمهيد أو على مؤقتات دورية، وقارن الإصدار الحالي بالبيان
- قم بتأمين قناة التحديث: قم بالتبديل من HTTP إلى HTTPS، والتحقق من صحة شهادات الخادم، وتثبيت CAs في الفلاش
- دعم delta-OTA (الاختلافات الثنائية) لتقليل حجم التنزيل: دمج التصحيحات وتطبيقها بدلاً من الصور الكاملة
- استخدم MQTT أو MQTT-SN لإعلام الأجهزة بالتحديثات المتاحة والتحكم في التشغيل لكل جهاز أو مجموعة
- تخزين بيانات تعريف التحديث (الإصدار، الطابع الزمني، الحالة) في وحدة تخزين غير متطايرة (NVS) للتدقيق
المستوى: 4 – متقدم المواضيع:
- التكامل مع خدمة OTA المستندة إلى السحابة (على سبيل المثال، AWS IoT Device Management وAzure IoT Hub) عبر واجهات برمجة تطبيقات REST/MQTT الخاصة بهم
- تنفيذ عمليات الطرح على مراحل: قم بالطرح على نسبة صغيرة من الأجهزة أولاً، ومراقبة الحالة، ثم قم بتوسيع الطرح
- تصميم نظام تقسيم A/B مع احتياطي الصورة الذهبية وفحوصات السلامة التلقائية عند بدء التشغيل
- أتمتة إنشاء firmware وتوقيعها ونشر خطوط الأنابيب في CI/CD؛تضمين التوقيعات والتحقق في الجهاز
- التعامل مع التحديثات متعددة المكونات (أداة تحميل التشغيل، جدول الأقسام، التطبيق، نظام الملفات) في معاملة واحدة
المستوى: 5 – خبير المواضيع:
- تصميم واجهة خلفية مخصصة لإدارة OTA: الإصدار ومجموعات الأجهزة والتحديثات التفاضلية وتكامل القياس عن بعد
- تنفيذ الأمان الشامل: توقيع التعليمات البرمجية باستخدام مفاتيح غير متماثلة، وتكامل التمهيد الآمن، وحماية إعادة التشغيل
- تحسين آليات التحديث للشبكات ذات النطاق الترددي المنخفض أو الشبكات المتقطعة: التسليم المقسم، ودعم الاستئناف، والتحكم في المعدل التكيفي
- إنشاء مسارات تحديث متكررة: خوادم متعددة، ومشاركة نظير إلى نظير، واستراتيجيات CDN الاحتياطية
- فرق الإرشاد حول أفضل الممارسات: الامتثال لمعايير الصناعة (على سبيل المثال، IEC 62443)، والمعالجة القوية للأخطاء، وإدارة دورة الحياة الكاملة لإصدارات firmware
21-نظرية التحكم والتقدير
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم الفكرة الأساسية لحلقة التحكم: نقطة الضبط والقياس والخطأ
- التمييز بين أنظمة الحلقة المفتوحة وأنظمة الحلقة المغلقة
- تنفيذ وحدة تحكم تشغيل/إيقاف بسيطة (bang-bang) في الكود الكاذب أو C
- فهم مفهوم استجابة النظام: وقت الصعود، والتجاوز، ووقت الاستقرار (مفاهيمي)
- تعرف على معنى “التقدير”: استخدام القياسات الصاخبة للاستدلال على القيمة الحقيقية
المستوى: 2 – مبتدئ المواضيع:
- اشتقاق وترميز وحدة التحكم التناسبية (P): الإخراج = Kₚ·خطأ
- إضافة مصطلحات متكاملة (I) ومشتقة (D) لإنشاء وحدة تحكم PID؛لحن Kₚ، Kᵢ، K_d عن طريق التجربة
- تنفيذ مرشح الترددات المنخفضة من الدرجة الأولى (منفصل) لقراءات المستشعر الصاخبة
- نماذج الأنظمة البسيطة كمعادلات فرقية (مثل دائرة RC المنفصلة)
- اكتب مرشح المتوسط المتحرك أو التجانس الأسي في firmware
المستوى: 3 – متوسط المواضيع:
- تمثيل الأنظمة في شكل مساحة الحالة (ẋ = Ax + Bu؛ y = Cx + Du) وتمييز firmware
- تصميم وتنفيذ مرشح كالمان المنفصل لنموذج السرعة الثابتة أحادي الأبعاد
- تحليل استقرار النظام الذي يتم التحكم فيه بواسطة PID باستخدام موضع الجذر أو مخططات Bode (MATLAB/Python)
- تنفيذ خاصية منع التصفية لتصفية المصطلح I والتصفية المشتقة في خوارزمية PID
- تضمين رمز التحكم والتقدير في مهام FreeRTOS بتوقيت محدد
المستوى: 4 – متقدم المواضيع:
- تصميم وحدات تحكم الحالة المثالية (LQR) ومراقبي كالمان المنفصلين
- يمتد إلى مرشحات كالمان الموسعة (EKF) للأنظمة غير الخطية (مثل حركيات الروبوت المحمول البسيطة)
- تنفيذ تصميم مجال التردد: هامش الكسب والطور، ومرشحات الحز، وضبط PID عبر Ziegler-Nichols وطرق الترحيل
- ترميز نموذج أولي للتحكم التنبؤي (MPC) بلغة C أو C++، باستخدام أفق صغير
- وقت تنفيذ الملف الشخصي وذاكرة حلقات التحكم؛الأمثل للقيود في الوقت الحقيقي
المستوى: 5 – خبير المواضيع:- مخططات التحكم غير الخطية المعمارية: الوضع المنزلق، التحكم التكيفي، وحدات التحكم القوية H∞
- قيادة تطوير مكتبات EKF/UKF المخصصة أو حلول MPC للأهداف المضمنة
- فريق إرشادي في مجال التقدير المتقدم: دمج أجهزة الاستشعار المتعددة (IMU + GPS + مجسات التربة) باستخدام تقنيات التحديد المتزامن ورسم الخرائط (SLAM)
- نشر إرشادات التصميم الداخلي بشأن أفضل ممارسات التحكم/التقدير والتحقق من السلامة
- المساهمة بخوارزميات أو تحسينات جديدة في مشاريع التحكم/التقدير مفتوحة المصدر أو الأوراق الأكاديمية
22-برمجة بايثون/باش
المستوى: 1 – مبتدئ تمامًا المواضيع:
- تثبيت Python 3 والنقطة؛تحقق مع
python3 --versionوpip3 --version- فتح قذيفة باش. يجريbash --version- إنشاء وتشغيل برنامج Python النصي “hello World” (hello. py) ونص باش بسيط (hello. sh) - اضافة خطوط شيبانج (
#!/usr/bin/env python3و#!/usr/bin/env bash) وجعل البرامج النصية قابلة للتنفيذ (chmod +x) - استخدم أوامر bash الأساسية:
echo,ls,pwd,cd;و بايثونprint()، مهام متغيرة بسيطة
المستوى: 2 – مبتدئ المواضيع:
-
أنواع بيانات بايثون (int، float، string، list، dict) وتدفق التحكم (
if,for,while);تحديد وظائف بسيطة -
متغيرات باش، المعلمات الموضعية (
$1,$2)، نقلا عن القواعد الأساسيةif [ ]وforحلقات -
إدخال/إخراج الملف: فتح/قراءة/كتابة في بايثون؛إعادة التوجيه (
>,>>) وقراءة الأسطر في باش (while read) -
استيراد واستخدام وحدات بايثون المضمنة (
os,sys);مصدر البرامج النصية الصغيرة لمساعد bash معsource- معالجة الأخطاء الأساسية: بايثونtry/except;سحقset -eوtrap '…' ERRالمستوى: 3 – متوسط المواضيع: -
البيئات الافتراضية بايثون (
python3 -m venv)،requirements. txt، تثبيت حزم الطرف الثالث عبر النقطة -
تحليل وسيطة باش باستخدام
getoptsأوgetoptوكتابة وظائف bash القابلة لإعادة الاستخدام -
بناء البرامج النصية للأتمتة: استدعاء
make,idf. py، أوpioمن بايثون (subprocess) أو باش -
استخدم بايثون
argparseلواجهات CLI القوية وloggingوحدة للسجلات المنظمة -
الإدخال/الإخراج المتقدم: الأنابيب (
|)، استبدال العملية (<(),>()) ، هنا-المستندات (<<EOF) واستبدال الأوامر
المستوى: 4 – متقدم المواضيع:
- كتابة اختبارات وحدة بايثون مع
pytestأوunittest;فرض الاسلوب معflake8/pylintوأضف تلميحات الكتابة باستخدامmypy- مخطوطات هاردن باش:set -euxo pipefail، التحقق من صحة المعلمة، وظائف تنظيف الاعتراض، وضع التصحيح (set -x) - استخدم بايثون للمهام المتزامنة:
threading,multiprocessing، وأدوات عالية المستوى مثلconcurrent. futures- بناء وحدات بايثون قابلة لإعادة الاستخدام وتثبيتها عبرsetup. py/pyproject. toml;إدارة الإصدارات والتبعيات - أتمتة خطوات CI/CD: كتابة نصوص Python أو bash التي تنظم إجراءات GitHub أو وظائف GitLab CI
المستوى: 5 – خبير المواضيع:
- تطوير ونشر أدوات Python CLI المستقلة باستخدام أطر عمل مثل Click أو Typer؛نشر الحزم إلى PyPI
- تصميم أطر عمل bash الكبيرة: البرامج النصية المعيارية، وأنظمة المكونات الإضافية، والعمليات المشتركة، وإعادة توجيه الإدخال/الإخراج المتقدمة
- الملف الشخصي وتحسين البرامج النصية لبايثون (على سبيل المثال،
cProfile,line_profiler)، يتبنىasyncioللمهام عالية الإنتاجية - دمج البرامج النصية مع خدمات النظام: كتابة ملفات وحدة systemd، والبرامج النصية لنقطة إدخال الحاوية، وأتمتة Docker-Compose
- تحديد وتعليم أفضل ممارسات الفريق للبرمجة النصية: الأمان (تعقيم الإدخال، وتجنب الحقن)، والتوثيق، وقوالب التعليمات البرمجية القابلة للصيانة
23 – أساسيات السحابة ولوحة المعلومات
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم مفهوم منصات IoT المستندة إلى السحابة مقابل الحلول المحلية
- قم بالتسجيل للحصول على نسخة تجريبية مجانية من AWS IoT Core أو حساب Azure IoT Hub التجريبي
- انتقل إلى بوابة AWS IoT أو Azure: استكشف قسم الأشياء/الأجهزة واعرض لوحات المعلومات العامة
- تثبيت وتشغيل أداة سطح المكتب (AWS IoT Explorer أو Azure IoT Explorer) للاتصال وإرسال نموذج لرسالة القياس عن بعد
- فهم ماهية InfluxDB: تثبيت مثيل InfluxDB 2. x محلي عبر Docker أو ثنائي، وتشغيل واجهة سطر الأوامر المضمنة، وكتابة نقطة بيانات واحدة
المستوى: 2 – مبتدئ المواضيع:
- تسجيل جهاز (“الشيء”) في AWS IoT Core أو جهاز في Azure IoT Hub؛قم بتنزيل وفحص الشهادات التي تم إنشاؤها أو رموز SAS المميزة
- استخدم AWS IoT SDK (C/Python) أو Azure Device SDK لنشر قياس JSON عن بعد بسيط عبر MQTT
- تثبيت Grafana، وإضافة InfluxDB كمصدر بيانات، وإنشاء لوحة سلاسل زمنية أساسية تعرض حقلاً واحدًا
- كتابة البيانات في InfluxDB من سطر الأوامر (باستخدام
curlأو Influx CLI) والتحقق منه في InfluxDB UI - استكشاف مفاهيم Grafana: لوحات المعلومات، واللوحات، والاستعلامات، ومنتقي النطاق الزمني
المستوى: 3 – متوسط المواضيع:
- تنفيذ رمز جهاز نمط الإنتاج: اتصالات MQTT المستمرة، ومنطق إعادة الاتصال، وحمولات JSON المنظمة، والتسلسلات الهرمية للموضوع
- تحديد قاعدة AWS IoT لإعادة توجيه بيانات القياس عن بعد الواردة إلى وظيفة Lambda أو جدول DynamoDB أو تدفق Kinesis
- قم بتكوين مهام InfluxDB أو Telegraf لاستيعاب وتحويل تدفقات البيانات الواردة تلقائيًا
- إنشاء لوحات معلومات Grafana متعددة اللوحات باستخدام استعلامات Flux أو InfluxQL: إضافة أجهزة القياس والرسوم البيانية ولوحات الإحصائيات
- قم بإعداد قواعد تنبيه بسيطة في Grafana بناءً على الحدود، وقم بتكوين بريد إلكتروني أو قناة إعلام Slack
المستوى: 4 – متقدم المواضيع:
- تقوية المصادقة: تأمين سياسات IoT في AWS، وضبط Azure IoT Hub RBAC، وتدوير الشهادات/رموز SAS المميزة في الموعد المحدد
- استخدم AWS IoT Device Shadows أو Azure Digital Twins لمزامنة الحالة المطلوبة/المبلغ عنها بين السحابة والجهاز
- قم بتوسيع نطاق InfluxDB من خلال سياسات الاحتفاظ والاستعلامات أو المهام المستمرة ومجموعات الأجزاء للتخزين طويل المدى
- تنفيذ توفير Grafana (كرمز) لإدارة لوحات المعلومات والتنبيهات من خلال ملفات JSON/YAML في Git
- دمج Grafana مع مديري التنبيه الخارجيين أو خدمات الإشعارات (PagerDuty، OpsGenie، Microsoft Teams)
المستوى: 5 – خبير المواضيع:
- تصميم العمود الفقري العالمي والمرن لIoT: تجاوز فشل AWS IoT Core أو Azure IoT Hub متعدد المناطق، وتكامل بوابة الحافة مع Greengrass أو Azure IoT Edge
- أتمتة البنية التحتية بالكامل: كتابة وحدات Terraform أو قوالب ARM/Bicep لنشر موارد IoT، ومجموعات InfluxDB، ومثيلات Grafana، وسياسات IAM
- تحسين استيعاب البيانات ذات الحجم الكبير: عمليات الكتابة المجمعة، وتقنيات الضغط، واستراتيجيات الضغط الخلفي، وإجراءات الردم
- تصميم وتنفيذ لوحات معلومات متعددة المستأجرين في Grafana باستخدام RBAC الحبيبي وتصفية مصدر البيانات
- فرق الإرشاد حول أفضل الممارسات للتحكم في التكاليف، والامتثال الأمني (GDPR، HIPAA)، وسياسات الاحتفاظ بالبيانات، والمراقبة التشغيلية لمجموعة تحليلات IoT
24-الامتثال التنظيمي والبيئي
المستوى: 1 – مبتدئ تمامًا المواضيع:
- تعرف على أهمية الموافقة التنظيمية والتقييمات البيئية بالنسبة لجهاز تجاري
- فهم نطاق علامة CE (الاتحاد الأوروبي) مقابل شهادة لجنة الاتصالات الفيدرالية (الولايات المتحدة) مقابل رموز IP الأساسية
- تحديد التوجيهات المطبقة (مثل EMC وLVD لـ CE؛ الجزء 15 لـ FCC) وما يعنيه تصنيف IP67
- ابحث عن الموارد الرسمية وقم بوضع إشارة مرجعية عليها: قاعدة بيانات NANDO التابعة للاتحاد الأوروبي، وبوابة ترخيص معدات لجنة الاتصالات الفيدرالية (FCC).
المستوى: 2 – مبتدئ المواضيع:
- دراسة المعايير الأساسية: مناعة/انبعاثات التوافق الكهرومغناطيسي (EN 61326-1 / لجنة الاتصالات الفيدرالية الجزء 15 الجزء الفرعي ب)، والسلامة (EN 61010‐1)
- تعرف على كيفية اختبار تصنيفات IP (نفث الماء، غرفة الغبار) وماذا يعني كل رقم
- جمع أوراق البيانات وإعلانات الموردين الخاصة بالمطابقة لكل وحدة أو مكون
- توثيق مسار الامتثال المتوقع في جدول بيانات أو قائمة مرجعية بسيطة
المستوى: 3 – متوسط المواضيع:
- قم بصياغة ملف فني (CE) أو خطة اختبار لجنة الاتصالات الفيدرالية (FCC): تتضمن المخططات الهيكلية، والخطط، وقائمة مكونات الصنف (BOM)، وتقييم المخاطر
- تنفيذ التخفيف الأساسي لـ EMI/EMC: إضافة الفريت، واختناقات الوضع الشائع، والصب الأرضي لPCB
- إجراء اختبارات الامتثال المسبق الداخلية: اختبار EMI قريب المدى، واختبار مسدس ESD، وفحوصات العزل الأساسية
- قم بإعداد العمل الفني لملصقات الجهاز: علامة CE، ومعرف لجنة الاتصالات الفيدرالية (FCC)، ورموز WEEE، وتحذيرات الاستخدام الآمن
المستوى: 4 – متقدم المواضيع:
- إدارة عملية إصدار الشهادات الرسمية من خلال هيئة مُخطرة (CE) أو معمل معتمد من لجنة الاتصالات الفيدرالية (FCC): إرسال العينات واختبار الشهود
- تحليل تقارير الاختبار، وإجراء تغييرات في التصميم لحل حالات الفشل (مثل تعديلات التخطيط، وأختام العلبة)
- تنسيق الاختبارات البيئية والميكانيكية: التدوير الحراري، والاهتزاز، واختبار الدخول لتحقيق تصنيف IP المستهدف
- قم بتجميع وتوقيع إعلان المطابقة (CE) وتقديم نموذج FCC رقم 731 للحصول على ترخيص المعدات
المستوى: 5 – خبير المواضيع:- تحديد استراتيجية امتثال عالمية تشمل CE وFCC وUL/CSA وRoHS وREACH وWEEE وغيرها حسب الحاجة
- تصميم الأجهزة وfirmware المعيارية لتبسيط إعادة الاختبار والمتغيرات الإقليمية
- برامج امتثال الموردين الرئيسيين: فرض التحكم في تغيير المكونات، ومراجعة نظام إدارة الجودة للشركة المصنعة
- صيانة وتحديث الملفات الفنية ومعروضات لجنة الاتصالات الفيدرالية (FCC) عبر مراجعات المنتج. إدارة عمليات تدقيق المراقبة الدورية
- العمل كحلقة وصل أساسية مع الهيئات التنظيمية، والتعامل مع نتائج عدم الامتثال والإجراءات التصحيحية، وتوجيه الفريق بشأن أفضل الممارسات للإشراف التنظيمي المستمر.
25 – أدوات التوثيق (Markdown، Doxygen)
المستوى: 1 – مبتدئ تمامًا المواضيع:
- فهم الغرض من توثيق المشروع: القراءات التمهيدية، ومراجع API (API)، والإرشادات الإرشادية
- قم بتثبيت محرر Markdown أو استخدم الدعم المدمج في VS Code
- اكتب بناء جملة Markdown الأساسي: الرؤوس (
#-###)، غامق/مائل، نقطي وقوائم مرقمة - إدراج الروابط والصور عبر تخفيض السعر (
[text](url),) - معاينة أ
README. mdفي VS Code أو على GitHub
المستوى: 2 – مبتدئ المواضيع:
- إنشاء الجداول وعلامات الاقتباس وكتل التعليمات البرمجية المسيجة في Markdown
- استخدم الروابط النسبية والروابط الأساسية للمستندات متعددة الصفحات
- تثبيت Doxygen وإنشاء الإعداد الافتراضي
Doxyfile- قم بتعليق مصدر C/C++ بتعليقات Doxygen (///,/** ... */) للوظائف والأنواع - قم بتشغيل Doxygen لإنتاج مخرجات HTML وتصفح المستندات التي تم إنشاؤها
المستوى: 3 – متوسط المواضيع:
- تخصيص
Doxyfileالإعدادات: مسارات الإدخال،EXTRACT_ALL,EXTRACT_PRIVATE، دعم الرسم البياني، تنسيقات الإخراج - تضمين محتوى Markdown في تعليقات Doxygen وتضمين ملفات Markdown الخارجية عبر
\include- تنظيم الوثائق في وحدات ومجموعات باستخدام@defgroupو@addtogroupالعلامات - قم بدمج تشغيل Doxygen في بناء CMake أو PlatformIO الخاص بك بحيث يتم تحديث المستندات مع كل إصدار
- استخدم ملحقات VS Code لمعاينة تعليقات Markdown وDoxygen المدمجة بشكل مضمّن
المستوى: 4 – متقدم المواضيع:
- تمديد Doxygen باستخدام مرشحات العلامات المخصصة أو معالجات الإدخال المسبقة (مثل نصوص Python)
- أتمتة عمليات إنشاء الوثائق في خطوط أنابيب CI ونشرها على صفحات GitHub أو صفحات GitLab أو Confluence عبر المحولات
- إنشاء مخططات PlantUML أو Graphviz من التعليقات التوضيحية للكود وإدراجها في المستندات
- الحفاظ على مقاييس تغطية المستند: كتابة البرامج النصية لاكتشاف الوظائف/الأنواع غير الموثقة وفشل CI إذا كان أقل من الحد الأدنى
- تحديد ونشر دليل أسلوب لاستخدام Markdown وDoxygen عبر الفريق
المستوى: 5 – خبير المواضيع:
- تطوير تخطيطات وموضوعات Doxygen مخصصة (XSLT، قوالب CSS/HTML مخصصة) لتتناسب مع العلامات التجارية للشركة
- تصميم خط أنابيب توثيق مختلط باستخدام Sphinx أو MkDocs جنبًا إلى جنب مع Doxygen، مع مخرجات ذات إصدار والبحث
- أتمتة تضمين الوثائق عبر المستودعات عبر وحدات Git الفرعية أو ملفات Doxyfiles المركبة أو الارتباط القائم على العلامات
- قيادة مراجعات الوثائق، وفرض بوابات جودة CI على المستندات، وتوجيه الفريق في أفضل الممارسات
- المساهمة في أدوات التوثيق مفتوحة المصدر أو المكونات الإضافية/الملحقات للمؤلف (على سبيل المثال، لعرض المخططات المتقدمة أو أمثلة التعليمات البرمجية المباشرة)