Cómo montar una pantalla inteligente con Raspberry Pi

Siguiendo con los proyectos de raspberry, vi en intagram. La ideas de que hacer con raspberry pi y la que más me convenció al final fue Cómo montar una pantalla inteligente con Raspberry Pi: un panel siempre encendido, colgado en la pared de la cocina o sobre el escritorio, que de un vistazo me diera la información que reviso todos los días sin tener que desbloquear el móvil ni abrir el ordenador — el tiempo que va a hacer, los próximos eventos del calendario, y algún dato curioso de estado del propio sistema.

Después de investigar varias opciones, me decanté por MagicMirror², un proyecto de código abierto pensado exactamente para esto: una plataforma modular donde vas añadiendo «módulos» (clima, calendario, noticias, frases, lo que se te ocurra) y los colocas en pantalla como si fueran piezas de un puzle. Es, con diferencia, la opción más flexible y con más comunidad detrás de todas las que probé.

En esta entrada te explico paso a paso cómo monté la mía, qué módulos añadí y cómo configuré todo para que arrancara solo, sin tener que tocar nada cada vez que se enciende. Vamos con ello.

Índice

  1. Qué vamos a construir
  2. Materiales necesarios
  3. Paso 1: preparar la Raspberry Pi (referencia rápida)
  4. Paso 2: instalar Node.js
  5. Paso 3: instalar MagicMirror²
  6. Paso 4: configurar el módulo del clima
  7. Paso 5: configurar el módulo de calendario
  8. Paso 6: añadir información del sistema
  9. Paso 7: otros módulos interesantes que puedes añadir
  10. Paso 8: arranque automático en modo pantalla completa
  11. Paso 9: ajustes finales (rotar pantalla, evitar que se apague)
  12. Conclusión

1. Qué vamos a construir

El resultado final es una pantalla que arranca directamente mostrando un panel de información en pantalla completa, sin necesidad de teclado, ratón ni interacción de ningún tipo. En mi caso, lo organicé así:

  • Esquina superior izquierda: reloj y fecha, bien grandes y visibles desde lejos.
  • Esquina superior derecha: el tiempo actual y la previsión de los próximos días.
  • Lateral o parte inferior: los próximos eventos de mi calendario de Google.
  • Una esquina discreta: información básica del propio sistema (temperatura de la Raspberry Pi, uso de memoria, tiempo encendida).

Pero esto es solo mi configuración concreta; la gracia de MagicMirror² es que puedes combinar los módulos como quieras, añadir más adelante los que te interesen, y quitar los que no uses.

2. Materiales necesarios

  • Una Raspberry Pi (a partir de un modelo 3B+ va sobrado para esto; con una 4 o 5 vas todavía más fluido, pero no es imprescindible).
  • Tarjeta microSD de al menos 16 GB.
  • Una pantalla o monitor que ya no estés usando, o una pantalla dedicada pequeña si quieres un acabado más de «panel de pared».
  • Un marco o soporte, si quieres darle un acabado más vistoso tipo «espejo inteligente» (aunque en mi caso lo dejé como panel de pantalla simple, sin cristal espejado por delante).

🔥 Recomendación de compra

Raspberry Pi 5 8GB

➜ Ver oferta en Amazon

3. Paso 1: preparar la Raspberry Pi (referencia rápida)

Este paso ya lo tengo explicado con detalle en otra entrada del blog, así que aquí solo el resumen: instala Raspberry Pi OS con escritorio (no la versión Lite, ya que necesitamos entorno gráfico para mostrar el panel), activa SSH desde el propio Raspberry Pi Imager para poder administrarla en remoto, y actualiza el sistema con:

sudo apt update && sudo apt upgrade -y

Si nunca has instalado Raspberry Pi OS, revisa primero esta entrada con el proceso completo y vuelve aquí una vez tengas el sistema base funcionando. Un apunte importante: las versiones actuales de Raspberry Pi OS (basadas en Debian 13 «Trixie») usan labwc como gestor de ventanas en lugar del antiguo LXDE, así que si sigues tutoriales antiguos y algo no coincide exactamente, es por este cambio.

