Ayuda contra el Coronavirus con tu Raspberry Pi con BOINC

En estos días que estamos viviendo, en los que estamos confinados en nuestras casa, la solidaridad está a la orden del día. Es posible que no tengas dinero para donar, o tiempo para ayudar. Pero si tienes una Raspberry Pi, puedes ayudar en las investigaciones del Coronavirus.

Y es que para realizar simulaciones y cálculos lo más rápido posible se necesitan cientos o miles de ordenadores que estén realizando todos esos cálculos. Y no lo parezca del todo, la Raspberry Pi también es un ordenador. Y podremos ayudar instalando el programa y uniéndonos al proyecto Rosetta@home.

Pero seguramente quieras un poco más de información antes de ponerte con todo esto para tenerlo todo controlado. Así que vamos a ver que es BOINC primero, luego vamos a conocer el proyecto Rosetta@Home y para terminar, vamos a ver como dejar nuestra Raspberry Pi participando en las tareas que se nos vayan asignando.

¿Qué es BOINC?

BOINC es el acrónimo de Berkeley Open Infrastructure for Network Computing, que en español significa Infraestructura Abierta de Berkeley para la Computación en Red. Esta red de ordenadores va calculando tareas que se le van asignando a cada ordenador y devolviendo el resultado. De esta forma cada ordenador puede hacer una tarea concreta, permitiendo que se hagan miles de ellas a la vez, obteniendo más resultados en menos tiempo.

Existen diferentes grupos dedicados a diversos campos de la ciencia, investigando muchas cosas. En el caso de las investigaciones para el Coronavirus uno de los grupos más grandes es Rosetta@home, que además permite usar nuestra Raspberry Pi para ayudar con las investigaciones.

Dependiendo del campo en el que queramos ayudar, podemos buscar otros grupos que se dediquen más concretamente a eso, como pueden ser SETI@Home o Folding@Home, aunque este usa su propio programa.

¿A qué se dedica Rosetta@Home?

Ya que vamos a usar BOINC en nuestra Raspberry Pi, estoy seguro de que tenemos curiosidad por saber para qué van a usar nuestra Raspberry Pi ¿Verdad?

Pues como podemos ver en esta entrada de su foro, actualmente se encuentran simulando la estructura de proteínas importantes para la enfermedad. Con estas estructuras, se crearan nuevas miniproteínas estables que se usarán para diagnóstico y terapia para el Coronavirus.

Además de los diseños de proteínas relacionados con el Coronavirus, usando BOINC en Raspberry Pi con el proyecto Rosetta@Home ayudaras al diseño de nuevas proteínas que podrian servir para encontrar curas para enfermedades como la Malaria, el SIDA o el Alzeimer.

Podeis encontrar más información de Rosetta@Home aquí.

Preparando la Raspberry Pi para usar BOINC

Una de las cosas que tenemos que tener en cuenta a la hora de donar los recursos de nuestra Raspberry Pi con BOINC es que se va a calentar. Es importante saber como afecta la temperatura a la Raspberry Pi y que podemos hacer para alargar la vida de esta lo máximo posible. Mi consejo es que te hagas con un buen disipador como el que pongo aquí abajo como ejemplo para Raspberry Pi 4.

Carcasa de disipador térmico Raspberry Pi 4, Carcasa de aleación de Aluminio Raspberry Pi 4B/Carcasa de refrigeración pasiva para Pi 4 Modelo B Solamente (Sin Ventilador-Negro)
1.047 Opiniones
Carcasa de disipador térmico Raspberry Pi 4, Carcasa de aleación de Aluminio Raspberry Pi 4B/Carcasa de refrigeración pasiva para Pi 4 Modelo B Solamente (Sin Ventilador-Negro)
  • 【Pi 4 Passive Cooling Case】Geekworm raspberry pi 4 armor case, aluminum...
  • 【Equipped with 2pcs GPIO Headers】With 2pcs 2x20 Female Headers to extend the...

Para poder usar BOINC con el proyecto Rosetta@Home necesitamos que nuestro sistema operativo pueda ejecutar aplicaciones de 64 bits, por lo que tendremos que activar dicho kernel desde el archivo config.txt. Tambien es importante saber que solo la Raspberry Pi 3 y la Raspberry Pi 4 tienen arquitectura de 64 bits, por lo que si tienes un modelo más antiguo no podras hacer esto.

