edX auf dem Raspberry Pi – Ein tragbares Klassenzimmer

31. Dezember 2013 | Von

Das DevOps-Team von edX war damit beschäftigt, mit der Community zusammenzuarbeiten, um Open edX für alle auf der Welt verfügbar zu machen. Fast der gesamte Code dahinter edx.org is der Öffentlichkeit zugänglich gemacht unter einer GPL-Lizenz. Zusätzlich zum Quellcode der edx-Plattform sind die Konfigurationsskripte, die die Plattform installieren und aktualisieren, in unserem verfügbar Konfigurations-Repository. Das Tool, das wir zur Konfiguration verwenden, heißt Ansible, ein Python-basiertes Konfigurationsmanagement-Tool, das unserem Betriebsteam die richtige Balance zwischen Flexibilität und Einfachheit bietet.

Regelmäßig edX veröffentlicht Vagrant-Images wenn Sie edX auf Ihrem PC installieren möchten. Sehen unsere Dokumentation zum lokalen Einrichten der Plattform in einer virtuellen Maschine.

Während wir uns normalerweise auf die Bereitstellung von edX auf großen Cloud-basierten Produktionsservern konzentrieren, befasst sich dieser Beitrag mit einer ganz anderen Herausforderung: einem Proof of Concept für die Ausführung des edX-Kurses und der Autorensoftware auf dem Raspberry Pi.

RaspberryPi

Die  Raspberry Pi ist ein kostengünstiger ARM/Linux-Computer, der für etwa 35 $ erworben werden kann. Das Ausführen der edX-Website auf einem kostengünstigen Gerät wie dem Pi könnte möglicherweise tragbare Klassenzimmer in Gebieten mit eingeschränktem Zugang zum Internet ermöglichen. Dies kann mit dem Pi für weniger Geld als mit einem Laptop oder Desktop-Computer durchgeführt werden.

Eine minimale Site-Konfiguration ist auf dem Raspberry Pi funktionsfähig, aber sie funktioniert noch nicht gut genug, um in echten Kursen für mehrere Studenten verwendet zu werden. Die Plattform ist jedoch für einen einzelnen Schüler funktionsfähig und bietet Raum für potenzielle Verbesserungen.

Lade und installiere

  • Schritt 1: Laden Sie das vorgefertigte Raspberry Pi-Image herunter: edx-raspberrypi-20131228.img.gz
  • Schritt 2Flashen Sie die SD-Karte
    Sie können den Standardbenutzernamen und das Standardpasswort für ssh – user verwenden: pi Passwort:Himbeere
  • Schritt 3: Stellen Sie sicher, dass Supervisor ausgeführt wird und dass sowohl LMS als auch CMS ausgeführt werden:
    sudo service supervisor start

    sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf
  • Schritt 4: Stellen Sie mit Ihrem Browser eine Verbindung zum LMS und Studio her:
    LMS on port 18000 - `http://[ip address]:18000 `

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

    username: staff@example.com password: edx

Was funktioniert und was nicht

  • Erstellen Sie mit Studio einen neuen Kurs

Seite Neuen Kurs erstellen

  • Greifen Sie als Student auf Kurse zu

Studentenansicht des neuen Kurses

Messen der Seitenrenderzeit mit Chrome-Entwicklungstools:

  • LMS-Demo-Kursunterlagenseite ~ 5 Sekunden
  • Schüler-Dashboard-Seite ~ 5 Sekunden

Die folgenden Funktionen werden noch nicht unterstützt:

  • Foren sind nicht aktiviert und wahrscheinlich nicht mit der aktuellen Version von Mongo kompatibel.
  • Benutzerdefinierte Codegrader sind nicht aktiviert.
  • ORA / Erkennen für maschinelles Lernen sind nicht aktiviert.

edX-Konfiguration auf dem Raspberry Pi

Raspberry Pi-Hardware

  • 700 MHz Raspberry Pi / 500 MB
  • 8 GB SD-Karte

Service Configuration

