{"id":24520429,"url":"https://github.com/humol-e/graficator","last_synced_at":"2025-10-26T07:06:30.380Z","repository":{"id":277045842,"uuid":"931153154","full_name":"Humol-e/graficator","owner":"Humol-e","description":"Herramienta para la graficación de datos en tiempo real de manera serial desde distintos sensores con microcontroladores mediante la lectura serial de datos.","archived":false,"fork":false,"pushed_at":"2025-02-19T20:41:15.000Z","size":8836,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-31T06:44:00.686Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://graficator.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Humol-e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-11T19:57:11.000Z","updated_at":"2025-03-10T05:30:12.000Z","dependencies_parsed_at":"2025-03-15T11:54:31.738Z","dependency_job_id":null,"html_url":"https://github.com/Humol-e/graficator","commit_stats":null,"previous_names":["humol-e/graficator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Humol-e/graficator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Humol-e%2Fgraficator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Humol-e%2Fgraficator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Humol-e%2Fgraficator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Humol-e%2Fgraficator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Humol-e","download_url":"https://codeload.github.com/Humol-e/graficator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Humol-e%2Fgraficator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281069761,"owners_count":26438689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","graphs","microcontroller","streamlit"],"created_at":"2025-01-22T02:22:34.143Z","updated_at":"2025-10-26T07:06:30.348Z","avatar_url":"https://github.com/Humol-e.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Creado por Emiliano Castro @humole.jpg\n\nHerramienta para la graficación de datos en tiempo real de manera inalámbrica desde distintos sensores con microcontroladores mediante la lectura serial de datos.\n\nUtiliza una frecuencia de 19200 bauds.\n\n### INSTALAR\n\n```bash\n git clone https://github.com/Humol-e/graficator.git\n```\n```bash\n streamlit run graficator.py\n```\n#### Data string Ejemplo\n```bash\n 13:19:03.490 -\u003e  29.57| 49.08| 30.68 | 25.79 |-109.00 |23.30 | 0 | 162 |  -0.35 | 32.52 |17.21 |-4.88 |-28.99 |90.31 |-11.43 |-33.10 |90.79 |-14.94 |959\n```\n\n\n### ALGORITMO \nSe importan varias librerías necesarias para la visualización de datos, manejo de datos, comunicación serial y configuración de la aplicación Streamlit.\nConfiguración Inicial de Streamlit:\n\nSe configura la página de Streamlit con un diseño amplio y un estado inicial de la barra lateral expandido.\nSe establece el título de la aplicación y se añade una imagen en la barra lateral.\nDefinición de Funciones:\n\nget_available_ports(): Obtiene y devuelve una lista de puertos seriales disponibles.\nprocesar_linea_serial(linea): Procesa una línea de datos recibida del puerto serial, separa los valores y los convierte en un diccionario.\nleer_lote_serial(ser, lote_size): Lee un lote de líneas de datos del puerto serial.\nmostrar_graficas(df, selected_tags): Muestra las gráficas seleccionadas por el usuario.\nvelocigaugevertical(df): Muestra un indicador de velocidad vertical.\nvelocigaugehorizontal(df): Muestra un indicador de velocidad horizontal.\nmostrar_tabla(df): Muestra la tabla completa de datos.\nmostrar_filtro(df_filtrado): Muestra la tabla filtrada de datos.\nInterfaz de Usuario:\n\nSe crean dos columnas para seleccionar el puerto COM y los datos a procesar.\nSe inicializa un DataFrame con las columnas seleccionadas por el usuario.\nSe crea un botón para iniciar la lectura de datos.\nLectura y Procesamiento de Datos:\n\nSi se presiona el botón de iniciar lectura, se abre el puerto serial seleccionado.\nEn un bucle infinito, se leen lotes de líneas de datos del puerto serial.\nCada línea se procesa y se convierte en un diccionario de datos.\nLos datos procesados se añaden al DataFrame.\nSe actualizan las visualizaciones y tablas en la interfaz de usuario.\nManejo de Errores:\n\nSe manejan posibles errores al abrir el puerto serial y al procesar las líneas de datos.\nAlgoritmo General:\nInicialización:\n\nImportar librerías.\nConfigurar Streamlit.\nDefinir funciones auxiliares.\nInterfaz de Usuario:\n\nMostrar opciones para seleccionar puerto COM y datos a procesar.\nInicializar DataFrame.\nLectura de Datos:\n\nAbrir puerto serial.\nEn un bucle infinito:\nLeer lote de líneas del puerto serial.\nProcesar cada línea.\nAñadir datos procesados al DataFrame.\nActualizar visualizaciones y tablas.\nManejo de Errores:\n\nCapturar y mostrar errores relacionados con el puerto serial y el procesamiento de datos.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhumol-e%2Fgraficator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhumol-e%2Fgraficator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhumol-e%2Fgraficator/lists"}