> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/analytics/es/iot-query/connection-setup/selecting-bi-tools/connecting-streamlit.md).

# Conectar Streamlit

Cree aplicaciones personalizadas de Streamlit conectadas a IoT Query mediante PostgreSQL. Consulte datos del rastreador en Python y muestre el estado en vivo de la flota en paneles personalizados

En este artículo, recorreremos el proceso de crear un panel usando Streamlit. Para hacerlo más ilustrativo, crearemos un panel que se conecta a la base de datos analítica y monitorea el estado en tiempo real de los vehículos.

{% hint style="info" %}
Esta guía forma parte de la **IoT Query** suite de documentación y cubre específicamente la conexión de Power BI con su almacén de datos. Si todavía está decidiendo qué herramienta de BI usar, consulte la [Seleccionar herramientas de BI](/docs/analytics/es/iot-query/connection-setup/selecting-bi-tools.md) visión general.
{% endhint %}

## Características del panel

* Mostrar el número total de objetos
* Visualizar estados de Movimiento (En movimiento/Detenido/Aparcado)
* Visualizar los estados de conexión (activo/inactivo/fuera de línea)
* 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. Clone el repositorio

```sh
git clone https://github.com/Navixy/bi-integrations.git
```

### 2. Cree un entorno virtual

```
# Windows
python -m venv venv
venv\Scripts\activate

# Linux/macOS
python -m venv venv
source venv/bin/activate
```

{% hint style="danger" %}
Asegúrese de tener instalado Python 3.8 o superior. Puede verificar la versión con el comando `python --version`.
{% endhint %}

### 3. Instalar dependencias

Después de activar el entorno virtual, instale todas las bibliotecas necesarias:

```sh
pip install -r requirements.txt
```

## Conexión a la base de datos

### 1. Crear un archivo de configuración

Cree 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_data
```

#### Referencia de parámetros de conexión

<table><thead><tr><th width="188.81817626953125">Parámetro de Lakehouse</th><th>Ubicación de la configuración de Streamlit</th><th>Notas</th></tr></thead><tbody><tr><td><strong>Host</strong></td><td><code>DB_HOST</code> en <code>.env</code> archivo</td><td>La dirección del servidor de la base de datos proporcionada en su correo de bienvenida</td></tr><tr><td><strong>Puerto</strong></td><td><code>DB_PORT</code> en <code>.env</code> archivo</td><td>El valor predeterminado es 5432 para PostgreSQL</td></tr><tr><td><strong>Nombre de la base de datos</strong></td><td><code>DB_NAME</code> en <code>.env</code> archivo</td><td>El nombre asignado a su base de datos</td></tr><tr><td><strong>Nombre de usuario</strong></td><td><code>DB_USER</code> en <code>.env</code> archivo</td><td>Su nombre de usuario de la base de datos</td></tr><tr><td><strong>Contraseña</strong></td><td><code>DB_PASS</code> en <code>.env</code> archivo</td><td>Su contraseña segura de la base de datos</td></tr><tr><td><strong>Modo SSL</strong></td><td>Cadena de conexión en código Python</td><td>Establezca en <strong>require</strong> en la cadena de conexión</td></tr><tr><td><strong>Esquema</strong></td><td><code>DB_SCHEMA</code> en <code>.env</code> archivo</td><td>Especifique el esquema (<strong>raw_business_data</strong> o <strong>raw_telematics_data</strong>)</td></tr></tbody></table>

### 2. Obtener credenciales

Solicite las credenciales para conectarse a la base de datos de demostración contactando al administrador.

{% hint style="info" %}
El `.env` El archivo no debe incluirse en el control de versiones (GitHub) para garantizar la seguridad de las credenciales. El `.gitignore` el archivo ya está configurado para excluir este archivo.
{% endhint %}

## Ejecutar el panel de control

Después de configurar la conexión a la base de datos, inicie el panel con el comando:

```
streamlit run En movimiento_status_dashboard.py
```

Después de iniciarlo, verá un mensaje similar a:

```
  Ahora puede ver su aplicación de Streamlit en su navegador.

  URL local: http://localhost:8501
  URL de red: http://192.168.1.5:8501
```

Abra la URL especificada 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).

## Desarrollo de componentes personalizados

Si desea modificar el panel de control o crear nuevos componentes:

### 1. Modificar el panel de control existente

Streamlit recarga automáticamente la aplicación cuando cambia el código fuente. Simplemente edite el `En movimiento_status_dashboard.py` archive y guarde sus cambios.

### 2. Agregar nuevas visualizaciones

Para agregar nuevos gráficos y diagramas, use las bibliotecas:

* Plotly: `import plotly.express as px` o `import plotly.graph_objects as go`
* Visualizaciones integradas de Streamlit: `st.bar_chart()`, `st.line_chart()`, etc.

Ejemplo de agregar un nuevo gráfico:

```python
import plotly.express as px

# Obtenga los datos de la base de datos
df = ... # su consulta a la base de datos

# Cree el gráfico
fig = px.pie(df, values='count', names='status', title='Estados del vehículo')
st.plotly_chart(fig, use_container_width=True)
```

### 3. Depuración

Para la depuración, use

```python
# Imprima en la interfaz de Streamlit
st.write(f"Depuración: {your_variable}")

# Imprima en la consola
print(f"Depuración en consola: {your_variable}")

# Salida de datos ampliada
st.json(data_dict)
st.dataframe(pandas_dataframe)
```

## Solución de problemas

### Problemas de conexión a la base de datos

* **Error de conexión:** Verifique la corrección de las credenciales en el `.env` archivo y la disponibilidad de la base de datos
* **Error de SSL:** Asegúrese de que su IP esté en la lista de acceso permitido para la base de datos
* **Errores de tiempo de espera:** Verifique la estabilidad de su conexión a internet y la configuración del firewall

### Problemas de dependencias

**Error al instalar psycopg2-binary:**

* Windows: `pip install pipwin && pipwin install psycopg2-binary`
* Linux: `sudo apt install python3-dev libpq-dev`
* macOS: `brew install postgresql`

**Conflictos de dependencias:**

* Cree un nuevo entorno virtual
* Instale las dependencias una por una, empezando por streamlit

### Otros problemas

Aquí hay algunos trucos que pueden ayudarle a corregir problemas comunes:

1. Actualice las dependencias: `pip install -r requirements.txt --upgrade`
2. Verifique la compatibilidad con Python: `python --version` (debe ser 3.8+)
3. Al modificar el código, incluya mensajes de depuración:

```
st.write(f"Depuración: {your_variable}")
```

4. Errores de caché de Streamlit: detenga la aplicación y ejecútela con `--clear_cache` bandera:

```
streamlit run moving_status_dashboard.py --clear_cache
```

## Próximos pasos

Después de conectar correctamente Power BI a su instancia de Private Telematics Lakehouse, le recomendamos que:

* Explore los esquemas de datos disponibles revisando la [Visión general del esquema](/docs/analytics/es/iot-query/schema-overview.md) sección para comprender mejor la estructura y las relaciones de los datos.
* Empiece con consultas sencillas enfocadas en entidades de negocio específicas antes de crear paneles complejos - consulte nuestras [consultas de ejemplo](/docs/analytics/es/example-queries.md) como referencia.

### **Soporte**

Para preguntas técnicas o solicitudes de acceso a la base de datos de demostración, comuníquese con: <support@squaregps.com>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/analytics/es/iot-query/connection-setup/selecting-bi-tools/connecting-streamlit.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
