MicroPython هي نسخة خفيفة الوزن من لغة برمجة Python التي تم تطويرها لبرمجة المتحكمات الدقيقة و SOCs وأجهزة النظام المضمنة الأخرى. تم إنشاؤه لتمكين المطورين من الاستفادة من " سهولة التعلم والاستخدام" طبيعة بيثون لتطوير الأنظمة المضمنة. مع لغة Python الآن هي اللغة التمهيدية الرئيسية في معظم المدارس ومع كونها واحدة من أكثر لغات البرمجة شيوعًا والأكثر استخدامًا في جميع أنحاء العالم ، من خلال micro-python ، يستطيع عشرات من مستخدمي Python التحايل على منحنى التعلم الحاد المرتبط باستخدام لغة C و C ++ لبرمجة ميكروكنترولر. يمكنهم البدء فورًا في استخدام المعرفة التي اكتسبوها على مر السنين للوصول إلى الأجهزة منخفضة المستوى تمامًا كما هو الحال مع اللغات الأخرى. يعد Micro-python على وجه التحديد تطبيقًا ضعيفًا لـ Python 3 وبالتالي فهو متوافق مع بناء جملة python 3.
في حين أن MicroPython ليس بعد على نفس مستوى الشعبية مثل C و C ++ لتطوير الأنظمة المضمنة ، إلا أن شعبيته تزداد مع المزيد والمزيد من المتحكمات الدقيقة و IDEs ولوحات التطوير التي تدعم استخدامها. في البرنامج التعليمي اليوم ، سننظر في إحدى هذه اللوحات التي يمكن تطوير البرامج الثابتة لها باستخدام MicroPython.
بالنسبة إلى البرنامج التعليمي اليوم ، سننظر في تطوير رمز ESP32 باستخدام MicroPython.
سنبدأ بإلقاء نظرة على سبب كون MicroPython مفيدًا لـ ESP32 والعمل في طريقنا من خلال إعداد ESP32 لـ MicroPython وتحميل رسم وميض باستخدام MicroPython على ESP32.
لماذا MicroPython؟ (MicroPython مقابل Arduino C)
واحدة من أسهل الطرق المثبتة جيدًا لبرمجة ESP32 هي استخدام Arduino IDE مما يعني استخدام إصدار Arduino من C أو C ++. كانت C و C ++ ، لعقود من الزمان ، اللغتين الأكثر شيوعًا لتطوير الأنظمة المضمنة ، وجعل إصدار Arduino من اللغة أكثر بساطة مما يفسر شعبيتها بين الصانعين والهواة نظرًا لسهولة تطوير الرموز. بالإضافة إلى ذلك ، تمتلك Arduino واحدة من أكبر مجتمعات التكنولوجيا في العالم مع مكتبات جديدة وإصلاحات برامج ودعم جديد للوحة وما إلى ذلك يتم إصدارها من قبل المجتمع يوميًا. كل هذا يجعلها أداة هائلة لبرمجة لوحات النظام المدمجة. القيد الحقيقي الوحيد الذي يمكن للمرء أن يربطه بـ Arduino C هو حقيقة أنه يعمل فقط داخل Arduino IDE.نظرًا لأن IDE محدود ويفتقر إلى بعض الميزات التي يمكن أن تكون مفيدة حقًا عند تطوير قاعدة رمز كبيرة ، فإن Arduino C ليس هو الأكثر كفاءة.
MicroPython ، من ناحية أخرى ، جديد نسبيًا. بينما ينمو مجتمع المستخدمين ، مع دعم المزيد من المنصات التي يتم إطلاقها ، لا يمكن مقارنة قوتها بقوة Arduino. على الجانب الإيجابي ، يعد MicroPython في الأساس إصدارًا بسيطًا من لغة Python التي تعد واحدة من أكثر لغات البرمجة شيوعًا في العالم ، وعلى هذا النحو ، فإن أي مشكلة لا يمكن حلها بواسطة مجتمع MicroPython يمكن أن تأخذ رؤى من مجتمع Python العام.
إلى جانب دعم المجتمع ، يحتوي MicroPython أيضًا على ميزات معينة تجعله أعلى من فئة Arduino. واحدة من هذه الميزات هي REPL. REPL لتقف على قراءة-تقييم-طباعة. تتيح لك هذه الميزة الاتصال بلوحة وتنفيذ التعليمات البرمجية بسرعة دون الحاجة إلى تجميع أو تحميل الكود بالكامل. على هذا النحو ، يمكنك اختبار كل جزء من التعليمات البرمجية الخاصة بك أثناء تطويرها.
بغض النظر عن أيهما تختاره لمشروعك ، تأكد من ما يخدمك بشكل أفضل. مع هذا بعيدًا ، دعنا ننتقل إلى بناء مثال وميض باستخدام ESP32 مع MicroPython.
المكونات المطلوبة
لبناء مثال وميض ، سنحتاج إلى المكونات التالية ؛
- DOIT ESP32 DevKit v1 (1)
- ال اي دي (1)
- 100 اوم المقاوم (1)
- أسلاك توصيل
- اللوح (1)
يمكنك استخدام أي من اللوحات الأخرى المستندة إلى ESP32 بدلاً من DOIT ESP32 DevKit V1 ويمكنك اختيار العمل مع مصباح LED المدمج ، مما يعني أنك تحتاج فقط إلى لوحة ESP32 لهذا البرنامج التعليمي. في السابق ، قمنا بوميض ESP32 LED عن طريق برمجته باستخدام Arduino IDE.
إلى جانب مكونات الأجهزة ، سنطلب أيضًا برنامجًا مثل e Thonny IDE