تفاصيل العمل

الوصف بالعربية:

يهدف هذا المشروع إلى تصميم دائرة كهربائية قادرة على قياس التيار والقدرة الكهربائية باستخدام متحكم ESP32 ونظام التشغيل FreeRTOS، ونقل النتائج عبر شبكة الـ Wi-Fi إلى الأجهزة الأخرى.

يُعد نظام FreeRTOS (نظام تشغيل الوقت الفعلي) نواةً مفتوحة المصدر ورائدة في مجالات الصناعة، صُممت خصيصًا للمتحكمات الدقيقة والنظم المدمجة الصغيرة. وبخلاف أنظمة التشغيل القياسية (مثل Windows أو macOS) التي تركز على واجهة المستخدم وتعدد المهام للإنتاجية العامة، فإن FreeRTOS مخصص لضمان الحتمية الزمنية والموثوقية العالية في التطبيقات الحرجة زمنيًا. ففي البنية التقليدية الشائعة المعتمدة على "الحلقة التكرارية الفائقة" (Super Loop) —حيث يعمل الكود كليًا داخل حلقة تكرارية واحدة void loop()— يؤدي أي تأخير في تنفيذ وظيفة معينة إلى تجميد النظام بأكمله. بينما يحل FreeRTOS هذه المشكلة من خلال السماح بتقسيم الكود البرمجي إلى مهام مستقلة، تُمنح كل منها أولوية محددة وفق معمارية الأسبقية/الشفعة (Preemption).

وقد أُختير متحكم ESP32 لهذا المشروع كونه يحتوي على معالج ثنائي النواة، ولأن إطار التطوير الرسمي الخاص به (ESP-IDF) مبنيٌ بالكامل على نظام FreeRTOS. وبما أن FreeRTOS يعمل بسلاسة فوق لغة C، فإنه يمكن تطبيقه مع أي متحكم دقيق يُبرمج بهذه اللغة مثل Arduino وESP32؛ إلا أن ESP32 يتفوق باحتوائه على وحدة Wi-Fi مدمجة —خلافًا للوحة Arduino Uno R3 الاعتيادية— وتردد معالج أعلى (Clock Speed)، مما يجعله خيارًا مثاليًا للتطبيق في مشاريع إنترنت الأشياء (IoT) ونقل البيانات إلى الأجهزة الأخرى بكل كفاءة.

English Description:

The objective of this project is to design a circuit capable of finding the current and power using ESP32 & FreeRTOS operating system and deliver the results via Wi-fi to other devices.

FreeRTOS (Real-Time Operating System) is an open-source, market-leading kernel designed specifically for microcontrollers and small embedded systems. Unlike a standard operating system (like Windows or macOS) that focuses on user interface and multitasking for general productivity, FreeRTOS is built for determinism and reliability in time-critical applications. In a traditional "Super Loop" architecture (where code runs inside a single void loop()), a delay in one function stops the entire system. FreeRTOS solves this by allowing you to break your code into independent tasks, each with its own priority using the preemption architecture.

An ESP32 is used for this project because it is a dual-core processor, and its official development framework (ESP-IDF) is built entirely on top of FreeRTOS. Because FreeRTOS can be run on the top of the C programming language, we can apply this OS with any microcontroller that is programmed with C like Arduino and ESP32. However, ESP32 has a built in Wi-Fi module unlike the normal Arduino Uno R3 board and comes with a higher clock speed which leads to the ease of using it in IoT applications to send the data to other devices.

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات