أخبار
أخبار
مقدمة سهلة للأنظمة المدمجة (1) - ما هو MicroPython؟
2022-03-08 1223

نظرًا لأن Python أصبحت لغة البرمجة المهيمنة، أصبحت MicroPython ذات شعبية متزايدة في مساحة الأنظمة المدمجة، خاصة في ESP32 الشهير ووحدة Pico المستندة إلى وحدة التحكم الدقيقة RP2040 والتي أصدرتها للتو مؤسسة Raspberry PI.

باعتباري بانون لا يستطيع كتابة سطر من التعليمات البرمجية، شعرت بأنني محدود للغاية في معظم الأوقات، وتعهدت بإيجاد وقت مناسب لتعلم لغة البرمجة. لقد كرست نفسي لـ MicroPython خلال عطلة العيد الوطني التي استمرت 7 أيام، وأدركت جميع وظائف الأجهزة الطرفية الموجودة على اللوحة في لوحة التعلم الملحقة Pico التي صممتها بنفسي:

  • الإضاءة الفاخرة - أحادية اللون، RGB ثلاثة ألوان، جميع أنواع المجموعات، يمكن أيضًا التحكم فيها عن طريق الأزرار وأجهزة الاستشعار

  • تعرض شاشة OLED النصوص والصور والأشكال الموجية

  • يتم جمع الإشارة الصوتية وعرضها على شاشة OLED - مما يؤدي إلى عرض موجي رائع

  • تشغيل أغنية "أنا وبلدي" باستخدام الجرس الموجود على السبورة

  • نقل كود شخص آخر لإنشاء أشكال موجية عشوائية - تغيير أشكال الموجات، وتغيير التردد، وتغيير الحجم، وما إلى ذلك



أكثر ما أبهرني خلال "الاستكشاف" الذي استمر 7 أيام هو مدى سهولة البدء في استخدام الأنظمة المدمجة في MicroPython - موارد غنية مفتوحة المصدر، وأشكال مختلفة من المراجع، مثل دورات الفيديو، والحالات النصية، وما إلى ذلك.

MicroPython هي حقًا لغة برمجة رائعة - موجهة للكائنات ومرنة وبسيطة وأنيقة!

إن تعلمي الشخصي يستفيد من مشاركة الآخرين (مفتوح المصدر)، وأفضل طريقة لنقل المعرفة هي مشاركة ما تعلمته وما تعلمته. لذلك، أخطط لإطلاق برنامج تعليمي للبرمجة المضمنة Micro Python استنادًا إلى Pico، والذي سيتم إطلاقه رسميًا خلال شهر. بالطبع، في المرحلة المبكرة، سيكون هناك 15 دورة تدريبية مباشرة لتصميم ثنائي الفينيل متعدد الكلور، والتي ستقودك إلى تصميم لوحة تعلم Pico بنفسك. بعد كل شيء، في البيئة الملائمة للوحة الطباعة المجانية والشحن المجاني، استنادًا إلى لوحة Pico الأساسية، يمكن للجميع تصميم PCB لإنشاء العديد من التطبيقات المثيرة للاهتمام في المستقبل. يمكن أيضًا أن يكون تعلم كيفية تصميم ثنائي الفينيل متعدد الكلور ميزة لمهندسي الأنظمة المدمجة.

من الآن فصاعدا، ستكون هناك سلسلة من المقالات الفنية المتعلقة بهذه الدورة. اليوم هو الأول :

1. ما هو ميكروبايثون

MicroPython هو مترجم صغير للغة برمجة Python مفتوح المصدر يعمل على لوحة تطوير صغيرة مدمجة. باستخدام MicroPython، يمكنك كتابة كود Python النظيف والبسيط للتحكم في الأجهزة دون الحاجة إلى استخدام لغات أساسية معقدة مثل C أو C ++ (Arduino للبرمجة).


شعار مايكرو بايثون

إن بساطة لغة البرمجة Python تجعل MicroPython خيارًا مثاليًا للمبتدئين في البرمجة والأجهزة. MicroPython كامل الميزات للغاية ويدعم معظم بناء جملة Python، لذلك حتى خبراء Python ذوي الخبرة سيجدون استخدام MicroPython مألوفًا وممتعًا.

بالإضافة إلى كونه سهل الاستخدام، يتمتع MicroPython ببعض الميزات الفريدة التي تميزه عن الأنظمة المدمجة الأخرى:

