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
    • Services
  • Technology
    • Feature Overview
    • Code-Free Study Building
    • Eye Tracking
    • Mouse Tracking
    • Generative AI Integration
    • Multi User Studies
    • More ...
      • Reaction Time/Precise Timing
      • Text Transcription
      • Heart Rate Detection (rPPG)
      • Emotion Detection
      • Questionnaires/Surveys
      • Experimental Control
      • Data Privacy & Security
      • Desktop App
      • Mobile App
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Licenses
    • Top-Up Recordings
    • Subject Recruitment
    • Study Building
    • Dedicated Support
    • Checkout
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
    • Third-Party Licenses
  • Appgo to app icon
  • Logingo to app icon
Learn
Anleitung
Videos
Anleitungen
Häufige Fragen
Newsletter-Archiv
Dokumente
Klassenzimmer
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Anleitung
Videos
Anleitungen
Häufige Fragen
Newsletter-Archiv
Dokumente
Klassenzimmer
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Leitfaden
    • ERSTE SCHRITTE

      • Aufgaben-Editor
      • Frames
        • Canvas-Rahmen
        • Seitenrahmen
        • Website-Rahmen
      • Versuchstimeline
      • Stimuluspräsentation
      • Richtigkeit der Antwort
      • Objekte
      • Ereignisse
      • Variablen
      • Aufgaben-Assistent
      • Versuchssystem
      • Experimentdesign
        • Eine Studie erstellen
        • Datenrahmenmuster
        • Multi-User Experiment Design
        • Längsschnitt-Experimentdesign
    • HERVORGEHOBENE THEMEN

      • Randomisierung & Balance
      • Eye Tracking
        • Präsentation von Stimuli in einer Eye-Tracking-Aufgabe
        • So wählen Sie die Kalibrierungseinstellungen für die Augenverfolgung
        • Einrichtung der Augenverfolgung in einer Aufgabe
        • Aufzeichnen und Exportieren von Blickdaten
        • Verwendung von Formen als Interessensgebiete (AOI) für Eye Tracking
        • Die Teilnehmerkalibrierungserfahrung
      • Web-Brücke
        • Auswahl von Website-AOIs | Anker, Anpassen und Überprüfen des AOI-Trackings
        • Verfolgen des Mausverhaltens auf einer Website-AOI | Web Bridge Anleitung
      • Fragebögen
      • Desktop-App
      • Beispielstudien
      • Teilnehmer Rekrutierung
      • API-Zugriff
        • REST API
        • Webhook-API
        • WebSocket API
      • Weitere Themen

        • Präzise Stimuluszeiten
        • Multi-User-Studien
        • Kopfverfolgung in Labvanced | Anleitung
    • HAUPTABLAUF REGISTER

      • Übersicht: Haupt-Register
      • Dashboard
      • Meine Studien
      • Geteilte Studien
      • Meine Dateien
      • Experimentbibliothek
      • Mein Konto
      • Lizenz & Dienstleistungen
    • STUDIEN REGISTER

      • Übersicht: Studien-spezifische Register
      • Studiengestaltung
        • Aufgaben
        • Blöcke
        • Sitzungen
        • Gruppen
      • Aufgaben-Editor
        • Task Controls
        • Das Versuchs-System
        • Frame-Typen
        • Objekte
        • Objekt Eigenschaften Tabellen
        • Variablen
        • Systemvariablen-Tabelle
        • Das Ereignissystem
        • Texteditor-Funktionen
        • Optionen für Augenverfolgung im Aufgabeneditor
        • Kopfverfolgung in einer Aufgabe
        • Multi-User-Studien
      • Einstellungen
      • Variablen
      • Medien
      • Texte & Übersetzen
      • Starten & Teilnehmen
      • Teilnehmer-Management
      • Datenausblick und Export
        • Datensicht und Variablen- & Aufgaben Auswahl (alte Version)
        • Zugriff auf Aufnahmen (ALTE Version)
  • Videos
    • Videoübersicht
    • Erste Schritte mit Labvanced
    • Aufgaben erstellen
    • Element-Videos
    • Ereignisse & Variablen
    • Fortgeschrittene Themen
  • Anleitungen
    • Einführung
    • Stroop-Aufgabe
    • Lexikalische Entscheidungsaufgabe
    • Posner Blickaufforderung Aufgabe
    • Change Blindness Flicker Paradigma
    • Augenverfolgungsbeispielstudie
    • Augenverfolgungsstudie mit Säuglingen
    • Aufmerksamkeitserfassung Studie mit Mausverfolgung
    • Schnelle serielle visuelle Präsentation
    • ChatGPT-Studie
    • Augenverfolgungsdemo: SVGs als AOIs
    • Multi-User-Demo: Zeigen Sie die Cursorn der Teilnehmer
    • Gamepad / Joystick-Controller - Grundlegende Einrichtung
    • Desktop-App-Studie mit EEG-Integration
    • Gruppenbalancierung und Variablen-Setup zwischen den Probanden
    • Bau einer Multi-User-Studie
    • Website-Rahmen Augenverfolgungsanleitung
    • Bedingte Webcam-Augenverfolgung
  • FAQ
    • Funktionen
    • Support-Richtlinien & -Leitlinien
    • Sicherheit & Datenschutz
    • Lizenzierung
    • Präzision von Labvanced
    • Programmgesteuerte Nutzung & API
    • Labvanced offline verwenden
    • Fehlerbehebung
    • Fragen zur Studienerstellung
  • Newsletter-Archiv
  • Dokumente
  • Klassenzimmer