4. Paso 2: instalar Node.js

MagicMirror² está construido sobre Node.js, así que es el primer requisito a cubrir. Abre una terminal (local o por SSH) y ejecuta:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs

Comprueba que se ha instalado correctamente:

node -v
npm -v

5. Paso 3: instalar MagicMirror²

magic-mirror2-logo.PNG

El propio proyecto ofrece un script de instalación automática que se encarga de descargar el código, instalar dependencias y dejarlo listo para configurar:

bash -c "$(curl -sL https://raw.githubusercontent.com/MagicMirrorOrg/MagicMirror/master/installers/raspberry.sh)"

El script te irá preguntando algunas opciones durante el proceso (como si quieres que arranque automáticamente). Puedes responder lo que te parezca más cómodo por ahora, ya que vamos a configurar el arranque automático de forma más robusta más adelante, en el paso 8.

Una vez termine, puedes arrancarlo manualmente para comprobar que todo funciona:

cd ~/MagicMirror
npm run start

Deberías ver la interfaz por defecto: reloj, previsión del tiempo de ejemplo y un módulo de noticias.

6. Paso 4: configurar el módulo del clima

Toda la configuración de MagicMirror² se gestiona desde un único archivo:

nano ~/MagicMirror/config/config.js

Busca el bloque del módulo weather (o añádelo si no está) y configúralo así:

{
    module: "weather",
    position: "top_right",
    config: {
        weatherProvider: "openweathermap",
        type: "current",
        location: "Barcelona",
        locationID: "", // opcional, más preciso que el nombre de la ciudad
        apiKey: "TU_API_KEY_DE_OPENWEATHERMAP"
    }
},
{
    module: "weather",
    position: "top_right",
    header: "Previsión",
    config: {
        weatherProvider: "openweathermap",
        type: "forecast",
        location: "Barcelona",
        apiKey: "TU_API_KEY_DE_OPENWEATHERMAP"
    }
}

Puedes conseguir una API Key gratuita registrándote en openweathermap.org; el plan gratuito es más que suficiente para un uso personal como este.

7. Paso 5: configurar el módulo de calendario

Para mostrar tus próximos eventos, necesitas la URL de un calendario en formato iCal. Si usas Google Calendar:

  1. Entra en la configuración de tu calendario desde la web de Google Calendar.
  2. Busca la sección «Integrar calendario» y copia la URL en formato público en formato iCal (o la URL secreta si prefieres no hacer público tu calendario).

Añade el módulo en config.js:

{
    module: "calendar",
    header: "Próximos eventos",
    position: "bottom_left",
    config: {
        calendars: [
            {
                symbol: "calendar-check",
                url: "TU_URL_ICAL_AQUI"
            }
        ],
        maximumEntries: 5
    }
}

8. Paso 6: añadir información del sistema

Para mostrar datos como la temperatura de la Raspberry Pi, el uso de memoria o el tiempo que lleva encendida, necesitas instalar un módulo de la comunidad, ya que no viene incluido por defecto. Uno de los más usados para esto es MMM-SystemStats:

cd ~/MagicMirror/modules
git clone https://github.com/bugsounet/MMM-SystemStats.git
cd MMM-SystemStats
npm install

Y añádelo a config.js:

{
    module: "MMM-SystemStats",
    position: "bottom_right",
    config: {
        updateInterval: 10000,
        temp: {
            enabled: true
        }
    }
}

Reinicia MagicMirror² tras instalar cualquier módulo nuevo para que los cambios surtan efecto.

9. Paso 7: otros módulos interesantes que puedes añadir

