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
指南
视频
教程
常见问题
发行说明
教室
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
指南
视频
教程
常见问题
发行说明
教室
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 指南
    • 开始使用

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

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

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

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

      • 概览:研究特定标签
      • 研究设计
        • 任务
        • 阻塞
        • 会议
        • 组
      • 任务编辑器
        • 主要功能和设置
        • 试验系统
        • 画布和页面框架
        • 对象
        • 对象属性表
        • 变量
        • 系统变量表
        • 事件系统
        • 试验随机化
        • 文本编辑器功能
        • 任务中的眼动追踪
        • 任务中的头部追踪
        • 多用户研究
      • 研究设置
        • 启动和主要设置
        • 浏览器和设备设置
        • 实验特征设置
      • 描述
        • 关于描述信息的更多细节
        • 图像、链接和描述中的引用
      • 变量
      • 媒体
      • 翻译
      • 运行
      • 发布和记录
        • 在 Labvanced 发布研究的要求
        • 招募参与者和众包
        • 许可证选择与确认
        • 发布您的 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