OpenBCI是個面向腦機接口EEG信号采集的開源硬體,本文使用python SDK(因為OpenBCI官方還沒有Matlab的SDK,Matlab讀個序列槽那麼難嗎?肯定是開發人員懶)實時擷取OpenBCI資料流并導入Matlab。詳情參見官網[LSL labstreaminglayer]。更詳細的教程在這裡[OpenBCI_MATLAB]本文主要是參考的它。
安裝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指令 就可以了。
完成之後,輸入
python openbci_matlab.py -p "COM5"
,COM5是我的裝置連接配接的序列槽号(裝置管理器裡檢視)。
看到輸出BEGIN則就可以開始了,繼續輸入
/start
,開始擷取資料,可以看到擷取的資料流.
資料流輸入Matlab
打開Matlab,找到Matlab-Python–>examples檔案夾裡的ReceiveData.m檔案運作。可以看到資料流的滾動。任務完成!
如果要看波形,找到Matlab-Python–>labstreaminglayer檔案夾裡的vis_stream.m檔案,運作即可。參數設定如下。
可以用Matlab看到實時的波形了。原諒我這個波形,電極沒接,都是噪聲。
注:(1)中間可能會遇到一些報錯,尤其是在CMD運作python的時候,這個耐心摸索,python可能需要再裝一個numpy的庫。(2)每次資料采完,重新開機一下闆子。
加油!