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
Leitfaden
Videos
Schritt-für-Schritt-Anleitungen
Häufig gestellte Fragen
Versionshinweise
Klassenzimmer
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
Leitfaden
Videos
Schritt-für-Schritt-Anleitungen
Häufig gestellte Fragen
Versionshinweise
Klassenzimmer
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • Leitfaden
    • EINSTIEG

      • Objekte
      • Ereignisse
      • Variablen
      • Aufgaben-Assistent
      • Versuchssystem
      • Studiengestaltung
        • Aufgaben
        • Blöcke
        • Sitzungen
        • Gruppen
    • FEATURED THEMEN

      • Randomisierung & Balance
      • Eye Tracking
      • 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
    • HAUPT-APP-TABS

      • Übersicht: Haupt-Tabs
      • Dashboard
      • Meine Studien
      • Geteilte Studien
      • Meine Dateien
      • Experiment-Bibliothek
      • Mein Konto
      • Meine Lizenz
    • STUDIENTABS

      • Übersicht: Studien-spezifische Tabs
      • Studiengestaltung
        • 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
      • Studieneinstellungen
        • Start und Haupt Einstellungen
        • Browsers & Devices Einstellungen
        • Einstellungen für experimentelle Funktionen
      • Beschreibung
        • Weitere Informationen zu den Beschreibungsinformationen
        • Bilder, Links und Referenzen in Beschreibungen
      • Variablen
      • Medien
      • Übersetzen
      • Ausführen
      • Veröffentlichen und Aufzeichnen
        • Anforderungen für die Veröffentlichung einer Studie in Labvanced
        • Rekrutierung von Teilnehmern und Crowdsourcing
        • Lizenzauswahl und Bestätigung
        • Nach der Veröffentlichung Ihrer Labvanced-Studie
      • Teilen
      • Teilnehmer
      • Datenausblick und Export
        • Datensicht und Variablen- & Aufgaben Auswahl (alte Version)
        • Zugriff auf Aufnahmen (ALTE Version)
  • Videos
    • Videoübersicht
    • Einstieg in Labvanced
    • Aufgaben erstellen
    • Elemente Videos
    • Ereignisse & Variablen
    • Fortgeschrittene Themen
  • Durchläufe
    • Einführung
    • Stroop Aufgabe
    • Lexikalische Entscheidungsaufgabe
    • Posner Blickrichtungsaufgabe
    • Change Blindness Flicker Paradigma
    • Augenverfolgung Beispielstudie
    • Augenverfolgungsstudie bei Kleinkindern
    • Studie zur Aufmerksamkeitsfokussierung mit Mausverfolgung
    • Schnelle serielle visuelle Präsentation
    • ChatGPT Studie
    • Augenverfolgung Demo: SVGs als AOIs
    • Multi-User Demo: Zeigen Sie die Cursors der Teilnehmer
    • Gamepad / Joystick Controller - Grundkonfiguration
    • Desktop-App Studie mit EEG-Integration
  • FAQ
    • Funktionen
    • Sicherheit & Datenschutz
    • Lizenzierung
    • Präzision von Labvanced
    • Programmgesteuerte Nutzung & API
    • Labvanced offline verwenden
    • Fehlerbehebung
    • Fragen zur Studienerstellung
  • Versionshinweise
  • Klasse

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