From dc342bd6c5b99697aa50d74c73d9db46dc23534d Mon Sep 17 00:00:00 2001 From: nico Date: Mon, 8 Dec 2025 14:20:43 +0000 Subject: [PATCH] Actualizar READEM.md --- READEM.md | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 102 insertions(+), 1 deletion(-) diff --git a/READEM.md b/READEM.md index 555ec32..f8edc30 100644 --- a/READEM.md +++ b/READEM.md @@ -1 +1,102 @@ -Hola mundi \ No newline at end of file +🚀 Proyecto Interactivo Python GUI (Monitorización y Multihilos) + +Este proyecto es una aplicación de escritorio avanzada construida con Python y Tkinter que sirve como un dashboard interactivo para demostrar el uso de la programación Multihilo (Threading), la monitorización de recursos del sistema (psutil), la gestión de procesos externos y el web scraping en un entorno GUI modular y responsivo. +✨ Características Principales + +El proyecto está organizado en un sistema de pestañas principal (T1, T2, T3...) con menús laterales contextuales que cambian según la funcionalidad activa. +T1. Procesos (Monitorización de Recursos) + +Esta pestaña está dedicada a la monitorización de sistemas y el manejo de archivos. + + Gráficos en Tiempo Real: Muestra el uso de CPU, Memoria (RAM), Disco (I/O) y Red (Tasa de Kb/s) mediante gráficos dinámicos de matplotlib. + + Gestión de Hilos: Los hilos de monitorización se inician y detienen automáticamente al entrar/salir de la subpestaña "Estado" para optimizar el rendimiento. + + Editor de Texto: Incluye un editor de texto simple con funcionalidad para guardar archivos (filedialog). + + Tareas Batch: Un botón dedicado a ejecutar scripts externos (backup_script.sh) en segundo plano mediante subprocess, con notificación en la barra de estado. + +T2. Threads (Hilos y Simulación) + +Esta pestaña ilustra el uso de hilos concurrentes para simulación y tareas en segundo plano. +1. Reloj / Alarma + + Reloj Digital: Muestra la fecha y hora actualizadas en un hilo dedicado. + + Alarma: Permite configurar una alarma con hora exacta. Al dispararse, reproduce un archivo de sonido (alarm.mp3) y muestra una alerta visual. + + Cuenta Atrás (Feedback): Muestra el tiempo restante hasta la alarma en segundos (HH:MM:SS) en tiempo real. + +2. Coches (Carrera Multihilo) + + Simulación Concurrente: Una simulación de carrera donde tres "coches" (rectángulos) avanzan de forma independiente, cada uno controlado por un hilo con velocidad aleatoria. + + Sincronización: Utiliza un threading.Lock para asegurar que solo el primer hilo en alcanzar la meta pueda declarar al ganador, previniendo condiciones de carrera. + +3. Scraping + + Web Scraping Asíncrono: Un botón que ejecuta un hilo para hacer web scraping de la página de práctica books.toscrape.com. + + Extracción de Datos: Utiliza urllib.request y re para descargar la página y extraer una lista de títulos de libros. + + Manejo de Errores: Incluye manejo de errores comunes de HTTP (como el 403) y errores de conexión. + +4. Control de Audio + + Música de Fondo: Un botón en el panel lateral para iniciar/detener la reproducción en bucle de music.mp3 utilizando pygame.mixer. + + Persistencia: La música persiste (sigue sonando) aunque el usuario cambie a otras pestañas principales (T1, T3), deteniéndose solo al pulsar STOP o cerrar la aplicación. + +⚙️ Tecnologías Utilizadas + + Lenguaje: Python 3 + + GUI: Tkinter y Tkinter.ttk + + Hilos: threading y threading.Lock + + Monitorización: psutil (Procesos, Memoria, Red, Disco) + + Visualización: matplotlib (Integrado en Tkinter) + + Audio: pygame.mixer (para música y alarma) + + Red/Web: urllib.request y re (para scraping) + + Sistema: subprocess y os (para tareas batch) + +📦 Instalación y Ejecución + +Para ejecutar este proyecto, necesitarás instalar las dependencias clave. +1. Clonar el Repositorio +Bash + +git clone https://docs.github.com/es/repositories/creating-and-managing-repositories/quickstart-for-repositories +cd [nombre de tu repositorio] + +2. Crear un Entorno Virtual (Recomendado) +Bash + +python3 -m venv venv +source venv/bin/activate # En Linux/macOS +# .venv\Scripts\activate # En Windows + +3. Instalar Dependencias +Bash + +pip install psutil matplotlib pygame + +4. Requisitos de Audio y Scripts + +Asegúrate de tener estos archivos en el directorio raíz del proyecto: + + music.mp3 (Para música de fondo) + + alarm.mp3 (Para la notificación de alarma) + + backup_script.sh (El script de Bash que simula la copia de seguridad) + +5. Ejecutar el Programa +Bash + +python3 Proyecto.py \ No newline at end of file