edX على Raspberry Pi - فصل محمول

31 ديسمبر 2013 | بقلم

كان فريق DevOps في edX مشغولًا بالعمل مع المجتمع لإتاحة Open edX للجميع في العالم. تقريبا كل الكود وراء edx.org is متاح للجمهور بموجب ترخيص GPL. بالإضافة إلى الكود المصدري لـ edx-platform ، تتوفر نصوص التكوين التي تقوم بتثبيت النظام الأساسي وتحديثه في الريبو التكوين. الأداة التي نستخدمها للتكوين تسمى Ansible، أداة إدارة التكوين المستندة إلى Python والتي تتمتع بالتوازن الصحيح بين المرونة والبساطة لفريق العمليات لدينا.

دوريا تصدر edX صور Vagrant إذا كنت ترغب في تثبيت edX على جهاز الكمبيوتر الخاص بك. نرى وثائقنا لإعداد النظام الأساسي محليًا في جهاز افتراضي.

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

رسبري باي

أكثر من فطيرة التوت هو كمبيوتر منخفض التكلفة ARM / Linux يمكن شراؤه بحوالي 35 دولارًا. إن تشغيل موقع ويب edX على جهاز منخفض التكلفة مثل Pi يمكن أن يمكّن من تمكين الفصول الدراسية المحمولة في المناطق ذات الوصول المحدود إلى الإنترنت. يمكن القيام بذلك باستخدام Pi مقابل نقود أقل من الكمبيوتر المحمول أو كمبيوتر سطح المكتب.

يعمل الحد الأدنى من تكوين الموقع على Raspberry Pi ولكنه لا يعمل بشكل جيد بما يكفي لاستخدامه في الدورات التدريبية الحقيقية التي تخدم العديد من الطلاب. ومع ذلك ، فإن النظام الأساسي وظيفي لطالب واحد ، مع وجود مجال للتحسين المحتمل.

  • الخطوة الاولى:: قم بتنزيل صورة Raspberry Pi المعدة مسبقًا: edx-raspberrypi-20131228.img.gz
  • الخطوة الاولى:فلاش بطاقة SD
    يمكنك استخدام اسم المستخدم وكلمة المرور الافتراضيين لـ ssh - المستخدم: pi كلمة السر:التوت
  • الخطوة الاولى:: تأكد من أن المشرف يعمل وأن كلاً من LMS و CMS قيد التشغيل:
    sudo service supervisor start

    sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf
  • الخطوة الاولى:: باستخدام المستعرض الخاص بك ، قم بالاتصال بـ LMS و Studio:
    LMS on port 18000 - `http://[ip address]:18000 `

    Studio on port 18010 - `http://[ip address]:18010`

    username: staff@example.com password: edx

ما الذي يعمل وما لا ينجح

  • أنشئ دورة جديدة باستخدام الاستوديو

صفحة إنشاء دورة تدريبية جديدة

  • الوصول إلى الدورات كطالب

عرض الطالب للدورة الجديدة

قياس وقت عرض الصفحة باستخدام أدوات تطوير Chrome:

  • صفحة المناهج التعليمية التوضيحية لـ LMS ~ 5 ثوان
  • صفحة لوحة معلومات الطالب ~ 5 ثوان

الميزات التالية غير مدعومة حتى الآن:

  • منتديات لم يتم تمكينها وربما لا تكون متوافقة مع الإصدار الحالي من Mongo.
  • لم يتم تمكين مصنعي الكود المخصص.
  • ORA / تميز - تدرك لتعلم الآلة.

تكوين edX على Raspberry Pi

أجهزة Raspberry Pi

  • 700 ميجاهرتز Raspberry Pi / 500 ميجابايت
  • 8 جيجابايت بطاقة sd

تكوين خدمة

سيتم تشغيل الخدمات التالية على Raspberry Pi بعد التثبيت:

  • Nginx / جونيكورن
  • Python / Django وجميع مكتبات Python التي تعتمد عليها
  • MySQL
  • مونغو
  • أعطها

