Aquest codi en Python està dissenyat per a una Raspberry Pi i té la funció de mostrar el títol de la cançó que s’està reproduint en VLC a través d’una pantalla OLED (SSD1306). Aquí tens una explicació detallada:
Explicació del codi
- Importació de llibreries
time
: Per gestionar els retards (sleep
).psutil
: No s’utilitza en el codi, però serveix per gestionar processos.subprocess
: Executa ordres del sistema, en aquest cas per obtenir l’aplicació activa.requests
: Per fer peticions HTTP al servidor de VLC.luma.oled
: Per controlar la pantalla OLED.PIL.ImageFont
: Per mostrar text a la pantalla OLED.
- Variables Globals
VLC_URL
: Direcció URL del servidor de VLC a la Raspberry Pi (localhost:8080
).VLC_PASSWORD
: Contrasenya per accedir a VLC (raspberry
).
- Funció
get_active_application()
- Utilitza
xdotool
(eina per controlar finestres en Linux) per obtenir el nom de l’aplicació activa. - Si falla, retorna un missatge d’error.
- Utilitza
- Funció
get_vlc_song()
- Fa una petició HTTP a VLC per obtenir informació de la cançó actual.
- Extreu el nom de l’arxiu (
filename
). - Calcula el temps actual de reproducció en minuts i segons.
- Calcula la posició percentual de la cançó.
- Retorna una cadena amb el format:
NomArxiu XX% - MM:SS
- Si hi ha un error amb la connexió, retorna
"Error VLC"
.
- Funció
display_text(device, text)
- Mostra el text a la pantalla OLED.
- Divideix el text en dues línies si és massa llarg.
- La tercera línia sempre mostra els últims 11 caràcters del text (pot ser útil per veure el temps).
- Funció
main()
- Inicia la connexió amb la pantalla OLED (via I2C).
- Entra en un bucle infinit (
while True
):- Obté el títol de la cançó de VLC.
- Mostra el títol a la pantalla OLED.
- Espera 2 segons abans de tornar-ho a fer.
Com funciona el programa
Quan executes vlc.py
:
- El programa es connecta a la pantalla OLED.
- Consulta el VLC per veure quina cançó s’està reproduint.
- Mostra el títol de la cançó i el temps actual a la pantalla OLED.
- Cada 2 segons, actualitza la informació.
Requisits
- VLC ha d’estar executant-se amb interfície web activada (
--extraintf http
). - Paquets necessaris:
pip install psutil requests luma.oled xdotool
- Pantalla OLED SSD1306 connectada per I2C a la Raspberry Pi.
Aquest codi és útil per projectes de domòtica o sistemes multimèdia basats en Raspberry Pi! 😃

Debe estar conectado para enviar un comentario.