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
  • 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
Guide
Vidéos
Tutoriels
FAQ
Notes de version
Salle de classe
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
Guide
Vidéos
Tutoriels
FAQ
Notes de version
Salle de classe
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • Guide
    • DÉMARREZ

      • Objets
      • Événements
      • Variables
      • Assistant de tâche
      • Système d'essai
      • Conception de l'étude
        • Tâches
        • Blocs
        • Sessions
        • Groupes
    • SUJETS EN VEDETTE

      • Randomisation & Équilibre
      • Suivi oculaire
      • Application de bureau
      • Études d'exemple
      • Recrutement de participants
      • Accès API
        • API REST
        • API Webhook
        • API WebSocket
      • Autres sujets

        • Temps de stimuli précis
        • Études multi-utilisateurs
        • Suivi de la Tête dans Labvanced | Guide
    • ONGLETS PRINCIPAUX DE L'APPLICATION

      • Vue d'ensemble : Onglets principaux
      • Tableau de bord
      • Mes études
      • Études partagées
      • Mes fichiers
      • Bibliothèque d'expériences
      • Mon compte
      • Ma licence
    • ONGLETS D'ÉTUDE

      • Vue d'ensemble : Onglets spécifiques à l'étude
      • Conception de l'étude
        • Tâches
        • Blocs
        • Sessions
        • Groupes
      • Éditeur de tâche
        • Fonctions Principales et Paramètres
        • Le Système d'Essais
        • Cadres de canevas et de page
        • Objets
        • Tables de Propriétés des Objets
        • Variables
        • Tables des variables système
        • Le Système d'Événements
        • Randomisation des Essais
        • Fonctions de l'Éditeur de Texte
        • Suivi oculaire dans une tâche
        • Suivi de la tête dans une tâche
        • Études Multi-Utilisateurs
      • Paramètres de l'étude
        • Démarrage et Paramètres Principaux
        • Paramètres des navigateurs et des appareils
        • Paramètres des fonctionnalités d'expérience
      • Description
        • Plus de détails sur les informations de description
        • Images, Liens et Références dans les Descriptions
      • Variables
      • Médias
      • Traduire
      • Exécuter
      • Publier et enregistrer
        • Exigences pour laPublication d'une Étude dans Labvanced
        • Recrutement de Participants et Crowdsourcing
        • Sélection et Confirmation de la Licence
        • Après la publication de votre étude Labvanced
      • Partage
      • Participants
      • Vue de données et exportation
        • Vue des données et sélection des variables & des tâches (ancienne version)
        • Accéder aux Enregistrements (Version ANCIENNE)
  • Vidéos
    • Vue d'ensemble des vidéos
    • Démarrer avec Labvanced
    • Création de tâches
    • Vidéos d'éléments
    • Événements & Variables
    • Sujets avancés
  • Guides pratiques
    • Introduction
    • Tâche de Stroop
    • Tâche de décision lexicale
    • Tâche de cueing visuel de Posner
    • Paradigme de clignotement de cécité au changement
    • Étude d'exemple de suivi oculaire
    • Étude de suivi oculaire des nourrissons
    • Étude de capture d'attention avec suivi de souris
    • Présentation visuelle sérielle rapide
    • Étude ChatGPT
    • Démonstration de suivi oculaire : SVG comme AOIs
    • Démonstration multi-utilisateur : Afficher les curseurs des sujets
    • Configuration de base du contrôleur de jeu/joystick
    • Étude d'application de bureau avec intégration EEG
  • FAQ
    • Fonctionnalités
    • Sécurité & Confidentialité des données
    • Licences
    • Précision de Labvanced
    • Utilisation programmatique & API
    • Utilisation de Labvanced hors ligne
    • Dépannage
    • Questions sur la création d'études
  • Notes de version
  • Salle de classe

API WebSocket

L'API WebSocket personnalisée vous permet de créer une connexion entre Labvanced et tout autre serveur pendant l'exécution. Cela permet essentiellement d'envoyer des données dans les deux sens entre le serveur Labvanced et l'autre serveur que vous spécifiez. Si vous avez besoin d'envoyer des données uniquement dans un sens (c'est-à-dire de les enregistrer directement sur votre serveur), consultez la documentation pour le Webhook API.