كل ما تتطلبه edX موجود تحت / edx ومكتفٍ ذاتيًا تمامًا في بيئات Python الافتراضية المتعددة. تم تثبيت Mongo في / edx / mongo ، وهو ملف منفذ غير x86 جمعت ل ARM. نظرًا لأن تجميع كل شيء لـ Raspberry Pi من البداية يستغرق أيامًا ، فهناك صورة عامة متاحة ستكون بمثابة نقطة انطلاق جيدة.

هناك حاجة إلى بعض التحذيرات والتحسينات قبل أن يمكن استخدامها بجدية:

  • يجب التخلص من التسجيل الدخيل: تم تعيين loglevel على CRITICAL لكن سجلات التتبع مكتوبة حاليًا على بطاقة SD.
  • الأداء العام ليس مثاليًا وسيكون من الصعب تحسينه بدون إعداد تخزين مؤقت أكثر قوة أو إجراء تغييرات إضافية في التعليمات البرمجية.
  • يستغرق تحديث نظام الريبو edx-platform حوالي ساعة واحدة.

التكوين مع أنسبل

نستخدم Ansible كأداة إدارة تكوين EDX لأنظمة الإنتاج. ستعمل نفس البرامج النصية مع بعض التعديلات الصغيرة مع Raspberry Pi.

تم إعداد Ansible على Raspberry Pi ، مما يسهل تحديثه للحصول على إصدارات جديدة من منصة edx وإجراء تغييرات على التكوين. تستغرق التحديثات حوالي ساعة بسبب تجميع الأصول (Coffeescript and Sass) ، على الرغم من أن هذه الخطوة يمكن إجراؤها في وضع عدم الاتصال نظرًا لأنها ليست خاصة بالهندسة المعمارية.

كيفية تحديث Raspberry Pi لأحدث التزام منصة edx

يمكن تشغيل الأوامر التالية مباشرة على Raspberry Pi لتحديث التكوين أو إصدار repo الخاص بالنظام الأساسي edx:

 
# Ensure that the configuration repo is on the Raspberry Pi branch

sudo / edx / bin / تحديث التكوين jarv / raspberrypi
# قم بتشغيل كتاب لعب Raspberry Pi Ansible
cd / edx / app / edx_ansible / edx_ansible / playbooks / edx-east
/ edx / app / edx_ansible / venvs / edx_ansible / bin / ansible-playbook -i localhost ، -c local - العلامات تنشر raspberrypi.yml -e "edx_platform_version = master" 

المساعدة واستكشاف الأخطاء وإصلاحها

إذا كنت بحاجة إلى مساعدة في edX ، فيرجى الانضمام إلينا القائمة البريدية للمجتمع. إذا كانت لديك أسئلة محددة حول تشغيل edX على Raspberry Pi ، فالرجاء أن تضع في اعتبارك أن هذا مجرد نموذج أولي ولا يتم صيانته ودعمه رسميًا. إذا كنت تعمل على Raspberry Pi أو نظام أساسي آخر ، واسمحوا لي أن أعرف - أحب أن أسمع منك!

تحميل

ابدأ المناقشة في مناقشة.openedx.org

حان الوقت للمزيد؟ تحقق من المقالات أدناه.

الإعلان عن ممثلي مجتمع Open edX® TOC لعام 2026
تمكين أمة: كيف وسّعت أوكرانيا نطاق مدرسة وطنية عبر الإنترنت باستخدام منصة Open edX®
العرض التقديمي في مؤتمر Open edX 2026 – دعوة للمتحدثين!
كيف قامت ناسا بتوسيع نطاق التعليم العلمي المفتوح ليشمل 20,000 ألف باحث من خلال منصة Open edX
انضم إلى مؤتمر edX المفتوح 2026!

سيقدم مؤتمر Open edX لعام 2026 حالات استخدام مبتكرة لأحد أفضل أنظمة إدارة التعلم عبر الإنترنت مفتوحة المصدر في العالم، وهي منصة Open edX، واكتشاف أحدث التطورات في التصميم التعليمي ومجموعة الدورات التدريبية وطرق تشغيل وتوسيع منصة Open edX. ، بما في ذلك التقنيات المتقدمة، مثل الذكاء الاصطناعي التوليدي.