WebSocket API

Die benutzerdefinierte WebSocket-API ermöglicht es Ihnen, während der Laufzeit eine Verbindung zwischen Labvanced und einem anderen Server herzustellen. Dies erlaubt grundsätzlich die Möglichkeit, Daten in beide Richtungen zwischen dem Labvanced-Server und dem anderen von Ihnen angegebenen Server zu senden. Wenn Sie Daten nur in eine Richtung senden müssen (d.h. diese direkt auf Ihrem Server zu speichern), lesen Sie die Dokumentation zur Webhook-API.

Einige Beispiele für Experimente, in denen die WebSocket-API genutzt werden kann, sind die folgenden:

  • Ein Experiment, in dem Sie experimentelle Auslöser (z.B. Beginn von Versuchsreihen/Stimulation oder Teilnehmerantwort) von Labvanced an ein EEG-System, Eye-Tracking-System oder ein anderes lokales Datenerfassungsgerät senden/empfangen möchten.
  • Ein Experiment, in dem Sie online aufgezeichnete Daten über das Internet an einen anderen Server/API senden möchten, der sie verarbeitet (z.B. ein KI/Maschinenlernprozess oder Echtzeitanalyse von Daten).
  • Ein Experiment, in dem Sie eine bidirektionale Kommunikation zwischen Labvanced und einem anderen Prozess erstellen möchten, der lokal oder remote laufen kann (z.B. für BCI, Biofeedback oder andere geschlossene Systeme).

Im Fall der Verbindung von Labvanced mit einem lokalen Server (z.B. zur Verbindung von Geräten) können Sie dies derzeit über einfache Skripte (unten beschrieben) und durch Einrichten von Ereignissen im Labvanced-Studieneditor erreichen. In Zukunft wird eine integrierte Lösung in der Labvanced-Desktop-Anwendung verfügbar sein, bei der Sie diese Verbindung mit einem einzigen Klick herstellen können.

Skriptlösung

Mit Skripten können Sie grundlegenden Python-Code anpassen, der es erfordert, das Skript auszuführen und letztendlich die Flexibilität bietet, um den Forschungsbedürfnissen gerecht zu werden. Durch die Ausführung eines separaten Python-Skripts kommuniziert Labvanced mit der WebSocket-API und Python kommuniziert mit dem externen Gerät.

Die Konfiguration der WebSocket-API funktioniert, indem auf einen bestimmten Port und eine bestimmte IP verwiesen wird. Dies wird dann im Python-Code reflektiert. Indem sie aufeinander verweisen, wird eine Kommunikationslinie durch die WebSocket-API hergestellt.

HINWEIS: Um die Verbindung anzuzeigen, kann eine GUI für diesen halbautomatischen Prozess verwendet werden.

Unser vorheriger Ansatz (um es direkt im Labvanced-Programm einzubetten) war etwas zu eingeschränkt und schwer in verschiedenen Betriebssystemen zum Laufen zu bringen. Mit diesen neuen Python-Skripten sollte es jetzt auf allen Plattformen (Linux, MacOS, Windows) funktionieren und es sollte möglich sein, LSL-Streamdaten bidirektional zu senden und zu empfangen.

Was Sie tun müssen, um es auszuprobieren:

  1. Installieren Sie die 4 erforderlichen Bibliotheken mit etwas wie pip install -r requirements.txt
  2. Dann können Sie im Hintergrund auf demselben Computer, auf dem das Labvanced-Experiment gestartet wird, entweder (um LSL-Marker in Labvanced zu empfangen) python3 lsl_marker_receive.py oder (um LSL-Marker von Labvanced zu senden) python3 lsl_marker_send.py starten.

HINWEIS: Sie können diese Skripte auch leicht anpassen, falls Sie spezifische LSL-Parameter oder Streamnamen wünschen.

In unserem GitHub-WebSocket-API-Repository, finden Sie zwei Beispiel-Python-Skripte zum Senden oder Empfangen von LSL-Markern von/zu einem Labvanced-Experiment im Lab Streaming Layer -Ordner sowie detailliertere Anleitungen, wie Sie dies einrichten können.

Sie können auch diese Socket Connection Sample Study aus unserer Public Experiment Library importieren und sehen, wie die Ereignisse eingerichtet sind.

Beispiele für Experimente, die die WebSocket-API zur LSL-Integration nutzen

Es gibt zwei Beispielsstudien in der Labvanced-Studienbibliothek, die mit den oben genannten übereinstimmen:

  1. Senden von LSL-Markers (lsl_marker_send.py): https://www.labvanced.com/page/library/53231

  2. Empfangen von LSL-Markers (lsl_marker_receive.py): https://www.labvanced.com/page/library/53230

Bitte beachten Sie, dass Sie beim Importieren oder Prüfen dieser Beispielsstudien in den „Studieneinstellungen“ unter der Untersektion „Experiment-Funktionen“ sehen, dass das Kontrollkästchen für die "WebSocket-Verbindung" aktiviert ist, mit Verbindungsdetails, um sicherzustellen, dass das Labvanced-Experiment mit dem auf demselben Computer laufenden Python-Skript verbunden werden kann, wie im Bild unten gezeigt:

Die WebSocket-API-Option in Labvanced

Prev
Webhook-API