Raspberry Pi & GNU/Linux: poner la radio automáticamente con Python

Python poniendo la radio

Hoy dejo aquí un pequeño code-kata para poner la radio automáticamente con el lenguaje de programación Python. Lo he probado con GNU/Linux funcionando en una Raspberry Pi, que además de poner la radio hace otras cosas, pero eso es otra historia.. 😉

Para el que no conozca las Raspberry Pi, son pequeños ordenadores, de muy bajo coste, orientados a realizar sistemas embebidos, prototipos, o incluso sistemas informáticos completos en producción. Es decir, tenemos capacidad de procesamiento como con un ordenador, con RAM, CPU, almacenamiento en disco en forma de tarjeta MicroSD, USBs, HDMI, red wifi y ethernet, etcétera. Y funciona con apenas un cargador de móvil de microUSB..

Al grano, el código fuente

En Python, nos puede quedar tal que así:

import time
import psutil
import subprocess


def runStopRadio():
    # Declaramos esta variable global
    # porque queremos saber luego donde está
    # el subproceso para poder pararlo.
    global radioProcess
    stopping = False
    # Recorre los procesos para saber si el VLC
    # está ejecutándose y así apagarlo.
    for p in psutil.process_iter():
        if p.name() == 'vlc':
            stopping = True
            radioProcess.terminate()
            radioProcess.wait()
            print("VLC running stopping it..")
    # Si no está VLC ejecutándose entonces se arranca
    # la radio.
    if not stopping:
        radioProcess = subprocess.Popen(
            ["cvlc", "http://173.236.60.186:8028/stream"]
            )
        print("VLC launched with radio..")


# Arranca una radio online.
runStopRadio()
# Espera 60 segundos.
time.sleep(60)
# Para la radio.
runStopRadio()

Para lanzar este pequeño programa, basta con tener instalado el VLC. Viene instalado en la Raspberry si usas el sistema operativo oficial llamado Raspbian. Pero si por lo que sea no lo tienes, en GNU/Linux lo puedes instalar así:

sudo apt install vlc

Las librerías necesarias para Python las puedes instalar así:

pip3 install psutil

Lo último es grabar el fichero anterior en un fichero .py y ejecutarlo a cierta hora a modo de alarma, o simplemente desde línea de comando de nuevo:

python3 runStopRadio.py

Sólo me queda decir que este sencillo programa arranca la radio, la deja funcionar durante 60 segundos, y luego la vuelve a apagar. Algunos enlaces relacionados:

Otro día más.. ¡Un saludo!

Compartir..

Dejar un comentario

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