Hexabitz生物信號記錄器,用于使捕獲生物信號數(shù)據(jù)
Hexabitz Biosignal Logger是一款功能強大的便攜式工具,用于使用Hexabitz單導聯(lián)EXG Monitor (H2BR0x)捕獲生物信號數(shù)據(jù)。本項目旨在通過一個簡單易用的設(shè)備,方便用戶收集和分析生物信號的過程。
關(guān)鍵特性
1. 實時數(shù)據(jù)采集:Hexabitz生物信號記錄儀可以直接從H2BR0x單元實時采集生物信號數(shù)據(jù)。
2. 易用性:使用BOS命令行對設(shè)備進行控制和采樣,使其對開發(fā)人員和研究人員非常友好。
3. 模塊化連接:Hexabitz的模塊化設(shè)計可以根據(jù)需要輕松集成和添加其他單元。
單引腳,EXG監(jiān)視器(H2BR0x):
Hexabitz單導聯(lián)EXG監(jiān)測模塊(H2BR0)是一種可以記錄來自心臟(ECG),大腦(EEG),眼睛(EOG)和肌肉(EMG)的出版級生物電位信號的模塊之一。
是什么讓它與眾不同?
?記錄出版質(zhì)量的生物電位信號,如ECG, EMG, EOG或EEG。
?小尺寸允許易于集成到移動和空間有限的項目。
?H2BR0基于STM32G0單片機。
?使用我們易于使用的api編寫高級C代碼。
?您可以連接到外部硬件或與其他Hexabitz模塊組合!
?該模塊配備了開源的MATLAB接口。
它是如何工作的
1. 硬件設(shè)置:
為了訪問計算機的串行COM端口,請使用您首選的串行終端仿真器工具,并通過USB-to-UART電纜到達Hexabitz CLI。
如果您使用的是標準的FTDI USB-UART 3.3V電源和通信電纜,請參考以下說明正確連接彩色電纜:
紅色(VCC) >> 3.3V(頂部電源墊,即邊角墊)。
黑色(GND) >> GND(底部電源墊,即邊角墊)。
黃色(RXD) >> MCU TXD(頂部通訊墊,即側(cè)邊墊)。
橙色(TXD) >> MCU RXD(底部通信墊,即側(cè)邊墊)。
2. 軟件配置:
0. 更新模塊固件:有三種簡單的方法可以獲得你想要的版本的預編譯固件HEX文件,而無需克隆和編譯固件:
?導航到模塊網(wǎng)站頁面,資源選項卡并下載最新固件版本的HEX文件。
?訪問GitHub上的模塊固件存儲庫并單擊發(fā)布,最近的版本應該顯示與其相關(guān)的HEX文件。
訪問GitHub上的模塊固件存儲庫,并導航到代碼中的編譯文件夾。該文件夾包含當前和以前版本的HEX文件。如果您有本地副本,只需復制您想要的版本即可。如果您正在在線瀏覽存儲庫,請單擊HEX文件,然后單擊Raw以顯示和下載該文件。您還可以使用Clone或download按鈕下載整個存儲庫的zip文件夾。
1. 從這里安裝MobaXtrem
2. 將FTDI USB轉(zhuǎn)UART串口線連接到USB集線器。
3. 焊接一個頭連接器到模塊的一個電源端口。
4. 將FTDI線纜的紅色一端連接到exg模塊電源接口頂部。
5. 將FTDI線纜的黑色線連接到模塊電源接口底部。
6. 將FTDI線纜的黃色線連接到模塊P2端口的頂部。
7. 將FTDI線纜的橙色線連接到模塊的P2端口底部。
8. 您應該看到模塊上單個紅色LED指示燈閃爍。
9. 打開MobaXtrem,選擇以下設(shè)置:
10. 在命令窗口按回車鍵,您應該看到BOS CLI的歡迎消息。如果你拼錯了一個字母,你可以使用退格鍵。
注意:打開端口后,按ENTER鍵盤鍵開始通信會話。您應該看到下面顯示的CLI歡迎消息,其中包含已連接模塊及其匹配的陣列端口的ID號。注意,如果模塊是原生的,即不是通過固定或探索拓撲的數(shù)組的一部分,它將顯示為ID = 0(除非您更改代碼中的默認ID)。
11. 輸入ping(并按enter),您將看到模塊上的單個指示燈LED閃爍,終端上顯示響應消息。
12. 鍵入help以查看可用命令的列表。
13. 輸入status查看模塊端口、固件等的報告。
一般使用提示
隨時輸入help查看該模塊(以及該固件)中啟用的命令列表。您可以使用status命令找出固件版本、編譯時間和日期。
如果您拼錯了一個命令,您可以使用BACKSPACE鍵盤鍵刪除最后一個字符并用正確的字符替換它們,只要您還沒有按ENTER。退格鍵在終端窗口中實際上不像在常規(guī)文本編輯器中那樣工作,但它在CLI中仍然可以正常工作。您不能從終端窗口清除字符,例如,當您按下BACKSPACE鍵時,閃爍的光標將向后移動一步,但前一個字符將保持顯示。但是,它將從CLI緩沖區(qū)中刪除。如果您寫入一個新字符,它將取代終端窗口上的舊字符,并將其添加到CLI緩沖區(qū)中。
如果您拼錯命令并按ENTER,它將被忽略,并且您將得到一條錯誤消息“command not recognized”。如果您在命令中輸入的參數(shù)比預期的少,也會發(fā)生這種情況。如果您鍵入的參數(shù)多于所需的參數(shù),那么額外的參數(shù)將被忽略。命令參數(shù)由至少一個空格(space鍵)分隔,并將根據(jù)它們的順序?qū)λ鼈冞M行解析。
如果在參數(shù)之間鍵入多個空格,它們將被正確解析。但是,每個命令(即行)中的最大字符數(shù)不應超過49個(它可以在代碼中進行調(diào)整)。
如果你沒有寫任何東西就按ENTER,最后一個命令將被重復。
所有CLI命令和參數(shù)都不區(qū)分大小寫,這就是為什么用小寫、大寫或混合大小寫書寫都能被完全識別的原因。
它通過其ID前綴#(例如#7)或別名來引用每個模塊。
命令:
從心電信號中獲取正常樣本和濾波樣本:
從腦電信號中獲取正常樣本和濾波樣本:
從肌電信號中獲取正常樣本和濾波樣本:
判斷肌電信號超過閾值的持續(xù)時間:
從心電信號中提取心率:
建立0 ~ 100范圍內(nèi)的肌電信號閾值:
根據(jù)電極定位檢測眼球運動模式(快速右或左,上或下);
監(jiān)測電極狀態(tài);
plot exg (nummofsample: minimum=100):
3. 數(shù)據(jù)收集和分析:一旦系統(tǒng)設(shè)置和配置,開始收集生物信號樣本。
現(xiàn)在我們已經(jīng)將流數(shù)據(jù)保存在data.txt中,我們可以使用Python讀取并繪制數(shù)據(jù)。我們將使用matplotlib庫進行可視化。
使用以下Python腳本讀取EOG數(shù)據(jù)并繪制它:
Python代碼說明
讀取數(shù)據(jù):腳本從Data .txt中讀取數(shù)據(jù)。
提取值:它處理每一行提取樣本和filteredSample值。
繪制數(shù)據(jù):它使用matplotlib在圖上繪制這些值,提供數(shù)據(jù)趨勢的可視化表示。
本文編譯自hackster.io