labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Behavioral Psychology
      • Personality & Social Psychology
      • Cognitive & Neuro Psychology
      • Developmental & Educational Psychology
      • Clinical & Health Psychology
      • Sports & Movement Psychology
      • Marketing & Consumer Psychology
    • Labvanced Blog
  • Technology
    • Feature Overview
    • Desktop App
    • Phone App
    • Precise Timing
    • Experimental Control
    • Eye Tracking
    • Multi User Studies
    • More ...
      • Questionnaires
      • Artificial Intelligence (AI) Integration
      • Mouse Tracking
      • Data Privacy & Security
      • Text Transcription
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Public Experiment Library
    • Labvanced Sample Studies
  • Pricing
    • Pricing Overview
    • License Configurator
    • Single License
    • Research Group
    • Departments & Consortia
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
  • Appgo to app icon
  • Logingo to app icon
Learn
Guía
Videos
Tutoriales
Preguntas Frecuentes
Notas de la Versión
Aula
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Guía
Videos
Tutoriales
Preguntas Frecuentes
Notas de la Versión
Aula
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Guía
    • EMPEZANDO

      • Objetos
      • Eventos
      • Variables
      • Asistente de Tareas
      • Sistema de Ensayos
      • Diseño del Estudio
        • Tareas
        • Bloques
        • Sesiones
        • Grupos
    • TEMAS DESTACADOS

      • Aleatorización y Equilibrio
      • Seguimiento Ocular
      • Cuestionarios
      • Aplicación de Escritorio
      • Estudios de Muestra
      • Reclutamiento de Participantes
      • Acceso a API
        • REST API
        • API de Webhook
        • API de WebSocket
      • Otros Temas

        • Tiempos de Estímulo Precisos
        • Estudios Multi Usuario
        • Seguimiento de Cabeza en Labvanced | Guía
    • PESTAÑAS PRINCIPALES DE LA APLICACIÓN

      • Descripción: Pestañas Principales
      • Tablero
      • Mis Estudios
      • Estudios Compartidos
      • Mis Archivos
      • Biblioteca de Experimentos
      • Mi Cuenta
      • Mi Licencia
    • PESTAÑAS DEL ESTUDIO

      • Descripción: Pestañas Específicas del Estudio
      • Diseño del Estudio
        • Tareas
        • Bloques
        • Sesiones
        • Grupos
      • Editor de Tareas
        • Funciones Principales y Configuraciones
        • El Sistema de Ensayos
        • Marcos de Canvas y Página
        • Objetos
        • Tablas de Propiedades de Objetos
        • Variables
        • Tablas de Variables del Sistema
        • El Sistema de Eventos
        • Aleatorización de Ensayos
        • Funciones del Editor de Texto
        • Seguimiento ocular en una tarea
        • Seguimiento de la Cabeza en una Tarea
        • Estudios de Múltiples Usuarios
      • Configuraciones del Estudio
        • Configuración de Inicio y Ajustes Principales
        • Configuración de Navegadores y Dispositivos
        • Configuración de Características del Experimento
      • Descripción
        • Más detalles sobre la información de descripción
        • Imágenes, Enlaces y Referencias en Descripciones
      • Variables
      • Medios
      • Traducir
      • Ejecutar
      • Publicar y Grabar
        • Requisitos para Publicar un Estudio en Labvanced
        • Reclutamiento de Participantes y Crowdsourcing
        • Selección y Confirmación de Licencias
        • Después de Publicar Su Estudio de Labvanced
      • Compartir
      • Participantes
      • Vista de Datos y Exportación
        • Vista de Datos y Selección de Variables y Tareas (Versión ANTIGUA)
        • Accediendo a Grabaciones (Versión ANTERIOR)
  • Videos
    • Descripción del Video
    • Introducción a Labvanced
    • Creando Tareas
    • Videos de Elementos
    • Eventos y Variables
    • Temas Avanzados
  • Guías
    • Introducción
    • Tarea de Stroop
    • Tarea de Decisión Léxica
    • Tarea de Señalización de Gaze de Posner
    • Paradigma de Parpadeo de Ceguera por Cambio
    • Estudio de Seguimiento Ocular de Muestra
    • Estudio de Seguimiento Ocular de Infantes
    • Estudio de Captura Atencional con Seguimiento de Ratón
    • Presentación Visual Serial Rápida
    • Estudio de ChatGPT
    • Demostración de Seguimiento Ocular: SVG como AOIs
    • Demostración Multi-Usuario: Mostrar los Cursor de los Sujetos
    • Controlador de Gamepad / Joystick - Configuración Básica
    • Estudio con Aplicación de Escritorio e Integración de EEG
    • Equilibrio de Grupos entre Sujetos y Configuración de Variables
  • FAQ
    • Características
    • Seguridad y Privacidad de Datos
    • Licencias
    • Precisión de Labvanced
    • Uso Programático y API
    • Uso de Labvanced sin Conexión
    • Resolución de Problemas
    • Preguntas sobre Creación de Estudios
  • Notas de Lanzamiento
  • Aula

