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
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

      • Objekte
      • Ereignisse
      • Variablen
      • Aufgabenassistent
      • Versuchsplan
      • Studien Design
        • Aufgaben
        • Blöcke
        • Sitzungen
        • Gruppen
    • HERVORGEHOBENE THEMEN

      • Randomisierung & Ausgewogenheit
      • Blickverfolgung
      • Fragebögen
      • Desktop-App
      • Beispielstudien
      • Teilnehmerrekrutierung
      • API-Zugriff
        • REST API
        • Webhook-API
        • WebSocket API
      • Weitere Themen

        • Präzise Stimulus-Zeiten
        • Multi-User-Studien
        • Kopfverfolgung in Labvanced | Anleitung
    • HAUPT-APP-TABS

      • Überblick: Haupt-Tabs
      • Dashboard
      • Meine Studien
      • Geteilte Studien
      • Meine Dateien
      • Experimentbibliothek
      • Mein Konto
      • Meine Lizenz
    • STUDIENTABS

      • Überblick: Studien-Spezifische Tabs
      • Studien Design
        • Aufgaben
        • Blöcke
        • Sitzungen
        • Gruppen
      • Aufgaben-Editor
        • Hauptfunktionen und Einstellungen
        • Das Versuchssystem
        • Canvas- und Seitenrahmen
        • Objekte
        • Objekt Eigenschaften Tabellen
        • Variablen
        • Systemvariablen-Tabellen
        • Das Ereignissystem
        • Versuchszufälligkeit
        • Texteditor-Funktionen
        • Eyetracking in einer Aufgabe
        • Kopfverfolgung in einer Aufgabe
        • Multi-User-Studien
      • Einstellungen
      • Variablen
      • Medien
      • Texte & Übersetzen
      • Starten & Teilnehmen
      • Teilnehmerverwaltung
      • Datensicht und Export
        • Datensicht und Variablen- & Aufgaben Auswahl (alte Version)
        • Zugriff auf Aufnahmen (ALTE Version)
  • Videos
    • Video Überblick
    • Einstieg in Labvanced
    • Aufgaben erstellen
    • Element Videos
    • Ereignisse & Variablen
    • Erweiterte Themen
  • Anleitungen
    • Einführung
    • Stroop-Aufgabe
    • Lexikalische Entscheidungsaufgabe
    • Posner-Blickführungstest
    • Change Blindness Flicker Paradigma
    • Blickverfolgungsbeispielstudie
    • Blickverfolgungsstudie bei Säuglingen
    • Aufmerksamkeitserfassung Studie mit Mausverfolgung
    • Schnelle serielle visuelle Präsentation
    • ChatGPT Studie
    • Blickverfolgungsdemo: SVGs als AOIs
    • Multi-User-Demo: Zeige den Cursor der Teilnehmer
    • Gamepad / Joystick Controller- Grundlegende Einrichtung
    • Desktop-App-Studie mit EEG-Integration
    • Gruppenausgleich zwischen Subjekten und Variablen Einrichtung
  • FAQ
    • Funktionen
    • Sicherheit & Datenschutz
    • Lizenzierung
    • Präzision von Labvanced
    • Programmgesteuerte Nutzung & API
    • Labvanced offline nutzen
    • Fehlerbehebung
    • Fragen zur Studienerstellung
  • Versionshinweise
  • Dokumente
  • Klassenraum

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