edX en Raspberry Pi: un aula portátil

31 de diciembre de 2013 | Por

El equipo de DevOps en edX ha estado ocupado trabajando con la comunidad para que Open edX esté disponible para todos en el mundo. Casi todo el código detrás edx.org is puesto a disposición del público bajo una licencia GPL. Además del código fuente de la plataforma edx, los scripts de configuración que instalan y actualizan la plataforma están disponibles en nuestro repositorio de configuración. La herramienta que usamos para la configuración se llama Ansible, una herramienta de administración de configuración basada en Python que tiene el equilibrio adecuado entre flexibilidad y simplicidad para nuestro equipo de operaciones.

Periódicamente edX lanza imágenes de Vagrant si desea instalar edX en su PC. Ver nuestra documentación para configurar la plataforma localmente en una máquina virtual.

Si bien generalmente nos enfocamos en implementar edX en grandes servidores de producción basados ​​en la nube, esta publicación cubre un desafío muy diferente: una prueba de concepto para ejecutar el curso edX y el software de creación en Raspberry Pi.

frambuesa Pi

El Frambuesa Pi es una computadora ARM/Linux de bajo costo que se puede comprar por alrededor de $35. Ejecutar el sitio web de edX en un dispositivo de bajo costo como el Pi podría habilitar aulas portátiles en áreas que tienen acceso limitado a Internet. Esto se puede hacer con Pi por menos dinero que una computadora portátil o de escritorio.

Una configuración de sitio mínima es funcional en Raspberry Pi, pero aún no funciona lo suficientemente bien como para usarse en cursos reales que atienden a varios estudiantes. La plataforma, sin embargo, es funcional para un solo estudiante, con margen de mejora potencial.

Descarga e instala

  • Paso 1: Descargue la imagen prefabricada de Raspberry Pi: edx-raspberrypi-20131228.img.gz
  • Paso 2Flashea la tarjeta SD
    Puede usar el nombre de usuario y la contraseña predeterminados para ssh – usuario: pi contraseña:frambuesa
  • Paso 3: Asegúrese de que el supervisor se esté ejecutando y que tanto el LMS como el CMS se estén ejecutando:
    sudo service supervisor start

    sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf
  • Paso 4: Con su navegador, conéctese al LMS y Studio:
    LMS on port 18000 - `http://[ip address]:18000 `

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

    username: staff@example.com password: edx

Qué funciona y qué no

  • Crear un nuevo curso usando Studio

Crear nueva página de curso

  • Accede a los cursos como alumno

Vista del estudiante del nuevo curso

Medición del tiempo de procesamiento de la página con las herramientas de desarrollo de Chrome:

  • Página de material didáctico de demostración de LMS ~ 5 segundos
  • Página del panel del estudiante ~ 5 segundos

Las siguientes funciones aún no son compatibles:

  • Foros no están habilitados y probablemente no sean compatibles con la versión actual de Mongo.
  • Los calificadores de código personalizados no están habilitados.
  • ORA / Discernir para el aprendizaje automático no están habilitados.

Configuración de edX en la Raspberry Pi

hardware de frambuesa pi

  • Frambuesa Pi de 700 MHz / 500 MB
  • Tarjeta SD de 8 GB

Configuración del servicio

Los siguientes servicios se ejecutarán en la Raspberry Pi después de la instalación:

  • Nginx/Gunicornio
  • Python/Django y todas las bibliotecas de Python que dependen de él
  • MySQL
  • Mongo
  • Memcached

Todo lo que requiere edX se encuentra en /edx y es completamente autónomo en múltiples entornos virtuales de Python. Mongo está instalado en /edx/mongo, que es el puerto no x86 compilado para ARM. Dado que compilar todo para Raspberry Pi desde cero lleva días, hay una imagen pública disponible que servirá como un buen punto de partida.

Se necesitan algunas advertencias y mejoras antes de que pueda usarse seriamente:

  • Es necesario eliminar el registro superfluo: el nivel de registro está establecido en CRÍTICO, pero los registros de seguimiento se escriben actualmente en la tarjeta SD.
  • El rendimiento general no es ideal y será difícil mejorarlo sin configurar un almacenamiento en caché más agresivo o realizar cambios de código adicionales.
  • La actualización del repositorio de la plataforma edx lleva aproximadamente una hora.

Configuración con Ansible

Utilizamos Ansible como la herramienta de gestión de configuración edX para sistemas de producción. Los mismos scripts con algunas pequeñas modificaciones funcionarán para Raspberry Pi.

Ansible está configurado en Raspberry Pi, lo que facilita su actualización para nuevas versiones de la plataforma edx y la realización de cambios de configuración. Las actualizaciones tardan aproximadamente una hora debido a la compilación de activos (Coffeescript y Sass), aunque ese paso podría realizarse sin conexión, ya que no es una arquitectura específica.

Cómo actualizar Raspberry Pi a la última confirmación de edx-platform

Los siguientes comandos se pueden ejecutar directamente en la Raspberry Pi para actualizar su configuración o la versión del repositorio de la plataforma edx:

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

sudo /edx/bin/actualizar configuración jarv/raspberrypi
# Ejecute el libro de jugadas Ansible de Raspberry Pi
cd /edx/app/edx_ansible/edx_ansible/playbooks/edx-este
/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i localhost, -c local --tags deployment raspberrypi.yml -e "edx_platform_version=master" 

Ayuda y resolución de problemas

Si necesita ayuda con edX, únase a nuestro lista de correo de la comunidad. Si tiene preguntas específicas sobre cómo ejecutar edX en Raspberry Pi, tenga en cuenta que esto es solo un prototipo y no tiene mantenimiento ni soporte oficial. Si lo hace funcionar en Raspberry Pi u otra plataforma, por favor hágamelo saber — ¡Me encantaría saber de ti!

carga

Inicie el debate en discuss.openedx.org

¿Necesita más tiempo? Eche un vistazo a los artículos a continuación.

Anunciamos los representantes de la comunidad TOC de Open edX® 2026
Empoderando a una nación: Cómo Ucrania amplió una escuela nacional en línea con la plataforma Open edX®
Presentando en la Conferencia Open edX 2026 – ¡Convocatoria para oradores!
Cómo la NASA amplió la educación científica abierta a 20,000 investigadores con la plataforma Open edX
¡Únete a la Conferencia Open edX 2026!

La Conferencia Open edX 2026 presentará casos de uso innovadores para uno de los mejores sistemas de gestión de aprendizaje en línea de código abierto del mundo, la plataforma Open edX, y descubrirá los últimos avances en diseño instruccional, constelación de cursos y métodos para operar y ampliar la plataforma Open edX. , incluidas tecnologías innovadoras, como la IA generativa.