天天看点

【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)

  OpenBCI是个面向脑机接口EEG信号采集的开源硬件,本文使用python SDK(因为OpenBCI官方还没有Matlab的SDK,Matlab读个串口那么难吗?肯定是开发人员懒)实时获取OpenBCI数据流并导入Matlab。详情参见官网[LSL labstreaminglayer]。更详细的教程在这里[OpenBCI_MATLAB]本文主要是参考的它。

【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)

安装python

  这里下载[python],我装的是3.6.1版(一定要装32位)。安装的时候注意勾选安装pip,装完之后在命令行直接输入“pip install pyserial”“pip install pylsl”分别安装这两个库,如果安装时候报错,多试几次就好了。如果pip没装上,则需要手动装这两个库:串口[pyserial]和Lab Streaming Layer[pylsl]。

下载OpenBCI_MATLAB

  这里[OpenBCI_MATLAB]。下载之后解压。添加其中的Matlab-Python–>labstreaminglayer文件夹到Matlab路径,这里主要是一些Matlab实时读取数据的函数。

  完成之后在Matlab命令行测试函数:

lsl_loadlib()
           

  如果不报错,证明这个labstreaminglayer添加好了。

获取数据流

  插入OpenBCI无线接收器,打开板子电源。

  打开电脑CMD,导航到刚刚下载的OpenBCI_MATLAB–>Matlab-Python文件夹(即openbci_matlab.py所在的文件夹)

windows下只需要使用pushd命令 就可以了。

【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)

  完成之后,输入

python openbci_matlab.py -p "COM5"

,COM5是我的设备连接的串口号(设备管理器里查看)。

【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)

  看到输出BEGIN则就可以开始了,继续输入

/start

,开始获取数据,可以看到获取的数据流.

数据流输入Matlab

  打开Matlab,找到Matlab-Python–>examples文件夹里的ReceiveData.m文件运行。可以看到数据流的滚动。任务完成!

【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)

  如果要看波形,找到Matlab-Python–>labstreaminglayer文件夹里的vis_stream.m文件,运行即可。参数设置如下。

【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)
【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)

  可以用Matlab看到实时的波形了。原谅我这个波形,电极没接,都是噪声。

  注:(1)中间可能会遇到一些报错,尤其是在CMD运行python的时候,这个耐心摸索,python可能需要再装一个numpy的库。(2)每次数据采完,重启一下板子。

加油!

继续阅读