
Chisme del Lince AstroPi07: tu programa viaja a la ISS (casi)
—Gata, el programa está perfecto —dice Víctor Vílchez, el Lince de la Noche, con el dedo sobre el botón de enviar—. Para solo, guarda el CSV, mide cada segundo exacto… Lo mandamos a la ISS y listo.
—¿Lo has probado con datos de la ISS?
—Lo he probado en la terraza. La terraza está… bastante alta.
La Gata Montesa suspira.
—En tu terraza el magnetómetro mide tu terraza: la barandilla, el móvil, tu taza de café. Y si en la ISS falla algo, no hay segunda oportunidad. Para eso existe el Astro Pi Replay Tool: ejecuta tu programa con datos grabados en la ISS y te devuelve lo que habría guardado allí arriba.
—¿Como un ensayo general antes del estreno?
—Exacto. Y en ese ensayo vas a ver, por fin, cómo cambia el campo magnético de la Tierra mientras la estación da vueltas.
A Víctor se le iluminan los ojos. El escudo que nos protege del viento solar, medido de verdad.
Introducción
En los chismes anteriores hemos construido un programa completo: lee la Sense HAT (AstroPi03), guarda los datos en CSV (AstroPi05) y para solo antes de los 10 minutos (AstroPi06).
Ahora toca el último paso antes de enviarlo: probarlo con el Astro Pi Replay Tool, la herramienta oficial que ejecuta tu main.py con datos grabados en la ISS. Es lo más parecido a mandar el programa al espacio sin salir del aula.
Por qué este chisme
Hasta ahora hemos probado el programa en nuestra Raspberry Pi. Eso comprueba que funciona, pero no que funcione en las condiciones de la ISS: otra carpeta, otro ordenador y otros datos.
La guía de Mission Space Lab recomienda probar el programa con el Astro Pi Replay Tool antes de enviarlo. Así se detectan los errores aquí, cuando todavía se pueden arreglar.
Qué necesitamos
- El
main.pydel AstroPi06, en~/astropi/astropi06. - La Raspberry Pi con conexión a internet y su navegador.
- La web del Replay Tool: astro-pi-replay-online.astro-pi.org.
El simulador paso a paso
Antes de usar la herramienta real, practicad con el simulador del Astro Pi Replay. Tiene 7 pasos: preparar la versión de vuelo, hacer el zip bien, subirlo, esperar la ejecución, descargar los resultados, analizar 10 minutos de datos reales de la ISS y comparar con nuestra Pi. Los datos y las salidas del simulador son los reales que obtuvimos.
Paso 1: la versión de vuelo
Abre main.py y cambia una sola línea:
RUN_MINUTES = 10 # on the ISS the slot is 10 minutes
Guarda el archivo. Es la versión que se enviaría a la ISS.
Paso 2: el zip, bien hecho
El Replay Tool pide un archivo .zip que contenga un archivo llamado main.py: es el que se ejecuta. Abre un terminal y escribe:
cd ~/astropi/astropi06
zip astropi07.zip main.py
cd entra en la carpeta del chisme y zip mete solo main.py en astropi07.zip, en la raíz del zip.
Cuidado con el error más típico: si en el administrador de archivos comprimes la carpeta astropi06 entera, main.py queda dentro de una subcarpeta (astropi06/main.py) y no está en la raíz.

