edX sul Raspberry Pi: un'aula portatile

31 dicembre 2013 | Di

Il team DevOps di edX è stato impegnato a lavorare con la community per rendere Open edX disponibile a tutti nel mondo. Quasi tutto il codice dietro edx.org is messo a disposizione del pubblico con licenza GPL. Oltre al codice sorgente della piattaforma edx, nella ns repository di configurazione. Viene chiamato lo strumento che utilizziamo per la configurazione ansible, uno strumento di gestione della configurazione basato su Python che offre il giusto equilibrio tra flessibilità e semplicità per il nostro team operativo.

Periodicamente edX rilascia le immagini di Vagrant se desideri installare edX sul tuo PC. Vedere la nostra documentazione per configurare la piattaforma in locale in una macchina virtuale.

Mentre di solito ci concentriamo sulla distribuzione di edX su grandi server di produzione basati su cloud, questo post copre una sfida molto diversa: una prova di concetto per l'esecuzione del corso edX e la creazione di software su Raspberry Pi.

Raspberry Pi

Raspberry Pi è un computer a basso costo ARM/Linux che può essere acquistato per circa $ 35. L'esecuzione del sito Web edX su un dispositivo a basso costo come il Pi potrebbe potenzialmente abilitare aule portatili in aree con accesso limitato a Internet. Questo può essere fatto con il Pi per meno soldi rispetto a un laptop o un computer desktop.

Una configurazione minima del sito è funzionale su Raspberry Pi ma non funziona ancora abbastanza bene per essere utilizzata in corsi reali che servono più studenti. La piattaforma, invece, è funzionale per un singolo studente, con margini di potenziale miglioramento.

Scarica e installa

  • Fase 1: Scarica l'immagine Raspberry Pi predefinita: edx-raspberrypi-20131228.img.gz
  • Fase 2Flash la scheda SD
    È possibile utilizzare il nome utente e la password predefiniti per ssh – user: pi password:lampone
  • Fase 3: assicurarsi che il supervisore sia in esecuzione e che sia l'LMS che il CMS siano in esecuzione:
    sudo service supervisor start

    sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf
  • Fase 4: Con il tuo browser, connettiti a LMS e Studio:
    LMS on port 18000 - `http://[ip address]:18000 `

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

    username: staff@example.com password: edx

Cosa funziona e cosa no

  • Crea un nuovo corso utilizzando Studio

Pagina Crea nuovo corso

  • Accedi ai corsi come studente

Visione degli studenti del nuovo corso

Misurare il tempo di rendering delle pagine utilizzando gli strumenti di sviluppo di Chrome:

  • Pagina del materiale didattico dimostrativo LMS ~ 5 secondi
  • Pagina del dashboard degli studenti ~ 5 secondi

Le seguenti funzionalità non sono ancora supportate:

  • Forum non sono abilitati e probabilmente non sono compatibili con la versione corrente di Mongo.
  • I selezionatori con codice personalizzato non sono abilitati.
  • ORA / Discernere per l'apprendimento automatico non sono abilitati.

edX Configurazione su Raspberry Pi

Hardware Raspberry Pi

  • Raspberry Pi a 700 MHz / 500 MB
  • Scheda SD da 8 GB

Servizio di configurazione

I seguenti servizi verranno eseguiti su Raspberry Pi dopo l'installazione:

  • Nginx/Gunicorno
  • Python/Django e tutte le librerie Python che dipendono da esso
  • MySQL
  • Mongo
  • memcached

Tutto ciò che richiede edX si trova in /edx e completamente autonomo in più ambienti virtuali Python. Mongo è installato in /edx/mongo, che è il file porta non x86 compilato per ARM. Poiché la compilazione di tutto per il Raspberry Pi da zero richiede giorni, è disponibile un'immagine pubblica che fungerà da buon punto di partenza.

Sono necessari alcuni avvertimenti e miglioramenti prima che possa essere utilizzato seriamente:

  • È necessario eliminare la registrazione estranea: loglevel è impostato su CRITICAL ma i registri di tracciamento sono attualmente scritti sulla scheda SD.
  • Le prestazioni complessive non sono ideali e sarà difficile migliorare senza impostare una memorizzazione nella cache più aggressiva o apportare modifiche aggiuntive al codice.
  • L'aggiornamento del repository della piattaforma edx richiede circa un'ora.

Configurazione con Ansible

Usiamo ansible come strumento di gestione della configurazione edX per i sistemi di produzione. Gli stessi script con alcune piccole modifiche funzioneranno per Raspberry Pi.

Ansible è configurato su Raspberry Pi, semplificando l'aggiornamento per le nuove versioni di edx-platform e apportando modifiche alla configurazione. Gli aggiornamenti richiedono circa un'ora a causa della compilazione delle risorse (Coffeescript e Sass), anche se questo passaggio potrebbe essere eseguito offline poiché non è specifico dell'architettura.

Come aggiornare il Raspberry Pi all'ultimo commit della piattaforma edx

I seguenti comandi possono essere eseguiti direttamente sul Raspberry Pi per aggiornare la sua configurazione o la versione del repository della piattaforma edx:

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

sudo /edx/bin/update configurazione jarv/raspberrypi
# Esegui il playbook Raspberry Pi Ansible
cd /edx/app/edx_ansible/edx_ansible/playbooks/edx-est
/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i localhost, -c local --tags deploy raspberrypi.yml -e "edx_platform_version=master" 

Guida e risoluzione dei problemi

Se hai bisogno di aiuto con edX, unisciti al nostro mailing list della comunità. Se hai domande specifiche sull'esecuzione di edX su Raspberry Pi, tieni presente che questo è solo un prototipo e non è mantenuto e supportato ufficialmente. Se lo fai funzionare su Raspberry Pi o un'altra piattaforma, per favore fatemelo sapere - Mi farebbe piacere avere tue notizie!

Caricamento in corso

Inizia la discussione su discutere.openedx.org

Tempo per altro? Dai un'occhiata agli articoli qui sotto.

Annuncio dei rappresentanti della community Open edX® TOC 2026
Dare potere a una nazione: come l'Ucraina ha ampliato una scuola nazionale online con la piattaforma Open edX®
Presentazione alla conferenza Open edX 2026: invito a presentare relatori!
Come la NASA ha esteso l'istruzione scientifica aperta a 20,000 ricercatori con la piattaforma Open edX
Partecipa alla conferenza Open edX 2026!

La conferenza Open edX del 2026 presenterà casi d'uso innovativi per uno dei migliori sistemi di gestione dell'apprendimento online open source al mondo, la piattaforma Open edX, e scoprirà gli ultimi progressi nella progettazione didattica, nella costellazione dei corsi e nei metodi per utilizzare ed estendere la piattaforma Open edX , comprese tecnologie rivoluzionarie, come l'intelligenza artificiale generativa.