Oferta
Raspberry Pi Spain RAS-4-4G - Placa Base Pi 4 Modelo B / 4 GB SDRAM (1822096)
13.929 Opiniones
Raspberry Pi Spain RAS-4-4G - Placa Base Pi 4 Modelo B / 4 GB SDRAM (1822096)
  • Diseño moderno
  • La Raspberry Pi sin ventilador y de bajo consumo de energía funciona...

Cambiando la arquitectura del Kernel

Lo primero que vamos a hacer es comprobar la arquitectura del kernel que está usando nuestro sistema operativo, lo cual haremos con el siguiente comando de la terminal.

uname -a
Comprobando la arquitectura del kernel en Raspberry Pi

En mi caso me indica que mi kernel es aarch64, lo que quiere decir que ya tendría activada la arquitectura de 64 bits. Si no aparece arm64 o aarch64, vuestro kernel es de 32 bits, por lo que tendréis que activar los 64 bits. Esto lo haremos editando dicho archivo desde nano con el siguiente comando en la terminal.

sudo nano /boot/config.txt

Una vez abierto el archivo, vamos al final del mismo y añadimos lo siguiente.

arm_64bit=1
Modificando el archivo config.txt para activar los 64 bits en Raspberry Pi

Ahora solo nos queda guardar el archivo con Ctrl+S, cerrar nano con Ctrl+X y reiniciar la Raspberry Pi. Si todo ha ido bien, con el primer comando que hemos visto podremos ver ya aarch64, lo que significa que podemos seguir con el tutorial y empezar a ayudar con nuestra Raspberry Pi a parar el Coronavirus y otras investigaciones científicas.

Ampliando el archivo de paginación

También debemos aumentar el tamaño del archivo de paginación de la Raspberry Pi. Este archivo se usa como si fuera una memoria RAM, pero en la unidad de almacenamiento que tengamos. Si se nos llena la RAM, la Raspberry Pi empezará a usar ese archivo como cache de datos hasta que pueda moverlos a la RAM o no necesite usarlos más. Para ello, necesitamos editar el archivo de configuración, que lo haremos con el siguiente comando en la terminal.

sudo nano /etc/dphys-swapfile

Una vez abierto el archivo, buscaremos la linea donde pone CONF_SWAPSIZE y cambiaremos el valor que tenga por 2048, que es la cantidad de megabytes que vamos a usar para memoria, quedándonos el archivo tal que así.

Editando el archivo dphys-swapfile con nano

Ahora guardamos el archivo con Ctrl+S y salimos de nano con Ctrl+X. Y para aplicar estos valores, tan solo tenemos que reiniciar el servicio de memoria virtual, que lo haremos con los siguientes comandos en la terminal.

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
Reiniciando el servicio de paginación

Instalando BOINC

Ahora tenemos que instalar BOINC. Si no tienes idea de como instalarlo, hace poco preparé un artículo con diferentes formas de instalar programas en la Raspberry Pi, pero no te preocupes, que hoy te lo voy a poner fácil. Solo tendrás que ejecutar el siguiente comando en una terminal de Linux.

sudo apt update && sudo apt install boinc-client -y

El gestor de paquetes no tardará mucho en realizar la instalación. Una vez hemos terminado, tocará tunear lo un poco para que comience a funcionar en nuestra Raspberry Pi sin problemas.

Configurando BOINC

Para terminar de dejarlo todo listo, tenemos que cambiar un par de cosas de la configuración de BOINC para que nos coja el procesador como bueno, ya que hay veces en las que los proyectos a los que nos unimos son un poco exquisitos y con la configuración normal no nos dejan colaborar. Lo primero que vamos a hacer es parar el servicio de BOINC poniendo esta linea en una terminal.

 sudo systemctl stop boinc-client

Y ahora que está parado BOINC, vamos a modificar su archivo de configuración. Para entrar en el mismo pondremos lo siguiente en una terminal.

 sudo nano /etc/boinc-client/cc_config.xml

Ahora pondremos lo siguiente justo en la linea anterior a </cc_config>.

  </log_flags>
  <options>
    <alt_platform>aarch64-unknown-linux-gnu</alt_platform>
  </options>
Archivo de configuración de BOINC modificado para poder usar una Raspberry Pi en el proyecto Rosetta@Home

El archivo de configuración se debería quedar como en la siguiente imagen. Si está igual, guardamos el archivo con Ctrl+S y luego salimos de nano con Ctrl+X y ya lo tendremos todo preparado para empezar a ayudar contra el Coronavirus con nuestra Raspberry Pi.

Para terminar, tendremos que iniciar de nuevo el servicio de BOINC, que lo haremos poniendo en la terminal el siguiente comando.

 sudo systemctl start boinc-client