Die folgenden Dienste werden nach der Installation auf dem Raspberry Pi ausgeführt:

  • Nginx/Gunicorn
  • Python/Django und alle davon abhängigen Python-Bibliotheken
  • MySQL
  • Mongo
  • Memcached

Alles, was edX benötigt, befindet sich unter /edx und ist in mehreren virtuellen Python-Umgebungen vollständig eigenständig. Mongo wird in /edx/mongo installiert, das ist die Nicht-x86-Port für ARM kompiliert. Da es Tage dauert, alles für den Raspberry Pi von Grund auf neu zu kompilieren, gibt es ein öffentliches Image, das als guter Ausgangspunkt dient.

Einige Vorbehalte und Verbesserungen sind erforderlich, bevor es ernsthaft verwendet werden kann:

  • Überflüssige Protokollierung muss eliminiert werden: Loglevel ist auf CRITICAL gesetzt, aber Tracking-Protokolle werden derzeit auf die SD-Karte geschrieben.
  • Die Gesamtleistung ist nicht ideal und es wird schwierig sein, sie zu verbessern, ohne ein aggressiveres Caching einzurichten oder zusätzliche Codeänderungen vorzunehmen.
  • Die Aktualisierung des edx-platform-Repos dauert etwa eine Stunde.

Konfiguration mit Ansible

Wir verwenden Ansible als edX-Konfigurationsmanagement-Tool für Produktionssysteme. Die gleichen Skripte mit einigen kleinen Modifikationen funktionieren für den Raspberry Pi.

Ansible wird auf dem Raspberry Pi eingerichtet, was es einfach macht, es für neue Versionen der edx-Plattform zu aktualisieren und Konfigurationsänderungen vorzunehmen. Aktualisierungen dauern aufgrund der Asset-Kompilierung (Coffeescript und Sass) etwa eine Stunde, obwohl dieser Schritt offline durchgeführt werden könnte, da er nicht architekturspezifisch ist.

So aktualisieren Sie den Raspberry Pi auf den neuesten edx-Plattform-Commit

Die folgenden Befehle können direkt auf dem Raspberry Pi ausgeführt werden, um seine Konfiguration oder Repo-Version der edx-Plattform zu aktualisieren:

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

sudo /edx/bin/updatekonfiguration jarv/raspberrypi
# Führen Sie das Raspberry Pi Ansible-Playbook aus
cd /edx/app/edx_ansible/edx_ansible/playbooks/edx-east
/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i localhost, -c local --tags deploy raspberrypi.yml -e "edx_platform_version=master" 

Hilfe und Fehlerbehebung

Wenn Sie Hilfe mit edX benötigen, treten Sie bitte unserem bei Community-Mailingliste. Wenn Sie spezielle Fragen zum Ausführen von edX auf dem Raspberry Pi haben, denken Sie bitte daran, dass dies nur ein Prototyp ist und nicht offiziell gewartet und unterstützt wird. Wenn es auf dem Raspberry Pi oder einer anderen Plattform funktioniert, lass es mich wissen - I würde es lieben von dir zu hören!

Laden

Starten Sie die Diskussion unter diskutiere.openedx.org

Zeit für mehr? Sehen Sie sich die folgenden Artikel an.

Bekanntgabe der Vertreter der Open edX® TOC-Community 2026
Stärkung einer Nation: Wie die Ukraine mit der Open edX®-Plattform eine nationale Online-Schule skalierte
Präsentation auf der Open edX Conference 2026 – Aufruf an Referenten!
Wie die NASA mit der Open edX-Plattform die Open-Science-Bildung auf 20,000 Forscher ausweitete.
Nehmen Sie an der Open edX Conference 2026 teil!

Auf der Open edX-Konferenz 2026 werden innovative Anwendungsfälle für eines der weltweit besten Open-Source-Online-Lernmanagementsysteme, die Open edX-Plattform, vorgestellt und die neuesten Fortschritte im Lehrdesign, der Kurskonstellation und Methoden für den Betrieb und die Erweiterung der Open edX-Plattform vorgestellt , einschließlich bahnbrechender Technologien wie generativer KI.