뇌파(EEG) 데이터를 수집하고 분석하는 과정은 흥미롭지만, 때로는 장비 연결 단계에서 예상치 못한 난관에 부딪히기도 합니다. 특히 Muse 2016 헤드밴드와 BrainFlow 라이브러리를 사용하여 Bluetooth 연결을 시도할 때, ‘BOARD_NOT_READY_ERROR:7 unable to prepare streaming session’과 같은 에러를 만난다면 당황스러울 수 있습니다. 이 글은 Muse 2016 헤드밴드 연결 문제의 명확한 원인을 분석하고, 개발자가 빠르고 효과적으로 문제를 해결할 수 있는 방법을 제시합니다. 구글 검색 상위 노출에 최적화된 고품질 기술 문서로, 여러분의 문제 해결에 큰 도움이 될 것입니다.
1. 에러 발생 상황
Muse 2016 헤드밴드를 BrainFlow와 Python을 사용하여 연결하려 할 때, 여러 차례 연결을 시도했지만 결국 타임아웃되고 스트리밍 세션을 준비할 수 없다는 에러 메시지를 받게 됩니다. 에러 로그는 다음과 같습니다.
UserWarning: pkg_resources is deprecated as an API.
[2026-07-29 10:19:35.615] [board_logger] [trace] Board object created 41
[2026-07-29 10:19:35.615] [board_logger] [info] Use Muse preset p21
[2026-07-29 10:19:35.615] [board_logger] [info] Use timeout for discovery: 6
[2026-07-29 10:19:35.616] [board_logger] [debug] use dyn lib: C:\Users\abhis\.venvs\dl-py311\Lib\site-packages\brainflow\lib\simpleble-c.dll
[2026-07-29 10:19:35.682] [board_logger] [info] found 1 BLE adapter(s)
[2026-07-29 10:19:40.632] [board_logger] [trace] address 00:55:da:b0:e5:9e
[2026-07-29 10:19:40.632] [board_logger] [trace] identifier Muse-E59E
[2026-07-29 10:19:40.632] [board_logger] [info] Found Muse device
[2026-07-29 10:19:49.323] [board_logger] [warning] Failed to connect to Muse Device: 0/3
[2026-07-29 10:19:57.921] [board_logger] [warning] Failed to connect to Muse Device: 1/3
[2026-07-29 10:20:05.246] [board_logger] [warning] Failed to connect to Muse Device: 2/3
Traceback (most recent call last):
File "c:\Users\abhis\OneDrive\Desktop\muse_eeg_project\connection_test.py", line 25, in <module>
main()
File "c:\Users\abhis\OneDrive\Desktop\muse_eeg_project\connection_test.py", line 12, in main
board.prepare_session()
File "C:\Users\abhis\.venvs\dl-py311\Lib\site-packages\brainflow\board_shim.py", line 1261, in prepare_session
raise BrainFlowError('unable to prepare streaming session', res)
brainflow.exit_codes.BrainFlowError: BOARD_NOT_READY_ERROR:7 unable to prepare streaming session
위 로그를 보면, BrainFlow는 블루투스 어댑터를 찾았고(found 1 BLE adapter(s)), 심지어 Muse 디바이스까지 발견했습니다(Found Muse device). 하지만 실제 연결 단계에서 3번의 시도 모두 실패했으며, 최종적으로 board.prepare_session() 함수에서 BOARD_NOT_READY_ERROR:7 unable to prepare streaming session 에러가 발생하며 프로그램이 중단됩니다.
이 에러를 발생시키는 코드는 다음과 같습니다.
import argparse
import time
from brainflow.board_shim import BoardShim, BrainFlowInputParams, BoardIds
def main():
BoardShim.enable_dev_board_logger()
params = BrainFlowInputParams()
board = BoardShim(BoardIds.MUSE_2016_BOARD, params)
board.prepare_session()
board.add_streamer("file://data.csv:w")
board.start_stream()
time.sleep(10)
# data = board.get_current_board_data (256) # get latest 256 packages or less, doesnt remove them from internal buffer
data = board.get_board_data() # get all data and remove it from internal buffer
board.stop_stream()
board.release_session()
print(data)
if __name__ == "__main__":
main()
2. 명확한 발생 원인
BOARD_NOT_READY_ERROR:7 에러는 BrainFlow가 장치를 발견했지만, 실제 스트리밍 세션을 시작할 준비가 되지 않았음을 의미합니다. 위 에러 로그에서 Found Muse device 메시지가 출력되었음에도 연결에 실패하는 가장 흔하고 결정적인 원인은 바로 운영체제(OS) 수준에서 Muse 헤드밴드가 제대로 페어링 및 연결되지 않았기 때문입니다.
주요 원인 분석:
- 운영체제(OS) 블루투스 연결 문제: BrainFlow는 하드웨어(Muse)와 직접 통신하는 것이 아니라, 운영체제의 블루투스 스택을 통해 통신합니다. 따라서 Muse 헤드밴드가 BrainFlow 프로그램에서 ‘발견’되었다고 하더라도, OS의 블루투스 설정에서 명시적으로 ‘페어링’ 및 ‘연결’ 상태로 되어 있지 않으면, BrainFlow는 실제 데이터 스트리밍을 위한 세션을 준비할 수 없습니다. 즉, OS가 해당 장치에 대한 접근 권한과 통신 채널을 응용 프로그램에 제공해야 합니다.
- Muse 헤드밴드 자체 문제:
- 배터리 부족: Muse 헤드밴드의 배터리가 부족하면 안정적인 블루투스 연결이 어렵거나 불가능할 수 있습니다.
- 펌웨어 문제: 헤드밴드의 펌웨어가 오래되었거나 손상된 경우 연결 문제가 발생할 수 있습니다.
- 다른 기기와의 충돌: Muse 헤드밴드가 이미 다른 장치(예: 스마트폰)와 연결되어 있거나, 블루투스 채널이 다른 애플리케이션에 의해 점유된 경우입니다.
- 블루투스 환경 문제:
- 블루투스 동글/어댑터 문제: PC에 연결된 블루투스 어댑터의 드라이버가 오래되었거나, 어댑터 자체가 불안정할 수 있습니다.
- 물리적 간섭: 헤드밴드와 PC 사이의 거리가 너무 멀거나, 전파 간섭이 심한 환경에서는 연결이 불안정해집니다.
3. 해결 방법 및 코드 예시
- 배터리 부족: Muse 헤드밴드의 배터리가 부족하면 안정적인 블루투스 연결이 어렵거나 불가능할 수 있습니다.
- 펌웨어 문제: 헤드밴드의 펌웨어가 오래되었거나 손상된 경우 연결 문제가 발생할 수 있습니다.
- 다른 기기와의 충돌: Muse 헤드밴드가 이미 다른 장치(예: 스마트폰)와 연결되어 있거나, 블루투스 채널이 다른 애플리케이션에 의해 점유된 경우입니다.
- 블루투스 동글/어댑터 문제: PC에 연결된 블루투스 어댑터의 드라이버가 오래되었거나, 어댑터 자체가 불안정할 수 있습니다.
- 물리적 간섭: 헤드밴드와 PC 사이의 거리가 너무 멀거나, 전파 간섭이 심한 환경에서는 연결이 불안정해집니다.
이러한 문제를 해결하기 위한 가장 효과적인 방법은 OS 수준에서 Muse 헤드밴드의 연결 상태를 확인하고 최적화하는 것입니다.
3.1. 가장 중요한 해결책: 운영체제 블루투스 설정 확인
Muse 헤드밴드가 시스템에 의해 완전히 연결되었는지 확인하는 것이 필수입니다. 단순히 ‘발견됨’ 상태가 아니라 ‘연결됨’ 상태여야 합니다.
- Muse 헤드밴드 켜기: Muse 헤드밴드의 전원 버튼을 눌러 LED가 깜빡이는지 확인합니다.
- 페어링/연결 해제 후 재시도: 이전에 연결된 기록이 있다면, OS 블루투스 설정에서 Muse 장치를 ‘페어링 해제(Forget Device)’한 후 다시 ‘페어링’합니다.
- 운영체제별 블루투스 연결 확인:
- Windows: ‘설정’ > ‘Bluetooth 및 기타 디바이스’로 이동하여 Muse 헤드밴드가 ‘페어링됨’ 또는 ‘연결됨’으로 표시되는지 확인합니다. 만약 연결이 끊어져 있다면 클릭하여 수동으로 ‘연결’을 시도합니다.
- macOS: ‘시스템 설정’ > ‘Bluetooth’로 이동하여 Muse 헤드밴드가 ‘연결됨’으로 표시되는지 확인합니다.
- Linux (Ubuntu 기준): ‘설정’ > ‘Bluetooth’로 이동하여 Muse 헤드밴드가 ‘연결됨’으로 표시되는지 확인합니다.
bluetoothctl명령어를 사용하여 장치 목록을 확인하고 연결 상태를 제어할 수도 있습니다.
- Muse 앱 활용 (선택 사항): Muse Control 앱(스마트폰용)을 사용하여 헤드밴드가 정상적으로 작동하는지 확인하고, 필요한 경우 펌웨어 업데이트를 진행할 수 있습니다.
3.2. BrainFlow 코드 점검 및 기타 해결책
- 상세 로그 활용:
BoardShim.enable_dev_board_logger()를 통해 더 상세한 로그를 확인하여 문제의 단서를 찾습니다.
- Muse 헤드밴드 재시작: 헤드밴드의 전원을 껐다가 다시 켜서 초기화합니다.
- PC 재부팅: 가끔 블루투스 스택이나 드라이버 문제가 재부팅으로 해결되기도 합니다.
- 블루투스 드라이버 업데이트: PC의 블루투스 드라이버를 최신 버전으로 업데이트합니다. 제조사 웹사이트를 방문하여 최신 드라이버를 다운로드하십시오.
- BrainFlow 및 Python 환경 업데이트: BrainFlow 라이브러리와 Python 버전을 최신으로 유지합니다.
pip install --upgrade brainflow
pip install --upgrade bleak simpleble
- 특정 MAC 주소 지정 (선택 사항): 만약 여러 Muse 장치나 블루투스 장치가 주변에 있다면, 특정 MAC 주소를 지정하여 연결을 시도할 수 있습니다. 에러 로그에 Muse의 MAC 주소(
00:55:da:b0:e5:9e)가 나와 있으니 이를 활용할 수 있습니다.
import argparse
import time
from brainflow.board_shim import BoardShim, BrainFlowInputParams, BoardIds
def main():
BoardShim.enable_dev_board_logger()
params = BrainFlowInputParams()
params.mac_address = '00:55:da:b0:e5:9e' # Muse 헤드밴드의 MAC 주소 입력
board = BoardShim(BoardIds.MUSE_2016_BOARD, params)
board.prepare_session()
board.add_streamer("file://data.csv:w")
board.start_stream()
time.sleep(10)
data = board.get_board_data()
board.stop_stream()
board.release_session()
print(data)
if __name__ == "__main__":
main()
BoardShim.enable_dev_board_logger()를 통해 더 상세한 로그를 확인하여 문제의 단서를 찾습니다.pip install --upgrade brainflow
pip install --upgrade bleak simpleble
00:55:da:b0:e5:9e)가 나와 있으니 이를 활용할 수 있습니다.
import argparse
import time
from brainflow.board_shim import BoardShim, BrainFlowInputParams, BoardIds
def main():
BoardShim.enable_dev_board_logger()
params = BrainFlowInputParams()
params.mac_address = '00:55:da:b0:e5:9e' # Muse 헤드밴드의 MAC 주소 입력
board = BoardShim(BoardIds.MUSE_2016_BOARD, params)
board.prepare_session()
board.add_streamer("file://data.csv:w")
board.start_stream()
time.sleep(10)
data = board.get_board_data()
board.stop_stream()
board.release_session()
print(data)
if __name__ == "__main__":
main()
위의 해결책들을 순서대로 시도하면 대부분의 BOARD_NOT_READY_ERROR:7 문제는 해결될 것입니다. 가장 중요한 것은 BrainFlow가 작동하기 전에 운영체제가 Muse 헤드밴드를 안정적으로 ‘연결’하고 있다는 확신을 가지는 것입니다.
4. 향후 예방을 위한 팁
- 연결 전 OS 블루투스 상태 확인 습관화: Python 스크립트를 실행하기 전에 항상 OS의 블루투스 설정에서 Muse 헤드밴드가 ‘연결됨’ 상태인지 확인하는 습관을 들이세요.
- 최신 드라이버 및 라이브러리 유지: 블루투스 드라이버와 BrainFlow 라이브러리를 주기적으로 업데이트하여 최신 상태를 유지합니다.
- 전용 블루투스 동글 사용 고려: 노트북 내장 블루투스 모듈이 불안정하다면, 안정적인 외부 블루투스 동글(CSR 4.0 등)을 사용하는 것을 고려해 볼 수 있습니다.
- 환경 최적화: 무선 간섭이 적고, Muse 헤드밴드와 PC 사이의 거리가 가까운 환경에서 작업하는 것이 좋습니다.
- BrainFlow 공식 문서 및 커뮤니티 활용: BrainFlow의 공식 문서나 GitHub 이슈 페이지를 주기적으로 확인하여 알려진 문제나 해결책을 파악하는 것이 좋습니다.
이 가이드가 Muse 2016 헤드밴드와 BrainFlow 연결 문제를 해결하는 데 도움이 되기를 바랍니다. 안정적인 EEG 데이터 수집 환경을 구축하여 여러분의 연구와 개발에 더욱 집중하시길 응원합니다.
![[성능 문제 해결] Python shelve WSGI 환경 shelve 모듈 성능 저하 및 동시성 문제 해결 [성능 문제 해결] Python shelve WSGI 환경 shelve 모듈 성능 저하 및 동시성 문제 해결](https://dev-error.com/wp-content/plugins/contextual-related-posts/default.png)