Paso 3: súbelo
- Abre astro-pi-replay-online.astro-pi.org en el navegador.
- Mira Settings: ahí se elige el tipo de foto que se «reproduce», VIS (luz visible) o IR (infrarrojo). ¿Os suena? Es la diferencia entre una cámara normal y la NoIR del AstroPi04. Nuestro programa no hace fotos, así que este ajuste no le afecta.
- Arrastra
astropi07.zipa la zona de subida, o pulsa browse para elegirlo.
Paso 4: espera los 10 minutos
El Replay Tool ejecuta el programa entero. Los 10 minutos son de verdad: es buen momento para revisar el código con el grupo. Esta fue nuestra salida con la prueba corta de 1 minuto:
Saving data in: /home/pyodide/data.csv
Readings: 54
Total time: 54.0 s (limit: 60 s)
Longest loop: 1.257 s
Done! Your file is here: /home/pyodide/data.csv
Paso 5: los resultados
Al terminar, el Replay Tool devuelve un results.zip con dos archivos: tu main.py y el data.csv que ha generado. Es exactamente lo que volvería de la ISS.
En la versión de 10 minutos obtuvimos 593 lecturas. La última fue en el segundo 592: el programa paró solo, antes de las 10:00.
Qué miden realmente los datos del Astro Pi Replay
Tu programa se ejecuta en el navegador
Fíjate en la ruta: /home/pyodide/data.csv. Pyodide es Python funcionando dentro de una página web. El programa no se ejecutó en tu Raspberry Pi, sino en tu navegador, en una carpeta que no conocía.
Y aun así funcionó, porque guarda el archivo con Path(__file__) y no con una ruta fija. Es justo lo que pasará en la ISS: tu programa no sabe dónde estará; solo sabe dónde está él mismo.
La primera vuelta fue lenta, y el programa se recuperó
La primera lectura tardó 2,5 s: el Replay Tool estaba cargando sus datos. Mirad las primeras filas del CSV:
time,elapsed_s,work_ms,mag_x,mag_y,mag_z
2026-10-31T19:51:36.901,0.001,2506.0,43.37,15.98,20.98
2026-10-31T19:51:39.408,2.508,3.0,43.27,15.95,21.44
2026-10-31T19:51:39.412,2.512,3.0,43.27,15.94,21.46
2026-10-31T19:51:39.899,2.999,4.0,43.17,15.5,20.75
2026-10-31T19:51:40.899,3.999,3.0,42.97,16.05,22.27
Como el programa del AstroPi06 espera hasta la hora exacta de la siguiente lectura, las dos que «debían» haber llegado en los segundos 1 y 2 llegaron casi seguidas, y desde el segundo 3 todo vuelve a ir cada segundo exacto. Gracias a longest_loop, esa vuelta lenta también hizo que el programa parara un poco antes del final, para no pasarse.
El campo magnético cambia en 10 minutos de órbita
Esta es la recompensa. En 10 minutos, el total del campo magnético bajó de 50,8 a 45,8 µT, alrededor de un 10 %. Y la componente z pasó de unos 21 µT a unos 3 µT.

Es lo que predijimos en el AstroPi03: mientras la ISS avanza por su órbita, el campo de la Tierra cambia de tamaño y de dirección. El magnetómetro es un buen candidato para un experimento de 10 minutos, y ahora lo hemos visto con nuestros propios datos.
Tu terraza no es la ISS
Comparad con lo que medimos en casa:
- En la terraza, el campo salía entre 38 y 46 µT, cambiaba si movíamos la Pi y tardaba unos segundos en estabilizarse al arrancar.
- En el Replay Tool salió entre 46 y 51 µT, cambiando poco a poco y sin arranque lento.
Leer el sensor tardó unos 24 ms en nuestra Pi y unos 2-5 ms en el Replay Tool. El mismo programa funcionó en los dos sitios porque no depende del sitio: ruta con __file__, reloj con datetime y longest_loop para las vueltas lentas.
Para el aula
- Predice: antes de subir el zip, ¿cuántas lecturas esperáis con
RUN_MINUTES = 10? Comparadlo con el resultado. - Busca el error: haced a propósito un zip con la carpeta entera y subidlo. ¿Qué pasa? Escribid el mensaje en el cuaderno.
- Calcula: el campo bajó 5 µT en 10 minutos. ¿Cuántos µT por minuto? ¿Creéis que seguirá bajando siempre al mismo ritmo? ¿Por qué no?
- Compara: dibujad en la misma gráfica vuestros datos de la terraza y los del Replay Tool. ¿Qué diferencias veis?
Retos
Reto 1
Haz que funcione: crea el zip desde el terminal, súbelo y descarga results.zip.
Reto 2
Carga el data.csv del Replay Tool en el simulador del AstroPi05 y mira la gráfica del magnetómetro.
Reto 3
Añade al programa el acelerómetro y el giroscopio. ¿Qué valores salen con los datos de la ISS? ¿Se parecen a lo que predijimos en el AstroPi03?
Reto 4
Añade una foto cada minuto con la cámara del AstroPi04 y prueba el Replay Tool con VIS y con IR. Compara las fotos.
Reto 5
Escribe una pregunta de investigación que se pueda responder con los datos de esos 10 minutos. Es el primer paso de vuestro experimento de verdad.
Qué hemos aprendido
- El Astro Pi Replay Tool ejecuta nuestro
main.pycon datos grabados en la ISS y nos devuelve lo que habría guardado. - El zip debe llevar
main.pyen la raíz: mejor hacerlo desde el terminal. - Un programa bien hecho funciona en cualquier carpeta y se recupera de una vuelta lenta.
- Con datos de la ISS hemos visto cómo cambia el campo magnético terrestre en 10 minutos de órbita.
Siguiente paso: diseñar vuestro propio experimento para la Mission Space Lab.
Para seguir investigando
- AstroPi06: los 10 minutos de la misión
- AstroPi03: los sensores que sí cambian en órbita
- Astro Pi Replay Tool online
- Guía oficial de Mission Space Lab (creator guide)
- Pyodide: Python en el navegador