Una de las mejores cosas de MagicMirror² es la enorme cantidad de módulos de comunidad disponibles, instalables de la misma forma que el de sistema (clonando el repositorio dentro de la carpeta modules y añadiendo su configuración en config.js). Algunos que vale la pena explorar:

  • Noticias RSS: muestra titulares de tus fuentes de noticias favoritas, el módulo newsfeed viene incluido por defecto.
  • Frases o citas del día: un pequeño módulo decorativo que añade una frase distinta cada vez que se actualiza la pantalla.
  • Estado de Home Assistant: si ya tienes domótica montada, existen módulos que muestran el estado de tus dispositivos directamente en el panel.
  • Horarios de transporte público: módulos de comunidad que muestran los próximos autobuses o trenes de una parada concreta, muy útil si el panel está en la entrada de casa.
  • Calidad del aire o alertas meteorológicas: complementan al módulo de clima estándar con información adicional.

10. Paso 8: arranque automático en modo pantalla completa

Para que la pantalla inteligente funcione de verdad como un panel dedicado, necesitas que arranque sola al encender la Raspberry Pi, sin que nadie tenga que abrir nada manualmente. Con las versiones actuales de Raspberry Pi OS (basadas en Wayland/labwc), la forma más fiable es mediante un servicio de usuario de systemd, en lugar del antiguo método de autoarranque de LXDE:

  1. Crea el archivo de servicio:
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/magicmirror.service
  1. Añade este contenido:
[Unit]
Description=MagicMirror2
After=graphical-session.target

[Service]
WorkingDirectory=/home/pi/MagicMirror
ExecStart=/usr/bin/npm run start
Restart=on-failure

[Install]
WantedBy=graphical-session.target
  1. Activa el servicio:
systemctl --user enable magicmirror.service
systemctl --user start magicmirror.service
  1. Confirma que arranca en modo de pantalla completa configurando también el inicio automático de sesión de escritorio desde sudo raspi-config (System Options > Boot / Auto Login > Desktop Autologin), para que la Raspberry Pi llegue directamente al escritorio gráfico sin pedir usuario ni contraseña tras cada reinicio.

11. Paso 9: ajustes finales (rotar pantalla, evitar que se apague)

Para rematar el montaje, hay un par de ajustes que marcan la diferencia entre un proyecto a medio hacer y uno que se siente terminado:

  • Evitar que la pantalla se apague por inactividad: al no haber teclado ni ratón interactuando con el panel, Raspberry Pi OS lo interpretará como inactividad y apagará la pantalla al rato. Desde raspi-config, en Display Options, desactiva el apagado automático de pantalla.
  • Ocultar el cursor del ratón: si no vas a usar ratón para nada en este panel, puedes ocultarlo instalando unclutter, que lo esconde automáticamente tras unos segundos sin movimiento:
sudo apt install -y unclutter
  • Rotar la pantalla, si vas a montarla en vertical (muy habitual en paneles de pared tipo «espejo inteligente»): se configura también desde las opciones de pantalla de Raspberry Pi OS, o editando la configuración de rotación en los ajustes de pantalla del propio sistema.

12. Conclusión

Montar una pantalla inteligente con una Raspberry Pi que ya tenías por casa es de esos proyectos que, por el tiempo que llevan montarlo (un par de tardes, sin prisa), dan una sensación de utilidad diaria muy por encima de lo que cuesta. En mi caso, se ha convertido en algo que miro de reojo cada mañana, sin tener que sacar el móvil, para saber si necesito abrigarme o qué tengo en la agenda del día.

Lo mejor de MagicMirror² es precisamente eso, que nunca lo das por «terminado»: en cuanto tengas el panel básico funcionando (clima, calendario, sistema), seguro que se te ocurre algún módulo más que te gustaría añadir, y la comunidad detrás del proyecto es lo suficientemente grande como para que casi cualquier idea que se te ocurra ya tenga un módulo hecho por alguien, listo para instalar.

Si te animas a montar la tuya, cuéntame en los comentarios qué módulos has añadido tú, o si le has dado un uso distinto al que yo le he dado en la mía.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio