> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elata.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# Empezando

> Conéctese a dispositivos de diadema EEG a través de Web Bluetooth

<a id="when-to-use-this-package" />

## Cuándo utilizar este paquete

Utilice `@elata-biosciences/eeg-web-ble` cuando su aplicación necesite:

* descubrimiento en el lado del navegador de dispositivos compatibles con Muse
* en vivo EEG streaming a través de Web Bluetooth
* marcos de diadema normalizados para la lógica de la aplicación o el análisis posterior

Instálalo junto a `@elata-biosciences/eeg-web`.

***

<a id="installation" />

## Instalación

```bash theme={null}
npm install @elata-biosciences/eeg-web-ble @elata-biosciences/eeg-web
```

`eeg-web-ble` depende de `eeg-web` para los tipos de marcos compartidos y el módulo WASM .

***

<a id="requirements" />

## Requisitos

* Navegador compatible con **Web Bluetooth** (Chrome/Edge en escritorio o Android)
* Servido desde un **contexto seguro** (`https://` o `localhost`)
* Safari/iOS **no** admite Web Bluetooth. Consulte [Dispositivo Muse](/es/sdk/eeg-web-ble/muse-device) para conocer alternativas

Verifique el soporte antes de mostrar el botón "Conectar":

```typescript theme={null}
import { checkWebBluetooth } from "@elata-biosciences/eeg-web-ble";

const support = checkWebBluetooth();
if (!support.supported) {
  showMessage(support.message); // explains why, including iOS-specific guidance
}
```

***

<a id="basic-usage" />

## Uso básico

`startStreaming()` es el valor predeterminado recomendado. Envuelve `connect()` y `start()` juntos y evita el error común de conectarse exitosamente pero nunca comenzar a transmitir.

```typescript theme={null}
import { initEegWasm, AthenaWasmDecoder } from "@elata-biosciences/eeg-web";
import { BleTransport } from "@elata-biosciences/eeg-web-ble";

// Initialize WASM first
await initEegWasm();

// Create transport
const transport = new BleTransport({
  deviceOptions: {
    athenaDecoderFactory: () => new AthenaWasmDecoder(),
  },
});

// Handle incoming EEG frames
transport.onFrame = (frame) => {
  console.log(`EEG samples: ${frame.eeg.samples.length} rows`);
  console.log(`Channels: ${frame.eeg.channelNames.join(", ")}`);
};

// Handle connection status changes
transport.onStatus = (status) => {
  console.log(`Transport: ${status.state}`, status.reason || "");
};

// Connect and start streaming (triggers Bluetooth device picker)
await transport.startStreaming();

// ... later
await transport.stop();
```

***

<a id="bletransport-lifecycle" />

## Ciclo de vida de BleTransport

| Método | que hace |
| - | - |
| `startStreaming()` | Recomendado: se conecta e inicia la transmisión en una sola llamada |
| `connect()` | Abre el selector de dispositivos Bluetooth, los empareja y prepara la sesión. |
| `start()` | Comienza el flujo de datos EEG ; `onFrame` fuego de devoluciones de llamada |
| `stop()` | Detiene el flujo de datos; la conexión permanece abierta |
| `disconnect()` | Libera la sesión de Bluetooth |

***

<a id="bletransportoptions" />

## Opciones de transporte de Ble

```typescript theme={null}
const transport = new BleTransport({
  sourceName: "my-app-ble",           // name tag in frame.source
  deviceOptions: {
    athenaDecoderFactory: () => new AthenaWasmDecoder(),  // for Athena headbands
    logger: (msg) => console.debug(msg),
    onDisconnected: () => console.warn("Device disconnected"),
  },
});
```

| Opción | Tipo | Descripción |
| - | - | - |
| `sourceName` | `string` | Identificador incluido en `HeadbandFrameV1.source` |
| `deviceOptions` | `MuseDeviceOptions` | Pasado al subyacente `MuseBleDevice` |
| `device` | `BleDeviceLike` | Inyectar una implementación de dispositivo personalizada |

***

<a id="athena-support" />

## Soporte de Atenas

Las diademas Muse S con firmware Athena requieren un decodificador Athena de fábrica. Inclúyalo desde el principio para mantener cubiertos tanto los flujos clásicos como los de Athena:

```typescript theme={null}
import { AthenaWasmDecoder } from "@elata-biosciences/eeg-web";
import { BleTransport } from "@elata-biosciences/eeg-web-ble";

const transport = new BleTransport({
  deviceOptions: {
    athenaDecoderFactory: () => new AthenaWasmDecoder(),
  },
});
```

Las diademas Athena proporcionan 8 EEG canales, óptica, acelerómetro/giroscopio y datos de batería en cada cuadro.

***

<a id="device-info" />

## Información del dispositivo

Después de conectarse, puede consultar los metadatos del dispositivo:

```typescript theme={null}
await transport.connect();

const isAthena = transport.getIsAthena();
const boardInfo = transport.getBoardInfo();
const channelNames = transport.getEegNames();
```

***

<a id="platform-caveats" />

## Advertencias sobre la plataforma

* Safari e iOS no proporcionan compatibilidad con Bluetooth web utilizable para este flujo de trabajo.
* Para Safari e iOS, utilice un shell BLE nativo, un puente complementario o una estrategia WebView híbrida con contratos de marco `@elata-biosciences/eeg-web` como límite.
* Las variantes de firmware pueden diferir en el comportamiento del comando.

***

<a id="next" />

## Siguiente

<CardGroup cols={2}>
  <Card title="Tutorial de transmisión en vivo" icon="circle-play" href="/es/sdk/tutorials/eeg-ble-live-stream">
    Guía de transmisión BLE paso a paso
  </Card>

  <Card title="Detalles del dispositivo Muse" icon="microchip" href="/es/sdk/eeg-web-ble/muse-device">
    Detalles del protocolo, características y compatibilidad.
  </Card>

  <Card title="EEG + Integración BLE" icon="link" href="/es/sdk/guides/eeg-ble-integration">
    Guía de procesamiento y transmisión de un extremo a otro
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.