Actualizar READEM.md
This commit is contained in:
parent
fbae815b1d
commit
dc342bd6c5
103
READEM.md
103
READEM.md
|
|
@ -1 +1,102 @@
|
|||
Hola mundi
|
||||
🚀 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
|
||||
Loading…
Reference in New Issue