API de WebSocket

La API de WebSocket personalizada te permite crear una conexión entre Labvanced y cualquier otro servidor durante el tiempo de ejecución. Esto permite, esencialmente, la posibilidad de enviar datos en ambas direcciones entre el servidor de Labvanced y el otro servidor que especifiques. Si necesitas enviar datos solo en una dirección (es decir, guardándolos directamente en tu servidor), consulta la documentación de la API de Webhook.

Algunos ejemplos de experimentos donde se puede utilizar la API de WebSocket incluyen lo siguiente:

  • Un experimento donde deseas enviar/recibir desencadenantes experimentales (por ejemplo, inicio de prueba/estímulo o respuesta del participante) desde Labvanced a un sistema EEG, sistema de seguimiento ocular o algún otro dispositivo de grabación de datos local.
  • Un experimento donde deseas enviar datos grabados en línea a través de internet a algún otro servidor/API que los procese (por ejemplo, algún proceso de IA/aprendizaje automático o análisis de datos en tiempo real).
  • Un experimento donde deseas crear comunicación bidireccional entre Labvanced y algún otro proceso que pueda ejecutarse localmente o de forma remota (por ejemplo, para BCI, biofeedback u otros sistemas de control cerrado).

En el caso de conectar Labvanced con un servidor local (como para conectar dispositivos), actualmente puedes lograr esto mediante scripts simples (descritos a continuación) y configurando eventos en el editor de estudios de Labvanced. En el futuro, estará disponible una solución integrada en la aplicación de escritorio de Labvanced donde podrás establecer esta conexión con solo hacer clic en un botón.

Solución de Script

Usando scripts, puedes personalizar código básico en Python que requiere que ejecutes el script y, en última instancia, permite la flexibilidad para satisfacer las necesidades de investigación. Al ejecutar un script de Python separado, Labvanced se comunica con la API de WebSocket y Python se comunica con el dispositivo externo.

La configuración de la API de WebSocket funciona apuntando a un cierto puerto e IP. Luego, esto se refleja en el código de Python. Al apuntar el uno al otro, se establece una línea de comunicación a través de la API de WebSocket.

NOTA: Para ver la conexión, se puede usar una GUI para este proceso semi-automático.

Nuestro enfoque anterior (para integrarlo directamente en el programa Labvanced) era un poco limitado y difícil de hacer funcionar en diferentes sistemas operativos. Así que ahora, con estos nuevos scripts de Python, debería funcionar en todas las plataformas (Linux, MacOS, Windows) y debería ser posible enviar y recibir datos de flujo LSL de forma bidireccional.

Lo que necesitas hacer para probarlo:

  1. Instala las 4 bibliotecas requeridas usando algo como pip install -r requirements.txt
  2. Luego puedes iniciar en segundo plano en la misma máquina donde se iniciará el experimento de Labvanced ya sea (para recibir marcadores LSL en Labvanced) python3 lsl_marker_receive.py o (para enviar marcadores LSL desde Labvanced) python3 lsl_marker_send.py.

NOTA: También puedes adaptar fácilmente estos scripts en caso de que desees parámetros LSL específicos o nombres de flujo.

En nuestro repositorio de API de WebSocket en GitHub, puedes encontrar dos scripts de Python de ejemplo para enviar o recibir marcadores LSL desde/hacia un experimento de Labvanced en la carpeta de Lab Streaming Layer, así como instrucciones más detalladas sobre cómo configurarlo.

También puedes importar este Ejemplo de Estudio de Conexión de Socket de nuestra Biblioteca de Experimentos Públicos y ver cómo se configuran los eventos.

Ejemplos de Experimentos que Utilizan la API de WebSocket para la Integración de LSL

Hay dos estudios de ejemplo en la Biblioteca de Estudios de Labvanced que corresponden a lo anterior:

  1. Enviar Marcadores LSL (lsl_marker_send.py): https://www.labvanced.com/page/library/53231

  2. Recibir Marcadores LSL (lsl_marker_receive.py): https://www.labvanced.com/page/library/53230

Por favor, ten en cuenta que al importar o inspeccionar estos estudios de ejemplo, verás en su "Configuración del Estudio" bajo la subsección "Características del Experimento" que la casilla para la "Conexión WebSocket" está marcada con detalles de conexión para asegurarte de que el experimento de Labvanced pueda conectarse al script de Python que se está ejecutando en la misma computadora, como se muestra en la imagen a continuación:

La opción de API de WebSocket en Labvanced

Prev
API de Webhook