Asociando BOINC a Rosetta@Home y comenzando a colaborar

Ahora lo tenemos todo listo a falta de entrar en Rosetta@Home y dejar nuestra Raspberry Pi realizando tareas para este proyecto. Solo nos queda asociar BOINC con el proyecto Rosetta@Home y dejar la Raspberry Pi enchufada.

Lo primero que vamos a hacer es crearnos una cuenta en Rosetta@Home. Esto lo podemos hacer en la siguiente página.

Creando una cuenta en Rosetta@Home

Una vez hemos rellenado los datos y hemos pulsado en Create Account ya tendremos la cuenta lista, ahora solo tenemos que conseguir la clave de la cuenta para poder asociarla al BOINC de nuestra Raspberry Pi. Para conseguirla, ejecutaremos el siguiente comando en la terminal.

boinccmd --lookup_account https://boinc.bakerlab.org/rosetta TU_CORREO_ELECTRONICO TU_CONTRASEÑA
Obteniendo la clave de la cuenta de Rosetta@Home

Si todo ha salido bien, veremos una imagen como la de arriba. Donde pone account key: tendremos la clave de la cuenta y ya podremos asociar nuestra Raspberry Pi al proyecto Rosetta@Home con BOINC. Esto lo haremos con el siguiente comando.

boinccmd --project_attach http://boinc.bakerlab.org/rosetta TU_CLAVE_DE_USUARIO

Si el comando no nos da ninguna respuesta, está todo correcto. Ahora solo nos queda esperar unos minutos a que se nos asignen algunas tareas y dejar la Raspberry Pi. Cuando el procesador no esté ocupado en lo que nosotros estemos haciendo, esta se pondrá a realizar las tareas asignadas, enviando los resultados una vez la Raspberry Pi compete las tareas.

Si queremos ver lo que está haciendo BOINC podemos poner lo siguiente en la terminal, y veremos mucha información de lo que está haciendo.

boinccmd --get_tasks
Tareas de BOINC funcionando en una Raspberry Pi 4

Otras alternativas a BOINC

Como alternativa a BOINC también podemos usar una imagen que nos han proporcionado los creadores de balenaEtcher llamada Fold for Covid. Podemos descargarnos la imagen de aquí. Seleccionando la Raspberry Pi que tenemos, si vamos a usar la WiFi si no podemos conectarla por red y haciendo clic en Download balenaOS.

Descargando la imagen de Fold for Covid

Para terminar, grabamos la imagen en la tarjeta microSD, la conectamos, y ya la tendremos lista para ayudar en la lucha contra el COVID-19.

Más información:

[themoneytizer id=»32486-28″]

Última actualización el 2024-05-03 / Enlaces de afiliados / Imágenes de la API para Afiliados

2 comentarios en «Ayuda contra el Coronavirus con tu Raspberry Pi con BOINC»

  1. Tuve problema , hice lo de los 64 bits,aunque faltaba una línea , tengo la 3 y en la foto tenéis la 4 ,guardé eso, luego en la paginación no me salía nada ,se me quedó frita la tarjeta.

    Responder
    • Buenas Ches.

      Si solo vas a usar esa Raspberry Pi para BOINC, tienes la opción de descargarte el proyecto Folding for Covid, que viene con todo preparado para que sea grabar la imagen y enchufarla a la Raspberry Pi, sin nada más. Una vez inicia empezará a buscar tareas y comenzará a calcularlas. Si quieres usarla para más cosas, debes seguir el tutorial.

      Este tutorial lo hice con una Raspberry Pi 3B+, ya que la 4B la tenía ocupada con otras cosas en ese momento, por lo que no deberías tener problemas si usas una Raspberry Pi 3 o 4.

      Date cuenta de que estoy usando la última versión de Raspbian con el último firmware y hay partes del archivo de configuración que solo se usan dependiendo de la Raspberry Pi en la que estén funcionando. Aquí te dejo un artículo con más información del archivo config.txt

      Lo primero que tienes que hacer es tener Raspbian actualizado a la última versión. Si no, es posible que no puedas usar el kernel de 64 bits. Una vez que tengas hecho eso, reinicia y comprueba que está todo configurado correctamente con umane -a de forma que te aparezca aarch64 al final. Entonces es el momento de cambiar el tamaño del archivo de paginación para evitar que la Raspberry Pi se quede sin memoria RAM.

      Luego ya te queda instalar BOINC y configurarlo para que funcione todo correctamente.

      Responder

Deja un comentario