【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)
OpenBCI是个面向脑机接口EEG信号采集的开源硬件,本文使用python SDK(因为OpenBCI官方还没有Matlab的SDK,Matlab读个串口那么难吗?肯定是开发人员懒)实时获取OpenBCI数据流并导入Matlab。详情参见官网[LSL labstreaminglayer]。更详细的教程在这里[OpenBCI_MATLAB]本文主要是参考的它。
安装python
这里[python]2.7和3.6都可以,我装的是3.6.1版。安装的时候注意勾选安装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命令 就可以了。
完成之后,输入python openbci_matlab.py -p "PORT"
,PORT是连接的串口号。
看到输出BEGIN则就可以开始了,继续输入/start
,开始获取数据,可以看到获取的数据流.
数据流输入Matlab
打开Matlab,找到Matlab-Python–>examples文件夹里的ReceiveData.m文件运行。可以看到数据流的滚动。任务完成!
如果要看波形,找到Matlab-Python–>labstreaminglayer文件夹里的vis_stream.m文件,运行即可。参数设置如下。
可以用Matlab看到实时的波形了。原谅我这个波形,电极没接,都是噪声。
注:(1)中间可能会遇到一些报错,尤其是在CMD运行python的时候,这个耐心摸索,好像要再装一个numpy的库。(2)每次数据采完,重启一下板子。
加油!
上一篇: 运动场上的精彩一幕一幕。
下一篇: 搜罗的世界各地风景图片