labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • 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
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • 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
Didacticiels
FAQ
Notes de version
Notes de version
Documents
Salle de classe
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Guide
Vidéos
Didacticiels
FAQ
Notes de version
Notes de version
Documents
Salle de classe
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Guide
    • COMMENCER

      • 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 et Équilibre
      • Suivi Oculaire
      • Questionnaires
      • Application de Bureau
      • Études Exemples
      • Recrutement de Participants
      • Accès API
        • API REST
        • API Webhook
        • API WebSocket
      • Autres Sujets

        • Chronométrage Précis des Stimuli
        • Études Multi Utilisateurs
        • Suivi de la Tête dans Labvanced | Guide
    • ONGLET PRINCIPAL DE L'APPLICATION

      • Aperçu: Onglets Principaux
      • Tableau de Bord
      • Mes Études
      • Études Partagées
      • Mes Fichiers
      • Bibliothèque d'Expériences
      • Mon Compte
      • Ma Licence
    • ONGLETS D'ÉTUDE

      • Aperçu: Onglets Spécifiques à l'Étude
      • Conception de l'Étude
        • Tâches
        • Blocs
        • Sessions
        • Groupes
      • Éditeur de Tâches
        • Fonctions Principales et Paramètres
        • Le Système d'Essai
        • 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
      • Variables
      • Médias
      • Textes et Traduire
      • Lancer et Participer
      • Gestion des Sujets
      • 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
    • Aperçu Vidéo
    • Commencer avec Labvanced
    • Créer des Tâches
    • Vidéos d'Éléments
    • Événements et Variables
    • Sujets Avancés
  • Guides
    • Introduction
    • Tâche de Stroop
    • Tâche de Décision Lexicale
    • Tâche de Cueillette de Regard de Posner
    • Paragraphe de Flic d'Agnosie
    • Étude Exemple de Suivi Oculaire
    • Étude de Suivi Oculaire de Nourrissons
    • Étude de Capture Attentionnelle avec Suivi de Souris
    • Présentation Visuelle Séquentielle Rapide
    • Étude ChatGPT
    • Démonstration de Suivi Oculaire: SVGs comme AOIs
    • Démonstration Multi-Utilisateur: Afficher les Curseurs des Sujets
    • Contrôleur de Jeu / Joystick - Configuration de Base
    • Étude Application de Bureau avec Intégration EEG
    • Équilibrage de Groupes entre Sujets et Configuration de Variables
  • FAQ
    • Fonctionnalités
    • Sécurité et Confidentialité des Données
    • Licences
    • Précision de Labvanced
    • Utilisation Programmatique et API
    • Utiliser Labvanced hors ligne
    • Dépannage
    • Questions sur la Création d'Études
  • Notes de Version
  • Documents
  • 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