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
指南
视频
操作指南
常见问题解答
发行说明
发行说明
文档
教室
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
指南
视频
操作指南
常见问题解答
发行说明
发行说明
文档
教室
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • 指南
    • 入门

      • 对象
      • 事件
      • 变量
      • 任务向导
      • 试验系统
      • 研究设计
        • 任务
        • 阻塞
        • 会议
        • 组
    • 特色主题

      • 随机化与平衡
      • 眼动追踪
      • 问卷
      • 桌面应用
      • 样本研究
      • 参与者招募
      • API 访问
        • REST API
        • Webhook API
        • WebSocket API
      • 其他主题

        • 精确刺激时间
        • 多用户研究
        • Labvanced中的头部追踪 | 指南
    • 主应用标签

      • 概述:主要标签
      • 仪表盘
      • 我的研究
      • 共享研究
      • 我的文件
      • 实验库
      • 我的账户
      • 我的许可证
    • 研究标签

      • 概述:研究特定标签
      • 研究设计
        • 任务
        • 阻塞
        • 会议
        • 组
      • 任务编辑器
        • 主要功能和设置
        • 试验系统
        • 画布和页面框架
        • 对象
        • 对象属性表
        • 变量
        • 系统变量表
        • 事件系统
        • 试验随机化
        • 文本编辑器功能
        • 任务中的眼动追踪
        • 任务中的头部追踪
        • 多用户研究
      • 设置
      • 变量
      • 媒体
      • 文本与翻译
      • 启动与参与
      • 主题管理
      • 数据视图与导出
        • 数据视图和变量 & 任务选择(旧版本)
        • 访问录音(旧版本)
  • 视频
    • 视频概述
    • 在 Labvanced 中入门
    • 创建任务
    • 元素视频
    • 事件与变量
    • 高级主题
  • 演练
    • 简介
    • 斯特鲁普任务
    • 词汇决策任务
    • 波斯纳注视提示任务
    • 改变盲点闪烁范式
    • 眼动追踪样本研究
    • 婴儿眼动追踪研究
    • 使用鼠标追踪的注意捕获研究
    • 快速串行视觉展示
    • ChatGPT 研究
    • 眼动追踪演示:SVG 作为关注区
    • 多用户演示:显示主题的光标
    • 游戏手柄 / 摇杆控制器- 基本设置
    • 桌面应用研究与 EEG 集成
    • 被试组间平衡和变量设置
  • 常见问题
    • 功能
    • 安全与数据隐私
    • 许可
    • Labvanced 的精确度
    • 程序化使用与API
    • 离线使用 Labvanced
    • 故障排除
    • 研究创建问题
  • 发布说明
  • 文档
  • 课堂

WebSocket API

自定义的WebSocket API允许您在运行时创建Labvanced与任何其他服务器之间的连接。这实际上允许在Labvanced服务器和您指定的其他服务器之间双向发送数据。如果您只需要单向发送数据(即直接将其保存到您的服务器),请参阅Webhook API。的文档。

一些可以利用WebSocket API的实验示例包括以下内容:

  • 一个您希望从Labvanced发送/接收实验触发的实验(例如,试次/刺激开始或参与者反应)到EEG系统、眼动追踪系统或其他本地数据记录设备。
  • 一个您希望将在线录制的数据通过互联网发送到其他处理服务器/API的实验(例如,一些AI/机器学习过程或实时数据分析)。
  • 一个您希望在Labvanced与某个可以本地或远程运行的其他过程之间创建双向通信的实验(例如,用于BCI、生物反馈或其他闭环系统)。

在将Labvanced与本地服务器(如连接设备)连接的情况下,您当前可以通过简单的脚本(下面描述)以及在Labvanced研究编辑器中设置事件来实现这一点。未来,Labvanced桌面应用程序将提供集成解决方案,您只需单击一个按钮即可建立此连接。

脚本解决方案

通过使用脚本,您可以自定义基本的Python代码,运行脚本并最终实现灵活满足研究需求。通过运行一个独立的Python脚本,Labvanced与WebSocket API进行通信,而Python则与外部设备进行通信。

WebSocket API配置通过指向特定端口和IP进行工作。然后,这在Python代码中反映出来。通过彼此指向,建立了一条通过WebSocket API的通信线路。

注意: 要查看连接,可以使用GUI进行此半自动过程。

我们之前的做法(将其直接嵌入Labvanced程序中)有些过于有限,且在不同操作系统之间难以工作。因此,现在,使用这些新的Python脚本应该可以在所有平台上(Linux、MacOS、Windows)工作,并且应该能够双向发送和接收LSL流数据。

您需要做的尝试:

  1. 使用类似_pip install -r requirements.txt_ 的内容安装4个所需的库
  2. 然后可以在同一台计算机的后台启动Labvanced实验, either(在Labvanced中接收LSL标记)python3 lsl_marker_receive.py 或者(从Labvanced发送LSL标记)python3 lsl_marker_send.py.

注意:如果您想要特定的LSL参数或流名称,您还可以轻松调整这些脚本。

在我们的GitHub WebSocket API库, 您可以找到两个示例Python脚本,用于发送或接收来自/到Labvanced实验的LSL标记,位于Lab Streaming Layer文件夹中,以及关于如何设置这些的更详细的说明。

您还可以从我们的公共实验库中导入此Socket连接示例研究,查看事件是如何设置的。

利用WebSocket API进行LSL集成的实验示例

在Labvanced研究库中有两个示例研究对应上述内容:

  1. 发送LSL标记 (lsl_marker_send.py): https://www.labvanced.com/page/library/53231

  2. 接收LSL标记 (lsl_marker_receive.py): https://www.labvanced.com/page/library/53230

请注意,在导入或检查这些示例研究时,在其“研究设置”下的“实验特性”子部分中,您会看到“WebSocket连接”的复选框被选中,并带有连接详情,以确保Labvanced实验可以连接到同一计算机上运行的Python脚本,如下图所示:

Labvanced中的WebSocket API选项

Prev
Webhook API