npm 包 openbci-ts 使用教程

阅读时长 5 分钟读完

前言

openbci-ts 是一个基于 TypeScript 编写的用于与 OpenBCI 脑电采集设备进行交互的 npm 包。如果你想要使用 OpenBCI 设备进行脑电信号的获取和分析,那么 openbci-ts 可能是你不错的选择之一。

在本篇文章中,我们将会介绍 openbci-ts 的使用方法,并提供一些示例代码,帮助你快速地上手使用这个 npm 包。

安装与引入

openbci-ts 可以通过 npm 进行安装,命令如下:

接着,在你的 TypeScript 或 JavaScript 代码中引入 openbci-ts:

基本用法

openbci-ts 中最基本的类是 OpenBCI,用于与 OpenBCI 设备进行交互。在初始化 OpenBCI 对象时,需要传入一个 OpenBCIBoardType 类型的参数,指明你使用的 OpenBCI 设备的具体型号。常用的 OpenBCIBoardType 类型有以下几种:

  • OpenBCIBoardType.OBCI_BOARD_CYTON:适用于 Cyton 型号的 OpenBCI 设备。
  • OpenBCIBoardType.OBCI_BOARD_CYTON_DAISY:适用于 Cyton Daisy 型号的 OpenBCI 设备。
  • OpenBCIBoardType.OBCI_BOARD_GANGLION_WIFI:适用于 Ganglion WiFi 型号的 OpenBCI 设备。

下面是一个初始化 OpenBCI 对象的示例代码:

开始和停止数据采集

初始化 OpenBCI 对象以后,你可以调用它的 start() 方法来启动数据采集:

要停止数据采集,可以调用 stop() 方法:

注册事件监听器

openbci-ts 中的数据处理是基于事件的。可以使用 on() 方法为 OpenBCI 对象注册事件监听器,以便在接收到数据时进行相应的处理。以下是 openbci-ts 支持的事件类型:

  • 'accelerometer':加速度计数据事件。
  • 'boardFailure':OpenBCI 设备故障事件。
  • 'close':与设备断开连接事件。
  • 'impedance':阻抗测量事件。
  • 'rawDataPacket':原始数据包事件。
  • 'ready':准备就绪事件。

以 'rawDataPacket' 事件为例,可以使用以下代码为 OpenBCI 对象注册事件监听器,并在接收到数据时输出数据包的内容:

发送指令

使用 write() 方法可以向 OpenBCI 设备发送指令。需要注意,OpenBCI 设备的指令遵循 OpenBCI 协议,具体指令的编写方式可以参考 OpenBCI 官方文档。

以下是一个向 OpenBCI 设备发送 'v' 指令的示例代码:

关闭连接

当你完成与 OpenBCI 设备的交互后,应该关闭与设备的连接,以避免资源的浪费。可以使用 close() 方法来断开与设备的连接:

示例代码

下面是一个从 OpenBCI 设备获取原始脑电信号并输出的示例代码:

-- -------------------- ---- -------
------ -------- - ---------------- - ---- -------------

----- --------- - ----------------------------------
----- ------- - --- -------------------

------------------- -- -- -
  -------------------- ------ -- ---------

  ----------------
---

--------------------------- -------- --------------------- -- -
  --------------------
---

------------- -- -
  ---------------
  ----------------
-- -------

本示例代码首先初始化了一个 OpenBCI 对象,并在 ready 事件触发后启动数据采集。在 rawDataPacket 事件触发时,输出数据包的内容。10 秒钟后,停止数据采集并断开与设备的连接。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600553d781e8991b448d1217

纠错
反馈