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
    • Services
  • Technology
    • Feature Overview
    • Code-Free Study Building
    • Eye Tracking
    • Mouse Tracking
    • Generative AI Integration
    • Multi User Studies
    • More ...
      • Reaction Time/Precise Timing
      • Text Transcription
      • Heart Rate Detection (rPPG)
      • Emotion Detection
      • Questionnaires/Surveys
      • Experimental Control
      • Data Privacy & Security
      • Desktop App
      • Mobile App
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Licenses
    • Top-Up Recordings
    • Subject Recruitment
    • Study Building
    • Dedicated Support
    • Checkout
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
    • Third-Party Licenses
  • Appgo to app icon
  • Logingo to app icon
Learn
指南
视频
步骤说明
常见问题解答
通讯档案
文档
课堂
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
指南
视频
步骤说明
常见问题解答
通讯档案
文档
课堂
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • 指南
    • 开始使用

      • 任务编辑器
      • 框架
        • 画布框架
        • 页面框架
        • 网站框架
      • 试验时间线
      • 刺激呈现
      • 响应的正确性
      • 对象
      • 事件
      • 变量
      • 任务向导
      • 试验系统
      • 实验设计
        • 创建研究
        • 数据框模式
        • 多用户实验设计
        • 纵向实验设计
    • 特色话题

      • 随机化与平衡
      • 眼动追踪
        • 在眼动追踪任务中呈现刺激
        • 如何选择眼动追踪校准设置
        • 在任务中设置眼动追踪
        • 记录和导出注视数据
        • 使用形状作为兴趣区域 (AOI) 进行眼动追踪
        • 参与者标定体验
      • 网页桥接
        • 选择网站 AOI | 锚点、调整和验证 AOI 跟踪
        • 在网站区域(AOI)上跟踪鼠标行为 | Web Bridge指南
      • 问卷
      • 桌面应用
      • 示例研究
      • 参与者招募
      • API访问
        • REST API
        • Webhook API
        • WebSocket API
      • 其他话题

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

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

      • 概述:特定研究标签
      • 研究设计
        • 任务
        • 阻塞
        • 会议
        • 组
      • 任务编辑器
        • 任务控制
        • 试验系统
        • 框架类型
        • 对象
        • 对象属性表
        • 变量
        • 系统变量表
        • 事件系统
        • 文本编辑器功能
        • 任务编辑器中的眼动追踪选项
        • 任务中的头部追踪
        • 多用户研究
      • 设置
      • 变量
      • 媒体
      • 文本与翻译
      • 启动与参与
      • 被试管理
      • 数据视图与导出
        • 数据视图和变量 & 任务选择(旧版本)
        • 访问录音(旧版本)
  • 视频
    • 视频概述
    • 在 Labvanced 中入门
    • 创建任务
    • 元素视频
    • 事件与变量
    • 高级主题
  • 操作指南
    • 介绍
    • 斯特鲁普任务
    • 词汇决策任务
    • 波斯纳注视提示任务
    • 改变失明闪烁范式
    • 眼动追踪样本研究
    • 婴儿眼动追踪研究
    • 带有鼠标追踪的注意捕捉研究
    • 快速串行视觉呈现
    • ChatGPT 研究
    • 眼动追踪演示:SVG 作为 AOI
    • 多用户演示:显示受试者的光标
    • 游戏手柄 / 摇杆控制器 - 基本设置
    • 与 EEG 集成的桌面应用研究
    • 被试组平衡与变量设置
    • 构建一个多用户研究
    • 网站框架眼动追踪操作指南
    • 条件网络摄像头眼动追踪
    • 文本分割研究构建
  • 常见问题
    • 功能
    • 支持政策与指南
    • 安全与数据隐私
    • 许可
    • Labvanced 的精度
    • 编程使用与 API
    • 离线使用 Labvanced
    • 故障排除
    • 研究创建问题
  • 通讯档案
  • 文档
  • 课堂

WebSocket API

自定义WebSocket API允许您在运行时创建Labvanced与任何其他服务器之间的连接。这本质上使得Labvanced服务器与您指定的其他服务器之间进行双向数据传输成为可能。如果您只需要单向发送数据(即直接保存到您的服务器),请参阅Webhook API的文档。

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

  • 一个实验,您希望从Labvanced向EEG系统、眼动追踪系统或其他本地数据记录设备发送/接收实验触发器(例如,实验/刺激开始或参与者响应)。
  • 一个实验,您希望通过互联网将在线记录的数据发送到其他服务器/API进行处理(例如,一些人工智能/机器学习过程或实时数据分析)。
  • 一个实验,您希望在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. 安装4个所需的库,使用类似 pip install -r requirements.txt 的命令。
  2. 然后,您可以在将在Labvanced实验启动的同一台机器上后台启动(以接收Labvanced中的LSL标记) python3 lsl_marker_receive.py 或(将LSL标记从Labvanced发送) python3 lsl_marker_send.py。

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

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

您还可以 导入 我们公共实验库中的Socket Connection Sample Study,以查看事件是如何设置的。

利用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 Connection"的复选框已被选中,并带有连接详细信息,以确保Labvanced实验可以连接到同一计算机上运行的Python脚本,如下图所示:

The WebSocket API option in Labvanced

Prev
Webhook API