Conectar Streamlit
En este artículo, recorreremos el proceso de crear un panel usando Streamlit. Para que sea más ilustrativo, crearemos un panel que se conecta a la base de datos analítica y supervisa el estado en tiempo real de los vehículos.
Características del panel
Mostrar número total de objetos
Visualizar estados de movimiento (en movimiento/detenido/aparcado)
Visualizar estados de conexión (activo/inactivo/desconectado)
Tabla detallada con el estado actual de todos los vehículos
Filtrado por tipo de vehículo, grupo, estado de movimiento y estado de conexión
Actualización automática de datos cada 5 minutos
Alternar entre temas claro y oscuro
Requisitos técnicos
Python 3.8+
Acceso a Internet para la conexión a la base de datos
Mínimo 2 GB de RAM
Instalación y configuración
1. Clonar el repositorio
git clone https://github.com/SquareGPS/bi-intergrations.git2. Crear un entorno virtual
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/macOS
python -m venv venv
source venv/bin/activateAsegúrese de tener Python 3.8 o superior instalado. Puede comprobar la versión con el comando python --version.
3. Instalar dependencias
Después de activar el entorno virtual, instale todas las bibliotecas necesarias:
pip install -r requirements.txtConexión a la base de datos
1. Crear un archivo de configuración
Crear un .env archivo en el directorio raíz del proyecto:
DB_HOST=your_db_host
DB_NAME=your_db_name
DB_USER=your_db_user
DB_PASS=your_db_password
DB_PORT=5432
DB_SCHEMA=raw_business_dataReferencia de parámetros de conexión
Host
DB_HOST en .env archivo
La dirección del servidor de base de datos proporcionada en su correo electrónico de bienvenida
Puerto
DB_PORT en .env archivo
El valor predeterminado es 5432 para PostgreSQL
Nombre de la base de datos
DB_NAME en .env archivo
El nombre de base de datos asignado
Nombre de usuario
DB_USER en .env archivo
Su nombre de usuario de la base de datos
Contraseña
DB_PASS en .env archivo
Su contraseña segura de la base de datos
Modo SSL
Cadena de conexión en código Python
Establecer en require en la cadena de conexión
Esquema
DB_SCHEMA en .env archivo
Especifique el esquema (raw_business_data o raw_telematics_data)
2. Obtención de credenciales
Solicite credenciales para conectarse a la base de datos de demostración contactando al administrador.
Ejecución del panel
Después de configurar la conexión a la base de datos, inicie el panel con el comando:
streamlit run moving_status_dashboard.pyDespués de iniciar, verá un mensaje similar a:
Ahora puede ver su aplicación Streamlit en su navegador.
URL local: http://localhost:8501
URL de red: http://192.168.1.5:8501Abra la URL indicada en su navegador. El panel estará disponible en http://localhost:8501 (o en la URL de red si desea abrirlo desde otro dispositivo en la red).
Desarrollando componentes personalizados
Si desea modificar el panel o crear nuevos componentes:
1. Modificar el panel existente
Streamlit recarga automáticamente la aplicación cuando cambia el código fuente. Simplemente edite el moving_status_dashboard.py archivo y guarde sus cambios.
2. Agregar nuevas visualizaciones
Para añadir nuevos gráficos y diagramas, utilice bibliotecas:
Plotly:
import plotly.express as pxoimport plotly.graph_objects as goVisualizaciones integradas de Streamlit:
st.bar_chart(),st.line_chart(), etc.
Ejemplo de añadir un nuevo gráfico:
import plotly.express as px
# Obtener datos de la base de datos
df = ... # your database query
# Crear gráfico
fig = px.pie(df, values='count', names='status', title='Vehicle Statuses')
st.plotly_chart(fig, use_container_width=True)3. Depuración
Para la depuración, use
# Salida a la interfaz de Streamlit
st.write(f"Debug: {your_variable}")
# Salida a la consola
print(f"Console debug: {your_variable}")
# Salida de datos ampliada
st.json(data_dict)
st.dataframe(pandas_dataframe)Resolución de problemas
Problemas de conexión a la base de datos
Error de conexión: Compruebe la corrección de las credenciales en el
.envarchivo y la disponibilidad de la base de datosError SSL: Asegúrese de que su IP esté en la lista de permitidos para el acceso a la base de datos
Errores de tiempo de espera: Compruebe la estabilidad de su conexión a Internet y la configuración del cortafuegos
Problemas de dependencias
Error al instalar psycopg2-binary:
Windows:
pip install pipwin && pipwin install psycopg2-binaryLinux:
sudo apt install python3-dev libpq-devmacOS:
brew install postgresql
Conflictos de dependencias:
Crear un nuevo entorno virtual
Instalar dependencias una por una, comenzando con streamlit
Otros problemas
Aquí hay algunos trucos que pueden ayudarle a solucionar problemas comunes:
Actualizar dependencias:
pip install -r requirements.txt --upgradeComprobar compatibilidad de Python:
python --version(debe ser 3.8+)Al cambiar el código, incluya mensajes de depuración:
st.write(f"Debug: {your_variable}")Errores de caché de Streamlit: detenga la aplicación y ejecute con el
--clear_cacheflag:
streamlit run moving_status_dashboard.py --clear_cachePróximos pasos
Después de conectar correctamente Power BI a su instancia Private Telematics Lakehouse, le recomendamos:
Explore los esquemas de datos disponibles revisando la Descripción general del esquema sección para comprender mejor la estructura de los datos y las relaciones.
Comience con consultas sencillas centradas en entidades comerciales específicas antes de crear paneles complejos: consulte nuestras consultas de ejemplo como referencia.
Soporte
Para preguntas técnicas o solicitudes de acceso a la base de datos de demostración, póngase en contacto con: [email protected]
Última actualización
¿Te fue útil?