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
      • Heart Rate Detection (rPPG)
  • 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
Leitfaden
Videos
Anleitungen
Häufige Fragen
Versionshinweise
Versionshinweise
Dokumente
Klassenzimmer
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Leitfaden
Videos
Anleitungen
Häufige Fragen
Versionshinweise
Versionshinweise
Dokumente
Klassenzimmer
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Leitfaden
    • EINSTIEG

      • Aufgaben-Editor
      • Objekte
      • Ereignisse
      • Variablen
      • Aufgaben-Assistent
      • Versuchs-System
      • Studien-Design
        • Aufgaben
        • Blöcke
        • Sitzungen
        • Gruppen
    • BELIEBTE THEMEN

      • Randomisierung & Balance
      • Augenverfolgung
      • Fragebögen
      • Desktop-App
      • Beispielstudien
      • Teilnehmerrekrutierung
      • API-Zugriff
        • REST API
        • Webhook-API
        • WebSocket API
      • Sonstige Themen

        • Präzise Stimulus-Zeitmessungen
        • Multi-User-Studien
        • Kopfverfolgung in Labvanced | Anleitung
    • HAUPT-APPS-REITER

      • Übersicht: Haupt-Registerkarten
      • Dashboard
      • Meine Studien
      • Gemeinsame Studien
      • Meine Dateien
      • Experiment-Bibliothek
      • Mein Konto
      • Meine Lizenz
    • STUDIEN-REITER

      • Übersicht: Studien-spezifische Registerkarten
      • Studien-Design
        • Aufgaben
        • Blöcke
        • Sitzungen
        • Gruppen
      • Aufgaben-Editor
        • Aufgabensteuerungen
        • Das Versuchs-System
        • Canvas- und Seitenrahmen
        • Objekte
        • Objekt Eigenschaften Tabellen
        • Variablen
        • Systemvariablen-Tabellen
        • Das Ereignissystem
        • Texteditor-Funktionen
        • Eyetracking in einer Aufgabe
        • Kopfverfolgung in einer Aufgabe
        • Multi-User-Studien
      • Einstellungen
      • Variablen
      • Medien
      • Texte & Übersetzen
      • Starten & Teilnehmen
      • Teilnehmermanagement
      • Datensicht und Export
        • Datensicht und Variablen- & Aufgaben Auswahl (alte Version)
        • Zugriff auf Aufnahmen (ALTE Version)
  • Videos
    • Videoübersicht
    • Erste Schritte in Labvanced
    • Aufgaben erstellen
    • Elemente Videos
    • Ereignisse & Variablen
    • Fortgeschrittene Themen
  • Anleitungen
    • Einführung
    • Stroop-Aufgabe
    • Lexikalische Entscheidungsaufgabe
    • Posner-Gaze-Cueing-Aufgabe
    • Change Blindness Flicker Paradigma
    • Augenverfolgung Beispielstudie
    • Augenverfolgungsstudie mit Kleinkindern
    • Aufmerksamkeitsfokussierungsstudie mit Mausverfolgung
    • Schnelle serielle visuelle Präsentation
    • ChatGPT Studie
    • Augenverfolgung Demo: SVGs als AOIs
    • Multi-User-Demo: Zeige die Cursors von Teilnehmern
    • Gamepad / Joystick Controller - Grundkonfiguration
    • Desktop-App-Studie mit EEG-Integration
    • Gruppenbalancierung zwischen Probanden und Variablen-Setup
  • FAQ
    • Funktionen
    • Sicherheit & Datenschutz
    • Lizenzierung
    • Präzision von Labvanced
    • Programmgesteuerte Verwendung & API
    • Labvanced offline verwenden
    • Fehlerbehebung
    • Fragen zur Studienerstellung
  • Versionshinweise
  • Dokumente
  • Klassenzimmer

WebSocket API

Die benutzerdefinierte WebSocket-API ermöglicht es Ihnen, zur Laufzeit eine Verbindung zwischen Labvanced und einem anderen Server herzustellen. Dies ermöglicht im Wesentlichen die Möglichkeit, Daten in beide Richtungen zwischen dem Labvanced-Server und dem anderen Server, den Sie angeben, zu senden. Wenn Sie Daten nur in einer Richtung senden müssen (d. h. direkt auf Ihren Server speichern), lesen Sie die Dokumentation zur Webhook-API.

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

  • Ein Experiment, in dem Sie experimentelle Trigger (z. B. Versuchsbeginn/Stimulus oder Teilnehmerantwort) von Labvanced an ein EEG-System, ein Eye-Tracking-System oder ein anderes lokales Datenaufzeichnungsgerä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 diese verarbeitet (z. B. ein KI-/Maschinenlernprozess oder Echtzeitanalyse).
  • Ein Experiment, in dem Sie eine bidirektionale Kommunikation zwischen Labvanced und einem anderen Prozess herstellen möchten, der lokal oder remote ausgeführt werden kann (z. B. für BCI, Biofeedback oder andere geschlossene Systeme).

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

Skriptlösung

Mit Skripten können Sie den grundlegenden Python-Code anpassen, der erfordert, dass Sie das Skript ausführen und letztendlich die Flexibilität bietet, um Forschungsbedürfnisse zu erfüllen. Durch das Ausführen 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 IP verwiesen wird. Dies spiegelt sich dann im Python-Code wider. Durch gegenseitiges Verweisen wird eine Kommunikationsverbindung über die WebSocket-API hergestellt.

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

Unser vorheriger Ansatz (das direkte Einbetten in das Labvanced-Programm) war etwas zu eingeschränkt und schwer auf 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-Stream-Daten 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-Markierungen in Labvanced zu empfangen) python3 lsl_marker_receive.py oder (um LSL-Markierungen von Labvanced zu senden) python3 lsl_marker_send.py.

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

In unserem GitHub WebSocket API Repository finden Sie zwei Beispiel-Python-Skripte, um LSL-Markierungen von/zu einem Labvanced-Experiment im Lab Streaming Layer -Ordner zu senden oder zu empfangen sowie detailliertere Anweisungen, 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 für die LSL-Integration nutzen

Es gibt zwei Beispielstudien in der Labvanced-Studienbibliothek, die den oben genannten entsprechen:

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

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

Bitte beachten Sie, dass Sie beim Importieren oder Überprüfen dieser Beispielstudien in ihren "Studieneinstellungen" unter dem Unterabschnitt "Experimentfunktionen" sehen, dass das Kontrollkästchen für die "WebSocket-Verbindung" aktiviert ist, mit Verbindungsdetails, um sicherzustellen, dass das Labvanced-Experiment eine Verbindung zum auf demselben Computer ausgeführten Python-Skript herstellen kann, wie im Bild unten gezeigt:

Die WebSocket-API-Option in Labvanced

Prev
Webhook-API