
Entrada 4: Proyecto BermejaPi — Primeros Pasos Nativos en Raspberry Pi OS con el Emulador de Sense HAT
Tras configurar nuestro sistema operativo virtualizado, en esta cuarta entrega del proyecto BermejaPi escribiremos nuestro primer programa nativo en Linux. Utilizaremos el emulador oficial de la Astro Pi para diseñar un faro de estado orbital (Status Beacon) en la matriz de LEDs y simular la lectura de parámetros ambientales dentro de la nave.
1. Preparación del Entorno en Raspberry Pi OS
Antes de programar, asegurémonos de tener instalada la herramienta de emulación gráfica en Linux.
- Abre la Terminal en Raspberry Pi OS (
Ctrl + Alt + T). - Ejecuta el comando de instalación de paquetes:Bash
sudo apt update && sudo apt install -y sense-emu-tools python3-sense-emu - Abre el emulador visual desde el menú superior:Menú Raspberry ➔ Programación ➔ Sense HAT Emulator.
Verás una ventana flotante con una matriz gráfica de 8×8 píxeles y controles deslizantes para simular sensores ambientales.
2. Código Python: 04-emulador_led.py
Abre Thonny IDE (disponible en Menú ➔ Programación ➔ Thonny) o tu editor de texto preferido en la máquina virtual, crea el archivo 04-emulador_led.py y escribe el siguiente código:
Python
import time
from sense_emu import SenseHat
# Inicializar el emulador de la Astro Pi
sense = SenseHat()
# Limpiar la matriz LED (apagar luces)
sense.clear()
# ============================================
# DEFINICION DE COLORES (RGB)
# ============================================
R = (255, 0, 0) # Rojo (Alerta / BermejaPi)
N = (0, 0, 0) # Negro (Apagado)
A = (0, 150, 255) # Azul (Espacio/Tierra)
V = (0, 255, 0) # Verde (Nominal)
# Icono de la nave BermejaPi (Matriz 8x8)
logo_bermejapi = [
N, N, N, R, R, N, N, N,
N, N, R, R, R, R, N, N,
N, R, R, A, A, R, R, N,
R, R, A, V, V, A, R, R,
R, R, A, V, V, A, R, R,
N, R, R, A, A, R, R, N,
N, N, R, R, R, R, N, N,
N, N, N, R, R, N, N, N
]
def ejecutar_telemetria_basica():
print("=== INICIANDO SISTEMA DE TELEMETRIA BERMEJAPI (EMULADOR) ===")
# 1. Mostrar texto de bienvenida en la pantalla LED simulada
sense.show_message("BermejaPi OK", scroll_speed=0.08, text_colour=R)
# 2. Dibujar el icono de la nave en la matriz 8x8
sense.set_pixels(logo_bermejapi)
time.sleep(3)
# 3. Leer valores de los deslizadores del emulador
temperatura = sense.get_temperature()
humedad = sense.get_humidity()
presion = sense.get_pressure()
# 4. Mostrar telemetria en la consola de Linux
print(f"Temperatura simulada: {temperatura:.1f} °C")
print(f"Humedad simulada: {humedad:.1f} %")
print(f"Presion simulada: {presion:.1f} hPa")
# 5. Indicador de estado visual segun la temperatura
if temperatura > 30.0:
print("Aviso: Temperatura elevada en el módulo.")
sense.clear(R) # Pantalla roja de aviso
else:
print("Estado nominal de los sistemas.")
sense.clear(V) # Pantalla verde nominal
time.sleep(2)
sense.clear()
print("Prueba completada.")
if __name__ == "__main__":
ejecutar_telemetria_basica()
3. Ejecución y Prueba Interactiva
- Mantén la ventana del Sense HAT Emulator abierta en un lado de la pantalla.
- Ejecuta el archivo desde la terminal de la máquina virtual:Bash
python3 04-emulador_led.py - Mueve los deslizadores: Durante la ejecución, cambia los valores de la barra de Temperature en la ventana del emulador. Verás cómo la consola de Linux lee las variaciones en tiempo real y la matriz LED virtual cambia de color según los umbrales programados.
Etiqueta:Astro Pi, BermejaPi, Linux, Matriz LED, python, Raspberry Pi OS, Sense HAT Emulator, sense_emu, Telemetría Ambiental