استخدم المترجم التفاعلي: REPL (قراءة قراءة - تقييم تقييم - طباعة طباعة - حلقة حلقة) - يتيح لك هذا الاتصال بلوحة وتنفيذ التعليمات البرمجية دون تجميع أو تحميل - مثالي للتعلم السريع وتجربة الأجهزة!

مكتبات البرامج الغنية - مثل لغة برمجة Python العادية، لدى MicroPython عدد كبير من المكتبات المضمنة لدعم العديد من المهام. على سبيل المثال، من خلال مكتبات MicroPython المدمجة، من السهل تحليل بيانات JSON من خدمات الويب، والبحث عن النص باستخدام التعبيرات العادية، وحتى برمجة مقبس الشبكة.

قابلية التوسعة - بالنسبة للمستخدمين المتقدمين، يمكن توسيع MicroPython بوظائف C/C++ منخفضة المستوى، حتى تتمكن من مزج تعليمات MicroPython التعبيرية عالية المستوى مع تعليمات برمجية أسرع منخفضة المستوى عند الحاجة.

MicroPython هو أحد أشكال لغة Python 3. إنها من بنات أفكار دارين بي جورج، دكتوراه، من جامعة كامبريدج، الذي عمل مع فريق تمويل جماعي لتطوير مجلس تطوير الأجهزة الذي يدعم microPython والذي يسمى PyBoard في عام 2013. تم تقديم MicroPython1.0 في مؤتمر Python ( PyCon) في عام 2014. كما أنشأ الدكتور جورج موقع Micro Python.org (www.micropython.org) لدعم MicroPython وPyboard.


الشعار الرسمي لـ MicroPython.Org

MicroPython.Org PyBoard، استنادًا إلى وحدة التحكم STM32.


2. ما الذي يمكن لـ MicroPython فعله؟

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

تمامًا مثل لوحات Arduino، يمكن لـ MicroPython التحكم في الأجهزة والأجهزة المتصلة - يمكنك التحكم في أضواء GPIO الوامضة وقراءة المفاتيح والمزيد؛ يمكنه تشغيل إشارة PWM التي يمكنها تشغيل الخادم وLED؛ يمكن قراءة وقراءة أجهزة الاستشعار التناظرية عبر محول تمثيلي إلى رقمي. من السهل أيضًا التواصل مع أجهزة I2C أو SPI. يمكنك أيضًا العثور على دعم الشبكة والواي فاي في بعض اللوحات. يحتوي MicroPython أيضًا على مكتبات للتحكم في الأجهزة الأخرى، مثل NeoPixels وشرائط LED وشاشات OLED المصغرة وما إلى ذلك. باختصار، يمكن لـ MicroPython القيام بالكثير من الأشياء!

ما هي القيود المفروضة على MicroPython؟

لدى MicroPython قيود قليلة جدًا، وأي شيء يمكن أن يفعله Arduino تقريبًا يمكن القيام به عبر لوحات MicroPython. ومع ذلك، من المهم ملاحظة أن كود MicroPython ليس سريعًا وقد يتطلب ذاكرة أكبر من Arduino المماثل أو أي كود آخر منخفض المستوى يعتمد على C/C++، على الرغم من أن هذا لا يهم عادةً لأن اختلافات السرعة والذاكرة ليست كبيرة بما يكفي تؤثر على معظم التطبيقات. انتبه إلى أن التعليمات البرمجية التي تعتبر مهمة للوقت أو الأداء قد لا تعمل في MicroPython. على سبيل المثال، قد لا يكون استخدام البرنامج بالكامل لدفع منافذ الإدخال/الإخراج لتنفيذ بعض بروتوكولات الاتصال التسلسلي عالية السرعة في MicroPython هو أفضل فكرة. ومع ذلك، هناك طرق للمزج بين MicroPython ورمز C/C++ منخفض المستوى حتى نتمكن من الحصول على أفضل ما في العالمين - المنطق الرئيسي هو رمز MicroPython النظيف وسهل الفهم، بينما الأجزاء المهمة للأداء مكتوبة بلغة البرمجة. رمز منخفض المستوى أسرع.

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


إخلاء المسؤولية: تمت إعادة طباعة هذه المقالة من "الغابات الإلكترونية"، هذه المقالة تمثل فقط آراء المؤلف الشخصية، ولا تمثل آراء Sakwei والصناعة، فقط مستنسخة ومشاركتها، تدعم حماية حقوق الملكية الفكرية، يرجى الإشارة إلى المصدر الأصلي والمؤلف، إذا كان هناك انتهاك، يرجى الاتصال بنا لحذفه.



whatsapp

الخط الساخن للخدمة

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950