Quelques exemples d'expériences où l'API WebSocket peut être utilisée incluent les suivantes :

  • Une expérience où vous souhaitez envoyer/recevoir des déclencheurs expérimentaux (par exemple, début d'essai/stimulus ou réponse du participant) de Labvanced à un système EEG, un système de suivi des yeux, ou un autre dispositif d'enregistrement de données local.
  • Une expérience où vous souhaitez envoyer des données enregistrées en ligne sur Internet vers un autre serveur/API qui les traite (par exemple, un processus d'IA/apprentissage machine ou une analyse des données en temps réel).
  • Une expérience où vous souhaitez créer une communication bidirectionnelle entre Labvanced et un autre processus pouvant fonctionner localement ou à distance (par exemple, pour des systèmes BCI, de biofeedback ou d'autres systèmes en boucle fermée).

Dans le cas de la connexion de Labvanced avec un serveur local (comme pour la connexion de dispositifs), vous pouvez actuellement accomplir cela via des scripts simples (décrits ci-dessous) et en configurant des événements dans l'éditeur d'études Labvanced. À l'avenir, une solution intégrée dans l'application de bureau Labvanced sera disponible où vous pourrez établir cette connexion d'un simple clic de bouton.

Solution par Script

En utilisant des scripts, vous pouvez personnaliser un code Python de base qui nécessite que vous exécutiez le script et permet finalement la flexibilité de répondre aux besoins de recherche. En exécutant un script Python séparé, Labvanced communique avec l'API WebSocket et Python communique avec le dispositif externe.

La configuration de l'API WebSocket fonctionne en pointant vers un certain port et une certaine IP. Cela se reflète ensuite dans le code Python. En se pointant l'un vers l'autre, une ligne de communication est établie via l'API WebSocket.

NOTE : Pour visualiser la connexion, une interface graphique peut être utilisée pour ce processus semi-automatique.

Notre approche précédente (pour l'intégrer directement dans le programme Labvanced) était un peu trop limitée et difficile à faire fonctionner sur différents systèmes d'exploitation. Donc maintenant, avec ces nouveaux scripts Python, cela devrait fonctionner sur toutes les plateformes (Linux, MacOS, Windows) et il devrait être possible d'envoyer et de recevoir des données de flux LSL de manière bidirectionnelle.

Ce que vous devez faire pour essayer :

  1. Installez les 4 bibliothèques requises en utilisant quelque chose comme pip install -r requirements.txt
  2. Ensuite, vous pouvez démarrer en arrière-plan sur la même machine où l'expérience Labvanced sera lancée soit (pour recevoir des marqueurs LSL dans Labvanced) python3 lsl_marker_receive.py ou (pour envoyer des marqueurs LSL depuis Labvanced) python3 lsl_marker_send.py.

NOTE : Vous pouvez également facilement adapter ces scripts au cas où vous voudriez des paramètres LSL spécifiques ou des noms de flux.

Dans notre dépôt GitHub de l'API WebSocket, vous pouvez trouver deux scripts Python d'exemple pour envoyer ou recevoir des marqueurs LSL depuis/vers une expérience Labvanced dans le dossier Lab Streaming Layer, ainsi que des instructions plus détaillées sur la façon de configurer cela.

Vous pouvez également importer cette Exemple d'Étude de Connexion Socket depuis notre Bibliothèque d'Expériences Publiques et voir comment les événements sont configurés.

Exemples d'Expériences Utilisant l'API WebSocket pour l'Intégration LSL

Il y a deux études d'exemple dans la Bibliothèque d'Études Labvanced qui correspondent à ce qui précède :

  1. Envoi de Marqueurs LSL (lsl_marker_send.py) : https://www.labvanced.com/page/library/53231

  2. Réception de Marqueurs LSL (lsl_marker_receive.py) : https://www.labvanced.com/page/library/53230

Veuillez noter qu'en important ou en inspectant ces études d'exemple, vous verrez dans leurs “Paramètres d'Étude” sous la sous-section “Fonctionnalités de l'Expérience” que la case à cocher pour la "Connexion WebSocket" est cochée avec les détails de connexion pour s'assurer que l'expérience Labvanced peut se connecter au script Python exécuté sur le même ordinateur, comme le montre l'image ci-dessous :

L'option API WebSocket dans Labvanced

Prev
API Webhook